You've already forked TEF6686_ESP32
Air Band support [ongoing]
This commit is contained in:
@@ -135,16 +135,16 @@ void TEF6686::init(byte TEF) {
|
||||
|
||||
if (xtalADC < XTAL_0V_ADC + XTAL_ADC_TOL) {
|
||||
Tuner_Init(tuner_init_tab9216);
|
||||
log_v("XTAL : 9.216M");
|
||||
log_d("TEF668X XTAL : 9.216M");
|
||||
} else if (xtalADC > XTAL_1V_ADC - XTAL_ADC_TOL && xtalADC < XTAL_1V_ADC + XTAL_ADC_TOL) {
|
||||
Tuner_Init(tuner_init_tab12000);
|
||||
log_v("XTAL : 12M");
|
||||
log_d("TEF668X XTAL : 12M");
|
||||
} else if (xtalADC > XTAL_2V_ADC - XTAL_ADC_TOL && xtalADC < XTAL_2V_ADC + XTAL_ADC_TOL) {
|
||||
Tuner_Init(tuner_init_tab55000);
|
||||
log_v("XTAL : 55M");
|
||||
log_d("TEF668X XTAL : 55M");
|
||||
} else {
|
||||
Tuner_Init(tuner_init_tab4000);
|
||||
log_v("XTAL : 4M");
|
||||
log_d("TEF668X XTAL : 4M");
|
||||
}
|
||||
power(1);
|
||||
Tuner_Init(tuner_init_tab);
|
||||
@@ -178,6 +178,10 @@ void TEF6686::SetFreqAM(uint16_t frequency) {
|
||||
devTEF_Radio_Tune_AM (frequency);
|
||||
}
|
||||
|
||||
void TEF6686::SetFreqAIR(uint16_t frequency) {
|
||||
devTEF_Radio_Tune_AM (10700);
|
||||
}
|
||||
|
||||
void TEF6686::setOffset(int8_t offset) {
|
||||
devTEF_Radio_Set_LevelOffset(offset * 10);
|
||||
}
|
||||
|
||||
@@ -660,6 +660,7 @@ class TEF6686 {
|
||||
void readRDS(byte showrdserrors);
|
||||
void SetFreq(uint16_t frequency);
|
||||
void SetFreqAM(uint16_t frequency);
|
||||
void SetFreqAIR(uint16_t frequency);
|
||||
bool getProcessing(uint16_t &highcut, uint16_t &stereo, uint16_t &sthiblend, uint8_t &stband_1, uint8_t &stband_2, uint8_t &stband_3, uint8_t &stband_4);
|
||||
bool getStatus(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, int8_t &snr);
|
||||
bool getStatusAM(int16_t &level, uint16_t &noise, uint16_t &cochannel, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, int8_t &snr);
|
||||
|
||||
9
src/config.h
Normal file
9
src/config.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
// #define HAS_AIR_BAND // uncomment to enable Air Band(Make sure you have Air Band extend board)
|
||||
#define CHINA_PORTABLE // uncomment for China Portable build (Simplified Chinese)
|
||||
|
||||
#endif
|
||||
@@ -1,3 +1,5 @@
|
||||
#include "config.h"
|
||||
|
||||
#define ON 1
|
||||
#define OFF 0
|
||||
#define REVERSE false
|
||||
@@ -33,6 +35,10 @@
|
||||
#define FREQ_MW_STEP_9K 9
|
||||
#define FREQ_MW_STEP_10K 10
|
||||
#define FREQ_SW_STEP_5K 5
|
||||
#ifdef HAS_AIR_BAND
|
||||
#define FREQ_AIR_STEP_25K 25
|
||||
#define FREQ_AIR_STEP_8K33 8.33
|
||||
#endif
|
||||
#define FREQ_OIRT_STEP_30K 3
|
||||
#define FREQ_FM_STEP_50K 5
|
||||
#define FREQ_FM_STEP_100K 10
|
||||
@@ -48,6 +54,10 @@
|
||||
#define FREQ_SW_LOW_EDGE_MAX (FREQ_SW_160M_START)
|
||||
#define FREQ_SW_HIGH_EDGE_MIN (FREQ_SW_11M_END)
|
||||
#define FREQ_SW_HIGH_EDGE_MAX (FREQ_SW_END)
|
||||
#ifdef HAS_AIR_BAND
|
||||
#define FREQ_AIR_LOW_EDGE_MIN 108000
|
||||
#define FREQ_AIR_HIGH_EDGE_MIN 137000
|
||||
#endif
|
||||
#define FREQ_FM_START 65000
|
||||
#define FREQ_FM_END 108000
|
||||
#define FREQ_FM_OIRT_START 6500 // use values of 1/10 * kHz
|
||||
@@ -196,9 +206,13 @@
|
||||
|
||||
// EEPROM index defines
|
||||
#define EE_PRESETS_CNT 99 // When set > 99 change the complete EEPROM adressing!
|
||||
#define EE_CHECKBYTE_VALUE 7 // 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!
|
||||
#ifdef HAS_AIR_BAND
|
||||
#define EE_TOTAL_CNT 2219 // Total occupied eeprom bytes
|
||||
#else
|
||||
#define EE_TOTAL_CNT 2214 // Total occupied eeprom bytes
|
||||
#endif
|
||||
|
||||
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
|
||||
#define EE_PRESET_BW_START 99 // 99 * 1 byte
|
||||
@@ -296,6 +310,10 @@
|
||||
#define EE_BYTE_SCANMEM 2211
|
||||
#define EE_BYTE_SCANCANCEL 2212
|
||||
#define EE_BYTE_SCANMUTE 2213
|
||||
#ifdef HAS_AIR_BAND
|
||||
#define EE_BYTE_AIRSTEPSIZE 2114
|
||||
#define EE_UINT16_FREQUENCY_AIR 2215
|
||||
#endif
|
||||
// End of EEPROM index defines
|
||||
|
||||
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
|
||||
@@ -319,15 +337,28 @@ enum SCAN_CANCEL {
|
||||
|
||||
// FM band: before BAND_GAP; AM band: after BAND_GAP
|
||||
enum RADIO_BAND {
|
||||
BAND_OIRT = 0, BAND_FM, BAND_GAP, BAND_LW, BAND_MW, BAND_SW
|
||||
BAND_OIRT = 0, BAND_FM, BAND_GAP, BAND_LW, BAND_MW, BAND_SW, BAND_AIR
|
||||
};
|
||||
|
||||
#ifndef HAS_AIR_BAND
|
||||
// Toggle: LW -> MW -> SW
|
||||
enum RADIO_AM_BAND_SELECTION {
|
||||
AM_BAND_ALL = 0, AM_BAND_LW_MW, AM_BAND_LW_SW, AM_BAND_MW_SW,
|
||||
AM_BAND_LW, AM_BAND_MW, AM_BAND_SW, AM_BAND_NONE,
|
||||
AM_BAND_CNT
|
||||
};
|
||||
#else
|
||||
// Toggle: LW -> MW -> SW -> AIR
|
||||
enum RADIO_AM_BAND_SELECTION {
|
||||
AM_BAND_ALL = 0,
|
||||
AM_BAND_LW_MW_SW, AM_BAND_LW_MW_AIR, AM_BAND_LW_SW_AIR, AM_BAND_MW_SW_AIR,
|
||||
AM_BAND_LW_MW, AM_BAND_LW_SW, AM_BAND_LW_AIR,
|
||||
AM_BAND_MW_SW, AM_BAND_MW_AIR,
|
||||
AM_BAND_SW_AIR,
|
||||
AM_BAND_LW, AM_BAND_MW, AM_BAND_SW, AM_BAND_AIR, AM_BAND_NONE,
|
||||
AM_BAND_CNT
|
||||
};
|
||||
#endif /* end of HAS_AIR_BAND */
|
||||
|
||||
// Toggle: OIRT -> FM
|
||||
enum RADIO_FM_BAND_SELECTION {
|
||||
|
||||
108
src/gui.cpp
108
src/gui.cpp
@@ -1,6 +1,7 @@
|
||||
#include "gui.h"
|
||||
#include "language.h"
|
||||
#include "constants.h"
|
||||
#include "config.h"
|
||||
#include <WiFi.h>
|
||||
#include <Wire.h>
|
||||
#include <EEPROM.h>
|
||||
@@ -1193,7 +1194,27 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
||||
|
||||
FullLineSprite.setTextDatum(TR_DATUM);
|
||||
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
|
||||
#ifdef HAS_AIR_BAND
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 298, 3); break;
|
||||
case AM_BAND_LW_MW_SW: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 298, 3); break;
|
||||
case AM_BAND_LW_MW_AIR: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][223], 298, 3); break;
|
||||
case AM_BAND_LW_SW_AIR: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 298, 3); break;
|
||||
case AM_BAND_MW_SW_AIR: FullLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 298, 3); break;
|
||||
case AM_BAND_LW_MW: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 298, 3); break;
|
||||
case AM_BAND_LW_SW: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104], 298, 3); break;
|
||||
case AM_BAND_LW_AIR: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][223], 298, 3); break;
|
||||
case AM_BAND_MW_SW: FullLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104], 298, 3); break;
|
||||
case AM_BAND_MW_AIR: FullLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][223], 298, 3); break;
|
||||
case AM_BAND_SW_AIR: FullLineSprite.drawString(myLanguage[language][104] + String(",") + myLanguage[language][223], 298, 3); break;
|
||||
case AM_BAND_LW: FullLineSprite.drawString(myLanguage[language][102], 298, 3); break;
|
||||
case AM_BAND_MW: FullLineSprite.drawString(myLanguage[language][103], 298, 3); break;
|
||||
case AM_BAND_SW: FullLineSprite.drawString(myLanguage[language][104], 298, 3); break;
|
||||
case AM_BAND_AIR: FullLineSprite.drawString(myLanguage[language][223], 298, 3); break;
|
||||
case AM_BAND_NONE: FullLineSprite.drawString(myLanguage[language][83], 298, 3); break;
|
||||
}
|
||||
break;
|
||||
#else
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 298, 3); break;
|
||||
case AM_BAND_LW_MW: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 298, 3); break;
|
||||
@@ -1204,7 +1225,8 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
||||
case AM_BAND_SW: FullLineSprite.drawString(myLanguage[language][104], 298, 3); break;
|
||||
case AM_BAND_NONE: FullLineSprite.drawString(myLanguage[language][83], 298, 3); break;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
#endif
|
||||
|
||||
case DISPLAYSETTINGS:
|
||||
FullLineSprite.setTextDatum(TL_DATUM);
|
||||
@@ -1618,10 +1640,22 @@ void BuildDisplay() {
|
||||
case BAND_LW: tftPrint(-1, myLanguage[language][102], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
case BAND_MW: tftPrint(-1, myLanguage[language][103], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
case BAND_SW: tftPrint(-1, myLanguage[language][104], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
#ifdef HAS_AIR_BAND
|
||||
case BAND_AIR: tftPrint(-1, myLanguage[language][223], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
#endif
|
||||
case BAND_FM: tftPrint(-1, myLanguage[language][105], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
case BAND_OIRT: tftPrint(-1, myLanguage[language][106], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
}
|
||||
if (band < BAND_GAP) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28); else tftPrint(-1, "kHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
if (band < BAND_GAP) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
else {
|
||||
#ifdef HAS_AIR_BAND
|
||||
if (band == AM_BAND_AIR)
|
||||
tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
else tftPrint(-1, "KHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
#else
|
||||
tftPrint(-1, "KHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
#endif
|
||||
}
|
||||
|
||||
RDSstatusold = false;
|
||||
Stereostatusold = false;
|
||||
@@ -1785,7 +1819,26 @@ void MenuUp() {
|
||||
case ITEM8:
|
||||
bandAM++;
|
||||
if (bandAM > AM_BAND_CNT - 1) bandAM = AM_BAND_ALL;
|
||||
|
||||
#ifdef HAS_AIR_BAND
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104]+ String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_MW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_MW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
|
||||
case AM_BAND_LW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_MW_SW: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW: OneBigLineSprite.drawString(myLanguage[language][102], 135, 0); break;
|
||||
case AM_BAND_MW: OneBigLineSprite.drawString(myLanguage[language][103], 135, 0); break;
|
||||
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_AIR: OneBigLineSprite.drawString(myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
|
||||
}
|
||||
#else
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
|
||||
@@ -1796,7 +1849,7 @@ void MenuUp() {
|
||||
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
|
||||
}
|
||||
|
||||
#endif
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
@@ -2589,6 +2642,26 @@ void MenuDown() {
|
||||
bandAM--;
|
||||
if (bandAM > AM_BAND_CNT) bandAM = AM_BAND_NONE;
|
||||
|
||||
#ifdef HAS_AIR_BAND
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104]+ String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_MW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_MW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
|
||||
case AM_BAND_LW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_MW_SW: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW: OneBigLineSprite.drawString(myLanguage[language][102], 135, 0); break;
|
||||
case AM_BAND_MW: OneBigLineSprite.drawString(myLanguage[language][103], 135, 0); break;
|
||||
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_AIR: OneBigLineSprite.drawString(myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
|
||||
}
|
||||
#else
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
|
||||
@@ -2599,6 +2672,8 @@ void MenuDown() {
|
||||
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
|
||||
}
|
||||
#endif
|
||||
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
@@ -3101,6 +3176,7 @@ void MenuDown() {
|
||||
|
||||
OneBigLineSprite.drawString((showSWMIBand ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
|
||||
break;
|
||||
|
||||
case ITEM5:
|
||||
@@ -3455,6 +3531,26 @@ void DoMenu() {
|
||||
case ITEM8:
|
||||
Infoboxprint(myLanguage[language][101]);
|
||||
|
||||
#ifdef HAS_AIR_BAND
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104]+ String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_MW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_MW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
|
||||
case AM_BAND_LW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_MW_SW: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_LW: OneBigLineSprite.drawString(myLanguage[language][102], 135, 0); break;
|
||||
case AM_BAND_MW: OneBigLineSprite.drawString(myLanguage[language][103], 135, 0); break;
|
||||
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_AIR: OneBigLineSprite.drawString(myLanguage[language][223], 135, 0); break;
|
||||
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
|
||||
}
|
||||
#else
|
||||
switch (bandAM) {
|
||||
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
|
||||
@@ -3465,6 +3561,8 @@ void DoMenu() {
|
||||
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
|
||||
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
|
||||
}
|
||||
#endif
|
||||
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
// [number of languages][number of texts]
|
||||
// *** means the text is the same as in English
|
||||
static const char* const myLanguage[18][223] PROGMEM = {
|
||||
static const char* const myLanguage[18][224] PROGMEM = {
|
||||
{ "English", // English
|
||||
"Rotary direction changed", // 1
|
||||
"Please release button", // 2
|
||||
@@ -228,7 +228,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
"Mute audio\nwhile scanning", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Nederlands", // Dutch
|
||||
@@ -453,7 +454,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto afbreken", // 219
|
||||
"Correcte PI", // 220
|
||||
"Signaal", // 221
|
||||
"Geen geluid\ntijdens scannen" // 222
|
||||
"Geen geluid\ntijdens scannen", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Polski", // Polish
|
||||
@@ -678,7 +680,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Automatyczne\nanulowanie skanowania", // 219
|
||||
"Poprawne PI", // 220
|
||||
"Sygnał", // 221
|
||||
"Wycisz dźwięk\npodczas skanowania" // 222
|
||||
"Wycisz dźwięk\npodczas skanowania", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Hrvatski", // Croatian
|
||||
@@ -903,7 +906,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
"Mute audio\nwhile scanning", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Ελληνικά", // Greek
|
||||
@@ -1128,7 +1132,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Αυτόματη ακύρωση\nανίχνευσης", // 219
|
||||
"Σωστό PI", // 220
|
||||
"Σήμα", // 221
|
||||
"Σίγαση ήχου\nκατά την ανίχνευση" // 222
|
||||
"Σίγαση ήχου\nκατά την ανίχνευση", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Română", // Romanian
|
||||
@@ -1353,7 +1358,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
"Mute audio\nwhile scanning", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Deutsch", // German
|
||||
@@ -1578,7 +1584,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Automatisches Scan-Ende", // 219
|
||||
"Korrekter PI-Code", // 220
|
||||
"Signal", // 221
|
||||
"Stumm beim Scannen" // 222
|
||||
"Stumm beim Scannen", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Český", // Czech
|
||||
@@ -1803,7 +1810,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
"Mute audio\nwhile scanning", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Slovenský", // Slovak
|
||||
@@ -2028,7 +2036,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
"Mute audio\nwhile scanning", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Français", // French
|
||||
@@ -2253,7 +2262,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Annuler automatiquement", // 219
|
||||
"PI Correct", // 220
|
||||
"Signal", // 221
|
||||
"Audio muet lors\nde la numérisation" // 222
|
||||
"Audio muet lors\nde la numérisation", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Български", // Bulgarian
|
||||
@@ -2478,7 +2488,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
"Mute audio\nwhile scanning", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Русский", // Russian
|
||||
@@ -2703,7 +2714,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
"Mute audio\nwhile scanning", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Українська", // Ukranian
|
||||
@@ -2928,7 +2940,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
"Mute audio\nwhile scanning", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Italiano", // Italian
|
||||
@@ -3153,7 +3166,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Fine scansione automatica", // 219
|
||||
"PI corretto", // 220
|
||||
"Signale", // 221
|
||||
"Audio silenziato\ndurante scansione" // 222
|
||||
"Audio silenziato\ndurante scansione", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Simplified Chinese", // Simplified Chinese
|
||||
@@ -3378,7 +3392,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"扫频停台条件", // 219
|
||||
"节目识别码正确", // 220
|
||||
"信号超阈值", // 221
|
||||
"扫描时静音" // 222
|
||||
"扫描时静音", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Norsk", // Norwegian
|
||||
@@ -3603,7 +3618,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Avbryt skanning automatisk", // 219
|
||||
"korrekt PI", // 220
|
||||
"Signal", // 221
|
||||
"Demp lyden\nmens du skanner" // 222
|
||||
"Demp lyden\nmens du skanner", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Español", // Spanish
|
||||
@@ -3828,7 +3844,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Cancelar automáticamente\nla búsqueda", // 219
|
||||
"PI correcto", // 220
|
||||
"Señal", // 221
|
||||
"Audio mudo\nmientras busca" // 222
|
||||
"Audio mudo\nmientras busca", // 222
|
||||
"AIR" // 223
|
||||
},
|
||||
|
||||
{ "Português", // Portuguese
|
||||
@@ -4053,7 +4070,8 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Cancelar automatic.\na pesquisa", // 219
|
||||
"PI correto", // 220
|
||||
"Sinal", // 221
|
||||
"Mudo áudio\nenquanto procura" // 222
|
||||
"Mudo áudio\nenquanto procura", // 222
|
||||
"AIR" // 223
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user