Added option Wait time on signal only to dx scanner
This commit is contained in:
+29
-13
@@ -101,6 +101,7 @@ bool RDSstatusold;
|
|||||||
bool rdsstereoold;
|
bool rdsstereoold;
|
||||||
bool rtcset;
|
bool rtcset;
|
||||||
bool scandxmode;
|
bool scandxmode;
|
||||||
|
bool scanholdonsignal;
|
||||||
bool scanmem;
|
bool scanmem;
|
||||||
bool scanmute;
|
bool scanmute;
|
||||||
bool screenmute;
|
bool screenmute;
|
||||||
@@ -545,6 +546,7 @@ void setup() {
|
|||||||
memstoppos = EEPROM.readByte(EE_BYTE_MEMSTOPPOS);
|
memstoppos = EEPROM.readByte(EE_BYTE_MEMSTOPPOS);
|
||||||
mempionly = EEPROM.readByte(EE_BYTE_MEMPIONLY);
|
mempionly = EEPROM.readByte(EE_BYTE_MEMPIONLY);
|
||||||
memdoublepi = EEPROM.readByte(EE_BYTE_MEMDOUBLEPI);
|
memdoublepi = EEPROM.readByte(EE_BYTE_MEMDOUBLEPI);
|
||||||
|
scanholdonsignal = EEPROM.readByte(EE_BYTE_WAITONLYONSIGNAL);
|
||||||
|
|
||||||
if (spispeed == SPI_SPEED_DEFAULT) {
|
if (spispeed == SPI_SPEED_DEFAULT) {
|
||||||
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
|
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
|
||||||
@@ -852,7 +854,12 @@ void loop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (scandxmode) {
|
if (scandxmode) {
|
||||||
if (millis() >= scantimer + (scanhold == 0 ? 500 : (scanhold * 1000))) {
|
unsigned long waitTime = (scanhold == 0) ? 500 : (scanhold * 1000);
|
||||||
|
bool signalCondition = (USN < fmscansens * 30) && (WAM < 230) && (OStatus < 80) && (OStatus > -80);
|
||||||
|
bool bypassMillisCheck = scanholdonsignal && !signalCondition;
|
||||||
|
bool shouldScan = bypassMillisCheck || (!bypassMillisCheck && (millis() >= scantimer + waitTime));
|
||||||
|
|
||||||
|
if (shouldScan) {
|
||||||
if (scanmem) {
|
if (scanmem) {
|
||||||
memorypos++;
|
memorypos++;
|
||||||
if (memorypos > scanstop) memorypos = scanstart;
|
if (memorypos > scanstop) memorypos = scanstart;
|
||||||
@@ -885,19 +892,26 @@ void loop() {
|
|||||||
}
|
}
|
||||||
flashingtimer = millis();
|
flashingtimer = millis();
|
||||||
}
|
}
|
||||||
|
|
||||||
delay(100);
|
delay(100);
|
||||||
radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, CN);
|
radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, CN);
|
||||||
if (RabbitearsUser.length() && RabbitearsPassword.length() && region == REGION_US && radio.rds.correctPI != 0 && frequency >= 8810 && frequency <= 10790 && !(frequency % 10) && ((frequency/10) % 2)) {
|
|
||||||
|
if (RabbitearsUser.length() && RabbitearsPassword.length() && region == REGION_US && radio.rds.correctPI != 0 && frequency >= 8810 && frequency <= 10790 && !(frequency % 10) && ((frequency / 10) % 2)) {
|
||||||
byte i = (frequency / 10 - 881) / 2;
|
byte i = (frequency / 10 - 881) / 2;
|
||||||
if (!rabbitearspi[i]) {
|
if (!rabbitearspi[i]) {
|
||||||
rabbitearspi[i] = radio.rds.correctPI;
|
rabbitearspi[i] = radio.rds.correctPI;
|
||||||
rtc.getTime("%FT%TZ").toCharArray(rabbitearstime[i],21); // ISO8601 format like 2024-08-24T12:52:00Z
|
rtc.getTime("%FT%TZ").toCharArray(rabbitearstime[i], 21);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!initdxscan) {
|
if (!initdxscan) {
|
||||||
switch (scancancel) {
|
switch (scancancel) {
|
||||||
case CORRECTPI: if (RDSstatus && radio.rds.correctPI != 0) cancelDXScan(); break;
|
case CORRECTPI:
|
||||||
case SIGNAL: if ((USN < fmscansens * 30) && (WAM < 230) && (OStatus < 80 && OStatus > -80)) cancelDXScan(); break;
|
if (RDSstatus && radio.rds.correctPI != 0) cancelDXScan();
|
||||||
|
break;
|
||||||
|
case SIGNAL:
|
||||||
|
if (signalCondition) cancelDXScan();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3917,7 +3931,7 @@ void TuneUp() {
|
|||||||
if (scandxmode && RabbitearsUser.length() && RabbitearsPassword.length()) {
|
if (scandxmode && RabbitearsUser.length() && RabbitearsPassword.length()) {
|
||||||
byte i = 0;
|
byte i = 0;
|
||||||
bool hasreport = false;
|
bool hasreport = false;
|
||||||
for(i=0; i<100; i++) {
|
for (i = 0; i < 100; i++) {
|
||||||
if (rabbitearspi[i]) {
|
if (rabbitearspi[i]) {
|
||||||
hasreport = true;
|
hasreport = true;
|
||||||
break;
|
break;
|
||||||
@@ -3925,7 +3939,7 @@ void TuneUp() {
|
|||||||
}
|
}
|
||||||
if (hasreport) {
|
if (hasreport) {
|
||||||
rabbitearssend();
|
rabbitearssend();
|
||||||
for (i=0; i< 100; i++) {
|
for (i = 0; i < 100; i++) {
|
||||||
rabbitearspi[i] = 0;
|
rabbitearspi[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4328,6 +4342,7 @@ void DefaultSettings(byte userhardwaremodel) {
|
|||||||
EEPROM.writeByte(EE_BYTE_MEMSTOPPOS, 10);
|
EEPROM.writeByte(EE_BYTE_MEMSTOPPOS, 10);
|
||||||
EEPROM.writeByte(EE_BYTE_MEMPIONLY, 1);
|
EEPROM.writeByte(EE_BYTE_MEMPIONLY, 1);
|
||||||
EEPROM.writeByte(EE_BYTE_MEMDOUBLEPI, 0);
|
EEPROM.writeByte(EE_BYTE_MEMDOUBLEPI, 0);
|
||||||
|
EEPROM.writeByte(EE_BYTE_WAITONLYONSIGNAL, 1);
|
||||||
|
|
||||||
for (int i = 0; i < EE_PRESETS_CNT; i++) {
|
for (int i = 0; i < EE_PRESETS_CNT; i++) {
|
||||||
EEPROM.writeByte(i + EE_PRESETS_BAND_START, BAND_FM);
|
EEPROM.writeByte(i + EE_PRESETS_BAND_START, BAND_FM);
|
||||||
@@ -4564,6 +4579,7 @@ void endMenu() {
|
|||||||
EEPROM.writeByte(EE_BYTE_MEMSTOPPOS, memstoppos);
|
EEPROM.writeByte(EE_BYTE_MEMSTOPPOS, memstoppos);
|
||||||
EEPROM.writeByte(EE_BYTE_MEMPIONLY, mempionly);
|
EEPROM.writeByte(EE_BYTE_MEMPIONLY, mempionly);
|
||||||
EEPROM.writeByte(EE_BYTE_MEMDOUBLEPI, memdoublepi);
|
EEPROM.writeByte(EE_BYTE_MEMDOUBLEPI, memdoublepi);
|
||||||
|
EEPROM.writeByte(EE_BYTE_WAITONLYONSIGNAL, scanholdonsignal);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
if (af == 2) radio.rds.afreg = true; else radio.rds.afreg = false;
|
if (af == 2) radio.rds.afreg = true; else radio.rds.afreg = false;
|
||||||
Serial.end();
|
Serial.end();
|
||||||
@@ -4578,7 +4594,7 @@ void endMenu() {
|
|||||||
|
|
||||||
void startFMDXScan() {
|
void startFMDXScan() {
|
||||||
initdxscan = true;
|
initdxscan = true;
|
||||||
for(byte i=0; i<100; i++) {
|
for (byte i = 0; i < 100; i++) {
|
||||||
rabbitearspi[i] = 0;
|
rabbitearspi[i] = 0;
|
||||||
rabbitearstime[i][0] = 0;
|
rabbitearstime[i][0] = 0;
|
||||||
}
|
}
|
||||||
@@ -4618,7 +4634,7 @@ void startFMDXScan() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void rabbitearssend () {
|
void rabbitearssend () {
|
||||||
if(WiFi.status() != WL_CONNECTED) return;
|
if (WiFi.status() != WL_CONNECTED) return;
|
||||||
String RabbitearsURL = "http://rabbitears.info/tvdx/fm_spot";
|
String RabbitearsURL = "http://rabbitears.info/tvdx/fm_spot";
|
||||||
WiFiClient RabbitearsClient;
|
WiFiClient RabbitearsClient;
|
||||||
HTTPClient http;
|
HTTPClient http;
|
||||||
@@ -4629,10 +4645,10 @@ void rabbitearssend () {
|
|||||||
json += RabbitearsPassword;
|
json += RabbitearsPassword;
|
||||||
json += String("\",");
|
json += String("\",");
|
||||||
json += String("\"signal\":{");
|
json += String("\"signal\":{");
|
||||||
for (i=0; i <100; i++) {
|
for (i = 0; i < 100; i++) {
|
||||||
if (rabbitearspi[i]) {
|
if (rabbitearspi[i]) {
|
||||||
json += String("\"");
|
json += String("\"");
|
||||||
json += String((i*2+881)*100000);
|
json += String((i * 2 + 881) * 100000);
|
||||||
json += String("\":{\"time\":\"");
|
json += String("\":{\"time\":\"");
|
||||||
json += String(rabbitearstime[i]);
|
json += String(rabbitearstime[i]);
|
||||||
json += String("\",\"pi_code\":");
|
json += String("\",\"pi_code\":");
|
||||||
@@ -4640,9 +4656,9 @@ void rabbitearssend () {
|
|||||||
json += String("},");
|
json += String("},");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
json.remove(json.length()-1); // remove trailing comma
|
json.remove(json.length() - 1); // remove trailing comma
|
||||||
json += String("}}");
|
json += String("}}");
|
||||||
http.begin(RabbitearsClient,RabbitearsURL.c_str());
|
http.begin(RabbitearsClient, RabbitearsURL.c_str());
|
||||||
http.addHeader("Content-Type", "application/json");
|
http.addHeader("Content-Type", "application/json");
|
||||||
http.POST(json);
|
http.POST(json);
|
||||||
http.end();
|
http.end();
|
||||||
|
|||||||
+116
-115
@@ -205,126 +205,127 @@
|
|||||||
#define Tyrian 0x3845 /* 7, 2, 5 */
|
#define Tyrian 0x3845 /* 7, 2, 5 */
|
||||||
|
|
||||||
// EEPROM index defines
|
// EEPROM index defines
|
||||||
#define EE_PRESETS_CNT 99 // When set > 99 change the complete EEPROM adressing!
|
#define EE_PRESETS_CNT 99 // When set > 99 change the complete EEPROM adressing!
|
||||||
#define EE_CHECKBYTE_VALUE 10 // 0 ~ 255,add new entry, change for new value
|
#define EE_CHECKBYTE_VALUE 10 // 0 ~ 255,add new entry, change for new value
|
||||||
#define EE_PRESETS_FREQUENCY 0 // Default value when memory channel should be skipped!
|
#define EE_PRESETS_FREQUENCY 0 // Default value when memory channel should be skipped!
|
||||||
#ifdef HAS_AIR_BAND
|
#ifdef HAS_AIR_BAND
|
||||||
#define EE_TOTAL_CNT 2258 // Total occupied eeprom bytes
|
#define EE_TOTAL_CNT 2259 // Total occupied eeprom bytes
|
||||||
#else
|
#else
|
||||||
#define EE_TOTAL_CNT 2253 // Total occupied eeprom bytes
|
#define EE_TOTAL_CNT 2254 // Total occupied eeprom bytes
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
|
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
|
||||||
#define EE_PRESET_BW_START 99 // 99 * 1 byte
|
#define EE_PRESET_BW_START 99 // 99 * 1 byte
|
||||||
#define EE_PRESET_MS_START 198 // 99 * 1 byte
|
#define EE_PRESET_MS_START 198 // 99 * 1 byte
|
||||||
#define EE_PRESETS_FREQUENCY_START 297 // 99 * 4 bytes
|
#define EE_PRESETS_FREQUENCY_START 297 // 99 * 4 bytes
|
||||||
#define EE_PRESETS_RDSPI_START 693 // 99 * 5 bytes
|
#define EE_PRESETS_RDSPI_START 693 // 99 * 5 bytes
|
||||||
#define EE_PRESETS_RDSPS_START 1188 // 99 * 9 bytes
|
#define EE_PRESETS_RDSPS_START 1188 // 99 * 9 bytes
|
||||||
|
|
||||||
#define EE_UINT16_FREQUENCY_FM 2079
|
#define EE_UINT16_FREQUENCY_FM 2079
|
||||||
#define EE_BYTE_VOLSET 2083
|
#define EE_BYTE_VOLSET 2083
|
||||||
#define EE_BYTE_STEREO 2084
|
#define EE_BYTE_STEREO 2084
|
||||||
#define EE_BYTE_BANDFM 2085
|
#define EE_BYTE_BANDFM 2085
|
||||||
#define EE_BYTE_BANDAM 2086
|
#define EE_BYTE_BANDAM 2086
|
||||||
#define EE_UINT16_CONVERTERSET 2087
|
#define EE_UINT16_CONVERTERSET 2087
|
||||||
#define EE_UINT16_FMLOWEDGESET 2091
|
#define EE_UINT16_FMLOWEDGESET 2091
|
||||||
#define EE_UINT16_FMHIGHEDGESET 2095
|
#define EE_UINT16_FMHIGHEDGESET 2095
|
||||||
#define EE_BYTE_CONTRASTSET 2099
|
#define EE_BYTE_CONTRASTSET 2099
|
||||||
#define EE_BYTE_STEREOLEVEL 2100
|
#define EE_BYTE_STEREOLEVEL 2100
|
||||||
#define EE_BYTE_HIGHCUTLEVEL 2101
|
#define EE_BYTE_HIGHCUTLEVEL 2101
|
||||||
#define EE_BYTE_HIGHCUTOFFSET 2102
|
#define EE_BYTE_HIGHCUTOFFSET 2102
|
||||||
#define EE_BYTE_LEVELOFFSET 2103
|
#define EE_BYTE_LEVELOFFSET 2103
|
||||||
#define EE_BYTE_RTBUFFER 2104
|
#define EE_BYTE_RTBUFFER 2104
|
||||||
#define EE_BYTE_SORTAF 2105
|
#define EE_BYTE_SORTAF 2105
|
||||||
#define EE_BYTE_STATIONLISTID 2106
|
#define EE_BYTE_STATIONLISTID 2106
|
||||||
#define EE_BYTE_EDGEBEEP 2107
|
#define EE_BYTE_EDGEBEEP 2107
|
||||||
#define EE_BYTE_SOFTMUTEAM 2108
|
#define EE_BYTE_SOFTMUTEAM 2108
|
||||||
#define EE_BYTE_SOFTMUTEFM 2109
|
#define EE_BYTE_SOFTMUTEFM 2109
|
||||||
#define EE_UINT16_FREQUENCY_AM 2110
|
#define EE_UINT16_FREQUENCY_AM 2110
|
||||||
#define EE_BYTE_LANGUAGE 2114
|
#define EE_BYTE_LANGUAGE 2114
|
||||||
#define EE_BYTE_SHOWRDSERRORS 2115
|
#define EE_BYTE_SHOWRDSERRORS 2115
|
||||||
#define EE_BYTE_TEF 2116
|
#define EE_BYTE_TEF 2116
|
||||||
#define EE_BYTE_DISPLAYFLIP 2117
|
#define EE_BYTE_DISPLAYFLIP 2117
|
||||||
#define EE_BYTE_ROTARYMODE 2118
|
#define EE_BYTE_ROTARYMODE 2118
|
||||||
#define EE_BYTE_STEPSIZE 2119
|
#define EE_BYTE_STEPSIZE 2119
|
||||||
#define EE_BYTE_TUNEMODE 2120
|
#define EE_BYTE_TUNEMODE 2120
|
||||||
#define EE_BYTE_OPTENC 2121
|
#define EE_BYTE_OPTENC 2121
|
||||||
#define EE_BYTE_CHECKBYTE 2122
|
#define EE_BYTE_CHECKBYTE 2122
|
||||||
#define EE_BYTE_IMSSET 2123
|
#define EE_BYTE_IMSSET 2123
|
||||||
#define EE_BYTE_EQSET 2124
|
#define EE_BYTE_EQSET 2124
|
||||||
#define EE_BYTE_BAND 2125
|
#define EE_BYTE_BAND 2125
|
||||||
#define EE_BYTE_LOWLEVELSET 2126
|
#define EE_BYTE_LOWLEVELSET 2126
|
||||||
#define EE_BYTE_BWSET_FM 2127
|
#define EE_BYTE_BWSET_FM 2127
|
||||||
#define EE_BYTE_BWSET_AM 2128
|
#define EE_BYTE_BWSET_AM 2128
|
||||||
#define EE_BYTE_BANDAUTOSW 2129
|
#define EE_BYTE_BANDAUTOSW 2129
|
||||||
#define EE_BYTE_MEMORYPOS 2130
|
#define EE_BYTE_MEMORYPOS 2130
|
||||||
#define EE_BYTE_REGION 2131
|
#define EE_BYTE_REGION 2131
|
||||||
#define EE_BYTE_RDS_UNDERSCORE 2132
|
#define EE_BYTE_RDS_UNDERSCORE 2132
|
||||||
#define EE_BYTE_USBMODE 2133
|
#define EE_BYTE_USBMODE 2133
|
||||||
#define EE_BYTE_WIFI 2134
|
#define EE_BYTE_WIFI 2134
|
||||||
#define EE_BYTE_SUBNETCLIENT 2135
|
#define EE_BYTE_SUBNETCLIENT 2135
|
||||||
#define EE_BYTE_SHOWSWMIBAND 2136
|
#define EE_BYTE_SHOWSWMIBAND 2136
|
||||||
#define EE_BYTE_RDS_FILTER 2137
|
#define EE_BYTE_RDS_FILTER 2137
|
||||||
#define EE_BYTE_RDS_PIERRORS 2138
|
#define EE_BYTE_RDS_PIERRORS 2138
|
||||||
#define EE_BYTE_USESQUELCH 2139
|
#define EE_BYTE_USESQUELCH 2139
|
||||||
#define EE_BYTE_SHOWMODULATION 2140
|
#define EE_BYTE_SHOWMODULATION 2140
|
||||||
#define EE_BYTE_AM_NB 2141
|
#define EE_BYTE_AM_NB 2141
|
||||||
#define EE_BYTE_FM_NB 2142
|
#define EE_BYTE_FM_NB 2142
|
||||||
#define EE_BYTE_AUDIOMODE 2143
|
#define EE_BYTE_AUDIOMODE 2143
|
||||||
#define EE_BYTE_TOUCH_ROTATING 2144
|
#define EE_BYTE_TOUCH_ROTATING 2144
|
||||||
#define EE_BYTE_HARDWARE_MODEL 2145
|
#define EE_BYTE_HARDWARE_MODEL 2145
|
||||||
#define EE_BYTE_POWEROPTIONS 2146
|
#define EE_BYTE_POWEROPTIONS 2146
|
||||||
#define EE_BYTE_CURRENTTHEME 2147
|
#define EE_BYTE_CURRENTTHEME 2147
|
||||||
#define EE_BYTE_FMDEFAULTSTEPSIZE 2148
|
#define EE_BYTE_FMDEFAULTSTEPSIZE 2148
|
||||||
#define EE_BYTE_SCREENSAVERSET 2149
|
#define EE_BYTE_SCREENSAVERSET 2149
|
||||||
#define EE_BYTE_UNIT 2150
|
#define EE_BYTE_UNIT 2150
|
||||||
#define EE_BYTE_AF 2151
|
#define EE_BYTE_AF 2151
|
||||||
#define EE_BYTE_BATTERY_OPTIONS 2152
|
#define EE_BYTE_BATTERY_OPTIONS 2152
|
||||||
#define EE_BYTE_AM_CO_DECT 2153
|
#define EE_BYTE_AM_CO_DECT 2153
|
||||||
#define EE_BYTE_AM_CO_DECT_COUNT 2154
|
#define EE_BYTE_AM_CO_DECT_COUNT 2154
|
||||||
#define EE_BYTE_AM_RF_GAIN 2155
|
#define EE_BYTE_AM_RF_GAIN 2155
|
||||||
#define EE_BYTE_FM_DEEMPHASIS 2156
|
#define EE_BYTE_FM_DEEMPHASIS 2156
|
||||||
#define EE_UINT16_FREQUENCY_LW 2157
|
#define EE_UINT16_FREQUENCY_LW 2157
|
||||||
#define EE_UINT16_FREQUENCY_MW 2161
|
#define EE_UINT16_FREQUENCY_MW 2161
|
||||||
#define EE_UINT16_FREQUENCY_SW 2165
|
#define EE_UINT16_FREQUENCY_SW 2165
|
||||||
#define EE_UINT16_LOWEDGEOIRTSET 2169
|
#define EE_UINT16_LOWEDGEOIRTSET 2169
|
||||||
#define EE_UINT16_HIGHEDGEOIRTSET 2173
|
#define EE_UINT16_HIGHEDGEOIRTSET 2173
|
||||||
#define EE_INT16_AMLEVELOFFSET 2177
|
#define EE_INT16_AMLEVELOFFSET 2177
|
||||||
#define EE_UINT16_FREQUENCY_OIRT 2181
|
#define EE_UINT16_FREQUENCY_OIRT 2181
|
||||||
#define EE_STRING_XDRGTK_KEY 2185 // 11 byte
|
#define EE_STRING_XDRGTK_KEY 2185 // 11 byte
|
||||||
#define EE_BYTE_FASTPS 2196
|
#define EE_BYTE_FASTPS 2196
|
||||||
#define EE_BYTE_TOT 2197
|
#define EE_BYTE_TOT 2197
|
||||||
#define EE_BYTE_MWREGION 2198
|
#define EE_BYTE_MWREGION 2198
|
||||||
#define EE_BYTE_SPISPEED 2199
|
#define EE_BYTE_SPISPEED 2199
|
||||||
#define EE_BYTE_AMSCANSENS 2200
|
#define EE_BYTE_AMSCANSENS 2200
|
||||||
#define EE_BYTE_FMSCANSENS 2201
|
#define EE_BYTE_FMSCANSENS 2201
|
||||||
#define EE_BYTE_FREQFONT 2202
|
#define EE_BYTE_FREQFONT 2202
|
||||||
#define EE_BYTE_SKIN 2203
|
#define EE_BYTE_SKIN 2203
|
||||||
#define EE_BYTE_XDRGTKMUTE 2204
|
#define EE_BYTE_XDRGTKMUTE 2204
|
||||||
#define EE_BYTE_FMAGC 2205
|
#define EE_BYTE_FMAGC 2205
|
||||||
#define EE_BYTE_AMAGC 2206
|
#define EE_BYTE_AMAGC 2206
|
||||||
#define EE_BYTE_FMSI 2207
|
#define EE_BYTE_FMSI 2207
|
||||||
#define EE_BYTE_SCANSTART 2208
|
#define EE_BYTE_SCANSTART 2208
|
||||||
#define EE_BYTE_SCANSTOP 2209
|
#define EE_BYTE_SCANSTOP 2209
|
||||||
#define EE_BYTE_SCANHOLD 2210
|
#define EE_BYTE_SCANHOLD 2210
|
||||||
#define EE_BYTE_SCANMEM 2211
|
#define EE_BYTE_SCANMEM 2211
|
||||||
#define EE_BYTE_SCANCANCEL 2212
|
#define EE_BYTE_SCANCANCEL 2212
|
||||||
#define EE_BYTE_SCANMUTE 2213
|
#define EE_BYTE_SCANMUTE 2213
|
||||||
#define EE_BYTE_AUTOSQUELCH 2214
|
#define EE_BYTE_AUTOSQUELCH 2214
|
||||||
#define EE_BYTE_LONGBANDPRESS 2215
|
#define EE_BYTE_LONGBANDPRESS 2215
|
||||||
#define EE_BYTE_SHOWCLOCK 2216
|
#define EE_BYTE_SHOWCLOCK 2216
|
||||||
#define EE_BYTE_SHOWLONGPS 2217
|
#define EE_BYTE_SHOWLONGPS 2217
|
||||||
#define EE_UINT16_MEMSTARTFREQ 2218
|
#define EE_UINT16_MEMSTARTFREQ 2218
|
||||||
#define EE_UINT16_MEMSTOPFREQ 2222
|
#define EE_UINT16_MEMSTOPFREQ 2222
|
||||||
#define EE_BYTE_MEMSTARTPOS 2226
|
#define EE_BYTE_MEMSTARTPOS 2226
|
||||||
#define EE_BYTE_MEMSTOPPOS 2227
|
#define EE_BYTE_MEMSTOPPOS 2227
|
||||||
#define EE_BYTE_MEMPIONLY 2228
|
#define EE_BYTE_MEMPIONLY 2228
|
||||||
#define EE_BYTE_MEMDOUBLEPI 2229
|
#define EE_BYTE_MEMDOUBLEPI 2229
|
||||||
#define EE_STRING_RABBITEARSUSER 2230
|
#define EE_STRING_RABBITEARSUSER 2230
|
||||||
#define EE_STRING_RABBITEARSPASSWORD 2241
|
#define EE_STRING_RABBITEARSPASSWORD 2241
|
||||||
|
#define EE_BYTE_WAITONLYONSIGNAL 2253
|
||||||
#ifdef HAS_AIR_BAND
|
#ifdef HAS_AIR_BAND
|
||||||
#define EE_BYTE_AIRSTEPSIZE 2252
|
#define EE_BYTE_AIRSTEPSIZE 2254
|
||||||
#define EE_UINT16_FREQUENCY_AIR 2253
|
#define EE_UINT16_FREQUENCY_AIR 2255
|
||||||
#endif
|
#endif
|
||||||
// End of EEPROM index defines
|
// End of EEPROM index defines
|
||||||
|
|
||||||
@@ -348,7 +349,7 @@ enum LONGBANDBUTTONPRESS {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum AUTOMEMPIMODES {
|
enum AUTOMEMPIMODES {
|
||||||
MEMPI_OFF = 0, MEMPI_RANGE, MEMPI_FULL
|
MEMPI_OFF = 0, MEMPI_RANGE, MEMPI_FULL
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SCAN_CANCEL {
|
enum SCAN_CANCEL {
|
||||||
|
|||||||
+31
-1
@@ -8,7 +8,7 @@
|
|||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
byte menuitem;
|
byte menuitem;
|
||||||
byte items[10] = {10, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 10, 10, 9, 6, 8, 9};
|
byte items[10] = {10, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 10, 10, 9, 6, 9, 9};
|
||||||
extern mem presets[];
|
extern mem presets[];
|
||||||
bool setWiFiConnectParam = false;
|
bool setWiFiConnectParam = false;
|
||||||
|
|
||||||
@@ -1453,6 +1453,15 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
|||||||
FullLineSprite.drawString(String(amscansens), 298, 2);
|
FullLineSprite.drawString(String(amscansens), 298, 2);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case DXMODE:
|
||||||
|
FullLineSprite.setTextDatum(TL_DATUM);
|
||||||
|
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
|
FullLineSprite.drawString(removeNewline(myLanguage[language][281]), 6, 2);
|
||||||
|
FullLineSprite.setTextDatum(TR_DATUM);
|
||||||
|
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
|
FullLineSprite.drawString((scanholdonsignal ? myLanguage[language][42] : myLanguage[language][30]), 298, 2);
|
||||||
|
break;
|
||||||
|
|
||||||
case AUTOMEM:
|
case AUTOMEM:
|
||||||
FullLineSprite.setTextDatum(TL_DATUM);
|
FullLineSprite.setTextDatum(TL_DATUM);
|
||||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
@@ -2661,6 +2670,13 @@ void MenuUp() {
|
|||||||
OneBigLineSprite.drawString(String(fmscansens), 135, 0);
|
OneBigLineSprite.drawString(String(fmscansens), 135, 0);
|
||||||
OneBigLineSprite.pushSprite(24, 118);
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ITEM9:
|
||||||
|
scanholdonsignal = !scanholdonsignal;
|
||||||
|
|
||||||
|
OneBigLineSprite.drawString((scanholdonsignal ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||||
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -3602,6 +3618,13 @@ void MenuDown() {
|
|||||||
OneBigLineSprite.drawString(String(fmscansens), 135, 0);
|
OneBigLineSprite.drawString(String(fmscansens), 135, 0);
|
||||||
OneBigLineSprite.pushSprite(24, 118);
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ITEM9:
|
||||||
|
scanholdonsignal = !scanholdonsignal;
|
||||||
|
|
||||||
|
OneBigLineSprite.drawString((scanholdonsignal ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||||
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -4587,6 +4610,13 @@ void DoMenu() {
|
|||||||
OneBigLineSprite.drawString(String(fmscansens), 135, 0);
|
OneBigLineSprite.drawString(String(fmscansens), 135, 0);
|
||||||
OneBigLineSprite.pushSprite(24, 118);
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ITEM9:
|
||||||
|
Infoboxprint(myLanguage[language][281]);
|
||||||
|
|
||||||
|
OneBigLineSprite.drawString((scanholdonsignal ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||||
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ extern bool RDSstatusold;
|
|||||||
extern bool rdsstereoold;
|
extern bool rdsstereoold;
|
||||||
extern bool usesquelch;
|
extern bool usesquelch;
|
||||||
extern bool scandxmode;
|
extern bool scandxmode;
|
||||||
|
extern bool scanholdonsignal;
|
||||||
extern bool scanmem;
|
extern bool scanmem;
|
||||||
extern bool scanmute;
|
extern bool scanmute;
|
||||||
extern bool showclock;
|
extern bool showclock;
|
||||||
|
|||||||
+37
-20
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
// [number of languages][number of texts]
|
// [number of languages][number of texts]
|
||||||
|
|
||||||
static const char* const myLanguage[18][281] PROGMEM = {
|
static const char* const myLanguage[18][282] PROGMEM = {
|
||||||
{ "English", // English
|
{ "English", // English
|
||||||
"Rotary direction changed", // 1
|
"Rotary direction changed", // 1
|
||||||
"Please release button", // 2
|
"Please release button", // 2
|
||||||
@@ -286,7 +286,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Nederlands", // Dutch
|
{ "Nederlands", // Dutch
|
||||||
@@ -569,7 +570,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"gewist", // 277
|
"gewist", // 277
|
||||||
"Voorkom dubbele PI", // 278
|
"Voorkom dubbele PI", // 278
|
||||||
"Bereik", // 279
|
"Bereik", // 279
|
||||||
"Volledig" // 280
|
"Volledig", // 280
|
||||||
|
"Wachttijd alleen\nbij signaal" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Polski", // Polish
|
{ "Polski", // Polish
|
||||||
@@ -852,7 +854,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"wyczyszczono", // 277
|
"wyczyszczono", // 277
|
||||||
"Unikaj podwójnego PI", // 278
|
"Unikaj podwójnego PI", // 278
|
||||||
"Zakres", // 279
|
"Zakres", // 279
|
||||||
"Pełne" // 280
|
"Pełne", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Hrvatski", // Croatian
|
{ "Hrvatski", // Croatian
|
||||||
@@ -1135,7 +1138,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Ελληνικά", // Greek
|
{ "Ελληνικά", // Greek
|
||||||
@@ -1418,7 +1422,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"έγινε εκκαθάριση", // 277
|
"έγινε εκκαθάριση", // 277
|
||||||
"Αποφυγή διπλού PI", // 278
|
"Αποφυγή διπλού PI", // 278
|
||||||
"Εύρος", // 279
|
"Εύρος", // 279
|
||||||
"Πλήρης" // 280
|
"Πλήρης", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Română", // Romanian
|
{ "Română", // Romanian
|
||||||
@@ -1701,7 +1706,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Deutsch", // German
|
{ "Deutsch", // German
|
||||||
@@ -1984,7 +1990,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Český", // Czech
|
{ "Český", // Czech
|
||||||
@@ -2267,7 +2274,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Magyar", // Hungarian
|
{ "Magyar", // Hungarian
|
||||||
@@ -2550,7 +2558,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Français", // French
|
{ "Français", // French
|
||||||
@@ -2833,7 +2842,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"effacé", // 277
|
"effacé", // 277
|
||||||
"Prévenir double PI", // 278
|
"Prévenir double PI", // 278
|
||||||
"Plage", // 279
|
"Plage", // 279
|
||||||
"Complet" // 280
|
"Complet", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -3117,7 +3127,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Русский", // Russian
|
{ "Русский", // Russian
|
||||||
@@ -3400,7 +3411,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Українська", // Ukranian
|
{ "Українська", // Ukranian
|
||||||
@@ -3683,7 +3695,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Italiano", // Italian
|
{ "Italiano", // Italian
|
||||||
@@ -3966,7 +3979,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"Cancellate", // 277
|
"Cancellate", // 277
|
||||||
"Evita PI duplicati", // 278
|
"Evita PI duplicati", // 278
|
||||||
"Intervallo", // 279
|
"Intervallo", // 279
|
||||||
"Piene" // 280
|
"Piene", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Simplified Chinese", // Simplified Chinese
|
{ "Simplified Chinese", // Simplified Chinese
|
||||||
@@ -4249,7 +4263,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Norsk", // Norwegian
|
{ "Norsk", // Norwegian
|
||||||
@@ -4532,7 +4547,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"cleared", // 277
|
"cleared", // 277
|
||||||
"Prevent double PI", // 278
|
"Prevent double PI", // 278
|
||||||
"Range", // 279
|
"Range", // 279
|
||||||
"Full" // 280
|
"Full", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Español", // Spanish
|
{ "Español", // Spanish
|
||||||
@@ -4815,7 +4831,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"borrado", // 277
|
"borrado", // 277
|
||||||
"Prevenir doble PI", // 278
|
"Prevenir doble PI", // 278
|
||||||
"Rango", // 279
|
"Rango", // 279
|
||||||
"Completo" // 280
|
"Completo", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -5099,8 +5116,8 @@ static const char* const myLanguage[18][281] PROGMEM = {
|
|||||||
"limpo", // 277
|
"limpo", // 277
|
||||||
"Prevenir PI duplo", // 278
|
"Prevenir PI duplo", // 278
|
||||||
"Intervalo", // 279
|
"Intervalo", // 279
|
||||||
"Completo" // 280
|
"Completo", // 280
|
||||||
|
"Wait time on\nsignal only" // 281
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
Reference in New Issue
Block a user