AP_HAL_AVR Storage: conform to new API

This commit is contained in:
Pat Hickey 2012-11-12 11:05:20 -08:00 committed by Andrew Tridgell
parent 7908e41416
commit 87c55f68c2
3 changed files with 28 additions and 28 deletions

View File

@ -4,35 +4,35 @@
#include "Storage.h"
using namespace AP_HAL_AVR;
uint8_t AVREEPROMStorage::read_byte(const uint8_t *p) {
return eeprom_read_byte(p);
uint8_t AVREEPROMStorage::read_byte(uint16_t loc) {
return eeprom_read_byte((uint8_t*)loc);
}
uint16_t AVREEPROMStorage::read_word(const uint16_t *p) {
return eeprom_read_word(p);
uint16_t AVREEPROMStorage::read_word(uint16_t loc) {
return eeprom_read_word((uint16_t*)loc);
}
uint32_t AVREEPROMStorage::read_dword(const uint32_t *p) {
return eeprom_read_dword(p);
uint32_t AVREEPROMStorage::read_dword(uint16_t loc) {
return eeprom_read_dword((uint32_t*)loc);
}
void AVREEPROMStorage::read_block(void *dst, const void *src, size_t n) {
eeprom_read_block(dst,src,n);
void AVREEPROMStorage::read_block(void *dst, uint16_t src, size_t n) {
eeprom_read_block(dst,(const void*)src,n);
}
void AVREEPROMStorage::write_byte(uint8_t *p, uint8_t value) {
eeprom_write_byte(p,value);
void AVREEPROMStorage::write_byte(uint16_t loc, uint8_t value) {
eeprom_write_byte((uint8_t*)loc,value);
}
void AVREEPROMStorage::write_word(uint16_t *p, uint16_t value) {
eeprom_write_word(p,value);
void AVREEPROMStorage::write_word(uint16_t loc, uint16_t value) {
eeprom_write_word((uint16_t*)loc,value);
}
void AVREEPROMStorage::write_dword(uint32_t *p, uint32_t value) {
eeprom_write_dword(p,value);
void AVREEPROMStorage::write_dword(uint16_t loc, uint32_t value) {
eeprom_write_dword((uint32_t*)loc,value);
}
void AVREEPROMStorage::write_block(void *src, void *dst, size_t n) {
eeprom_write_block(src,dst,n);
void AVREEPROMStorage::write_block(uint16_t dst, void *src, size_t n) {
eeprom_write_block(src,(void*)dst,n);
}

View File

@ -9,16 +9,16 @@
class AP_HAL_AVR::AVREEPROMStorage : public AP_HAL::Storage {
public:
AVREEPROMStorage() {}
void init(void* machtnicht) {}
uint8_t read_byte(const uint8_t *p);
uint16_t read_word(const uint16_t *p);
uint32_t read_dword(const uint32_t *p);
void read_block(void *dst, const void *src, size_t n);
void init(void* machtnichts) {}
uint8_t read_byte(uint16_t loc);
uint16_t read_word(uint16_t loc);
uint32_t read_dword(uint16_t loc);
void read_block(void *dst, uint16_t src, size_t n);
void write_byte(uint8_t *p, uint8_t value);
void write_word(uint16_t *p, uint16_t value);
void write_dword(uint32_t *p, uint32_t value);
void write_block(void *src, void *dst, size_t n);
void write_byte(uint16_t loc, uint8_t value);
void write_word(uint16_t loc, uint16_t value);
void write_dword(uint16_t loc, uint32_t value);
void write_block(uint16_t dst, void* src, size_t n);
};
#endif // __AP_HAL_AVR_STORAGE_H__

View File

@ -11,14 +11,14 @@ uint8_t fibs[12] = { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 };
void test_erase() {
hal.console->printf_P(PSTR("erasing... "));
for(int i = 0; i < 100; i++) {
hal.storage->write_byte((uint8_t*)i, 0);
hal.storage->write_byte(i, 0);
}
hal.console->printf_P(PSTR(" done.\r\n"));
}
void test_write() {
hal.console->printf_P(PSTR("writing... "));
hal.storage->write_block(fibs, (uint8_t*)0, 12);
hal.storage->write_block(0, fibs, 12);
hal.console->printf_P(PSTR(" done.\r\n"));
}
@ -26,7 +26,7 @@ void test_readback() {
hal.console->printf_P(PSTR("reading back...\r\n"));
uint8_t readback[12];
bool success = true;
hal.storage->read_block(readback, (uint8_t*)0, 12);
hal.storage->read_block(readback, 0, 12);
for (int i = 0; i < 12; i++) {
if (readback[i] != fibs[i]) {
success = false;