// EEPROM Access void Options_WriteToEEPROM(void) { for (int i = 0; i < NUM_OPTIONS; i++) { Write_Int_EEProm(EEPROM_OFFSET + i * 2, Options_GetValue(i)); } // Add Sentinel Write_Int_EEProm(EEPROM_SENTINEL_LOC, EEPROM_SENTINEL_VAL); }
/* * EEPROM Routines */ void FrequencyManager_WriteBandsToEeprom(void) { debug (GUI, "FrequencyManager_WriteBandsToEeprom:\n"); uint32_t eepromFreq; uint16_t eepromMode; char text; for (int i = 0; i < FREQBAND_NUMBER_OF_BANDS; i++) { eepromFreq = Read_Long_EEProm(EEPROM_FREQBAND_OFFSET + i * 6); if (s_bandsData[i].Setpoint != eepromFreq) Write_Long_EEProm(EEPROM_FREQBAND_OFFSET + i *+6, s_bandsData[i].Setpoint); eepromMode = Read_Int_EEProm(EEPROM_FREQBAND_OFFSET + i * 6 + 4); if (s_bandsData[i].Mode != eepromMode) Write_Int_EEProm(EEPROM_FREQBAND_OFFSET + i * 6 + 4, s_bandsData[i].Mode); } for (int i = 0; i < FREQBAND_NUMBER_OF_BANDS; i++) { // buf1 = FrequencyManager_DisplayBandName (i); for (int c=0; c<freqLabel_length; c++){ text = (char)I2C_ReadEEProm(EEPROM_FREQBAND_OFFSET + (FREQBAND_NUMBER_OF_BANDS*6) + i*(freqLabel_length+1) + c); if (s_bandsData[i].Name[c] != text) I2C_WriteEEProm(EEPROM_FREQBAND_OFFSET + (FREQBAND_NUMBER_OF_BANDS*6)+ i*(freqLabel_length+1) + c, s_bandsData[i].Name[c]); } } }
void FrequencyManager_WriteFiltersToEeprom(void) { uint16_t eepromCode; uint32_t eepromFreq; debug(GUI, "FrequencyManager_WriteFiltersToEeprom:\n"); for (int i = 0; i < FREQ_NUMBER_OF_FILTER_BANDS; i++) { eepromCode = Read_Int_EEProm(EEPROM_FILTERBAND_OFFSET + i*6); if (s_bandTable[i].Code != eepromCode) Write_Int_EEProm(EEPROM_FILTERBAND_OFFSET + i*6, s_bandTable[i].Code); eepromFreq = Read_Long_EEProm(EEPROM_FILTERBAND_OFFSET+ i*6 + 2); if (s_bandTable[i].Frequency != eepromFreq) Write_Long_EEProm(EEPROM_FILTERBAND_OFFSET + i*6 + 2, s_bandTable[i].Frequency); debug(GUI, "i = %d, code = %d, frequency = %d \n", i/6, s_bandTable[i].Code, s_bandTable[i].Frequency ); } }