#ifndef I2C_H_QWERTY #define I2C_H_QWERTY #include #include extern uint8_t i2c_error; extern uint8_t i2c_status; #define I2C_ERR_START 0 // Timeout start condition #define I2C_ERR_RESTART 1 // Timeout start condition #define I2C_ERR_WRITE 2 // Timeout byte transmission #define I2C_ERR_READACK 3 // Timeout read acknowledge #define I2C_ERR_READNACK 4 // Timeout read nacknowledge void i2c_init(void); void i2c_start(void); void i2c_write(uint8_t byte); void i2c_restart(void); uint8_t i2c_read_ack(void); uint8_t i2c_read_nack(void); void i2c_stop(void); #endif