You've already forked TEF6686_ESP32
Added auto SPI speed (not finished yet)
This commit is contained in:
@@ -491,7 +491,14 @@ void setup() {
|
||||
scancancel = EEPROM.readByte(EE_BYTE_SCANCANCEL);
|
||||
scanmute = EEPROM.readByte(EE_BYTE_SCANMUTE);
|
||||
|
||||
if (spispeed == SPI_SPEED_DEFAULT) tft.setSPISpeed(SPI_FREQUENCY / 1000000); else tft.setSPISpeed(spispeed * 10);
|
||||
if (spispeed == SPI_SPEED_DEFAULT) {
|
||||
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
|
||||
} else if (spispeed == 7) {
|
||||
setAutoSpeedSPI();
|
||||
} else {
|
||||
tft.setSPISpeed(spispeed * 10);
|
||||
}
|
||||
|
||||
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN;
|
||||
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX;
|
||||
MWLowEdgeSet = mwstepsize == false ? FREQ_MW_LOW_EDGE_MIN_9K : FREQ_MW_LOW_EDGE_MIN_10K;
|
||||
@@ -2658,6 +2665,7 @@ void ShowFreq(int mode) {
|
||||
attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A), read_encoder, CHANGE);
|
||||
attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B), read_encoder, CHANGE);
|
||||
|
||||
setAutoSpeedSPI();
|
||||
rdsreset = true;
|
||||
licold = 254;
|
||||
ECCold = 253;
|
||||
@@ -4060,3 +4068,50 @@ void startFMDXScan() {
|
||||
scantimer = millis();
|
||||
scandxmode = true;
|
||||
}
|
||||
|
||||
void setAutoSpeedSPI() {
|
||||
switch (frequency / 10) {
|
||||
case 875 ... 877: tft.setSPISpeed(28); break;
|
||||
case 878 ... 881: tft.setSPISpeed(24); break;
|
||||
case 882 ... 892: tft.setSPISpeed(42); break;
|
||||
case 893 ... 899: tft.setSPISpeed(31); break;
|
||||
case 900 ... 904: tft.setSPISpeed(12); break;
|
||||
case 905 ... 906: tft.setSPISpeed(16); break;
|
||||
case 907 ... 910: tft.setSPISpeed(11); break;
|
||||
case 911 ... 916: tft.setSPISpeed(15); break;
|
||||
case 917 ... 921: tft.setSPISpeed(24); break;
|
||||
case 922 ... 928: tft.setSPISpeed(13); break;
|
||||
case 929: tft.setSPISpeed(11); break;
|
||||
case 930 ... 932: tft.setSPISpeed(13); break;
|
||||
case 933 ... 939: tft.setSPISpeed(18); break;
|
||||
case 940 ... 941: tft.setSPISpeed(12); break;
|
||||
case 942: tft.setSPISpeed(17); break;
|
||||
case 943 ... 949: tft.setSPISpeed(15); break;
|
||||
case 950: tft.setSPISpeed(19); break;
|
||||
case 951: tft.setSPISpeed(15); break;
|
||||
case 952 ... 960: tft.setSPISpeed(22); break;
|
||||
case 961 ... 965: tft.setSPISpeed(15); break;
|
||||
case 966 ... 973: tft.setSPISpeed(22); break;
|
||||
case 974 ... 979: tft.setSPISpeed(17); break;
|
||||
case 980 ... 982: tft.setSPISpeed(20); break;
|
||||
case 983 ... 987: tft.setSPISpeed(18); break;
|
||||
case 988 ... 993: tft.setSPISpeed(11); break;
|
||||
case 994 ... 996: tft.setSPISpeed(18); break;
|
||||
case 997 ... 1005: tft.setSPISpeed(11); break;
|
||||
case 1006: tft.setSPISpeed(13); break;
|
||||
case 1007 ... 1011: tft.setSPISpeed(11); break;
|
||||
case 1012 ... 1016: tft.setSPISpeed(18); break;
|
||||
case 1017 ... 1026: tft.setSPISpeed(13); break;
|
||||
case 1027 ... 1035: tft.setSPISpeed(23); break;
|
||||
case 1036 ... 1038: tft.setSPISpeed(15); break;
|
||||
case 1039 ... 1042: tft.setSPISpeed(12); break;
|
||||
case 1043 ... 1047: tft.setSPISpeed(23); break;
|
||||
case 1048 ... 1050: tft.setSPISpeed(28); break;
|
||||
case 1051 ... 1062: tft.setSPISpeed(15); break;
|
||||
case 1063 ... 1068: tft.setSPISpeed(18); break;
|
||||
case 1069 ... 1074: tft.setSPISpeed(14); break;
|
||||
case 1075: tft.setSPISpeed(17); break;
|
||||
case 1076 ... 1080: tft.setSPISpeed(15); break;
|
||||
default: tft.setSPISpeed(30); break;
|
||||
}
|
||||
}
|
||||
|
||||
40
src/gui.cpp
40
src/gui.cpp
@@ -1274,7 +1274,11 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
||||
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);
|
||||
if (spispeed == 7) {
|
||||
FullLineSprite.drawString(myLanguage[language][86], 258, 3);
|
||||
} else {
|
||||
FullLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 258, 3);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1805,10 +1809,20 @@ void MenuUp() {
|
||||
OneBigLineSprite.drawString("MHz", 155, 0);
|
||||
OneBigLineSprite.setTextDatum(TR_DATUM);
|
||||
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 140, 0);
|
||||
if (spispeed == 7) {
|
||||
OneBigLineSprite.drawString(myLanguage[language][86], 140, 0);
|
||||
} else {
|
||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 140, 0);
|
||||
}
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
|
||||
if (spispeed == SPI_SPEED_DEFAULT) tft.setSPISpeed(SPI_FREQUENCY / 1000000); else tft.setSPISpeed(spispeed * 10);
|
||||
if (spispeed == SPI_SPEED_DEFAULT) {
|
||||
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
|
||||
} else if (spispeed == 7) {
|
||||
setAutoSpeedSPI();
|
||||
} else {
|
||||
tft.setSPISpeed(spispeed * 10);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -2596,10 +2610,20 @@ void MenuDown() {
|
||||
OneBigLineSprite.drawString("MHz", 155, 0);
|
||||
OneBigLineSprite.setTextDatum(TR_DATUM);
|
||||
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 140, 0);
|
||||
if (spispeed == 7) {
|
||||
OneBigLineSprite.drawString(myLanguage[language][86], 140, 0);
|
||||
} else {
|
||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 140, 0);
|
||||
}
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
|
||||
if (spispeed == SPI_SPEED_DEFAULT) tft.setSPISpeed(SPI_FREQUENCY / 1000000); else tft.setSPISpeed(spispeed * 10);
|
||||
if (spispeed == SPI_SPEED_DEFAULT) {
|
||||
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
|
||||
} else if (spispeed == 7) {
|
||||
setAutoSpeedSPI();
|
||||
} else {
|
||||
tft.setSPISpeed(spispeed * 10);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
@@ -3452,7 +3476,11 @@ void DoMenu() {
|
||||
OneBigLineSprite.drawString("MHz", 155, 0);
|
||||
OneBigLineSprite.setTextDatum(TR_DATUM);
|
||||
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 140, 0);
|
||||
if (spispeed == 7) {
|
||||
OneBigLineSprite.drawString(myLanguage[language][86], 140, 0);
|
||||
} else {
|
||||
OneBigLineSprite.drawString((spispeed == SPI_SPEED_DEFAULT ? String(myLanguage[language][204]) + " " + String(SPI_FREQUENCY / 1000000, DEC) : String(spispeed * 10, DEC)), 140, 0);
|
||||
}
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -229,4 +229,5 @@ extern void startFMDXScan();
|
||||
extern void DoMemoryPosTune();
|
||||
extern void UpdateFonts(bool mode);
|
||||
extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize);
|
||||
extern void setAutoSpeedSPI();
|
||||
#endif
|
||||
@@ -92,7 +92,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NONE", // 83
|
||||
"Software version", // 84
|
||||
"Frequency font", // 85
|
||||
"NOT POSSIBLE", // 86
|
||||
"Auto", // 86
|
||||
"No AF available", // 87
|
||||
"No EON available", // 88
|
||||
"No RT+ available", // 89
|
||||
@@ -317,7 +317,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Geen", // 83
|
||||
"Software versie", // 84
|
||||
"Frequentie font", // 85
|
||||
"NIET MOGELIJK", // 86
|
||||
"Auto", // 86
|
||||
"Geen AF data", // 87
|
||||
"Geen EON data", // 88
|
||||
"Geen RT+ data", // 89
|
||||
@@ -542,7 +542,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"BRAK", // 83
|
||||
"Wersja oprogramowania", // 84
|
||||
"Czcionka częstotliwości", // 85
|
||||
"NIEMOŻLIWE", // 86
|
||||
"Auto", // 86
|
||||
"AF niedostępny", // 87
|
||||
"EON niedostępny", // 88
|
||||
"RT+ niedostępny", // 89
|
||||
@@ -767,7 +767,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NEMA", // 83
|
||||
"Verzija softvera", // 84
|
||||
"Font frekvencije", // 85
|
||||
"NIJE MOGUĆE", // 86
|
||||
"Auto", // 86
|
||||
"AF nedostupan", // 87
|
||||
"EON nedostupan", // 88
|
||||
"RT+ nedostupan", // 89
|
||||
@@ -992,7 +992,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"KAMIA", // 83
|
||||
"Έκδοση λογισμικού", // 84
|
||||
"Γραμματοσειρά\nσυχνότητας", // 85
|
||||
"ΜΗ ΔΥΝΑΤΟ", // 86
|
||||
"Auto", // 86
|
||||
"Μη διαθέσιμο AF", // 87
|
||||
"Μη διαθέσιμο EON", // 88
|
||||
"Μη διαθέσιμο RT+", // 89
|
||||
@@ -1217,7 +1217,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NICI UNUL", // 83
|
||||
" versiune Software", // 84
|
||||
"Font Frecventa", // 85
|
||||
"Nu se poate", // 86
|
||||
"Auto", // 86
|
||||
"AF nu este disponibil", // 87
|
||||
"EON nu este disponibil", // 88
|
||||
"RT+ nu este disponibil", // 89
|
||||
@@ -1442,7 +1442,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"KEINE", // 83
|
||||
"Softwareversion", // 84
|
||||
"Frequenz-Schriftart", // 85 ***
|
||||
"NICHT MÖGLICH", // 86
|
||||
"Auto", // 86
|
||||
"Keine AF verfügbar", // 87
|
||||
"Kein EON verfügbar", // 88
|
||||
"Kein RT+ verfügbar", // 89
|
||||
@@ -1667,7 +1667,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NONE", // 83 represents: AM/FM bands unavailable(please delete this note after translation)
|
||||
"Software version", // 84
|
||||
"Frequency font", // 85 ***
|
||||
"ODPOJTE USB", // 86
|
||||
"Auto", // 86
|
||||
"AF nedostupné", // 87
|
||||
"EON nedostupný", // 88
|
||||
"RT+ nedostupný", // 89
|
||||
@@ -1892,7 +1892,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NONE", // 83 represents: AM/FM bands unavailable(please delete this note after translation)
|
||||
"Software version", // 84
|
||||
"Frequency font", // 85 ***
|
||||
"ODPOJTE USB", // 86
|
||||
"Auto", // 86
|
||||
"AF nedostupné", // 87
|
||||
"EON nedostupný", // 88
|
||||
"RT+ nedostupný", // 89
|
||||
@@ -2117,7 +2117,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"AUCUNE", // 83
|
||||
"Version de logiciel", // 84
|
||||
"Police de fréquence", // 85 ***
|
||||
"IMPOSSIBLE", // 86
|
||||
"Auto", // 86
|
||||
"AF indisponible", // 87
|
||||
"EON indisponible", // 88
|
||||
"RT+ indisponible", // 89
|
||||
@@ -2342,7 +2342,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NONE", // 83 represents: AM/FM bands unavailable(please delete this note after translation)
|
||||
"Software version", // 84
|
||||
"Frequency font", // 85 ***
|
||||
"НЕ Е ВЪЗМОЖНО", // 86
|
||||
"Auto", // 86
|
||||
"AF опцията не е налична", // 87
|
||||
"EON опцията не е налична", // 88
|
||||
"RT+ опцията не е налична", // 89
|
||||
@@ -2567,7 +2567,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"Не использовать AM", // 83
|
||||
"Версия прошивки -", // 84
|
||||
"Шрифт индикации частоты", // 85 ***
|
||||
"НЕВОЗМОЖНО", // 86
|
||||
"Auto", // 86
|
||||
"Нет данных", // 87
|
||||
"Нет данных", // 88
|
||||
"Нет данных", // 89
|
||||
@@ -2792,7 +2792,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NONE", // 83 represents: AM/FM bands unavailable(please delete this note after translation)
|
||||
"Версія ПО", // 84
|
||||
"Frequency font", // 85 ***
|
||||
"НЕ МОЖЛИВО", // 86
|
||||
"Auto", // 86
|
||||
"Немає доступних AF", // 87
|
||||
"Немає доступного EON", // 88
|
||||
"Немає доступного RT+", // 89
|
||||
@@ -3017,7 +3017,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NONE", // 83 represents: AM/FM bands unavailable(please delete this note after translation)
|
||||
"Software version", // 84
|
||||
"Frequency font", // 85 ***
|
||||
"IMPOSSIBILE", // 86
|
||||
"Auto", // 86
|
||||
"AF non disponibile", // 87
|
||||
"EON non disponibile", // 88
|
||||
"RT + non disponibile", // 89
|
||||
@@ -3242,7 +3242,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"不可用", // 83
|
||||
"固件版本", // 84
|
||||
"频率字体", // 85 ***
|
||||
"不可用", // 86
|
||||
"Auto", // 86
|
||||
"AF 不可用", // 87
|
||||
"EON 不可用", // 88
|
||||
"RT+ 不可用", // 89
|
||||
@@ -3467,7 +3467,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"INGEN", // 83
|
||||
"Programvareversjon", // 84
|
||||
"Frekvens skrifttype", // 85 ***
|
||||
"IKKE MULIG", // 86
|
||||
"Auto", // 86
|
||||
"Ingen AF", // 87
|
||||
"Ingen EON", // 88
|
||||
"Ingen RT+", // 89
|
||||
@@ -3692,7 +3692,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NINGUNA", // 83
|
||||
"Versión del software", // 84
|
||||
"Fundición de frecuencia", // 85 ***
|
||||
"NO ES POSIBLE", // 86
|
||||
"Auto", // 86
|
||||
"No AF disponible", // 87
|
||||
"No EON disponible", // 88
|
||||
"No RT+ disponible", // 89
|
||||
@@ -3917,7 +3917,7 @@ static const char* const myLanguage[18][223] PROGMEM = {
|
||||
"NENHUM", // 83
|
||||
"Versão do software", // 84
|
||||
"Fonte de frequência", // 85 ***
|
||||
"NÃO POSSÍVEL", // 86
|
||||
"Auto", // 86
|
||||
"AF não disponível", // 87
|
||||
"EON não disponível", // 88
|
||||
"RT+ não disponível", // 89
|
||||
|
||||
Reference in New Issue
Block a user