X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Feeprom.c;h=81b295888e195e02a1b15a59580161c90097e846;hb=018b68ae17c81e82f8a1991f518c08107657bc9b;hp=9271b3176c4a6c4f9bd772a561f9b6d7af978cde;hpb=0dbd4bb1aaea65177ae6d60338a96657cffa5f32;p=bertos.git diff --git a/drv/eeprom.c b/drv/eeprom.c index 9271b317..81b29588 100755 --- a/drv/eeprom.c +++ b/drv/eeprom.c @@ -5,44 +5,55 @@ * All Rights Reserved. * --> * - * \version $Id$ - * - * \author Stefano Fedrigo - * \author Bernardo Innocenti - * * \brief Driver for the 24xx16 and 24xx256 I2C EEPROMS (implementation) * * \note This implementation is AVR specific. - */ - -/* - * $Log$ - * Revision 1.6 2004/08/24 14:27:20 bernie - * Doxygen fix. - * - * Revision 1.5 2004/08/24 13:46:48 bernie - * Include . - * - * Revision 1.4 2004/08/10 06:57:22 bernie - * eeprom_erase(): New function. - * - * Revision 1.3 2004/07/29 22:57:09 bernie - * Add 24LC16 support. - * - * Revision 1.2 2004/07/22 01:24:43 bernie - * Document AVR dependency. - * - * Revision 1.1 2004/07/20 17:11:18 bernie - * Import into DevLib. * + * \version $Id$ + * \author Stefano Fedrigo + * \author Bernardo Innocenti */ +/*#* + *#* $Log$ + *#* Revision 1.10 2004/09/20 03:31:22 bernie + *#* Sanitize for C++. + *#* + *#* Revision 1.9 2004/09/14 21:03:46 bernie + *#* Use debug.h instead of kdebug.h. + *#* + *#* Revision 1.8 2004/08/25 14:12:08 rasky + *#* Aggiornato il comment block dei log RCS + *#* + *#* Revision 1.7 2004/08/24 16:48:40 bernie + *#* Note reason for including + *#* + *#* Revision 1.6 2004/08/24 14:27:20 bernie + *#* Doxygen fix. + *#* + *#* Revision 1.5 2004/08/24 13:46:48 bernie + *#* Include . + *#* + *#* Revision 1.4 2004/08/10 06:57:22 bernie + *#* eeprom_erase(): New function. + *#* + *#* Revision 1.3 2004/07/29 22:57:09 bernie + *#* Add 24LC16 support. + *#* + *#* Revision 1.2 2004/07/22 01:24:43 bernie + *#* Document AVR dependency. + *#* + *#* Revision 1.1 2004/07/20 17:11:18 bernie + *#* Import into DevLib. + *#* + *#*/ + #include "eeprom.h" #include /* cpu_to_be16() */ -#include +#include #include -#include +#include // MIN() #include // memset() @@ -151,8 +162,10 @@ static void twi_stop(void) * * \return true on success, false on error. */ -static bool twi_send(const uint8_t *buf, size_t count) +static bool twi_send(const void *_buf, size_t count) { + const uint8_t *buf = (const uint8_t *)_buf; + while (count--) { TWDR = *buf++; @@ -178,8 +191,10 @@ static bool twi_send(const uint8_t *buf, size_t count) * * \return true on success, false on error */ -static bool twi_recv(uint8_t *buf, size_t count) +static bool twi_recv(void *_buf, size_t count) { + uint8_t *buf = (uint8_t *)_buf; + /* * When reading the last byte the TWEA bit is not * set, and the eeprom should answer with NACK @@ -402,8 +417,8 @@ void eeprom_init(void) void eeprom_test(void) { - static const char magic[13] = "Humpty Dumpty"; - char buf[sizeof magic + 1]; + static const char magic[14] = "Humpty Dumpty"; + char buf[sizeof magic]; size_t i; // Write something to EEPROM using unaligned sequential writes