Added functions to receive the tc data blocks as json and also to write the tc data blocks, json formatted, into the eeprom.
This commit is contained in:
parent
211b06ed62
commit
99042a9792
1 changed files with 48 additions and 1 deletions
|
@ -55,7 +55,7 @@ uint8_t example_timer_data_block[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t test_timer_data_block[] = {
|
uint8_t test_timer_data_block[] = {
|
||||||
// state hour min ch1 ch2 ch3 ch3
|
// hour min ch1 ch2 ch3 ch3
|
||||||
9, 20, 0, 0, 0, 0, // 0: off
|
9, 20, 0, 0, 0, 0, // 0: off
|
||||||
9, 30, 25, 0, 0, 0, // 1: 10% ch1 blues
|
9, 30, 25, 0, 0, 0, // 1: 10% ch1 blues
|
||||||
9, 40, 25, 0, 25, 0, // 2: 10% all blues
|
9, 40, 25, 0, 25, 0, // 2: 10% all blues
|
||||||
|
@ -366,3 +366,50 @@ bool tc_check_no_data_block()
|
||||||
}
|
}
|
||||||
|
|
||||||
//********************************//
|
//********************************//
|
||||||
|
|
||||||
|
String tc_getJsonData()
|
||||||
|
{
|
||||||
|
String output = "[";
|
||||||
|
for (uint8_t i = 0; i < LENGTH_OF_TIMER_DATA_BLOCK; i++)
|
||||||
|
{
|
||||||
|
output += "{\"hour\":" + (String)(int)tc_data[i].hh + ",";
|
||||||
|
output += "\"min\":" + (String)(int)tc_data[i].mm + ",";
|
||||||
|
output += "\"ch1\":" + (String)(int)tc_data[i].ch1 + ",";
|
||||||
|
output += "\"ch2\":" + (String)(int)tc_data[i].ch2 + ",";
|
||||||
|
output += "\"ch3\":" + (String)(int)tc_data[i].ch3 + ",";
|
||||||
|
output += "\"ch4\":" + (String)(int)tc_data[i].ch4 + "}";
|
||||||
|
if (i < LENGTH_OF_TIMER_DATA_BLOCK-1)
|
||||||
|
{
|
||||||
|
output += ",";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
output += "]";
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
tc_jsonDataBlockToEEPROM(String json_data_string)
|
||||||
|
{
|
||||||
|
StaticJsonDocument<512> doc;
|
||||||
|
deserializeJson(doc, json_data_string);
|
||||||
|
|
||||||
|
// Loop through each data block in the JSON data and store it in the tc_data array
|
||||||
|
for (uint8_t i = 0; i < LENGTH_OF_TIMER_DATA_BLOCK; i++)
|
||||||
|
{
|
||||||
|
JsonObject obj = doc[i];
|
||||||
|
tc_data[i].hh = obj["hour"];
|
||||||
|
tc_data[i].mm = obj["min"];
|
||||||
|
tc_data[i].ch1 = obj["ch1"];
|
||||||
|
tc_data[i].ch2 = obj["ch2"];
|
||||||
|
tc_data[i].ch3 = obj["ch3"];
|
||||||
|
tc_data[i].ch4 = obj["ch4"];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write the tc_data array to the EEPROM
|
||||||
|
for (uint16_t i = 0; i < (NUMBER_OF_TIMER_DATA_BLOCKS * LENGTH_OF_TIMER_DATA_BLOCK); i++)
|
||||||
|
{
|
||||||
|
EEPROM.write(EEPROM_TIMING_DATA_ADDRESS + i, *((uint8_t*)&tc_data + i));
|
||||||
|
}
|
||||||
|
EEPROM.commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
//********************************//
|
||||||
|
|
Loading…
Reference in a new issue