Firmware SDK
twr_chester_a.h
1 #ifndef _TWR_CHESTER_A_H
2 #define _TWR_CHESTER_A_H
3 
4 #include <twr_i2c.h>
5 #include <twr_tca9534a.h>
6 
10 
12 
13 typedef struct twr_chester_a_t twr_chester_a_t;
14 
16 
17 typedef enum
18 {
19  TWR_CHESTER_A_RELAY_1 = 0,
20  TWR_CHESTER_A_RELAY_2 = 1,
21  TWR_CHESTER_A_RELAY_BOTH = 2
22 
24 
26 
27 struct twr_chester_a_t
28 {
29  twr_tca9534a_t tca9534a;
30  bool is_tca9534a_initialized;
31 };
32 
38 
39 bool twr_chester_a_init(twr_chester_a_t *self, twr_i2c_channel_t i2c_channel);
40 
47 
48 bool twr_chester_a_relay_set_state(twr_chester_a_t *self, twr_chester_a_relay_t relay, bool state);
49 
56 
57 bool twr_chester_a_relay_get_state(twr_chester_a_t *self, twr_chester_a_relay_t relay, bool *state);
58 
64 
65 bool twr_chester_a_relay_toggle(twr_chester_a_t *self, twr_chester_a_relay_t relay);
66 
68 
69 #endif // _TWR_CHESTER_A_H
twr_chester_a_relay_t
Relay enum.
Definition: twr_chester_a.h:18
struct twr_chester_a_t twr_chester_a_t
HARDWARIO CHESTER A instance.
Definition: twr_chester_a.h:13
twr_i2c_channel_t
I2C channels.
Definition: twr_i2c.h:16
Pin state.
Definition: twr_tca9534a.h:43