Merge branch 'main' into New_Model_DP_666
This commit is contained in:
+30
-12
@@ -180,6 +180,7 @@ byte iMSEQ;
|
|||||||
byte iMSset;
|
byte iMSset;
|
||||||
byte language;
|
byte language;
|
||||||
byte licold;
|
byte licold;
|
||||||
|
byte longbandpress;
|
||||||
byte memorypos;
|
byte memorypos;
|
||||||
byte memoryposold;
|
byte memoryposold;
|
||||||
byte memoryposstatus;
|
byte memoryposstatus;
|
||||||
@@ -518,6 +519,7 @@ void setup() {
|
|||||||
scancancel = EEPROM.readByte(EE_BYTE_SCANCANCEL);
|
scancancel = EEPROM.readByte(EE_BYTE_SCANCANCEL);
|
||||||
scanmute = EEPROM.readByte(EE_BYTE_SCANMUTE);
|
scanmute = EEPROM.readByte(EE_BYTE_SCANMUTE);
|
||||||
autosquelch = EEPROM.readByte(EE_BYTE_AUTOSQUELCH);
|
autosquelch = EEPROM.readByte(EE_BYTE_AUTOSQUELCH);
|
||||||
|
longbandpress = EEPROM.readByte(EE_BYTE_LONGBANDPRESS);
|
||||||
|
|
||||||
if (spispeed == SPI_SPEED_DEFAULT) {
|
if (spispeed == SPI_SPEED_DEFAULT) {
|
||||||
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
|
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
|
||||||
@@ -610,6 +612,9 @@ void setup() {
|
|||||||
pinMode(ROTARY_BUTTON, INPUT);
|
pinMode(ROTARY_BUTTON, INPUT);
|
||||||
pinMode(ROTARY_PIN_A, INPUT);
|
pinMode(ROTARY_PIN_A, INPUT);
|
||||||
pinMode(ROTARY_PIN_B, INPUT);
|
pinMode(ROTARY_PIN_B, INPUT);
|
||||||
|
pinMode (STANDBYLED, OUTPUT);
|
||||||
|
digitalWrite(STANDBYLED, HIGH);
|
||||||
|
|
||||||
attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A), read_encoder, CHANGE);
|
attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A), read_encoder, CHANGE);
|
||||||
attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B), read_encoder, CHANGE);
|
attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B), read_encoder, CHANGE);
|
||||||
|
|
||||||
@@ -1195,8 +1200,6 @@ void WakeToSleep(bool yes) {
|
|||||||
} else {
|
} else {
|
||||||
switch (poweroptions) {
|
switch (poweroptions) {
|
||||||
case LCD_OFF:
|
case LCD_OFF:
|
||||||
pinMode (STANDBYLED, OUTPUT);
|
|
||||||
digitalWrite(STANDBYLED, LOW);
|
|
||||||
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
||||||
MuteScreen(0);
|
MuteScreen(0);
|
||||||
screensavertriggered = false;
|
screensavertriggered = false;
|
||||||
@@ -1206,8 +1209,6 @@ void WakeToSleep(bool yes) {
|
|||||||
case LCD_BRIGHTNESS_1_PERCENT:
|
case LCD_BRIGHTNESS_1_PERCENT:
|
||||||
case LCD_BRIGHTNESS_A_QUARTER:
|
case LCD_BRIGHTNESS_A_QUARTER:
|
||||||
case LCD_BRIGHTNESS_HALF:
|
case LCD_BRIGHTNESS_HALF:
|
||||||
pinMode (STANDBYLED, OUTPUT);
|
|
||||||
digitalWrite(STANDBYLED, LOW);
|
|
||||||
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
||||||
MuteScreen(0);
|
MuteScreen(0);
|
||||||
screensavertriggered = false;
|
screensavertriggered = false;
|
||||||
@@ -1682,6 +1683,19 @@ void BANDBUTTONPress() {
|
|||||||
} else {
|
} else {
|
||||||
WakeToSleep(true);
|
WakeToSleep(true);
|
||||||
}
|
}
|
||||||
|
while (digitalRead(BANDBUTTON) == LOW && counter - counterold <= 2500) counter = millis();
|
||||||
|
if (counter - counterold > 2499) {
|
||||||
|
switch (longbandpress) {
|
||||||
|
case STANDBY:
|
||||||
|
deepSleep();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SCREENOFF:
|
||||||
|
screensavertriggered = true;
|
||||||
|
MuteScreen(1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2755,24 +2769,24 @@ void DoMemoryPosTune() {
|
|||||||
radio.SetFreq(frequency);
|
radio.SetFreq(frequency);
|
||||||
break;
|
break;
|
||||||
case BAND_OIRT:
|
case BAND_OIRT:
|
||||||
frequency = presets[memorypos].frequency;
|
frequency_OIRT = presets[memorypos].frequency;
|
||||||
radio.SetFreq(frequency_OIRT);
|
radio.SetFreq(frequency_OIRT);
|
||||||
break;
|
break;
|
||||||
case BAND_LW:
|
case BAND_LW:
|
||||||
frequency = presets[memorypos].frequency;
|
frequency_LW = presets[memorypos].frequency;
|
||||||
radio.SetFreq(frequency_LW);
|
radio.SetFreqAM(frequency_LW);
|
||||||
break;
|
break;
|
||||||
case BAND_MW:
|
case BAND_MW:
|
||||||
frequency = presets[memorypos].frequency;
|
frequency_MW = presets[memorypos].frequency;
|
||||||
radio.SetFreq(frequency_MW);
|
radio.SetFreqAM(frequency_MW);
|
||||||
break;
|
break;
|
||||||
case BAND_SW:
|
case BAND_SW:
|
||||||
frequency = presets[memorypos].frequency;
|
frequency_SW = presets[memorypos].frequency;
|
||||||
radio.SetFreq(frequency_SW);
|
radio.SetFreqAM(frequency_SW);
|
||||||
break;
|
break;
|
||||||
#ifdef HAS_AIR_BAND
|
#ifdef HAS_AIR_BAND
|
||||||
case BAND_AIR:
|
case BAND_AIR:
|
||||||
frequency = presets[memorypos].frequency;
|
frequency_AIR = presets[memorypos].frequency;
|
||||||
// radio.SetFreq(frequency_AIR); // todo
|
// radio.SetFreq(frequency_AIR); // todo
|
||||||
radio.SetFreqAM(10700); // todo
|
radio.SetFreqAM(10700); // todo
|
||||||
break;
|
break;
|
||||||
@@ -4155,6 +4169,7 @@ void DefaultSettings(byte userhardwaremodel) {
|
|||||||
EEPROM.writeByte(EE_BYTE_SCANCANCEL, 0);
|
EEPROM.writeByte(EE_BYTE_SCANCANCEL, 0);
|
||||||
EEPROM.writeByte(EE_BYTE_SCANMUTE, 0);
|
EEPROM.writeByte(EE_BYTE_SCANMUTE, 0);
|
||||||
EEPROM.writeByte(EE_BYTE_AUTOSQUELCH, 0);
|
EEPROM.writeByte(EE_BYTE_AUTOSQUELCH, 0);
|
||||||
|
EEPROM.writeByte(EE_BYTE_LONGBANDPRESS, 0);
|
||||||
|
|
||||||
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);
|
||||||
@@ -4241,6 +4256,8 @@ void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int colo
|
|||||||
|
|
||||||
void deepSleep() {
|
void deepSleep() {
|
||||||
analogWrite(SMETERPIN, 0);
|
analogWrite(SMETERPIN, 0);
|
||||||
|
pinMode (STANDBYLED, OUTPUT);
|
||||||
|
digitalWrite(STANDBYLED, LOW);
|
||||||
MuteScreen(1);
|
MuteScreen(1);
|
||||||
StoreFrequency();
|
StoreFrequency();
|
||||||
radio.power(1);
|
radio.power(1);
|
||||||
@@ -4385,6 +4402,7 @@ void endMenu() {
|
|||||||
EEPROM.writeByte(EE_BYTE_SCANCANCEL, scancancel);
|
EEPROM.writeByte(EE_BYTE_SCANCANCEL, scancancel);
|
||||||
EEPROM.writeByte(EE_BYTE_SCANMUTE, scanmute);
|
EEPROM.writeByte(EE_BYTE_SCANMUTE, scanmute);
|
||||||
EEPROM.writeByte(EE_BYTE_AUTOSQUELCH, autosquelch);
|
EEPROM.writeByte(EE_BYTE_AUTOSQUELCH, autosquelch);
|
||||||
|
EEPROM.writeByte(EE_BYTE_LONGBANDPRESS, longbandpress);
|
||||||
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();
|
||||||
|
|||||||
+9
-4
@@ -209,9 +209,9 @@
|
|||||||
#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 2220 // Total occupied eeprom bytes
|
#define EE_TOTAL_CNT 2221 // Total occupied eeprom bytes
|
||||||
#else
|
#else
|
||||||
#define EE_TOTAL_CNT 2215 // Total occupied eeprom bytes
|
#define EE_TOTAL_CNT 2216 // Total occupied eeprom bytes
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
|
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
|
||||||
@@ -311,9 +311,10 @@
|
|||||||
#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
|
||||||
#ifdef HAS_AIR_BAND
|
#ifdef HAS_AIR_BAND
|
||||||
#define EE_BYTE_AIRSTEPSIZE 2115
|
#define EE_BYTE_AIRSTEPSIZE 2116
|
||||||
#define EE_UINT16_FREQUENCY_AIR 2216
|
#define EE_UINT16_FREQUENCY_AIR 2217
|
||||||
#endif
|
#endif
|
||||||
// End of EEPROM index defines
|
// End of EEPROM index defines
|
||||||
|
|
||||||
@@ -332,6 +333,10 @@ typedef struct {
|
|||||||
char RDSPS[9];
|
char RDSPS[9];
|
||||||
} mem;
|
} mem;
|
||||||
|
|
||||||
|
enum LONGBANDBUTTONPRESS {
|
||||||
|
STANDBY = 0, SCREENOFF
|
||||||
|
};
|
||||||
|
|
||||||
enum SCAN_CANCEL {
|
enum SCAN_CANCEL {
|
||||||
SCAN_CANCEL = OFF, CORRECTPI, SIGNAL
|
SCAN_CANCEL = OFF, CORRECTPI, SIGNAL
|
||||||
};
|
};
|
||||||
|
|||||||
+80
-14
@@ -8,7 +8,7 @@
|
|||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
byte menuitem;
|
byte menuitem;
|
||||||
byte items[9] = {9, static_cast<byte>(dynamicspi ? 9 : 8), 7, 10, 9, 10, 9, 6, 7};
|
byte items[9] = {9, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 9, 10, 9, 6, 7};
|
||||||
extern mem presets[];
|
extern mem presets[];
|
||||||
|
|
||||||
void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de/online/rgb565-color-picker/
|
void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de/online/rgb565-color-picker/
|
||||||
@@ -1287,20 +1287,16 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MAINSETTINGS:
|
case MAINSETTINGS:
|
||||||
if (dynamicspi) {
|
|
||||||
FullLineSprite.setTextDatum(TL_DATUM);
|
FullLineSprite.setTextDatum(TL_DATUM);
|
||||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
FullLineSprite.drawString(removeNewline(myLanguage[language][81]), 6, 3);
|
FullLineSprite.drawString(removeNewline(myLanguage[language][224]), 6, 3);
|
||||||
|
|
||||||
FullLineSprite.setTextDatum(TR_DATUM);
|
FullLineSprite.setTextDatum(TR_DATUM);
|
||||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
|
||||||
FullLineSprite.drawString("MHz", 298, 3);
|
|
||||||
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
if (spispeed == 7) {
|
switch (longbandpress) {
|
||||||
FullLineSprite.drawString(myLanguage[language][86], 258, 3);
|
case STANDBY: FullLineSprite.drawString(myLanguage[language][225], 298, 3); break;
|
||||||
} else {
|
case SCREENOFF: FullLineSprite.drawString(myLanguage[language][226], 298, 3); break;
|
||||||
FullLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 258, 3);
|
default: FullLineSprite.drawString(myLanguage[language][227], 298, 3); break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1352,6 +1348,26 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
|||||||
FullLineSprite.drawString(removeNewline(String(myLanguage[language][84]) + " " + String(VERSION)), 152, 3);
|
FullLineSprite.drawString(removeNewline(String(myLanguage[language][84]) + " " + String(VERSION)), 152, 3);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MAINSETTINGS:
|
||||||
|
if (dynamicspi) {
|
||||||
|
FullLineSprite.setTextDatum(TL_DATUM);
|
||||||
|
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
|
FullLineSprite.drawString(removeNewline(myLanguage[language][81]), 6, 3);
|
||||||
|
|
||||||
|
FullLineSprite.setTextDatum(TR_DATUM);
|
||||||
|
|
||||||
|
if (spispeed == 7) {
|
||||||
|
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
|
FullLineSprite.drawString(myLanguage[language][86], 298, 3);
|
||||||
|
} else {
|
||||||
|
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
|
FullLineSprite.drawString("MHz", 298, 3);
|
||||||
|
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
|
FullLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 258, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case DISPLAYSETTINGS:
|
case DISPLAYSETTINGS:
|
||||||
FullLineSprite.setTextDatum(TL_DATUM);
|
FullLineSprite.setTextDatum(TL_DATUM);
|
||||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
@@ -1863,16 +1879,33 @@ void MenuUp() {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM9:
|
case ITEM9:
|
||||||
|
longbandpress++;
|
||||||
|
if (longbandpress > 2) longbandpress = 0;
|
||||||
|
|
||||||
|
switch (longbandpress) {
|
||||||
|
case STANDBY: OneBigLineSprite.drawString(myLanguage[language][225], 135, 0); break;
|
||||||
|
case SCREENOFF: OneBigLineSprite.drawString(myLanguage[language][226], 135, 0); break;
|
||||||
|
default: OneBigLineSprite.drawString(myLanguage[language][227], 135, 0); break;
|
||||||
|
}
|
||||||
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ITEM10:
|
||||||
spispeed++;
|
spispeed++;
|
||||||
if (spispeed > SPI_SPEED_COUNT - 1) spispeed = 0;
|
if (spispeed > SPI_SPEED_COUNT - 1) spispeed = 0;
|
||||||
|
|
||||||
OneBigLineSprite.setTextDatum(TL_DATUM);
|
OneBigLineSprite.setTextDatum(TL_DATUM);
|
||||||
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
|
if (spispeed != 7) {
|
||||||
OneBigLineSprite.drawString("MHz", 175, 0);
|
OneBigLineSprite.drawString("MHz", 175, 0);
|
||||||
OneBigLineSprite.setTextDatum(TR_DATUM);
|
OneBigLineSprite.setTextDatum(TR_DATUM);
|
||||||
|
} else {
|
||||||
|
OneBigLineSprite.setTextDatum(TC_DATUM);
|
||||||
|
}
|
||||||
|
|
||||||
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
if (spispeed == 7) {
|
if (spispeed == 7) {
|
||||||
OneBigLineSprite.drawString(myLanguage[language][86], 160, 0);
|
OneBigLineSprite.drawString(myLanguage[language][86], 135, 0);
|
||||||
} else {
|
} else {
|
||||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 160, 0);
|
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 160, 0);
|
||||||
}
|
}
|
||||||
@@ -2694,15 +2727,33 @@ void MenuDown() {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM9:
|
case ITEM9:
|
||||||
|
longbandpress--;
|
||||||
|
if (longbandpress > 2) longbandpress = 2;
|
||||||
|
|
||||||
|
switch (longbandpress) {
|
||||||
|
case STANDBY: OneBigLineSprite.drawString(myLanguage[language][225], 135, 0); break;
|
||||||
|
case SCREENOFF: OneBigLineSprite.drawString(myLanguage[language][226], 135, 0); break;
|
||||||
|
default: OneBigLineSprite.drawString(myLanguage[language][227], 135, 0); break;
|
||||||
|
}
|
||||||
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case ITEM10:
|
||||||
spispeed--;
|
spispeed--;
|
||||||
if (spispeed > SPI_SPEED_COUNT - 1) spispeed = SPI_SPEED_COUNT - 1;
|
if (spispeed > SPI_SPEED_COUNT - 1) spispeed = SPI_SPEED_COUNT - 1;
|
||||||
OneBigLineSprite.setTextDatum(TL_DATUM);
|
OneBigLineSprite.setTextDatum(TL_DATUM);
|
||||||
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
|
if (spispeed != 7) {
|
||||||
OneBigLineSprite.drawString("MHz", 175, 0);
|
OneBigLineSprite.drawString("MHz", 175, 0);
|
||||||
OneBigLineSprite.setTextDatum(TR_DATUM);
|
OneBigLineSprite.setTextDatum(TR_DATUM);
|
||||||
|
} else {
|
||||||
|
OneBigLineSprite.setTextDatum(TC_DATUM);
|
||||||
|
}
|
||||||
|
|
||||||
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
if (spispeed == 7) {
|
if (spispeed == 7) {
|
||||||
OneBigLineSprite.drawString(myLanguage[language][86], 160, 0);
|
OneBigLineSprite.drawString(myLanguage[language][86], 135, 0);
|
||||||
} else {
|
} else {
|
||||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 160, 0);
|
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 160, 0);
|
||||||
}
|
}
|
||||||
@@ -3577,20 +3628,35 @@ void DoMenu() {
|
|||||||
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
|
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
OneBigLineSprite.pushSprite(24, 118);
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM9:
|
case ITEM9:
|
||||||
|
Infoboxprint(myLanguage[language][224]);
|
||||||
|
|
||||||
|
switch (longbandpress) {
|
||||||
|
case STANDBY: OneBigLineSprite.drawString(myLanguage[language][225], 135, 0); break;
|
||||||
|
case SCREENOFF: OneBigLineSprite.drawString(myLanguage[language][226], 135, 0); break;
|
||||||
|
default: OneBigLineSprite.drawString(myLanguage[language][227], 135, 0); break;
|
||||||
|
}
|
||||||
|
OneBigLineSprite.pushSprite(24, 118);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case ITEM10:
|
||||||
Infoboxprint(myLanguage[language][81]);
|
Infoboxprint(myLanguage[language][81]);
|
||||||
|
|
||||||
OneBigLineSprite.setTextDatum(TL_DATUM);
|
OneBigLineSprite.setTextDatum(TL_DATUM);
|
||||||
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||||
|
if (spispeed != 7) {
|
||||||
OneBigLineSprite.drawString("MHz", 175, 0);
|
OneBigLineSprite.drawString("MHz", 175, 0);
|
||||||
OneBigLineSprite.setTextDatum(TR_DATUM);
|
OneBigLineSprite.setTextDatum(TR_DATUM);
|
||||||
|
} else {
|
||||||
|
OneBigLineSprite.setTextDatum(TC_DATUM);
|
||||||
|
}
|
||||||
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||||
if (spispeed == 7) {
|
if (spispeed == 7) {
|
||||||
OneBigLineSprite.drawString(myLanguage[language][86], 160, 0);
|
OneBigLineSprite.drawString(myLanguage[language][86], 135, 0);
|
||||||
} else {
|
} else {
|
||||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 160, 0);
|
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 160, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ extern byte HighCutLevel;
|
|||||||
extern byte HighCutOffset;
|
extern byte HighCutOffset;
|
||||||
extern byte language;
|
extern byte language;
|
||||||
extern byte licold;
|
extern byte licold;
|
||||||
|
extern byte longbandpress;
|
||||||
extern byte memorypos;
|
extern byte memorypos;
|
||||||
extern byte menupage;
|
extern byte menupage;
|
||||||
extern byte MSold;
|
extern byte MSold;
|
||||||
|
|||||||
+93
-21
@@ -1,11 +1,11 @@
|
|||||||
#ifndef LANGUAGE_H
|
#ifndef LANGUAGE_H
|
||||||
#define LANGUAGE_H
|
#define LANGUAGE_H
|
||||||
|
|
||||||
#define VERSION "v2.00.16"
|
#define VERSION "v2.10 RC1"
|
||||||
|
|
||||||
// [number of languages][number of texts]
|
// [number of languages][number of texts]
|
||||||
// *** means the text is the same as in English
|
// *** means the text is the same as in English
|
||||||
static const char* const myLanguage[18][224] PROGMEM = {
|
static const char* const myLanguage[18][228] PROGMEM = {
|
||||||
{ "English", // English
|
{ "English", // English
|
||||||
"Rotary direction changed", // 1
|
"Rotary direction changed", // 1
|
||||||
"Please release button", // 2
|
"Please release button", // 2
|
||||||
@@ -229,7 +229,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Correct PI", // 220
|
"Correct PI", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Mute audio\nwhile scanning", // 222
|
"Mute audio\nwhile scanning", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Nederlands", // Dutch
|
{ "Nederlands", // Dutch
|
||||||
@@ -455,7 +459,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Correcte PI", // 220
|
"Correcte PI", // 220
|
||||||
"Signaal", // 221
|
"Signaal", // 221
|
||||||
"Geen geluid\ntijdens scannen", // 222
|
"Geen geluid\ntijdens scannen", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton ingedrukt", // 224
|
||||||
|
"Uitschakelen", // 225
|
||||||
|
"Scherm uit", // 226
|
||||||
|
"Geen functie" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Polski", // Polish
|
{ "Polski", // Polish
|
||||||
@@ -681,7 +689,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Poprawne PI", // 220
|
"Poprawne PI", // 220
|
||||||
"Sygnał", // 221
|
"Sygnał", // 221
|
||||||
"Wycisz dźwięk\npodczas skanowania", // 222
|
"Wycisz dźwięk\npodczas skanowania", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Hrvatski", // Croatian
|
{ "Hrvatski", // Croatian
|
||||||
@@ -907,7 +919,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Correct PI", // 220
|
"Correct PI", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Mute audio\nwhile scanning", // 222
|
"Mute audio\nwhile scanning", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Ελληνικά", // Greek
|
{ "Ελληνικά", // Greek
|
||||||
@@ -1133,7 +1149,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Σωστό PI", // 220
|
"Σωστό PI", // 220
|
||||||
"Σήμα", // 221
|
"Σήμα", // 221
|
||||||
"Σίγαση ήχου\nκατά την ανίχνευση", // 222
|
"Σίγαση ήχου\nκατά την ανίχνευση", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Română", // Romanian
|
{ "Română", // Romanian
|
||||||
@@ -1359,7 +1379,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Correct PI", // 220
|
"Correct PI", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Mute audio\nwhile scanning", // 222
|
"Mute audio\nwhile scanning", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Deutsch", // German
|
{ "Deutsch", // German
|
||||||
@@ -1585,7 +1609,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Korrekter PI-Code", // 220
|
"Korrekter PI-Code", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Stumm beim Scannen", // 222
|
"Stumm beim Scannen", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Český", // Czech
|
{ "Český", // Czech
|
||||||
@@ -1811,7 +1839,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Correct PI", // 220
|
"Correct PI", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Mute audio\nwhile scanning", // 222
|
"Mute audio\nwhile scanning", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Slovenský", // Slovak
|
{ "Slovenský", // Slovak
|
||||||
@@ -2037,7 +2069,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Correct PI", // 220
|
"Correct PI", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Mute audio\nwhile scanning", // 222
|
"Mute audio\nwhile scanning", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Français", // French
|
{ "Français", // French
|
||||||
@@ -2263,7 +2299,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"PI Correct", // 220
|
"PI Correct", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Audio muet lors\nde la numérisation", // 222
|
"Audio muet lors\nde la numérisation", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Български", // Bulgarian
|
{ "Български", // Bulgarian
|
||||||
@@ -2489,7 +2529,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Correct PI", // 220
|
"Correct PI", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Mute audio\nwhile scanning", // 222
|
"Mute audio\nwhile scanning", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Русский", // Russian
|
{ "Русский", // Russian
|
||||||
@@ -2715,7 +2759,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"При корректном PI", // 220
|
"При корректном PI", // 220
|
||||||
"При наличии сигнала", // 221
|
"При наличии сигнала", // 221
|
||||||
"Отключать аудио\nпри сканировании", // 222
|
"Отключать аудио\nпри сканировании", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Українська", // Ukranian
|
{ "Українська", // Ukranian
|
||||||
@@ -2941,7 +2989,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Correct PI", // 220
|
"Correct PI", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Mute audio\nwhile scanning", // 222
|
"Mute audio\nwhile scanning", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Italiano", // Italian
|
{ "Italiano", // Italian
|
||||||
@@ -3167,7 +3219,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"PI corretto", // 220
|
"PI corretto", // 220
|
||||||
"Signale", // 221
|
"Signale", // 221
|
||||||
"Audio silenziato\ndurante scansione", // 222
|
"Audio silenziato\ndurante scansione", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Simplified Chinese", // Simplified Chinese
|
{ "Simplified Chinese", // Simplified Chinese
|
||||||
@@ -3393,7 +3449,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"节目识别码正确", // 220
|
"节目识别码正确", // 220
|
||||||
"信号超阈值", // 221
|
"信号超阈值", // 221
|
||||||
"扫描时静音", // 222
|
"扫描时静音", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Norsk", // Norwegian
|
{ "Norsk", // Norwegian
|
||||||
@@ -3444,7 +3504,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"Pip ved båndkant", // 45
|
"Pip ved båndkant", // 45
|
||||||
"Region", // 46 ***
|
"Region", // 46 ***
|
||||||
"Europa", // 47
|
"Europa", // 47
|
||||||
"America", // 48 ***
|
"Amerika", // 48 ***
|
||||||
"Vis understrek i RDS", // 49
|
"Vis understrek i RDS", // 49
|
||||||
"USB modus", // 50
|
"USB modus", // 50
|
||||||
"Wi-Fi aktiv", // 51
|
"Wi-Fi aktiv", // 51
|
||||||
@@ -3619,7 +3679,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"korrekt PI", // 220
|
"korrekt PI", // 220
|
||||||
"Signal", // 221
|
"Signal", // 221
|
||||||
"Demp lyden\nmens du skanner", // 222
|
"Demp lyden\nmens du skanner", // 222
|
||||||
"AIR" // 223
|
"Flybånd", // 223
|
||||||
|
"Hold båndknappen\n i 5 sek", // 224
|
||||||
|
"Slå av radio", // 225
|
||||||
|
"Slå av skjerm", // 226
|
||||||
|
"Deaktivert" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Español", // Spanish
|
{ "Español", // Spanish
|
||||||
@@ -3845,7 +3909,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"PI correcto", // 220
|
"PI correcto", // 220
|
||||||
"Señal", // 221
|
"Señal", // 221
|
||||||
"Audio mudo\nmientras busca", // 222
|
"Audio mudo\nmientras busca", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Português", // Portuguese
|
{ "Português", // Portuguese
|
||||||
@@ -4071,7 +4139,11 @@ static const char* const myLanguage[18][224] PROGMEM = {
|
|||||||
"PI correto", // 220
|
"PI correto", // 220
|
||||||
"Sinal", // 221
|
"Sinal", // 221
|
||||||
"Mudo áudio\nenquanto procura", // 222
|
"Mudo áudio\nenquanto procura", // 222
|
||||||
"AIR" // 223
|
"AIR", // 223
|
||||||
|
"5 sec. bandbutton press", // 224
|
||||||
|
"Power off", // 225
|
||||||
|
"Mute screen", // 226
|
||||||
|
"Disabled" // 227
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user