diff options
Diffstat (limited to 'src/i2c.h')
-rw-r--r-- | src/i2c.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/i2c.h b/src/i2c.h new file mode 100644 index 0000000..c5d5034 --- /dev/null +++ b/src/i2c.h @@ -0,0 +1,25 @@ +#ifndef __I2C_H +#define __I2C_H + +#include <stddef.h> +#include <stdbool.h> + +#define I2C_WRITE 0 +#define I2C_READ 1 + +//higher level functions write registers +//TODO rename if we end up only using for screen +void i2c_write_reg(uint8_t device_addr, uint8_t device_reg, uint8_t value); +void i2c_write_reg_multi(uint8_t device_addr, uint8_t device_reg, size_t len, uint8_t *values); + +//for drivers with weird i2c processes +void i2c_send(uint8_t byte); +uint8_t i2c_recv(); +void i2c_stop(); +void i2c_start(uint8_t addr, bool rw); +uint8_t i2c_read_reg_addr16(uint8_t device, uint16_t addr); + +void i2c_init(); + + +#endif |