mirror of
https://gitlab.com/Luci_/arduino-photometrics.git
synced 2026-04-03 11:35:37 +02:00
74 lines
2.4 KiB
C++
74 lines
2.4 KiB
C++
#include <Arduino.h>
|
|
#include <unity.h>
|
|
#include "storage_interface.h"
|
|
#include <EEPROM.h>
|
|
|
|
// uint32_t epoch = 1764249314;
|
|
static constexpr uint8_t OFFSET_MEASURES_SCH = 1, OFFSET_NB_PHOTO_SENSOR = 2, OFFSET_NB_TEMP_SENSOR = 3, OFFSET_PHOTO_MEASURES_SIZE = 4, OFFSET_TEMP_MEASURES_SIZE = 5, OFFSET_NB_MEASURES = 6, OFFSET_NEXT_PACKAGE = 8, OFFSET_START_DATA_MEASURES = 10; // unit in byte
|
|
static constexpr uint16_t MEGA_2560_EEPROM_SIZE = 4096;
|
|
|
|
void test_put_get_struct(){
|
|
Storage_interface test;
|
|
uint16_t offset = 0, r_next_package, r_nb_measures;
|
|
uint8_t schedule = 0, nb_photo_sensor = 2, nb_temp_sensor = 1, sizeofuint8 = sizeof(uint8_t);
|
|
bool timestamp = true, is_final = true, photo_sensor = true, temp_sensor = true;
|
|
test.set_struct(offset, timestamp, is_final, photo_sensor, temp_sensor, schedule, nb_photo_sensor, nb_temp_sensor, sizeofuint8, sizeofuint8);
|
|
|
|
|
|
|
|
uint8_t r_schedule, r_nb_photo_sensor, r_nb_temp_sensor, r_sizeofuint8;
|
|
bool r_timestamp, r_is_final, r_photo_sensor, r_temp_sensor;
|
|
uint8_t flags;
|
|
flags = EEPROM.read(offset);
|
|
|
|
// if package flag right set
|
|
TEST_ASSERT((flags & 0b10000000) != 0);
|
|
|
|
// test schedule flags
|
|
TEST_ASSERT((flags & 0b01000000)!= 0);
|
|
TEST_ASSERT(!((flags & 0b00100000) != 0));
|
|
|
|
// test schedule
|
|
TEST_ASSERT(EEPROM.read(offset + OFFSET_MEASURES_SCH) == 0);
|
|
|
|
TEST_ASSERT((flags & 0b00000100) != 0);
|
|
|
|
|
|
|
|
|
|
// test.get_struct(offset, &r_timestamp, &r_is_final, &r_photo_sensor, &r_temp_sensor, &r_schedule, &r_nb_photo_sensor, &r_nb_temp_sensor, &r_sizeofuint8, &r_sizeofuint8, &r_next_package, &r_nb_measures);
|
|
// Serial.println(r_nb_,DEC);
|
|
// if(r_is_final){
|
|
// TEST_FAIL_MESSAGE("true");
|
|
// }else{
|
|
// TEST_FAIL_MESSAGE("false");
|
|
// }
|
|
// TEST_ASSERT(r_is_final == is_final);
|
|
// TEST_ASSERT(r_nb_measures == 0);
|
|
// TEST_ASSERT(r_timestamp == timestamp);
|
|
// TEST_ASSERT(r_photo_sensor == photo_sensor);
|
|
// TEST_ASSERT(r_temp_sensor == temp_sensor);
|
|
// TEST_ASSERT(r_schedule == schedule);
|
|
// TEST_ASSERT(r_nb_photo_sensor == nb_photo_sensor);
|
|
// TEST_ASSERT(r_nb_temp_sensor == nb_temp_sensor);
|
|
// TEST_ASSERT(r_sizeofuint8 == sizeofuint8);
|
|
}
|
|
|
|
|
|
void test(){
|
|
bool yes = true;
|
|
TEST_ASSERT(yes);
|
|
}
|
|
|
|
void setup(void)
|
|
{
|
|
Serial.begin(9600);
|
|
|
|
}
|
|
|
|
int main( int argc, char **argv) {
|
|
UNITY_BEGIN();
|
|
//RUN_TEST(test);
|
|
RUN_TEST(test_put_get_struct);
|
|
UNITY_END();
|
|
} |