Serial Wombat Arduino Library

Loading...
Searching...
No Matches
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
34
38
39 class SerialWombatProcessedInputPin : public SerialWombatPin, public SerialWombatAbstractProcessedInput
40{
41 public:
44 SerialWombatProcessedInputPin(SerialWombatChip& serialWombat):SerialWombatPin(serialWombat),SerialWombatAbstractProcessedInput(serialWombat)
45 {}
46
55 int16_t begin(uint8_t pin, uint8_t dataSourcePin)
56{
57 delay(500); //TODO
58 _pin = pin;
59 _pinMode = (uint8_t)SerialWombatPinMode_t::PIN_MODE_INPUT_PROCESSOR;
60 uint8_t tx[] = { (uint8_t)SerialWombatCommands::CONFIGURE_PIN_MODE0,
61 _pin,
62 _pinMode,
63 dataSourcePin,
64 0x55,
65 0x55,
66 0x55,
67 0x55 };
68 return _sw.sendPacket(tx);
69}
70 int16_t begin(uint8_t pin, SerialWombatDataSource dataSource) { return begin(pin, (uint8_t)dataSource); }
71
72 uint8_t pin() { return _pin; }
73 uint8_t swPinModeNumber() {return _pinMode; };
74};
75
SerialWombat.h
SerialWombatCommands::CONFIGURE_PIN_MODE0
@ CONFIGURE_PIN_MODE0
(200)
Definition SerialWombat.h:237
PIN_MODE_INPUT_PROCESSOR
@ PIN_MODE_INPUT_PROCESSOR
(14)
Definition SerialWombat.h:274
SerialWombatDataSource
SerialWombatDataSource
A list of Serial Wombat public data sources.
Definition SerialWombat.h:65
SerialWombatAbstractProcessedInput::SerialWombatAbstractProcessedInput
SerialWombatAbstractProcessedInput(SerialWombatChip &sw)
Constructor for the SerialWombatAbstractScaledOutput Class.
Definition SerialWombatAbstractProcessedInput.h:87
SerialWombatChip
Class for a Serial Wombat chip. Each Serial Wombat chip on a project should have its own instance.
Definition SerialWombat.h:315
SerialWombatPin::_sw
SerialWombatChip & _sw
Definition SerialWombatPin.h:214
SerialWombatPin::SerialWombatPin
SerialWombatPin(SerialWombatChip &serialWombatChip)
Instantiates a Serial Wombat Pin.
Definition SerialWombatPin.h:45
SerialWombatPin::_pin
uint8_t _pin
Definition SerialWombatPin.h:213
SerialWombatPin::_pinMode
uint8_t _pinMode
Definition SerialWombatPin.h:215
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:55
SerialWombatProcessedInputPin::begin
int16_t begin(uint8_t pin, SerialWombatDataSource dataSource)
Definition SerialWombatProcessedInputPin.h:70
SerialWombatProcessedInputPin::swPinModeNumber
uint8_t swPinModeNumber()
Used for ineheritance.
Definition SerialWombatProcessedInputPin.h:73
SerialWombatProcessedInputPin::SerialWombatProcessedInputPin
SerialWombatProcessedInputPin(SerialWombatChip &serialWombat)
Class constructor for SerialWombatPulseTimer.
Definition SerialWombatProcessedInputPin.h:44
SerialWombatProcessedInputPin::pin
uint8_t pin()
Used for inheritance.
Definition SerialWombatProcessedInputPin.h:72