/*
Wokwi: https://wokwi.com/projects/455579271708547073
Test program for EEClass Version 2.0 dated 2026/02/10
2026/02/10
ec2021
*/
#include "UnivEEClass.h"
struct veryLong {
double val[10];
char arr[20];
} test;
constexpr uint32_t maxWriteCount {10};
UnivEEClass<veryLong> myEE;
void setup() {
myEE.init(maxWriteCount);
Serial.begin(115200);
uint32_t idx;
idx = EEPROM.read(0);
if ( idx != 0x00) {
Serial.println("EEPROM not empty!");
for (int i = 0; i <= idx; i++) {
printActData(i);
}
} else {
Update(99);
}
}
void loop() {
// put your main code here, to run repeatedly:
}
void Update(int c) {
strcpy(test.arr, " . Hello");
for (int i = 1; i <= c; i++) {
test.val[0] = i;
test.val[1] = c-i + 1;
test.arr[0] = 'a' + (i % 26);
myEE.updateData(test);
printActData();
}
}
void printActData() {
veryLong actTest = myEE.readData();
Serial.print("Index\t");
Serial.print(myEE.getIndex());
Serial.print("\tCount\t");
Serial.print(actTest.val[0]);
Serial.print(" ");
Serial.print(actTest.val[1]);
Serial.print("\tText\t");
Serial.print(actTest.arr);
Serial.print("\tWriteCount\t");
Serial.println(myEE.getWriteCount());
}
void printActData(int idx) {
uint32_t wCount = 0;
veryLong actTest = myEE.readFromIndex(idx, wCount);
Serial.print("Index\t");
Serial.print(idx);
Serial.print("\tCount\t");
Serial.print(actTest.val[0]);
Serial.print(" ");
Serial.print(actTest.val[1]);
Serial.print("\tText\t");
Serial.print(actTest.arr);
Serial.print("\tWriteCount\t");
Serial.println(wCount);
}