Merge branch 'main' into New_Model_DP_666
# Conflicts: # TEF6686_ESP32.ino
This commit is contained in:
+283
-34
@@ -17,6 +17,7 @@
|
||||
#include "src/FREQFONT.h"
|
||||
#include "src/TEF6686.h"
|
||||
#include "src/constants.h"
|
||||
#include "src/config.h"
|
||||
#include "src/language.h"
|
||||
#include "src/gui.h"
|
||||
#include "src/comms.h"
|
||||
@@ -34,7 +35,7 @@
|
||||
#define STANDBYLED 19
|
||||
#define SMETERPIN 27
|
||||
|
||||
// #define CHINA_PORTABLE // uncomment for China Portable build (Simplified Chinese)
|
||||
|
||||
#define DEEPELEC_DP_666 // uncomment for DEEPELEC Portable DP-666 build (Simplified Chinese)
|
||||
#define DYNAMIC_SPI_SPEED // uncomment to enable dynamic SPI Speed https://github.com/ohmytime/TFT_eSPI_DynamicSpeed
|
||||
|
||||
@@ -94,6 +95,9 @@ bool memtune;
|
||||
bool menu;
|
||||
bool menuopen;
|
||||
bool mwstepsize;
|
||||
#ifdef HAS_AIR_BAND
|
||||
bool airstepsize;
|
||||
#endif
|
||||
bool nobattery;
|
||||
bool optenc;
|
||||
bool rdsflagreset;
|
||||
@@ -347,6 +351,11 @@ unsigned int frequency_MIBand_75M;
|
||||
unsigned int frequency_MIBand_90M;
|
||||
unsigned int frequency_MW;
|
||||
unsigned int frequency_SW;
|
||||
#ifdef HAS_AIR_BAND
|
||||
unsigned int frequency_AIR;
|
||||
unsigned int AIRHighEdgeSet;
|
||||
unsigned int AIRLowEdgeSet;
|
||||
#endif
|
||||
unsigned int frequencyold;
|
||||
unsigned int HighEdgeOIRTSet;
|
||||
unsigned int HighEdgeSet;
|
||||
@@ -457,6 +466,9 @@ void setup() {
|
||||
frequency_LW = EEPROM.readUInt(EE_UINT16_FREQUENCY_LW);
|
||||
frequency_MW = EEPROM.readUInt(EE_UINT16_FREQUENCY_MW);
|
||||
frequency_SW = EEPROM.readUInt(EE_UINT16_FREQUENCY_SW);
|
||||
#ifdef HAS_AIR_BAND
|
||||
frequency_AIR = EEPROM.readUInt(EE_UINT16_FREQUENCY_AIR);
|
||||
#endif
|
||||
XDRGTK_key = EEPROM.readString(EE_STRING_XDRGTK_KEY);
|
||||
usesquelch = EEPROM.readByte(EE_BYTE_USESQUELCH);
|
||||
showmodulation = EEPROM.readByte(EE_BYTE_SHOWMODULATION);
|
||||
@@ -487,6 +499,9 @@ void setup() {
|
||||
radio.rds.fastps = EEPROM.readByte(EE_BYTE_FASTPS);
|
||||
tot = EEPROM.readByte(EE_BYTE_TOT);
|
||||
mwstepsize = EEPROM.readByte(EE_BYTE_MWREGION);
|
||||
#ifdef HAS_AIR_BAND
|
||||
airstepsize = EEPROM.readByte(EE_BYTE_AIRSTEPSIZE);
|
||||
#endif
|
||||
spispeed = EEPROM.readByte(EE_BYTE_SPISPEED);
|
||||
amscansens = EEPROM.readByte(EE_BYTE_AMSCANSENS);
|
||||
fmscansens = EEPROM.readByte(EE_BYTE_FMSCANSENS);
|
||||
@@ -778,12 +793,10 @@ void setup() {
|
||||
radio.setVolume(VolSet);
|
||||
radio.setOffset(LevelOffset);
|
||||
radio.setAMOffset(AMLevelOffset);
|
||||
|
||||
if (band > BAND_GAP) {
|
||||
if (band > BAND_GAP && band != BAND_AIR) {
|
||||
radio.setAMCoChannel(amcodect, amcodectcount);
|
||||
radio.setAMAttenuation(amgain);
|
||||
}
|
||||
|
||||
radio.setStereoLevel(StereoLevel);
|
||||
radio.setHighCutLevel(HighCutLevel);
|
||||
radio.setHighCutOffset(HighCutOffset);
|
||||
@@ -1290,23 +1303,145 @@ void doBandSelectionFM() {
|
||||
}
|
||||
}
|
||||
|
||||
void CheckBandForbiddenAM () {
|
||||
void CheckBandForbiddenAM() {
|
||||
#ifdef HAS_AIR_BAND
|
||||
switch (band) {
|
||||
case BAND_LW:
|
||||
if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW || bandAM == AM_BAND_SW) bandforbidden = 1; else bandforbidden = 0;
|
||||
if (bandAM == AM_BAND_MW_SW_AIR || bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW_AIR || bandAM == AM_BAND_SW_AIR || bandAM == AM_BAND_MW || bandAM == AM_BAND_SW || bandAM == AM_BAND_AIR)
|
||||
bandforbidden = 1;
|
||||
else
|
||||
bandforbidden = 0;
|
||||
break;
|
||||
case BAND_MW:
|
||||
if (bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW || bandAM == AM_BAND_SW) bandforbidden = 1; else bandforbidden = 0;
|
||||
if (bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW_AIR || bandAM == AM_BAND_SW_AIR || bandAM == AM_BAND_LW || bandAM == AM_BAND_SW || bandAM == AM_BAND_AIR)
|
||||
bandforbidden = 1;
|
||||
else
|
||||
bandforbidden = 0;
|
||||
break;
|
||||
case BAND_SW:
|
||||
if (bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW || bandAM == AM_BAND_MW) bandforbidden = 1; else bandforbidden = 0;
|
||||
if (bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW_AIR || bandAM == AM_BAND_MW_AIR || bandAM == AM_BAND_LW || bandAM == AM_BAND_MW || bandAM == AM_BAND_AIR)
|
||||
bandforbidden = 1;
|
||||
else
|
||||
bandforbidden = 0;
|
||||
break;
|
||||
case BAND_AIR:
|
||||
if (bandAM == AM_BAND_LW_MW_SW || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_LW || bandAM == AM_BAND_MW || bandAM == AM_BAND_SW)
|
||||
bandforbidden = 1;
|
||||
else
|
||||
bandforbidden = 0;
|
||||
break;
|
||||
}
|
||||
#else
|
||||
switch (band) {
|
||||
case BAND_LW:
|
||||
if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW || bandAM == AM_BAND_SW) bandforbidden = 1;
|
||||
else bandforbidden = 0;
|
||||
break;
|
||||
case BAND_MW:
|
||||
if (bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW || bandAM == AM_BAND_SW) bandforbidden = 1;
|
||||
else bandforbidden = 0;
|
||||
break;
|
||||
case BAND_SW:
|
||||
if (bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW || bandAM == AM_BAND_MW) bandforbidden = 1;
|
||||
else bandforbidden = 0;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void doBandSelectionAM() {
|
||||
if (band < BAND_GAP) return;
|
||||
|
||||
#ifdef HAS_AIR_BAND // has air band
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL:
|
||||
break;
|
||||
case AM_BAND_LW_MW_SW:
|
||||
if (band == BAND_AIR) {
|
||||
band = BAND_LW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_LW_MW_AIR:
|
||||
if (band == BAND_SW) {
|
||||
band = BAND_LW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_LW_SW_AIR:
|
||||
if (band == BAND_MW) {
|
||||
band = BAND_LW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_MW_SW_AIR:
|
||||
if (band == BAND_LW) {
|
||||
band = BAND_MW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_LW_MW:
|
||||
if (band == BAND_SW || band == BAND_AIR) {
|
||||
band = BAND_LW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_LW_SW:
|
||||
if (band == BAND_MW || band == BAND_AIR) {
|
||||
band = BAND_LW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_LW_AIR:
|
||||
if (band == BAND_MW || band == BAND_SW) {
|
||||
band = BAND_LW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_MW_SW:
|
||||
if (band == BAND_LW || band == BAND_AIR) {
|
||||
band = BAND_MW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_MW_AIR:
|
||||
if (band == BAND_LW || band == BAND_SW) {
|
||||
band = BAND_MW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_SW_AIR:
|
||||
if (band == BAND_LW || band == BAND_MW) {
|
||||
band = BAND_SW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_LW:
|
||||
if (band != BAND_LW) {
|
||||
band = BAND_LW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_MW:
|
||||
if (band != BAND_MW) {
|
||||
band = BAND_MW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_SW:
|
||||
if (band != BAND_SW) {
|
||||
band = BAND_SW;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
case AM_BAND_AIR:
|
||||
if (band != BAND_AIR) {
|
||||
band = BAND_AIR;
|
||||
SelectBand();
|
||||
}
|
||||
break;
|
||||
}
|
||||
#else // has no air band
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL:
|
||||
break;
|
||||
@@ -1351,17 +1486,30 @@ void doBandSelectionAM() {
|
||||
SelectBand();
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void AMjumptoFM() {
|
||||
if (bandFM != FM_BAND_NONE) {
|
||||
if (bandFM == FM_BAND_FM) band = BAND_FM; else band = BAND_OIRT;
|
||||
} else {
|
||||
// do nothing
|
||||
FMjumptoAM();
|
||||
}
|
||||
}
|
||||
|
||||
void FMjumptoAM() {
|
||||
#ifdef HAS_AIR_BAND
|
||||
if (bandAM == AM_BAND_ALL || bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW_AIR || bandAM == AM_BAND_LW) {
|
||||
band = BAND_LW;
|
||||
if (stepsize > 3) stepsize = 3;
|
||||
} else if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW_AIR || bandAM == AM_BAND_MW) {
|
||||
band = BAND_MW;
|
||||
} else if (bandAM == AM_BAND_SW_AIR || bandAM == AM_BAND_SW) {
|
||||
band = BAND_SW;
|
||||
} else if (bandAM == AM_BAND_AIR) {
|
||||
band = BAND_AIR;
|
||||
}
|
||||
#else
|
||||
if (bandAM == AM_BAND_ALL || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW) {
|
||||
band = BAND_LW;
|
||||
if (stepsize > 3) stepsize = 3;
|
||||
@@ -1370,10 +1518,43 @@ void FMjumptoAM() {
|
||||
} else if (bandAM == AM_BAND_SW) {
|
||||
band = BAND_SW;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void ToggleBand(byte nowBand) {
|
||||
switch (nowBand) {
|
||||
#ifdef HAS_AIR_BAND
|
||||
case BAND_LW:
|
||||
if (bandAM == AM_BAND_LW_MW_SW || bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_ALL) {
|
||||
band = BAND_MW;
|
||||
} else if (bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_LW_SW) {
|
||||
band = BAND_SW;
|
||||
} else if (bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_LW_AIR) {
|
||||
band = BAND_AIR;
|
||||
} else if (bandAM == AM_BAND_LW || bandAM == AM_BAND_NONE) {
|
||||
AMjumptoFM();
|
||||
}
|
||||
break;
|
||||
case BAND_MW:
|
||||
if (bandAM == AM_BAND_LW_MW_SW || bandAM == AM_BAND_MW_SW_AIR || bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_ALL) {
|
||||
band = BAND_SW;
|
||||
} else if (bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_MW_AIR) {
|
||||
band = BAND_AIR;
|
||||
} else if (bandAM == AM_BAND_MW || bandAM == AM_BAND_NONE) {
|
||||
AMjumptoFM();
|
||||
}
|
||||
break;
|
||||
case BAND_SW:
|
||||
if (bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_MW_SW_AIR || bandAM == AM_BAND_SW_AIR || bandAM == AM_BAND_ALL) {
|
||||
band = BAND_AIR;
|
||||
} else if (bandAM == AM_BAND_LW_MW_SW || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_SW || bandAM == AM_BAND_NONE) {
|
||||
AMjumptoFM();
|
||||
}
|
||||
break;
|
||||
case BAND_AIR:
|
||||
AMjumptoFM();
|
||||
break;
|
||||
#else // has no air band
|
||||
case BAND_LW:
|
||||
if (bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_ALL) {
|
||||
band = BAND_MW;
|
||||
@@ -1398,8 +1579,9 @@ void ToggleBand(byte nowBand) {
|
||||
break;
|
||||
case BAND_SW:
|
||||
if (bandFM != FM_BAND_NONE) {
|
||||
if (bandFM == FM_BAND_FM) band = BAND_FM; else band = BAND_OIRT;
|
||||
} else {
|
||||
if (bandFM == FM_BAND_FM) band = BAND_FM;
|
||||
else band = BAND_OIRT;
|
||||
} else { // FM be disabled
|
||||
if (bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_ALL) {
|
||||
band = BAND_LW;
|
||||
} else if (bandAM == AM_BAND_MW_SW) {
|
||||
@@ -1409,6 +1591,7 @@ void ToggleBand(byte nowBand) {
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case BAND_OIRT:
|
||||
if (bandFM == FM_BAND_ALL || bandFM == FM_BAND_FM) {
|
||||
band = BAND_FM;
|
||||
@@ -1510,10 +1693,13 @@ void StoreFrequency() {
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, frequency_LW);
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_MW, frequency_MW);
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_SW, frequency_SW);
|
||||
#ifdef HAS_AIR_BAND
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AIR, frequency_AIR);
|
||||
#endif
|
||||
EEPROM.commit();
|
||||
}
|
||||
|
||||
void LimitAMFrequency() {
|
||||
void LimitAMFrequency() {//todo air
|
||||
switch (band) {
|
||||
case BAND_LW:
|
||||
frequency_AM = frequency_LW;
|
||||
@@ -1891,10 +2077,21 @@ void SelectBand() {
|
||||
case BAND_LW: freqold = frequency_LW; frequency_AM = frequency_LW; break;
|
||||
case BAND_MW: freqold = frequency_MW; frequency_AM = frequency_MW; break;
|
||||
case BAND_SW: freqold = frequency_SW; frequency_AM = frequency_SW; break;
|
||||
#ifdef HAS_AIR_BAND
|
||||
case BAND_AIR: freqold = frequency_AIR; frequency_AM = frequency_AIR;break;
|
||||
#endif
|
||||
}
|
||||
LimitAMFrequency();
|
||||
if (!externaltune) CheckBandForbiddenAM();
|
||||
#ifdef HAS_AIR_BAND
|
||||
if (band == BAND_AIR) {
|
||||
radio.SetFreqAIR(10700);
|
||||
} else {
|
||||
radio.SetFreqAM(frequency_AM);
|
||||
}
|
||||
#else
|
||||
radio.SetFreqAM(frequency_AM);
|
||||
#endif
|
||||
radio.setAMAttenuation(amgain);
|
||||
radio.setAMCoChannel(amcodect, amcodectcount);
|
||||
doBW();
|
||||
@@ -1914,6 +2111,9 @@ void SelectBand() {
|
||||
tftPrint(0, "iMS", 265, 59, GreyoutColor, BackgroundColor, 16);
|
||||
tft.drawRoundRect(286, 56, 32, 20, 5, GreyoutColor);
|
||||
tftPrint(0, "EQ", 303, 59, GreyoutColor, BackgroundColor, 16);
|
||||
// todo
|
||||
// if (band == AM_BAND_AIR) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
// else tftPrint(-1, "KHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
}
|
||||
} else {
|
||||
if (tunemode == TUNE_MI_BAND) tunemode = TUNE_MAN;
|
||||
@@ -2149,7 +2349,7 @@ void Round5K(unsigned int freqAM) {
|
||||
}
|
||||
}
|
||||
|
||||
void RoundStep() {
|
||||
void RoundStep() {//todo air
|
||||
if (band == BAND_FM) {
|
||||
unsigned int freq = frequency;
|
||||
switch (fmdefaultstepsize) {
|
||||
@@ -2204,7 +2404,7 @@ void ButtonPress() {
|
||||
EEPROM.writeByte(memorypos + EE_PRESETS_BAND_START, band);
|
||||
EEPROM.writeByte(memorypos + EE_PRESET_BW_START, BWset);
|
||||
EEPROM.writeByte(memorypos + EE_PRESET_MS_START, StereoToggle);
|
||||
if (band == BAND_FM) {
|
||||
if (band == BAND_FM) {//todo air
|
||||
EEPROM.writeUInt((memorypos * 4) + EE_PRESETS_FREQUENCY_START, frequency);
|
||||
} else if (band == BAND_OIRT) {
|
||||
EEPROM.writeUInt((memorypos * 4) + EE_PRESETS_FREQUENCY_START, frequency_OIRT);
|
||||
@@ -2238,7 +2438,7 @@ void ButtonPress() {
|
||||
|
||||
EEPROM.commit();
|
||||
|
||||
if (band == BAND_FM) {
|
||||
if (band == BAND_FM) {//todo air
|
||||
presets[memorypos].frequency = frequency;
|
||||
} else if (band == BAND_OIRT) {
|
||||
presets[memorypos].frequency = frequency_OIRT;
|
||||
@@ -2544,22 +2744,36 @@ void DoMemoryPosTune() {
|
||||
band = presets[memorypos].band;
|
||||
}
|
||||
|
||||
if (band == BAND_FM) {
|
||||
frequency = presets[memorypos].frequency;
|
||||
radio.SetFreq(frequency);
|
||||
} else if (band == BAND_OIRT) {
|
||||
frequency_OIRT = presets[memorypos].frequency;
|
||||
radio.SetFreq(frequency_OIRT);
|
||||
} else if (band == BAND_LW) {
|
||||
frequency_LW = presets[memorypos].frequency;
|
||||
radio.SetFreqAM(frequency_LW);
|
||||
} else if (band == BAND_MW) {
|
||||
frequency_MW = presets[memorypos].frequency;
|
||||
radio.SetFreqAM(frequency_MW);
|
||||
} else if (band == BAND_SW) {
|
||||
frequency_SW = presets[memorypos].frequency;
|
||||
radio.SetFreqAM(frequency_SW);
|
||||
switch (band) {
|
||||
case BAND_FM:
|
||||
frequency = presets[memorypos].frequency;
|
||||
radio.SetFreq(frequency);
|
||||
break;
|
||||
case BAND_OIRT:
|
||||
frequency = presets[memorypos].frequency;
|
||||
radio.SetFreq(frequency_OIRT);
|
||||
break;
|
||||
case BAND_LW:
|
||||
frequency = presets[memorypos].frequency;
|
||||
radio.SetFreq(frequency_LW);
|
||||
break;
|
||||
case BAND_MW:
|
||||
frequency = presets[memorypos].frequency;
|
||||
radio.SetFreq(frequency_MW);
|
||||
break;
|
||||
case BAND_SW:
|
||||
frequency = presets[memorypos].frequency;
|
||||
radio.SetFreq(frequency_SW);
|
||||
break;
|
||||
#ifdef HAS_AIR_BAND
|
||||
case BAND_AIR:
|
||||
frequency = presets[memorypos].frequency;
|
||||
// radio.SetFreq(frequency_AIR); // todo
|
||||
radio.SetFreqAM(10700); // todo
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
ShowFreq(0);
|
||||
|
||||
if (band == BAND_FM || band == BAND_OIRT) {
|
||||
@@ -2631,6 +2845,9 @@ void ShowFreq(int mode) {
|
||||
case BAND_LW: frequency_AM = frequency_LW; break;
|
||||
case BAND_MW: frequency_AM = frequency_MW; break;
|
||||
case BAND_SW: frequency_AM = frequency_SW; break;
|
||||
#ifdef HAS_AIR_BAND
|
||||
case BAND_AIR: frequency_AM = frequency_AIR; break; // todo air
|
||||
#endif
|
||||
}
|
||||
|
||||
if (!screenmute) {
|
||||
@@ -2647,7 +2864,11 @@ void ShowFreq(int mode) {
|
||||
|
||||
FrequencySprite.setTextDatum(TR_DATUM);
|
||||
FrequencySprite.setTextColor(FreqColor, FreqColorSmooth, false);
|
||||
FrequencySprite.drawString(String(frequency_AM) + " ", 218, -6);
|
||||
if (band == BAND_AIR) {
|
||||
FrequencySprite.drawString(String(frequency_AM / 1000) + "." + String(frequency_AM % 1000) + " ", 218, -6);
|
||||
} else {
|
||||
FrequencySprite.drawString(String(frequency_AM) + " ", 218, -6);
|
||||
}
|
||||
FrequencySprite.unloadFont();
|
||||
FrequencySprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
FrequencySprite.setTextDatum(TL_DATUM);
|
||||
@@ -3109,7 +3330,7 @@ void doSquelch() {
|
||||
SquelchSprite.unloadFont();
|
||||
}
|
||||
|
||||
void updateBW() {
|
||||
void updateBW() {//todo air
|
||||
if (BWset == 0) {
|
||||
if (!screenmute && !advancedRDS && !afscreen) {
|
||||
tft.drawRoundRect(248, 35, 71, 20, 5, ActiveColor);
|
||||
@@ -3161,7 +3382,8 @@ void updateEQ() {
|
||||
}
|
||||
|
||||
void updateCodetect() {
|
||||
if (band > BAND_GAP) {
|
||||
if (
|
||||
band > BAND_GAP && band != BAND_AIR) {
|
||||
if (WAM) {
|
||||
tftPrint(-1, "CO", 50, 61, PrimaryColor, PrimaryColorSmooth, 16);
|
||||
} else {
|
||||
@@ -3471,10 +3693,17 @@ void TuneUp() {
|
||||
} else if (frequency_AM < MWLowEdgeSet) {
|
||||
temp = FREQ_MW_STEP_9K;
|
||||
frequency_AM = (frequency_AM / FREQ_MW_STEP_9K) * FREQ_MW_STEP_9K;
|
||||
} else {
|
||||
} else if (frequency_AM < SWHighEdgeSet && frequency_AM > SWLowEdgeSet) {
|
||||
temp = FREQ_SW_STEP_5K;
|
||||
frequency_AM = (frequency_AM / FREQ_SW_STEP_5K) * FREQ_SW_STEP_5K;
|
||||
}
|
||||
#ifdef HAS_AIR_BAND
|
||||
else if (frequency_AM < AIRHighEdgeSet && frequency_AM > AIRLowEdgeSet) {
|
||||
|
||||
if (airstepsize == 0) temp = FREQ_AIR_STEP_25K;
|
||||
else temp = FREQ_AIR_STEP_8K33;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
if (band == BAND_OIRT) {
|
||||
temp = FREQ_OIRT_STEP_30K;
|
||||
@@ -3539,6 +3768,17 @@ void TuneUp() {
|
||||
radio.SetFreqAM(frequency_AM);
|
||||
frequency_SW = frequency_AM;
|
||||
}
|
||||
#ifdef HAS_AIR_BAND
|
||||
else if (band == BAND_AIR) {
|
||||
frequency_AM += temp;
|
||||
if (frequency_AIR > AIRHighEdgeSet) {
|
||||
frequency_AM = AIRLowEdgeSet;
|
||||
if (edgebeep) EdgeBeeper();
|
||||
}
|
||||
radio.SetFreqAM(frequency_AM);
|
||||
frequency_AIR = frequency_AM;
|
||||
}
|
||||
#endif
|
||||
radio.clearRDS(fullsearchrds);
|
||||
if (RDSSPYUSB) Serial.print("G:\r\nRESET-------\r\n\r\n");
|
||||
if (RDSSPYTCP) RemoteClient.print("G:\r\nRESET-------\r\n\r\n");
|
||||
@@ -3801,6 +4041,9 @@ void DefaultSettings(byte userhardwaremodel) {
|
||||
if (userhardwaremodel == BASE_ILI9341) EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, 180); else EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, 164);
|
||||
if (userhardwaremodel == BASE_ILI9341) EEPROM.writeUInt(EE_UINT16_FREQUENCY_MW, 540); else EEPROM.writeUInt(EE_UINT16_FREQUENCY_MW, 639);
|
||||
if (userhardwaremodel == BASE_ILI9341) EEPROM.writeUInt(EE_UINT16_FREQUENCY_SW, 1800); else EEPROM.writeUInt(EE_UINT16_FREQUENCY_SW, 5000);
|
||||
#ifdef HAS_AIR_BAND
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AIR, 135350);
|
||||
#endif
|
||||
EEPROM.writeString(EE_STRING_XDRGTK_KEY, "password");
|
||||
if (userhardwaremodel == BASE_ILI9341) EEPROM.writeByte(EE_BYTE_USESQUELCH, 1); else EEPROM.writeByte(EE_BYTE_USESQUELCH, 0);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWMODULATION, 1);
|
||||
@@ -3832,6 +4075,9 @@ void DefaultSettings(byte userhardwaremodel) {
|
||||
EEPROM.writeByte(EE_BYTE_FASTPS, 1);
|
||||
EEPROM.writeByte(EE_BYTE_TOT, 0);
|
||||
EEPROM.writeByte(EE_BYTE_MWREGION, 0);
|
||||
#ifdef HAS_AIR_BAND
|
||||
EEPROM.writeByte(EE_BYTE_AIRSTEPSIZE, 0);
|
||||
#endif
|
||||
EEPROM.writeByte(EE_BYTE_SPISPEED, 0);
|
||||
EEPROM.writeByte(EE_BYTE_AMSCANSENS, 4);
|
||||
EEPROM.writeByte(EE_BYTE_FMSCANSENS, 4);
|
||||
@@ -4058,6 +4304,9 @@ void endMenu() {
|
||||
EEPROM.writeByte(EE_BYTE_FASTPS, radio.rds.fastps);
|
||||
EEPROM.writeByte(EE_BYTE_TOT, tot);
|
||||
EEPROM.writeByte(EE_BYTE_MWREGION, mwstepsize);
|
||||
#ifdef HAS_AIR_BAND
|
||||
EEPROM.writeByte(EE_BYTE_AIRSTEPSIZE, airstepsize);
|
||||
#endif
|
||||
EEPROM.writeByte(EE_BYTE_SPISPEED, spispeed);
|
||||
EEPROM.writeByte(EE_BYTE_AMSCANSENS, amscansens);
|
||||
EEPROM.writeByte(EE_BYTE_FMSCANSENS, fmscansens);
|
||||
|
||||
Reference in New Issue
Block a user