void ApplicationSettings::init(){ checksum = sizeof(*this) ^ 0xffffffff; if(settingsInFlash()) loadFromFlash(); else reset(); }
void CalibrationTable::init(void) { int i; if (true == flashGood()) { loadFromFlash(); updateFastCal(); }else { for (i=0; i<CALIBRATION_TABLE_SIZE; i++) { table[i].value=0; table[i].error=CALIBRATION_ERROR_NOT_SET; } } return; }
void CalibrationTable::saveToFlash(void) { FlashCalData_t data; int i; for (i=0; i<CALIBRATION_TABLE_SIZE; i++ ) { data.table[i]=(uint16_t)table[i].value; } data.status=true; LOG("Writting Calbiration to Flash"); nvmWriteCalTable(&data,sizeof(data)); memset(&data,0,sizeof(data)); memcpy(&data, &NVM->CalibrationTable,sizeof(data)); createFastCal(); LOG("after writting status is %d",data.status); loadFromFlash(); }