Read VFO channel from flash when initializing state
This commit is contained in:
parent
a9ad22a4c9
commit
19838dbb38
|
|
@ -24,6 +24,7 @@
|
||||||
#include <battery.h>
|
#include <battery.h>
|
||||||
#include <hwconfig.h>
|
#include <hwconfig.h>
|
||||||
#include <interfaces/platform.h>
|
#include <interfaces/platform.h>
|
||||||
|
#include <interfaces/nvmem.h>
|
||||||
|
|
||||||
state_t state;
|
state_t state;
|
||||||
|
|
||||||
|
|
@ -43,17 +44,21 @@ void state_init()
|
||||||
|
|
||||||
// Set default channel index (it is 1-based)
|
// Set default channel index (it is 1-based)
|
||||||
state.channel_index = 1;
|
state.channel_index = 1;
|
||||||
// Set VFO channel default settings
|
|
||||||
state.channelInfoUpdated = true;
|
state.channelInfoUpdated = true;
|
||||||
state.channel.mode = FM;
|
// Read VFO channel from Flash storage
|
||||||
state.channel.bandwidth = BW_25;
|
if(nvm_readVFOChannelData(&state.channel) != 0)
|
||||||
state.channel.power = 1.0;
|
{
|
||||||
state.channel.rx_frequency = 430000000;
|
// If the read fails set VFO channel default settings
|
||||||
state.channel.tx_frequency = 430000000;
|
state.channel.mode = FM;
|
||||||
state.channel.fm.rxToneEn = 0;
|
state.channel.bandwidth = BW_25;
|
||||||
state.channel.fm.rxTone = 2; // 71.9Hz
|
state.channel.power = 1.0;
|
||||||
state.channel.fm.txToneEn = 1;
|
state.channel.rx_frequency = 430000000;
|
||||||
state.channel.fm.txTone = 2; // 71.9Hz
|
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.zone_enabled = false;
|
||||||
state.rtxStatus = RTX_OFF;
|
state.rtxStatus = RTX_OFF;
|
||||||
#ifdef HAS_ABSOLUTE_KNOB // If the radio has an absolute position knob
|
#ifdef HAS_ABSOLUTE_KNOB // If the radio has an absolute position knob
|
||||||
|
|
|
||||||
|
|
@ -239,6 +239,12 @@ void nvm_loadHwInfo(hwInfo_t *info)
|
||||||
(void) info;
|
(void) info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int nvm_readVFOChannelData(channel_t *channel)
|
||||||
|
{
|
||||||
|
(void) channel;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
int nvm_readChannelData(channel_t *channel, uint16_t pos)
|
int nvm_readChannelData(channel_t *channel, uint16_t pos)
|
||||||
{
|
{
|
||||||
(void) channel;
|
(void) channel;
|
||||||
|
|
|
||||||
|
|
@ -153,6 +153,12 @@ void nvm_loadHwInfo(hwInfo_t *info)
|
||||||
info->lcd_type = lcdInfo & 0x03;
|
info->lcd_type = lcdInfo & 0x03;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int nvm_readVFOChannelData(channel_t *channel)
|
||||||
|
{
|
||||||
|
(void) channel;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
int nvm_readChannelData(channel_t *channel, uint16_t pos)
|
int nvm_readChannelData(channel_t *channel, uint16_t pos)
|
||||||
{
|
{
|
||||||
if((pos <= 0) || (pos > maxNumChannels)) return -1;
|
if((pos <= 0) || (pos > maxNumChannels)) return -1;
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,12 @@ void nvm_loadHwInfo(hwInfo_t *info)
|
||||||
(void) info;
|
(void) info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int nvm_readVFOChannelData(channel_t *channel)
|
||||||
|
{
|
||||||
|
(void) channel;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
int nvm_readChannelData(channel_t *channel, uint16_t pos)
|
int nvm_readChannelData(channel_t *channel, uint16_t pos)
|
||||||
{
|
{
|
||||||
if((pos <= 0) || (pos > maxNumChannels)) return -1;
|
if((pos <= 0) || (pos > maxNumChannels)) return -1;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue