X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fi2c.c;h=ae4237097769eab5628eaf7eb08de91618dda0ed;hb=a3fbaaca5bb78a1d53d3b32f345186013567fa61;hp=575dc7681e49648b789f61b53a68f4d96c9cffc6;hpb=4d0bb5f77cf16b3c153b3acb280376d0d3c86d58;p=bertos.git diff --git a/bertos/drv/i2c.c b/bertos/drv/i2c.c index 575dc768..ae423709 100644 --- a/bertos/drv/i2c.c +++ b/bertos/drv/i2c.c @@ -37,6 +37,12 @@ #include "i2c.h" +#include "cfg/cfg_i2c.h" + +#if !CONFIG_I2C_DISABLE_OLD_API + +I2c local_i2c_old_api; + /** * Send a sequence of bytes in master transmitter mode * to the selected slave device through the I2C bus. @@ -87,4 +93,21 @@ bool i2c_recv(void *_buf, size_t count) return true; } +#endif /* !CONFIG_I2C_DISABLE_OLD_API */ + +void i2c_genericWrite(struct I2c *i2c, const void *_buf, size_t count) +{ + const uint8_t *buf = (const uint8_t *)_buf; + + while (count--) + i2c_putc(i2c, *buf++); +} + +void i2c_genericRead(struct I2c *i2c, void *_buf, size_t count) +{ + uint8_t *buf = (uint8_t *)_buf; + + while (count--) + *buf++ = i2c_getc(i2c); +}