diff --git a/libraries/AP_HAL/examples/Storage/Makefile b/libraries/AP_HAL/examples/Storage/Makefile new file mode 100644 index 0000000000..f5daf25151 --- /dev/null +++ b/libraries/AP_HAL/examples/Storage/Makefile @@ -0,0 +1 @@ +include ../../../../mk/apm.mk diff --git a/libraries/AP_HAL/examples/Storage/Storage.cpp b/libraries/AP_HAL/examples/Storage/Storage.cpp new file mode 100644 index 0000000000..a788629078 --- /dev/null +++ b/libraries/AP_HAL/examples/Storage/Storage.cpp @@ -0,0 +1,82 @@ +/* + simple test of Storage API + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if HAL_OS_POSIX_IO +#include +#endif + +const AP_HAL::HAL& hal = AP_HAL_BOARD_DRIVER; + +AP_HAL::Storage *st; + +void setup(void) +{ + /* + init Storage API + */ + hal.console->printf_P(PSTR("Starting AP_HAL::Storage test\r\n")); + st->init(); + + /* + Calculate XOR of the full conent of memory + Do it by block of 8 bytes + */ + unsigned int i, j; + unsigned char buff[8], XOR_res = 0; + + for(i = 0; i < HAL_STORAGE_SIZE; i += 8) + { + st->read_block((void *) buff, i, 8); + for(j = 0; j < 8; j++) + XOR_res ^= buff[j]; + } + + /* + print XORed result + */ + hal.console->printf_P(PSTR("XORed ememory: %u\r\n"), (unsigned) XOR_res); +} + +// In main loop do nothing +void loop(void) +{ + hal.scheduler->delay(1000); +} + +AP_HAL_MAIN(); diff --git a/libraries/AP_HAL/examples/Storage/make.inc b/libraries/AP_HAL/examples/Storage/make.inc new file mode 100644 index 0000000000..5378923665 --- /dev/null +++ b/libraries/AP_HAL/examples/Storage/make.inc @@ -0,0 +1,33 @@ +LIBRARIES += AP_ADC +LIBRARIES += AP_ADC_AnalogSource +LIBRARIES += AP_AHRS +LIBRARIES += AP_Airspeed +LIBRARIES += AP_Baro +LIBRARIES += AP_BattMonitor +LIBRARIES += AP_Common +LIBRARIES += AP_Compass +LIBRARIES += AP_Declination +LIBRARIES += AP_GPS +LIBRARIES += AP_HAL +LIBRARIES += AP_HAL_AVR +LIBRARIES += AP_HAL_Empty +LIBRARIES += AP_HAL_Linux +LIBRARIES += AP_HAL_PX4 +LIBRARIES += AP_HAL_SITL +LIBRARIES += AP_InertialSensor +LIBRARIES += AP_Math +LIBRARIES += AP_Mission +LIBRARIES += AP_NavEKF +LIBRARIES += AP_Notify +LIBRARIES += AP_Param +LIBRARIES += AP_Progmem +LIBRARIES += AP_Rally +LIBRARIES += AP_RangeFinder +LIBRARIES += AP_Scheduler +LIBRARIES += AP_Terrain +LIBRARIES += AP_Vehicle +LIBRARIES += DataFlash +LIBRARIES += Filter +LIBRARIES += GCS_MAVLink +LIBRARIES += SITL +LIBRARIES += StorageManager