Serial Wombat Arduino Library

Loading...
Searching...
No Matches
SerialWombatDigitalOutput.h
Go to the documentation of this file.
1#pragma once
2/*
3 Copyright 2026 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 class SerialWombatDigitalOutput_18AB : public SerialWombatPin, public SerialWombatAbstractScaledOutput
28{
29 public:
30 SerialWombatDigitalOutput_18AB(SerialWombatChip& serialWombat) : SerialWombatPin(serialWombat), SerialWombatAbstractScaledOutput(serialWombat){}
31 int16_t begin(uint8_t pin, uint8_t highLow = LOW, bool isOpenDrain = false)
32 {
33 _pin = pin;
34 _pinMode = (uint8_t)PIN_MODE_DIGITALIO;
35 return initPacketNoResponse(0,(uint8_t)((highLow == HIGH)?1:0),(uint8_t)0,(uint8_t)0,((uint8_t)(isOpenDrain?1:0)));
36 }
37
42 uint8_t pin()
43 {
44 return SerialWombatPin::_pin;
45 }
46
50 uint8_t swPinModeNumber()
51 {
52 return SerialWombatPin::_pinMode;
53 }
54
55 void low()
56 {
57 writePublicData(0);
58 }
59
60 void high()
61 {
62 writePublicData(65535);
63 }
64
65};
66
PIN_MODE_DIGITALIO
@ PIN_MODE_DIGITALIO
(0)
Definition SerialWombat.h:261
SerialWombatAbstractScaledOutput::SerialWombatAbstractScaledOutput
SerialWombatAbstractScaledOutput(SerialWombatChip &sw)
Constructor for the SerialWombatAbstractScaledOutput Class.
Definition SerialWombatAbstractScaledOutput.h:70
SerialWombatChip
Class for a Serial Wombat chip. Each Serial Wombat chip on a project should have its own instance.
Definition SerialWombat.h:315
SerialWombatDigitalOutput_18AB::SerialWombatDigitalOutput_18AB
SerialWombatDigitalOutput_18AB(SerialWombatChip &serialWombat)
Definition SerialWombatDigitalOutput.h:30
SerialWombatDigitalOutput_18AB::swPinModeNumber
uint8_t swPinModeNumber()
fulfills a virtual function requirement of SerialWombatAbstractScaledOutput
Definition SerialWombatDigitalOutput.h:50
SerialWombatDigitalOutput_18AB::pin
uint8_t pin()
fulfills a virtual function requirement of SerialWombatAbstractScaledOutput
Definition SerialWombatDigitalOutput.h:42
SerialWombatDigitalOutput_18AB::low
void low()
Definition SerialWombatDigitalOutput.h:55
SerialWombatDigitalOutput_18AB::begin
int16_t begin(uint8_t pin, uint8_t highLow=LOW, bool isOpenDrain=false)
Definition SerialWombatDigitalOutput.h:31
SerialWombatDigitalOutput_18AB::high
void high()
Definition SerialWombatDigitalOutput.h:60
SerialWombatPin::writePublicData
uint16_t writePublicData(uint16_t value)
Write a 16 bit value to this pin.
Definition SerialWombatPin.h:113
SerialWombatPin::SerialWombatPin
SerialWombatPin(SerialWombatChip &serialWombatChip)
Instantiates a Serial Wombat Pin.
Definition SerialWombatPin.h:45
SerialWombatPin::initPacketNoResponse
int16_t initPacketNoResponse(uint8_t packetNumber, uint8_t param0=0x55, uint8_t param1=0x55, uint8_t param2=0x55, uint8_t param3=0x55, uint8_t param4=0x55)
Definition SerialWombatPin.h:130
SerialWombatPin::_pin
uint8_t _pin
Definition SerialWombatPin.h:213
SerialWombatPin::_pinMode
uint8_t _pinMode
Definition SerialWombatPin.h:215