Funktionen zum Abspeichern von Daten im EEPROM. Die Datensätze werden von der höchsten Addresse an im EEprom gespeichert. Jeder Datensatz hat 32 Bit (4 Byte) Kopfdaten in denen der genaue Typ (3 Byte) und die Größe (1 Byte) gespeichert sind. Der Typ setzt sich aus dem Owner (Bibliothek etc...) dem Eintragstyp (Liniensensor, Baudrate etc...) und der Versionsnummer zusammen. Konfigurationsdaten können somit von verschiedenen Bibliotheksversionen gespeichert und falls sie Kompatibel sind, gemeinsam genutzt werden. Alle Einträge sind auf 32 Bit Addressen ausgerichtet (4 byte aligned). STORAGE_SYS_NAME STORAGE_SYS_UART0_BAUDRATE.
Mehr ...
#include <avr/io.h>
gehe zum Quellcode dieser Datei
|
#define | STORAGE_ENTRY(owner, type, version, size) ((((uint32_t)(owner))<<24) | (((uint32_t)(type))<<16) | (((uint32_t)(version))<<8) | ((uint32_t)(size))) |
|
#define | STORAGE_SYS_ID 0x01 |
|
#define | STORAGE_USER0_ID 0x80 |
|
#define | STORAGE_USER1_ID 0x81 |
|
#define | STORAGE_USER2_ID 0x82 |
|
#define | STORAGE_USER3_ID 0x83 |
|
#define | STORAGE_USER4_ID 0x84 |
|
#define | STORAGE_USER5_ID 0x85 |
|
#define | STORAGE_USER6_ID 0x86 |
|
#define | STORAGE_USER7_ID 0x87 |
|
#define | STORAGE_USER8_ID 0x88 |
|
#define | STORAGE_USER9_ID 0x89 |
|
#define | STORAGE_SYS_KEY_ID 0x01 |
|
#define | STORAGE_SYS_NAME_ID 0x02 |
|
#define | STORAGE_SYS_UART0_ID 0x03 |
|
#define | STORAGE_SYS_UART1_ID 0x04 |
|
#define | STORAGE_SYS_KEY STORAGE_ENTRY(STORAGE_SYS_ID, STORAGE_SYS_KEY_ID, 1, 4) |
| Integer 32 Bit.
|
|
#define | STORAGE_SYS_NAME STORAGE_ENTRY(STORAGE_SYS_ID, STORAGE_SYS_NAME_ID, 1, 20) |
| String max. 20 byte.
|
|
#define | STORAGE_SYS_UART0_BAUDRATE STORAGE_ENTRY(STORAGE_SYS_ID, STORAGE_SYS_UART0_ID, 1, 4) |
| Integer 32 Bit.
|
|
#define | STORAGE_SYS_UART1_BAUDRATE STORAGE_ENTRY(STORAGE_SYS_ID, STORAGE_SYS_UART1_ID, 1, 4) |
| Integer 32 Bit.
|
|
Funktionen zum Abspeichern von Daten im EEPROM. Die Datensätze werden von der höchsten Addresse an im EEprom gespeichert. Jeder Datensatz hat 32 Bit (4 Byte) Kopfdaten in denen der genaue Typ (3 Byte) und die Größe (1 Byte) gespeichert sind. Der Typ setzt sich aus dem Owner (Bibliothek etc...) dem Eintragstyp (Liniensensor, Baudrate etc...) und der Versionsnummer zusammen. Konfigurationsdaten können somit von verschiedenen Bibliotheksversionen gespeichert und falls sie Kompatibel sind, gemeinsam genutzt werden. Alle Einträge sind auf 32 Bit Addressen ausgerichtet (4 byte aligned). STORAGE_SYS_NAME STORAGE_SYS_UART0_BAUDRATE.
- Autor
- Nils Springob (nils..nosp@m.spri.nosp@m.ngob@.nosp@m.nica.nosp@m.i-sys.nosp@m.tems.nosp@m..com)
- Datum
- 2015-03-31
uint8_t storage_delete |
( |
uint32_t |
entry | ) |
|
delete the entry in EEPROM
- Parameter
-
- Rückgabe
- true: success / false: entry not found
uint8_t storage_format |
( |
| ) |
|
delete all data in EEPROM
- Rückgabe
- true: success
uint8_t storage_optimize |
( |
| ) |
|
optimize data in EEPROM (TODO)
- Rückgabe
- true: success / false: structure error
uint8_t storage_read |
( |
uint32_t |
entry, |
|
|
void * |
ram |
|
) |
| |
copy the entry data from EEPROM to RAM
- Parameter
-
entry | 32 bit entry ID |
ram | pointer to RAM area |
- Rückgabe
- true: success / false: entry not found
uint8_t storage_write |
( |
uint32_t |
entry, |
|
|
const void * |
ram |
|
) |
| |
copy the entry data from RAM to EEPROM
- Parameter
-
entry | 32 bit entry ID |
ram | pointer to RAM area |
- Rückgabe
- true: success / false: out of memory