 |
Serial Wombat Arduino Library
|
Go to the documentation of this file. 1 #ifndef SERIAL_WOMBAT_H__
2 #define SERIAL_WOMBAT_H__
4 #include "HardwareSerial.h"
20 #define WOMBAT_MAXIMUM_PINS 19
97 void begin(HardwareSerial &serial);
109 void begin(HardwareSerial& serial,
bool reset);
119 void begin(TwoWire &wire, uint8_t i2cAddress);
128 void begin(uint8_t i2cAddress);
141 void begin(TwoWire& wire, uint8_t i2cAddress,
bool reset);
210 void pinMode(uint8_t pin, uint8_t mode);
219 void pinMode(uint8_t pin, uint8_t mode,
bool pullDown,
bool openDrain);
288 char version[8] = { 0 };
289 HardwareSerial * Serial = NULL;
290 TwoWire* i2cInterface = NULL;
294 void configureDigitalPin(uint8_t pin, uint8_t highLow);
295 unsigned long sendReadyTime = 0;
301 #define SW_LE16(_a) (uint8_t)(_a & 0xFF), (uint8_t)(_a >>8)
int analogRead(uint8_t pin)
Configures pin as analog input and does an immediate A/D conversion.
Definition: serialWombat.cpp:227
void hardwareReset()
Send a reset command to the Serial Wombat.
Definition: serialWombat.cpp:185
void analogWrite(uint8_t pin, int val)
Set a pin to PWM output.
Definition: serialWombat.cpp:235
@ CMD_SET_PIN_MODE4
Definition: SerialWombat.h:37
@ PIN_MODE_ANALOGINPUT
Definition: SerialWombat.h:50
uint16_t readPublicData(uint8_t pin)
Read the 16 Bit public data associated with a Serial Wombat Pin Mode.
Definition: serialWombat.cpp:317
@ CMD_SUPPLYVOLTAGE
Definition: SerialWombat.h:30
void setTxUint32(uint32_t data, uint8_t index)
@ CMD_VERSION
Definition: SerialWombat.h:29
int digitalRead(uint8_t pin)
Reads the state of a Pin.
Definition: serialWombat.cpp:215
void digitalWrite(uint8_t pin, uint8_t val)
Set an output pin High or Low.
Definition: serialWombat.cpp:209
SerialWombatPinMode_t
Definition: SerialWombat.h:47
SerialWombatCommand_t getCommand()
int sendPacket(uint8_t tx[], uint8_t rx[])
Send an 8 byte packet to the Serial Wombat and wait for 8 bytes back.
Definition: serialWombat.cpp:74
uint8_t model[4]
Contains the last model retreived by queryVersion() as a zero-terminated string.
Definition: SerialWombat.h:281
uint16_t errorCode
Definition: SerialWombat.h:68
@ PIN_MODE_WATCHDOG
Definition: SerialWombat.h:53
@ PIN_MODE_CONTROLLED
Definition: SerialWombat.h:49
uint16_t writePublicData(uint8_t pin, uint16_t value)
Write a 16 bit value to a Serial Wombat pin Mode.
Definition: serialWombat.cpp:325
uint16_t _supplyVoltagemV
Definition: SerialWombat.h:278
@ PIN_MODE_PWM
Definition: SerialWombat.h:55
@ CMD_SET_PIN_MODE3
Definition: SerialWombat.h:36
@ PIN_MODE_SERVO
Definition: SerialWombat.h:51
@ CMD_READ_BUFFER_ASCII
Definition: SerialWombat.h:24
@ PIN_MODE_PULSETIMER
Definition: SerialWombat.h:57
@ SW_HIGH
Definition: SerialWombat.h:14
@ CMD_SET_PIN_MODE8
Definition: SerialWombat.h:41
@ CMD_SET_PIN_MODE9
Definition: SerialWombat.h:42
uint32_t getRxUint32(uint8_t index)
@ CMD_SET_PIN_MODE1
Definition: SerialWombat.h:34
uint16_t readSupplyVoltage_mV(void)
Measure the Serial Wombat's Supply voltage.
Definition: serialWombat.cpp:177
Definition: SerialWombat.h:62
@ CMD_SET_PIN_MODE2
Definition: SerialWombat.h:35
#define WOMBAT_MAXIMUM_PINS
Definition: SerialWombat.h:20
@ CMD_ASCII_SET_PIN
Definition: SerialWombat.h:25
uint16_t getRxUint16(uint8_t index)
bool success
Definition: SerialWombat.h:67
char * readVersion(void)
Request version string (combined model and firmware) and return pointer to it.
Definition: serialWombat.cpp:167
@ PIN_MODE_UNKNOWN
Definition: SerialWombat.h:58
@ CMD_SET_PIN_MODE0
Definition: SerialWombat.h:33
@ CMD_SET_BUFFER_ASCII
Definition: SerialWombat.h:27
SerialWombatCommand_t
Definition: SerialWombat.h:21
@ CMD_SETBUFFERBINARY
Definition: SerialWombat.h:32
SerialWombatPinState_t
Definition: SerialWombat.h:11
@ CMD_READBUFFERBINARY
Definition: SerialWombat.h:31
@ CMD_RESYNC
Definition: SerialWombat.h:28
@ SW_INPUT
Definition: SerialWombat.h:15
Definition: SerialWombat.h:86
uint8_t tx[8]
Definition: SerialWombat.h:66
@ SW_LOW
Definition: SerialWombat.h:13
@ CMD_RESET
Definition: SerialWombat.h:26
@ CMD_SET_PIN_MODE7
Definition: SerialWombat.h:40
@ PIN_MODE_QUADRATUREENCODER
Definition: SerialWombat.h:52
@ CMD_SET_PIN_MODE5
Definition: SerialWombat.h:38
uint8_t rx[8]
Definition: SerialWombat.h:65
void setTxUint16(uint16_t data, uint8_t index)
void jumpToBoot()
Jump to Bootloader and wait for a UART download of new firmware.
Definition: serialWombat.cpp:267
~SerialWombat()
Definition: serialWombat.cpp:13
@ PIN_MODE_PROTECTED_OUTPUT
Definition: SerialWombat.h:54
void pinMode(uint8_t pin, uint8_t mode)
Set a pin to INPUT or OUTPUT.
Definition: serialWombat.cpp:192
SerialWombat()
Definition: serialWombat.cpp:7
@ PIN_MODE_DIGITALIO
Definition: SerialWombat.h:48
@ CMD_ECHO
Definition: SerialWombat.h:23
void setCommand(SerialWombatCommand_t command)
@ CMD_SET_PIN_MODE6
Definition: SerialWombat.h:39
bool queryVersion()
Send a version request to the Serial Wombat.
Definition: serialWombat.cpp:247
@ PIN_MODE_UART_RX_TX
Definition: SerialWombat.h:56
void begin(HardwareSerial &serial)
initialize a Serial Wombat to use a Serial Interface.
Definition: serialWombat.cpp:18
uint8_t fwVersion[4]
Contains the last firmware Version retreived by queryVersion() as a zero-terminated string.
Definition: SerialWombat.h:284