FIX #129: Bug in radio initialization after reset.
This commit is contained in:
7
board.c
7
board.c
@@ -727,6 +727,13 @@ void BOARD_EEPROM_Init(void)
|
|||||||
|
|
||||||
// 0D60..0E27
|
// 0D60..0E27
|
||||||
EEPROM_ReadBuffer(0x0D60, gMR_ChannelAttributes, sizeof(gMR_ChannelAttributes));
|
EEPROM_ReadBuffer(0x0D60, gMR_ChannelAttributes, sizeof(gMR_ChannelAttributes));
|
||||||
|
for(uint16_t i = 0; i < sizeof(gMR_ChannelAttributes); i++) {
|
||||||
|
ChannelAttributes_t *att = &gMR_ChannelAttributes[i];
|
||||||
|
if(att->__val == 0xff){
|
||||||
|
att->__val = 0;
|
||||||
|
att->band = 0xf;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 0F30..0F3F
|
// 0F30..0F3F
|
||||||
EEPROM_ReadBuffer(0x0F30, gCustomAesKey, sizeof(gCustomAesKey));
|
EEPROM_ReadBuffer(0x0F30, gCustomAesKey, sizeof(gCustomAesKey));
|
||||||
|
11
radio.c
11
radio.c
@@ -141,6 +141,8 @@ void RADIO_InitInfo(VFO_Info_t *pInfo, const uint8_t ChannelSave, const uint32_t
|
|||||||
|
|
||||||
if (ChannelSave == (FREQ_CHANNEL_FIRST + BAND2_108MHz))
|
if (ChannelSave == (FREQ_CHANNEL_FIRST + BAND2_108MHz))
|
||||||
pInfo->Modulation = MODULATION_AM;
|
pInfo->Modulation = MODULATION_AM;
|
||||||
|
else
|
||||||
|
pInfo->Modulation = MODULATION_FM;
|
||||||
|
|
||||||
RADIO_ConfigureSquelchAndOutputPower(pInfo);
|
RADIO_ConfigureSquelchAndOutputPower(pInfo);
|
||||||
}
|
}
|
||||||
@@ -243,7 +245,10 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure
|
|||||||
if (tmp > TX_OFFSET_FREQUENCY_DIRECTION_SUB)
|
if (tmp > TX_OFFSET_FREQUENCY_DIRECTION_SUB)
|
||||||
tmp = 0;
|
tmp = 0;
|
||||||
pVfo->TX_OFFSET_FREQUENCY_DIRECTION = tmp;
|
pVfo->TX_OFFSET_FREQUENCY_DIRECTION = tmp;
|
||||||
pVfo->Modulation = (data[3] >> 4);
|
tmp = data[3] >> 4;
|
||||||
|
if (tmp >= MODULATION_UKNOWN)
|
||||||
|
tmp = MODULATION_FM;
|
||||||
|
pVfo->Modulation = tmp;
|
||||||
|
|
||||||
tmp = data[6];
|
tmp = data[6];
|
||||||
if (tmp >= ARRAY_SIZE(gStepFrequencyTable))
|
if (tmp >= ARRAY_SIZE(gStepFrequencyTable))
|
||||||
@@ -337,7 +342,9 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure
|
|||||||
uint32_t Offset;
|
uint32_t Offset;
|
||||||
} __attribute__((packed)) info;
|
} __attribute__((packed)) info;
|
||||||
EEPROM_ReadBuffer(base, &info, sizeof(info));
|
EEPROM_ReadBuffer(base, &info, sizeof(info));
|
||||||
|
if(info.Frequency==0xFFFFFFFF)
|
||||||
|
pVfo->freq_config_RX.Frequency = frequencyBandTable[band].lower;
|
||||||
|
else
|
||||||
pVfo->freq_config_RX.Frequency = info.Frequency;
|
pVfo->freq_config_RX.Frequency = info.Frequency;
|
||||||
|
|
||||||
if (info.Offset >= 100000000)
|
if (info.Offset >= 100000000)
|
||||||
|
Reference in New Issue
Block a user