Пример #1
0
/*
 * 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]);
		}
	}
}
Пример #2
0
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 );
	}
}
Пример #3
0
void FrequencyManager_Initialize(void)
{

	uint32_t EEProm_Value1 = Read_Long_EEProm(EEPROM_SENTINEL_LOC); //Read the 0 address to see if SI570 data has been stored

	if (EEProm_Value1 != EEPROM_SENTINEL_VAL) {
		FrequencyManager_ResetBandsToDefault();
		FrequencyManager_WriteBandsToEeprom();
		Write_Long_EEProm(EEPROM_SENTINEL_LOC, EEPROM_SENTINEL_VAL);
	}
	else {
		FrequencyManager_ReadBandsFromEeprom();
	}

	// Initialize the F0 for the radio:
	F0 = (double) s_bandsData[FREQBAND_SI570_F0].CurrentFrequency;

	FrequencyManager_SetSelectedBand(FREQBAND_20M_PSK);

}
Пример #4
0
/*
 * EEPROM Routines
 */
void FrequencyManager_WriteBandsToEeprom(void)
{
	for (int i = 0; i < FREQBAND_NUMBER_OF_BANDS; i++) {
		Write_Long_EEProm(EEPROM_FREQBAND_OFFSET + i * 4, s_bandsData[i].CurrentFrequency);
	}
}