binary Clock
i2c.h
Go to the documentation of this file.
1 #ifndef I2C_H__
2 #define I2C_H__
3 
4 #include "hardware.h"
5 #include "global_defines.h"
6 #include <stdint.h>
7 
12 // I2C constant definitions
13 #define I2C_MODE_READ 1
14 #define I2C_MODE_WRITE 0
15 
16 #define I2C_RETRY_COUNT 3
17 
18 #define ACK 0
19 #define NACK 1
20 
21 // function definitions
22 retval_t i2c_init(void);
23 retval_t i2c_write_byte(uint8_t chip_addr, uint8_t reg_addr, uint8_t data);
24 retval_t i2c_write(uint8_t chip_addr, uint8_t start_adr, uint8_t *data_to_write_ptr, uint8_t data_len);
25 retval_t i2c_read_byte(uint8_t chip_addr, uint8_t start_adr, uint8_t *data_out_ptr);
26 retval_t i2c_read(uint8_t chip_addr, uint8_t start_adr, uint8_t *data_out_ptr, uint8_t data_len);
27 
28 #endif
retval_t i2c_read_byte(uint8_t chip_addr, uint8_t start_adr, uint8_t *data_out_ptr)
Definition: i2c.c:133
retval_t i2c_read(uint8_t chip_addr, uint8_t start_adr, uint8_t *data_out_ptr, uint8_t data_len)
Definition: i2c.c:178
retval_t i2c_write(uint8_t chip_addr, uint8_t start_adr, uint8_t *data_to_write_ptr, uint8_t data_len)
Definition: i2c.c:95
retval_t i2c_init(void)
Definition: i2c.c:24
Hardware related definitions (e.g. oscillator speed).
retval_t i2c_write_byte(uint8_t chip_addr, uint8_t reg_addr, uint8_t data)
Definition: i2c.c:64
Definitions and types used in all files. Should be included in all project files. ...
retval_t
definition of the types of return values possible
Definition: global_defines.h:10