X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Feeprom.h;h=9c58d58c9d9c6fc0491258b4b2ea6fd963365f18;hb=HEAD;hp=7a80f177976f5c825677d9dc98dd5e7a9e28f5d5;hpb=5f3952176a4e9a00ca8dd5ec4a6b994958f89e0a;p=bertos.git diff --git a/drv/eeprom.h b/drv/eeprom.h deleted file mode 100644 index 7a80f177..00000000 --- a/drv/eeprom.h +++ /dev/null @@ -1,95 +0,0 @@ -/** - * \file - * - * - * \version $Id$ - * - * \author Stefano Fedrigo - * \author Bernardo Innocenti - * - * \brief Driver for the 24xx16 and 24xx256 I2C EEPROMS (interface) - */ - -/*#* - *#* $Log$ - *#* Revision 1.10 2006/09/13 18:29:54 bernie - *#* e2addr(): New macro. - *#* - *#* Revision 1.9 2006/07/19 12:56:25 bernie - *#* Convert to new Doxygen style. - *#* - *#* Revision 1.8 2005/11/27 23:33:40 bernie - *#* Use appconfig.h instead of cfg/config.h. - *#* - *#* Revision 1.7 2005/11/04 16:20:02 bernie - *#* Fix reference to README.devlib in header. - *#* - *#* Revision 1.6 2005/04/11 19:10:27 bernie - *#* Include top-level headers from cfg/ subdir. - *#* - *#* Revision 1.5 2004/11/02 17:50:02 bernie - *#* CONFIG_EEPROM_VERIFY: New config option. - *#* - *#* Revision 1.4 2004/08/25 14:12:08 rasky - *#* Aggiornato il comment block dei log RCS - *#* - *#* Revision 1.3 2004/08/10 06:57:22 bernie - *#* eeprom_erase(): New function. - *#* - *#* Revision 1.2 2004/07/29 22:57:09 bernie - *#* Add 24LC16 support. - *#* - *#* Revision 1.1 2004/07/20 17:11:18 bernie - *#* Import into DevLib. - *#* - *#*/ -#ifndef DRV_EEPROM_H -#define DRV_EEPROM_H - -#include -#include - -/** - * \name Values for CONFIG_EEPROM_TYPE - * \{ - */ -#define EEPROM_24XX16 1 -#define EEPROM_24XX256 2 -/*\}*/ - -#if CONFIG_EEPROM_TYPE == EEPROM_24XX16 - #define EEPROM_BLKSIZE 0x10 ///< Eeprom block size (16byte) - #define EEPROM_SIZE 0x800 ///< Eeprom total size (2kB) -#elif CONFIG_EEPROM_TYPE == EEPROM_24XX256 - #define EEPROM_BLKSIZE 0x40 ///< Eeprom block size (64byte) - #define EEPROM_SIZE 0x8000 ///< Eeprom total size (32kB) -#else - #error Unsupported EEPROM type. -#endif - -/// Type for EEPROM addresses -typedef uint16_t e2addr_t; - -/** - * Macro for E2Layout offset calculation - * - * \note We can't just use offsetof() here because we could use - * non-constant expressions to access array elements. - * - * \note E2Layout is a structure that must be defined in user files. - */ -#define e2addr(x) ((e2addr_t)&(((struct E2Layout *)0)->x)) - - -bool eeprom_write(e2addr_t addr, const void *buf, size_t count); -bool eeprom_read(e2addr_t addr, void *buf, size_t count); -bool eeprom_write_char(e2addr_t addr, char c); -int eeprom_read_char(e2addr_t addr); -void eeprom_erase(e2addr_t addr, size_t count); -void eeprom_init(void); -void eeprom_test(void); - -#endif /* DRV_EEPROM_H */