Read VFO channel from flash when initializing state

replace/e600d7eed11cfaa7e75dfe730c7a25ceec6f337b
Federico Amedeo Izzo 2021-02-10 20:30:57 +01:00 zatwierdzone przez Niccolò Izzo
rodzic a9ad22a4c9
commit 19838dbb38
4 zmienionych plików z 33 dodań i 10 usunięć
openrtx/src

Wyświetl plik

@ -24,6 +24,7 @@
#include <battery.h>
#include <hwconfig.h>
#include <interfaces/platform.h>
#include <interfaces/nvmem.h>
state_t state;
@ -43,17 +44,21 @@ void state_init()
// Set default channel index (it is 1-based)
state.channel_index = 1;
// Set VFO channel default settings
state.channelInfoUpdated = true;
state.channel.mode = FM;
state.channel.bandwidth = BW_25;
state.channel.power = 1.0;
state.channel.rx_frequency = 430000000;
state.channel.tx_frequency = 430000000;
state.channel.fm.rxToneEn = 0;
state.channel.fm.rxTone = 2; // 71.9Hz
state.channel.fm.txToneEn = 1;
state.channel.fm.txTone = 2; // 71.9Hz
// Read VFO channel from Flash storage
if(nvm_readVFOChannelData(&state.channel) != 0)
{
// If the read fails set VFO channel default settings
state.channel.mode = FM;
state.channel.bandwidth = BW_25;
state.channel.power = 1.0;
state.channel.rx_frequency = 430000000;
state.channel.tx_frequency = 430000000;
state.channel.fm.rxToneEn = 0;
state.channel.fm.rxTone = 2; // 71.9Hz
state.channel.fm.txToneEn = 1;
state.channel.fm.txTone = 2; // 71.9Hz
}
state.zone_enabled = false;
state.rtxStatus = RTX_OFF;
#ifdef HAS_ABSOLUTE_KNOB // If the radio has an absolute position knob

Wyświetl plik

@ -239,6 +239,12 @@ void nvm_loadHwInfo(hwInfo_t *info)
(void) info;
}
int nvm_readVFOChannelData(channel_t *channel)
{
(void) channel;
return -1;
}
int nvm_readChannelData(channel_t *channel, uint16_t pos)
{
(void) channel;

Wyświetl plik

@ -153,6 +153,12 @@ void nvm_loadHwInfo(hwInfo_t *info)
info->lcd_type = lcdInfo & 0x03;
}
int nvm_readVFOChannelData(channel_t *channel)
{
(void) channel;
return -1;
}
int nvm_readChannelData(channel_t *channel, uint16_t pos)
{
if((pos <= 0) || (pos > maxNumChannels)) return -1;

Wyświetl plik

@ -42,6 +42,12 @@ void nvm_loadHwInfo(hwInfo_t *info)
(void) info;
}
int nvm_readVFOChannelData(channel_t *channel)
{
(void) channel;
return -1;
}
int nvm_readChannelData(channel_t *channel, uint16_t pos)
{
if((pos <= 0) || (pos > maxNumChannels)) return -1;