uhd/firmware/e300/rev_b/i2c.h
2014-10-07 12:09:33 +02:00

18 lines
715 B
C

#ifndef I2C_H
#define I2C_H
#include "io.h"
void i2c_init(io_pin_t sda, io_pin_t scl);
bool i2c_read(io_pin_t sda, io_pin_t scl, uint8_t addr, uint8_t subaddr, uint8_t* value);
bool i2c_write(io_pin_t sda, io_pin_t scl, uint8_t addr, uint8_t subaddr, uint8_t value);
void i2c_init_ex(io_pin_t sda, io_pin_t scl, bool pull_up);
bool i2c_read_ex(io_pin_t sda, io_pin_t scl, uint8_t addr, uint8_t subaddr, uint8_t* value, bool pull_up);
bool i2c_read2_ex(io_pin_t sda, io_pin_t scl, uint8_t addr, uint8_t subaddr, uint8_t* value, bool pull_up);
bool i2c_write_ex(io_pin_t sda, io_pin_t scl, uint8_t addr, uint8_t subaddr, uint8_t value, bool pull_up);
extern volatile bool _i2c_disable_ack_check;
#endif // I2C_H