add i2c support
[protos/imu.git] / i2cm_sw.h
index 5514767..c206591 100644 (file)
--- a/i2cm_sw.h
+++ b/i2cm_sw.h
@@ -30,20 +30,21 @@ typedef uint8_t i2cm_state;
 #define I2CM_SENT_STOP 7
 #define I2CM_RECEIVED_BYTE 8
 
-#define I2CM_DELAY()  _delay_loop_2(1)
-#define I2CM_BIT_DELAY() _delay_loop_2(1)
+#define I2CM_DELAY()  _delay_loop_2(4)
+#define I2CM_BIT_DELAY() _delay_loop_2(4)
 
 void i2cm_init(void);
 void i2cm_manage(void);
 uint8_t i2cm_get_state(void);
 uint8_t i2cm_get_received_byte(void);
 void i2cm_register_event(void (*func)(i2cm_state state));
-uint8_t i2cm_send_byte(uint8_t byte);
 uint8_t i2cm_send_start(uint8_t sla_w);
 uint8_t i2cm_send_stop(void);
 uint8_t i2cm_receive_byte(uint8_t last);
 
-#define I2C_CTRL_SYNC 0
+uint8_t i2cm_send(uint8_t addr, uint8_t* data, uint8_t len);
+uint8_t i2cm_recv(uint8_t addr, uint8_t len);
+uint8_t i2cm_get_recv_buffer(uint8_t* buf, uint8_t len);
 
 
 #define I2C_ERR_SEND_START 1