X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Feeprom.c;h=f92091487ae0cc9daeb2fb7cf7bcbd210a2f8d1a;hb=9b9a032785f88c91dc8b7c802266d6f3b2d27d66;hp=ceca24d21005e95ffc13bfbde557ad7a4ee3b9a6;hpb=9d67e4abbc2219f6464f1138336dc0c64a5ee603;p=bertos.git diff --git a/bertos/drv/eeprom.c b/bertos/drv/eeprom.c index ceca24d2..f9209148 100644 --- a/bertos/drv/eeprom.c +++ b/bertos/drv/eeprom.c @@ -48,7 +48,7 @@ #include // MOD_CHECK() #include -#include CPU_HEADER(twi) +#include #include @@ -102,7 +102,7 @@ STATIC_ASSERT(countof(mem_info) == EEPROM_CNT); */ static size_t eeprom_writeRaw(struct KFile *_fd, const void *buf, size_t size) { - Eeprom *fd = EEPROM(_fd); + Eeprom *fd = EEPROM_CAST(_fd); e2dev_addr_t dev_addr; uint8_t addr_buf[2]; uint8_t addr_len; @@ -147,15 +147,15 @@ static size_t eeprom_writeRaw(struct KFile *_fd, const void *buf, size_t size) } - if (!(twi_start_w(EEPROM_ADDR(dev_addr)) - && twi_send(addr_buf, addr_len) - && twi_send(buf, count))) + if (!(i2c_start_w(EEPROM_ADDR(dev_addr)) + && i2c_send(addr_buf, addr_len) + && i2c_send(buf, count))) { - twi_stop(); + i2c_stop(); return wr_len; } - twi_stop(); + i2c_stop(); /* Update count and addr for next operation */ size -= count; @@ -175,7 +175,7 @@ static size_t eeprom_writeRaw(struct KFile *_fd, const void *buf, size_t size) */ static size_t eeprom_writeVerify(struct KFile *_fd, const void *_buf, size_t size) { - Eeprom *fd = EEPROM(_fd); + Eeprom *fd = EEPROM_CAST(_fd); int retries = 5; size_t wr_len; @@ -204,7 +204,7 @@ static size_t eeprom_writeVerify(struct KFile *_fd, const void *_buf, size_t siz */ static size_t eeprom_read(struct KFile *_fd, void *_buf, size_t size) { - Eeprom *fd = EEPROM(_fd); + Eeprom *fd = EEPROM_CAST(_fd); uint8_t addr_buf[2]; uint8_t addr_len; size_t rd_len = 0; @@ -232,21 +232,21 @@ static size_t eeprom_read(struct KFile *_fd, void *_buf, size_t size) } - if (!(twi_start_w(EEPROM_ADDR(dev_addr)) - && twi_send(addr_buf, addr_len) - && twi_start_r(EEPROM_ADDR(dev_addr)))) + if (!(i2c_start_w(EEPROM_ADDR(dev_addr)) + && i2c_send(addr_buf, addr_len) + && i2c_start_r(EEPROM_ADDR(dev_addr)))) { - twi_stop(); + i2c_stop(); return 0; } while (size--) { /* - * The last byte read does not has an ACK + * The last byte read does not have an ACK * to stop communication. */ - int c = twi_get(size); + int c = i2c_get(size); if (c == EOF) break; @@ -368,7 +368,7 @@ bool eeprom_erase(Eeprom *fd, e2addr_t addr, e2_size_t count) */ void eeprom_init(Eeprom *fd, EepromType type, e2dev_addr_t addr, bool verify) { - MOD_CHECK(twi); + MOD_CHECK(i2c); ASSERT(type < EEPROM_CNT); memset(fd, 0, sizeof(*fd));