root / trunk / code / projects / libdragonfly / eeprom.h @ 1452
History | View | Annotate | Download (1.3 KB)
| 1 | /**
|
|---|---|
| 2 | * @file eeprom.h |
| 3 | * @brief handles eeprom storage for persistent data |
| 4 | * |
| 5 | * Contains functions and definitions for reading and writing to eeprom |
| 6 | * |
| 7 | * @author Colony Project, Brad Neuman |
| 8 | */ |
| 9 | |
| 10 | #ifndef _EEPROM_H_
|
| 11 | #define _EEPROM_H_
|
| 12 | |
| 13 | #define EEPROM_ROBOT_ID_ADDR 0x10 |
| 14 | #define EEPROM_BOM_TYPE_ADDR 0x14 |
| 15 | |
| 16 | /** @brief store a byte to eeproem
|
| 17 | * @return 0 if success, nonzero on failure |
| 18 | */ |
| 19 | int eeprom_put_byte(unsigned int addr, unsigned char byte); |
| 20 | |
| 21 | /** @brief reads a byte from eeprom
|
| 22 | * |
| 23 | * Pass it thge address and a pointer to a byte where the byte at the |
| 24 | * address will be stored |
| 25 | * |
| 26 | * @return 0 if successful (byte is set to the eeprom value at addr), |
| 27 | * nonzero if there was a problem |
| 28 | */ |
| 29 | int eeprom_get_byte(unsigned int addr, unsigned char *byte); |
| 30 | |
| 31 | /** @brief get stored robot ID
|
| 32 | * |
| 33 | * checks that EEPROM has been programed with an ID and returns it |
| 34 | * |
| 35 | * @return the robot id, if it is stored. If it returns 0xFF it is probably invalid |
| 36 | */ |
| 37 | unsigned char get_robotid(void); |
| 38 | |
| 39 | /** @brief get stored robot ID
|
| 40 | * |
| 41 | * checks that EEPROM has been programed with an BOM type and returns it |
| 42 | * |
| 43 | * @return the robot bom type as defined in bom.h, if it is stored. If it returns 0xFF it is probably invalid |
| 44 | */ |
| 45 | unsigned char get_bom_type(void); |
| 46 | |
| 47 | #endif
|