add i2c support
[protos/imu.git] / i2c_helper.c
index b6e304c..255aaec 100644 (file)
@@ -5,25 +5,23 @@
 
 #include <aversive/wait.h>
 #include <uart.h>
-#include <i2c.h>
-
-
 
+#include "i2cm_sw.h"
 
 uint8_t read_reg(uint8_t address_dev, uint8_t address_reg, uint8_t * value)
 {
        uint8_t err = 0;
-       err = i2c_send(address_dev, &address_reg, 1, I2C_CTRL_SYNC);
+       err = i2cm_send(address_dev, &address_reg, 1);
        if (err) {
                printf("read reg: i2c error send\r\n");
                return err;
        }
-       err = i2c_recv(address_dev, 1, I2C_CTRL_SYNC);
+       err = i2cm_recv(address_dev, 1);
        if (err) {
                printf("read reg: i2c error recv\r\n");
                return err;
        }
-       err = i2c_get_recv_buffer(value, 1);
+       err = i2cm_get_recv_buffer(value, 1);
        if (err != 1) {
                printf("read reg: i2c error get recv\r\n");
                return 0xff;
@@ -33,20 +31,21 @@ uint8_t read_reg(uint8_t address_dev, uint8_t address_reg, uint8_t * value)
 }
 
 
-uint8_t read_reg_len(uint8_t address_dev, uint8_t address_reg, uint8_t * values, uint8_t len)
+uint8_t read_reg_len(uint8_t address_dev, uint8_t address_reg,
+       uint8_t *values, uint8_t len)
 {
        uint8_t err = 0;
-       err = i2c_send(address_dev, &address_reg, 1, I2C_CTRL_SYNC);
+       err = i2cm_send(address_dev, &address_reg, 1);
        if (err) {
                printf("read reg len: i2c error send\r\n");
                return err;
        }
-       err = i2c_recv(address_dev, len, I2C_CTRL_SYNC);
+       err = i2cm_recv(address_dev, len);
        if (err) {
                printf("read reg len: i2c error recv\r\n");
                return err;
        }
-       err = i2c_get_recv_buffer(values, len);
+       err = i2cm_get_recv_buffer(values, len);
        if (err != len) {
                printf("read reg len: i2c error get recv\r\n");
                return 0xFF;