diff --git a/libraries/AP_HAL_AVR/examples/Storage/Arduino.h b/libraries/AP_HAL_AVR/examples/Storage/Arduino.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/libraries/AP_HAL_AVR/examples/Storage/Makefile b/libraries/AP_HAL_AVR/examples/Storage/Makefile new file mode 100644 index 0000000000..d1f40fd90f --- /dev/null +++ b/libraries/AP_HAL_AVR/examples/Storage/Makefile @@ -0,0 +1 @@ +include ../../../AP_Common/Arduino.mk diff --git a/libraries/AP_HAL_AVR/examples/Storage/Storage.pde b/libraries/AP_HAL_AVR/examples/Storage/Storage.pde new file mode 100644 index 0000000000..919ccad1b4 --- /dev/null +++ b/libraries/AP_HAL_AVR/examples/Storage/Storage.pde @@ -0,0 +1,58 @@ + +#include +#include +#include + +const AP_HAL::HAL& hal = AP_HAL_AVR_APM1; + +uint8_t fibs[12] = { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 }; + +void test_erase() { + hal.uart0->printf_P(PSTR("erasing... ")); + for(int i = 0; i < 100; i++) { + hal.storage->write_byte((uint8_t*)i, 0); + } + hal.uart0->printf_P(PSTR(" done.\r\n")); +} + +void test_write() { + hal.uart0->printf_P(PSTR("writing... ")); + hal.storage->write_block(fibs, (uint8_t*)0, 12); + hal.uart0->printf_P(PSTR(" done.\r\n")); +} + +void test_readback() { + hal.uart0->printf_P(PSTR("reading back...\r\n")); + uint8_t readback[12]; + bool success = true; + hal.storage->read_block(readback, (uint8_t*)0, 12); + for (int i = 0; i < 12; i++) { + if (readback[i] != fibs[i]) { + success = false; + hal.uart0->printf_P(PSTR("At index %d expected %d got %d\r\n"), + i, (int) fibs[i], (int) readback[i]); + } + } + if (success) { + hal.uart0->printf_P(PSTR("all bytes read successfully\r\n")); + } + hal.uart0->printf_P(PSTR("done reading back.\r\n")); +} + +void setup (void) { + hal.uart0->printf_P(PSTR("Starting AP_HAL_AVR::Storage test\r\n")); + test_erase(); + test_write(); + test_readback(); +} + +void loop (void) { } + +extern "C" { +int main (void) { + hal.init(NULL); + setup(); + for(;;) loop(); + return 0; +} +} diff --git a/libraries/AP_HAL_AVR/examples/Storage/nocore.inoflag b/libraries/AP_HAL_AVR/examples/Storage/nocore.inoflag new file mode 100644 index 0000000000..e69de29bb2