Serial Wombat Arduino Library
SerialWombatProcessedInputPin.h
Go to the documentation of this file.
1 #pragma once
2 /*
3 Copyright 2020-2023 Broadwell Consulting Inc.
4 
5 "Serial Wombat" is a registered trademark of Broadwell Consulting Inc. in
6 the United States. See SerialWombat.com for usage guidance.
7 
8 Permission is hereby granted, free of charge, to any person obtaining a
9  * copy of this software and associated documentation files (the "Software"),
10  * to deal in the Software without restriction, including without limitation
11  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12  * and/or sell copies of the Software, and to permit persons to whom the
13  * Software is furnished to do so, subject to the following conditions:
14 
15 The above copyright notice and this permission notice shall be included in
16  * all copies or substantial portions of the Software.
17 
18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
22  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
23  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24  * OTHER DEALINGS IN THE SOFTWARE.
25 */
26 
27 
28 #include <stdint.h>
29 #include "SerialWombat.h"
30 
31 
40 {
41 public:
45  {}
46 
53  int16_t begin(uint8_t pin, uint8_t dataSourcePin)
54 {
55  delay(500); //TODO
56  _pin = pin;
58  uint8_t tx[] = { (uint8_t)SerialWombatCommands::CONFIGURE_PIN_MODE0,
59  _pin,
60  _pinMode,
61  dataSourcePin,
62  0x55,
63  0x55,
64  0x55,
65  0x55 };
66  return _sw.sendPacket(tx);
67 }
68  int16_t begin(uint8_t pin, SerialWombatDataSource dataSource) { return begin(pin, (uint8_t)dataSource); }
69 
70  uint8_t pin() { return _pin; }
71  uint8_t swPinModeNumber() {return _pinMode; };
72 };
73 
SerialWombatChip
Class for a Serial Wombat chip. Each Serial Wombat chip on a project should have its own instance.
Definition: SerialWombat.h:283
SerialWombatProcessedInputPin::begin
int16_t begin(uint8_t pin, SerialWombatDataSource dataSource)
Definition: SerialWombatProcessedInputPin.h:68
SerialWombatProcessedInputPin
A Class which reads data from another pin's public data and runs it through SerialWombatAbstractInput...
Definition: SerialWombatProcessedInputPin.h:39
SerialWombatCommands::CONFIGURE_PIN_MODE0
@ CONFIGURE_PIN_MODE0
(200)
SerialWombatProcessedInputPin::begin
int16_t begin(uint8_t pin, uint8_t dataSourcePin)
Initialize by providing the pin or public data source to read data from.
Definition: SerialWombatProcessedInputPin.h:53
SerialWombatProcessedInputPin::pin
uint8_t pin()
Used for inheritance.
Definition: SerialWombatProcessedInputPin.h:70
SerialWombatPin::_sw
SerialWombatChip & _sw
Definition: SerialWombatPin.h:134
SerialWombatProcessedInputPin::SerialWombatProcessedInputPin
SerialWombatProcessedInputPin(SerialWombatChip &serialWombat)
Class constructor for SerialWombatPulseTimer.
Definition: SerialWombatProcessedInputPin.h:44
SerialWombat.h
SerialWombatPin
Describes a Serial Wombat Pin. Is base class for other pin modes.
Definition: SerialWombatPin.h:38
SerialWombatPin::_pinMode
uint8_t _pinMode
Definition: SerialWombatPin.h:135
SerialWombatChip::sendPacket
int sendPacket(uint8_t tx[], uint8_t rx[])
Send an 8 byte packet to the Serial Wombat chip and wait for 8 bytes back.
Definition: SerialWombat.cpp:114
SerialWombatProcessedInputPin::swPinModeNumber
uint8_t swPinModeNumber()
Used for ineheritance.
Definition: SerialWombatProcessedInputPin.h:71
SerialWombatAbstractProcessedInput
SerialWombatAnalogInput, SerialWombatPulseTimer, SerialWombatResistanceInput and others inherit from ...
Definition: SerialWombatAbstractProcessedInput.h:79
SerialWombatDataSource
SerialWombatDataSource
A list of Serial Wombat public data sources.
Definition: SerialWombat.h:56
PIN_MODE_INPUT_PROCESSOR
@ PIN_MODE_INPUT_PROCESSOR
(14)
Definition: SerialWombat.h:254
SerialWombatPin::_pin
uint8_t _pin
Definition: SerialWombatPin.h:133