X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fi2c.c;h=ae4237097769eab5628eaf7eb08de91618dda0ed;hb=7911a6f01bc8a19f220f98e2fdc8595f65996853;hp=c936837b7cdf9cbee48d9ed7eb4a237db50752f5;hpb=4b5d9de0c1791d0d4b7dcd78cf7ef01c6f5e3481;p=bertos.git diff --git a/bertos/drv/i2c.c b/bertos/drv/i2c.c index c936837b..ae423709 100644 --- a/bertos/drv/i2c.c +++ b/bertos/drv/i2c.c @@ -32,12 +32,17 @@ * * \brief I2C generic driver functions (implementation). * - * \version $Id$ * \author Francesco Sacchi */ #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. @@ -88,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); +}