NiboRoboLib 3.6 - NIBO burger Library
storage.h-Dateireferenz

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

Makrodefinitionen

#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

uint8_t storage_read (uint32_t entry, void *ram)
 copy the entry data from EEPROM to RAM Mehr ...
 
uint8_t storage_write (uint32_t entry, const void *ram)
 copy the entry data from RAM to EEPROM Mehr ...
 
uint8_t storage_delete (uint32_t entry)
 delete the entry in EEPROM Mehr ...
 
uint8_t storage_optimize ()
 optimize data in EEPROM (TODO) Mehr ...
 
uint8_t storage_format ()
 delete all data in EEPROM Mehr ...
 

Ausführliche Beschreibung

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

Dokumentation der Funktionen

uint8_t storage_delete ( uint32_t  entry)

delete the entry in EEPROM

Parameter
entry32 bit entry ID
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
entry32 bit entry ID
rampointer 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
entry32 bit entry ID
rampointer to RAM area
Rückgabe
true: success / false: out of memory