Go to the documentation of this file.
39 #ifdef PREINIT_SUPPORTED
43 #ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49 #include "drv_digital_out.h"
50 #include "drv_digital_in.h"
51 #include "drv_i2c_master.h"
73 #define RELAY7_REG_INPUT_PORT 0x00
74 #define RELAY7_REG_OUTPUT_PORT 0x01
75 #define RELAY7_REG_POLARITY_INVERSION 0x02
76 #define RELAY7_REG_CONFIGURATION 0x03
94 #define RELAY7_DEFAULT_CONFIG 0xF0
100 #define RELAY7_PIN_MASK_NONE 0x00
101 #define RELAY7_PIN_MASK_P0 0x01
102 #define RELAY7_PIN_MASK_P1 0x02
103 #define RELAY7_PIN_MASK_P2 0x04
104 #define RELAY7_PIN_MASK_P3 0x08
105 #define RELAY7_ALL_PIN 0x0F
111 #define RELAY7_PIN_STATE_LOW 0x00
112 #define RELAY7_PIN_STATE_HIGH 0x01
118 #define RELAY7_SEL_REL1 1
119 #define RELAY7_SEL_REL2 2
120 #define RELAY7_SEL_REL3 3
121 #define RELAY7_SEL_REL4 4
128 #define RELAY7_DEVICE_ADDRESS_0 0x70
129 #define RELAY7_DEVICE_ADDRESS_1 0x71
130 #define RELAY7_DEVICE_ADDRESS_2 0x72
131 #define RELAY7_DEVICE_ADDRESS_3 0x73
149 #define RELAY7_MAP_MIKROBUS( cfg, mikrobus ) \
150 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
151 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
152 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
153 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
@ RELAY7_OK
Definition: relay7.h:201
err_t relay7_generic_read(relay7_t *ctx, uint8_t reg, uint8_t *data_out)
Relay 7 I2C reading function.
@ RELAY7_STATE_CLOSE
Definition: relay7.h:213
err_t relay7_set_port_expander(relay7_t *ctx, uint8_t set_mask, uint8_t pin_state)
Relay 7 set port expander function.
void relay7_reset_device(relay7_t *ctx)
Relay 7 reset device function.
pin_name_t sda
Definition: relay7.h:185
void relay7_cfg_setup(relay7_cfg_t *cfg)
Relay 7 configuration object setup function.
relay7_return_value_t
Relay 7 Click return value data.
Definition: relay7.h:200
relay7_relay_state_t
Relay 7 Click relay state value data.
Definition: relay7.h:211
digital_out_t rst
Definition: relay7.h:165
err_t relay7_init(relay7_t *ctx, relay7_cfg_t *cfg)
Relay 7 initialization function.
uint8_t i2c_address
Definition: relay7.h:191
@ RELAY7_STATE_OPEN
Definition: relay7.h:212
Relay 7 Click context object.
Definition: relay7.h:163
Relay 7 Click configuration object.
Definition: relay7.h:183
err_t relay7_generic_write(relay7_t *ctx, uint8_t reg, uint8_t data_in)
Relay 7 I2C writing function.
pin_name_t rst
Definition: relay7.h:187
pin_name_t int_pin
Definition: relay7.h:188
digital_in_t int_pin
Definition: relay7.h:168
uint8_t relay7_get_interrupt(relay7_t *ctx)
Relay 7 get interrupt function.
err_t relay7_set_relay(relay7_t *ctx, uint8_t relay_sel, relay7_relay_state_t state)
Relay 7 set relay function.
@ RELAY7_ERROR
Definition: relay7.h:202
err_t relay7_default_cfg(relay7_t *ctx)
Relay 7 default configuration function.
i2c_master_t i2c
Definition: relay7.h:171
uint32_t i2c_speed
Definition: relay7.h:190
uint8_t slave_address
Definition: relay7.h:174
pin_name_t scl
Definition: relay7.h:184