Added Fast PS
When enabled: When tuning to a new station PS is shown immediately. After two complete PS cycles normal PS detection is activated. This can cause incompete or faulty PS direct after tuning, which will recover. Disabled: After two complete PS cycles the PS is shown. This can take some longer time to show PS but will prevent errors as much as possible. In previous builds fast PS was already enabled, but can now be disabled if wanted. Also a small fix: when RDS is lost and level drops below low level threshold, the textcolor was not changed.
This commit is contained in:
+4
-3
@@ -56,7 +56,6 @@ bool beepresetstop;
|
|||||||
bool BWreset;
|
bool BWreset;
|
||||||
bool change2;
|
bool change2;
|
||||||
bool compressedold;
|
bool compressedold;
|
||||||
bool clearrds;
|
|
||||||
bool direction;
|
bool direction;
|
||||||
bool dropout;
|
bool dropout;
|
||||||
bool dynamicPTYold;
|
bool dynamicPTYold;
|
||||||
@@ -424,6 +423,7 @@ void setup() {
|
|||||||
BWsetFM = EEPROM.readByte(EE_BYTE_BWSET_FM);
|
BWsetFM = EEPROM.readByte(EE_BYTE_BWSET_FM);
|
||||||
BWsetAM = EEPROM.readByte(EE_BYTE_BWSET_AM);
|
BWsetAM = EEPROM.readByte(EE_BYTE_BWSET_AM);
|
||||||
nowToggleSWMIBand = EEPROM.readByte(EE_BYTE_BANDAUTOSW);
|
nowToggleSWMIBand = EEPROM.readByte(EE_BYTE_BANDAUTOSW);
|
||||||
|
radio.rds.fastps = EEPROM.readByte(EE_BYTE_FASTPS);
|
||||||
|
|
||||||
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN;
|
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN;
|
||||||
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX;
|
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX;
|
||||||
@@ -811,7 +811,7 @@ void loop() {
|
|||||||
radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, CN);
|
radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, CN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (screenmute) readRds();
|
if (screenmute || radio.rds.correctPI != 0) readRds();
|
||||||
if (!menu) {
|
if (!menu) {
|
||||||
doSquelch();
|
doSquelch();
|
||||||
GetData();
|
GetData();
|
||||||
@@ -1844,6 +1844,7 @@ void ModeButtonPress() {
|
|||||||
EEPROM.writeByte(EE_BYTE_SORTAF, radio.rds.sortaf);
|
EEPROM.writeByte(EE_BYTE_SORTAF, radio.rds.sortaf);
|
||||||
EEPROM.writeByte(EE_BYTE_STATIONLISTID, stationlistid);
|
EEPROM.writeByte(EE_BYTE_STATIONLISTID, stationlistid);
|
||||||
EEPROM.writeByte(EE_BYTE_FM_DEEMPHASIS, fmdeemphasis);
|
EEPROM.writeByte(EE_BYTE_FM_DEEMPHASIS, fmdeemphasis);
|
||||||
|
EEPROM.writeByte(EE_BYTE_FASTPS, radio.rds.fastps);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
Serial.end();
|
Serial.end();
|
||||||
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
|
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
|
||||||
@@ -2263,7 +2264,6 @@ void ShowFreq(int mode) {
|
|||||||
afstringold = "";
|
afstringold = "";
|
||||||
rds_clockold = "";
|
rds_clockold = "";
|
||||||
rdsreset = true;
|
rdsreset = true;
|
||||||
clearrds = true;
|
|
||||||
licold = 254;
|
licold = 254;
|
||||||
ECCold = 253;
|
ECCold = 253;
|
||||||
|
|
||||||
@@ -3289,6 +3289,7 @@ void DefaultSettings(byte userhardwaremodel) {
|
|||||||
EEPROM.writeByte(EE_BYTE_BWSET_FM, 0);
|
EEPROM.writeByte(EE_BYTE_BWSET_FM, 0);
|
||||||
EEPROM.writeByte(EE_BYTE_BWSET_AM, 2);
|
EEPROM.writeByte(EE_BYTE_BWSET_AM, 2);
|
||||||
EEPROM.writeByte(EE_BYTE_BANDAUTOSW, 0);
|
EEPROM.writeByte(EE_BYTE_BANDAUTOSW, 0);
|
||||||
|
EEPROM.writeByte(EE_BYTE_FASTPS, 1);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-21
@@ -4,6 +4,8 @@
|
|||||||
#include <TimeLib.h> // https://github.com/PaulStoffregen/Time
|
#include <TimeLib.h> // https://github.com/PaulStoffregen/Time
|
||||||
|
|
||||||
unsigned long rdstimer = 0;
|
unsigned long rdstimer = 0;
|
||||||
|
unsigned long bitStartTime = 0;
|
||||||
|
bool lastBitState = false;
|
||||||
|
|
||||||
void TEF6686::TestAFEON() {
|
void TEF6686::TestAFEON() {
|
||||||
uint16_t status;
|
uint16_t status;
|
||||||
@@ -358,7 +360,16 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (highByte(rds.rdsErr) != 0xff) rds.hasRDS = true; else rds.hasRDS = false; // RDS decoder synchronized and data available
|
if (highByte(rds.rdsErr) != 0xff) {
|
||||||
|
rds.hasRDS = true; // RDS decoder synchronized and data available
|
||||||
|
bitStartTime = 0;
|
||||||
|
} else {
|
||||||
|
if (bitStartTime == 0) {
|
||||||
|
bitStartTime = millis();
|
||||||
|
} else if (millis() - bitStartTime >= 87) {
|
||||||
|
rds.hasRDS = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
rds.rdsAerror = (((rds.rdsErr >> 14) & 0x03) > 0);
|
rds.rdsAerror = (((rds.rdsErr >> 14) & 0x03) > 0);
|
||||||
rds.rdsBerror = (((rds.rdsErr >> 12) & 0x03) > 0);
|
rds.rdsBerror = (((rds.rdsErr >> 12) & 0x03) > 0);
|
||||||
@@ -370,7 +381,7 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
rdsCerrorThreshold = (((rds.rdsErr >> 10) & 0x03) > showrdserrors);
|
rdsCerrorThreshold = (((rds.rdsErr >> 10) & 0x03) > showrdserrors);
|
||||||
rdsDerrorThreshold = (((rds.rdsErr >> 8) & 0x03) > showrdserrors);
|
rdsDerrorThreshold = (((rds.rdsErr >> 8) & 0x03) > showrdserrors);
|
||||||
|
|
||||||
if (bitRead(rds.rdsStat, 9)) { // We have all data to decode... let's go...
|
if (bitRead(rds.rdsStat, 9)) { // We have all data to decode... let's go...
|
||||||
|
|
||||||
//PI decoder
|
//PI decoder
|
||||||
if (!rdsAerrorThreshold && afreset) {
|
if (!rdsAerrorThreshold && afreset) {
|
||||||
@@ -387,9 +398,9 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
rds.picode[3] = rds.rdsA & 0xF;
|
rds.picode[3] = rds.rdsA & 0xF;
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
if (rds.picode[i] < 10) {
|
if (rds.picode[i] < 10) {
|
||||||
rds.picode[i] += '0'; // Add ASCII offset for decimal digits
|
rds.picode[i] += '0'; // Add ASCII offset for decimal digits
|
||||||
} else {
|
} else {
|
||||||
rds.picode[i] += 'A' - 10; // Add ASCII offset for hexadecimal letters A-F
|
rds.picode[i] += 'A' - 10; // Add ASCII offset for hexadecimal letters A-F
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -398,7 +409,7 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
|
|
||||||
if (!errorfreepi) {
|
if (!errorfreepi) {
|
||||||
if (((rds.rdsErr >> 14) & 0x03) > 2) rds.picode[5] = '?'; else rds.picode[5] = ' ';
|
if (((rds.rdsErr >> 14) & 0x03) > 2) rds.picode[5] = '?'; else rds.picode[5] = ' ';
|
||||||
if (((rds.rdsErr >> 14) & 0x03) > 1) rds.picode[4] = '?'; else rds.picode[4] = ' '; // Not sure, add a ?
|
if (((rds.rdsErr >> 14) & 0x03) > 1) rds.picode[4] = '?'; else rds.picode[4] = ' '; // Not sure, add a ?
|
||||||
} else {
|
} else {
|
||||||
rds.picode[4] = ' ';
|
rds.picode[4] = ' ';
|
||||||
rds.picode[5] = ' ';
|
rds.picode[5] = ' ';
|
||||||
@@ -412,9 +423,9 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
rds.picode[3] = piold & 0xF;
|
rds.picode[3] = piold & 0xF;
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
if (rds.picode[i] < 10) {
|
if (rds.picode[i] < 10) {
|
||||||
rds.picode[i] += '0'; // Add ASCII offset for decimal digits
|
rds.picode[i] += '0'; // Add ASCII offset for decimal digits
|
||||||
} else {
|
} else {
|
||||||
rds.picode[i] += 'A' - 10; // Add ASCII offset for hexadecimal letters A-F
|
rds.picode[i] += 'A' - 10; // Add ASCII offset for hexadecimal letters A-F
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -428,7 +439,7 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// USA Station callsign decoder
|
// USA Station callsign decoder
|
||||||
if (rds.region == 1) { // When ID was decoded correctly before, no need to decode again.
|
if (rds.region == 1) { // When ID was decoded correctly before, no need to decode again.
|
||||||
uint16_t stationID = rds.rdsA;
|
uint16_t stationID = rds.rdsA;
|
||||||
if (stationID > 4096) {
|
if (stationID > 4096) {
|
||||||
if (stationID > 21671 && (stationID & 0xF00U) >> 8 == 0) stationID = ((uint16_t)uint8_t(0xA0 + ((stationID & 0xF000U) >> 12)) << 8) + lowByte(stationID); // C0DE -> ACDE
|
if (stationID > 21671 && (stationID & 0xF00U) >> 8 == 0) stationID = ((uint16_t)uint8_t(0xA0 + ((stationID & 0xF000U) >> 12)) << 8) + lowByte(stationID); // C0DE -> ACDE
|
||||||
@@ -455,7 +466,7 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (((rds.rdsErr >> 14) & 0x02) > 2) rds.picode[5] = '?';
|
if (((rds.rdsErr >> 14) & 0x02) > 2) rds.picode[5] = '?';
|
||||||
if (((rds.rdsErr >> 14) & 0x01) > 1) rds.picode[4] = '?'; else rds.picode[4] = ' '; // Not sure, add a ?
|
if (((rds.rdsErr >> 14) & 0x01) > 1) rds.picode[4] = '?'; else rds.picode[4] = ' '; // Not sure, add a ?
|
||||||
rds.picode[6] = '\0';
|
rds.picode[6] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -476,7 +487,7 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
ps_buffer[(offset * 2) + 1] = rds.rdsD & 0xFF; // Second character of segment
|
ps_buffer[(offset * 2) + 1] = rds.rdsD & 0xFF; // Second character of segment
|
||||||
ps_buffer[8] = '\0'; // Endmarker
|
ps_buffer[8] = '\0'; // Endmarker
|
||||||
|
|
||||||
if (offset == 3 && ps_process) { // Last chars are received
|
if (offset == 3 && (ps_process || !rds.fastps)) { // Last chars are received
|
||||||
if (strcmp(ps_buffer, ps_buffer2) == 0) { // When no difference between current and buffer, let's go...
|
if (strcmp(ps_buffer, ps_buffer2) == 0) { // When no difference between current and buffer, let's go...
|
||||||
RDScharConverter(ps_buffer2, PStext, sizeof(PStext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
RDScharConverter(ps_buffer2, PStext, sizeof(PStext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
||||||
String utf8String = convertToUTF8(PStext); // Convert RDS characterset to ASCII
|
String utf8String = convertToUTF8(PStext); // Convert RDS characterset to ASCII
|
||||||
@@ -484,7 +495,7 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ps_process) { // Let's get 2 runs of 8 PS characters fast and without refresh
|
if (!ps_process && rds.fastps) { // Let's get 2 runs of 8 PS characters fast and without refresh
|
||||||
if (offset == 0) packet0 = true;
|
if (offset == 0) packet0 = true;
|
||||||
if (offset == 1) packet1 = true;
|
if (offset == 1) packet1 = true;
|
||||||
if (offset == 2) packet2 = true;
|
if (offset == 2) packet2 = true;
|
||||||
@@ -629,10 +640,10 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
if (rds.rtAB != rtABold) { // Erase old RT, because of AB change
|
if (rds.rtAB != rtABold) { // Erase old RT, because of AB change
|
||||||
initrt = false;
|
initrt = false;
|
||||||
if (rds.rtbuffer) {
|
if (rds.rtbuffer) {
|
||||||
wchar_t RTtext[65] = L""; // Create 16 bit char buffer for Extended ASCII
|
wchar_t RTtext[65] = L""; // Create 16 bit char buffer for Extended ASCII
|
||||||
RDScharConverter(rt_buffer, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
RDScharConverter(rt_buffer, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
||||||
rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
|
rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
|
||||||
rds.stationText = extractUTF8Substring(rds.stationText, 0, 64, true); // Make sure RT does not exceed 64 characters
|
rds.stationText = extractUTF8Substring(rds.stationText, 0, 64, true); // Make sure RT does not exceed 64 characters
|
||||||
}
|
}
|
||||||
|
|
||||||
for (byte i = 0; i < 64; i++) {
|
for (byte i = 0; i < 64; i++) {
|
||||||
@@ -649,10 +660,10 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
rt_buffer[offset + 3] = rds.rdsD & 0xff; // Fourth character of segment
|
rt_buffer[offset + 3] = rds.rdsD & 0xff; // Fourth character of segment
|
||||||
|
|
||||||
if (initrt || !rds.rtbuffer) {
|
if (initrt || !rds.rtbuffer) {
|
||||||
wchar_t RTtext[65] = L""; // Create 16 bit char buffer for Extended ASCII
|
wchar_t RTtext[65] = L""; // Create 16 bit char buffer for Extended ASCII
|
||||||
RDScharConverter(rt_buffer, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
RDScharConverter(rt_buffer, RTtext, sizeof(RTtext) / sizeof(wchar_t), true); // Convert 8 bit ASCII to 16 bit ASCII
|
||||||
rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
|
rds.stationText = convertToUTF8(RTtext); // Convert RDS characterset to ASCII
|
||||||
rds.stationText = extractUTF8Substring(rds.stationText, 0, 64, true); // Make sure RT does not exceed 64 characters
|
rds.stationText = extractUTF8Substring(rds.stationText, 0, 64, true); // Make sure RT does not exceed 64 characters
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < 64; i++) rt_buffer2[i] = rt_buffer[i];
|
for (int i = 0; i < 64; i++) rt_buffer2[i] = rt_buffer[i];
|
||||||
@@ -663,9 +674,9 @@ void TEF6686::readRDS(byte showrdserrors)
|
|||||||
if (showrdserrors == 3 || (!rdsBerrorThreshold && !rdsDerrorThreshold)) {
|
if (showrdserrors == 3 || (!rdsBerrorThreshold && !rdsDerrorThreshold)) {
|
||||||
// RT decoder (32 characters)
|
// RT decoder (32 characters)
|
||||||
rds.hasRT = true;
|
rds.hasRT = true;
|
||||||
rds.rtAB32 = (bitRead(rds.rdsB, 4)); // Get AB flag
|
rds.rtAB32 = (bitRead(rds.rdsB, 4)); // Get AB flag
|
||||||
|
|
||||||
if (rds.rtAB32 != rtAB32old) { // Erase old RT, because of AB change
|
if (rds.rtAB32 != rtAB32old) { // Erase old RT, because of AB change
|
||||||
for (byte i = 0; i < 33; i++) {
|
for (byte i = 0; i < 33; i++) {
|
||||||
rt_buffer32[i] = 0x20;
|
rt_buffer32[i] = 0x20;
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-5
@@ -171,6 +171,7 @@ typedef struct _rds_ {
|
|||||||
bool rdsreset;
|
bool rdsreset;
|
||||||
bool pierrors;
|
bool pierrors;
|
||||||
bool sortaf;
|
bool sortaf;
|
||||||
|
bool fastps;
|
||||||
bool rtbuffer = true;
|
bool rtbuffer = true;
|
||||||
} rds_;
|
} rds_;
|
||||||
|
|
||||||
@@ -274,7 +275,7 @@ class TEF6686 {
|
|||||||
bool useRTPlus = true;
|
bool useRTPlus = true;
|
||||||
bool ABold;
|
bool ABold;
|
||||||
bool afreset;
|
bool afreset;
|
||||||
bool mpxmode;
|
bool mpxmode;
|
||||||
char stationTextBuffer[65];
|
char stationTextBuffer[65];
|
||||||
uint16_t piold;
|
uint16_t piold;
|
||||||
bool rtABold;
|
bool rtABold;
|
||||||
@@ -296,10 +297,10 @@ class TEF6686 {
|
|||||||
bool rdsCerrorThreshold;
|
bool rdsCerrorThreshold;
|
||||||
bool rdsDerrorThreshold;
|
bool rdsDerrorThreshold;
|
||||||
byte afmethodcounter;
|
byte afmethodcounter;
|
||||||
bool packet0;
|
bool packet0;
|
||||||
bool packet1;
|
bool packet1;
|
||||||
bool packet2;
|
bool packet2;
|
||||||
bool packet3;
|
bool packet3;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
+4
-5
@@ -108,7 +108,7 @@
|
|||||||
#define EE_PRESETS_CNT 99
|
#define EE_PRESETS_CNT 99
|
||||||
#define EE_CHECKBYTE_VALUE 34 // 0 ~ 255,add new entry, change for new value
|
#define EE_CHECKBYTE_VALUE 34 // 0 ~ 255,add new entry, change for new value
|
||||||
|
|
||||||
#define EE_TOTAL_CNT 617
|
#define EE_TOTAL_CNT 618
|
||||||
#define EE_UINT16_FREQUENCY_FM 0
|
#define EE_UINT16_FREQUENCY_FM 0
|
||||||
#define EE_BYTE_VOLSET 4
|
#define EE_BYTE_VOLSET 4
|
||||||
#define EE_BYTE_STEREO 5
|
#define EE_BYTE_STEREO 5
|
||||||
@@ -180,12 +180,11 @@
|
|||||||
#define EE_INT16_AMLEVELOFFSET 98
|
#define EE_INT16_AMLEVELOFFSET 98
|
||||||
#define EE_UINT16_FREQUENCY_OIRT 102
|
#define EE_UINT16_FREQUENCY_OIRT 102
|
||||||
#define EE_STRING_XDRGTK_KEY 106 // 11 byte
|
#define EE_STRING_XDRGTK_KEY 106 // 11 byte
|
||||||
#define EE_PRESETS_BAND_START 118
|
#define EE_BYTE_FASTPS 118
|
||||||
#define EE_PRESETS_START 220
|
#define EE_PRESETS_BAND_START 119
|
||||||
|
#define EE_PRESETS_START 221
|
||||||
#define EE_PRESETS_FREQUENCY 8750
|
#define EE_PRESETS_FREQUENCY 8750
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// End of EEPROM index defines
|
// End of EEPROM index defines
|
||||||
|
|
||||||
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
|
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
|
||||||
|
|||||||
+21
-2
@@ -6,7 +6,7 @@
|
|||||||
#include <EEPROM.h>
|
#include <EEPROM.h>
|
||||||
|
|
||||||
byte menuitem;
|
byte menuitem;
|
||||||
byte items[8] = {8, 2, 6, 9, 8, 10, 8, 5};
|
byte items[8] = {8, 2, 6, 9, 9, 10, 8, 5};
|
||||||
|
|
||||||
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/
|
||||||
switch (CurrentTheme) {
|
switch (CurrentTheme) {
|
||||||
@@ -458,6 +458,7 @@ void BuildMenu() {
|
|||||||
tftPrint(-1, myLanguage[language][99], 8, ITEM6 + 6, ActiveColor, ActiveColorSmooth, 16);
|
tftPrint(-1, myLanguage[language][99], 8, ITEM6 + 6, ActiveColor, ActiveColorSmooth, 16);
|
||||||
tftPrint(-1, myLanguage[language][176], 8, ITEM7 + 6, ActiveColor, ActiveColorSmooth, 16);
|
tftPrint(-1, myLanguage[language][176], 8, ITEM7 + 6, ActiveColor, ActiveColorSmooth, 16);
|
||||||
tftPrint(-1, myLanguage[language][196], 8, ITEM8 + 6, ActiveColor, ActiveColorSmooth, 16);
|
tftPrint(-1, myLanguage[language][196], 8, ITEM8 + 6, ActiveColor, ActiveColorSmooth, 16);
|
||||||
|
tftPrint(-1, myLanguage[language][203], 8, ITEM9 + 6, ActiveColor, ActiveColorSmooth, 16);
|
||||||
|
|
||||||
switch (showrdserrors) {
|
switch (showrdserrors) {
|
||||||
case 0: tftPrint(1, myLanguage[language][30], 310, ITEM1 + 6, PrimaryColor, PrimaryColorSmooth, 16); break;
|
case 0: tftPrint(1, myLanguage[language][30], 310, ITEM1 + 6, PrimaryColor, PrimaryColorSmooth, 16); break;
|
||||||
@@ -474,6 +475,7 @@ void BuildMenu() {
|
|||||||
if (af) tftPrint(1, myLanguage[language][42], 310, ITEM6 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM6 + 6, PrimaryColor, PrimaryColorSmooth, 16);
|
if (af) tftPrint(1, myLanguage[language][42], 310, ITEM6 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM6 + 6, PrimaryColor, PrimaryColorSmooth, 16);
|
||||||
if (radio.rds.rtbuffer) tftPrint(1, myLanguage[language][42], 310, ITEM7 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM7 + 6, PrimaryColor, PrimaryColorSmooth, 16);
|
if (radio.rds.rtbuffer) tftPrint(1, myLanguage[language][42], 310, ITEM7 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM7 + 6, PrimaryColor, PrimaryColorSmooth, 16);
|
||||||
if (radio.rds.sortaf) tftPrint(1, myLanguage[language][42], 310, ITEM8 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM8 + 6, PrimaryColor, PrimaryColorSmooth, 16);
|
if (radio.rds.sortaf) tftPrint(1, myLanguage[language][42], 310, ITEM8 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM8 + 6, PrimaryColor, PrimaryColorSmooth, 16);
|
||||||
|
if (radio.rds.fastps) tftPrint(1, myLanguage[language][42], 310, ITEM9 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM9 + 6, PrimaryColor, PrimaryColorSmooth, 16);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FMSETTINGS:
|
case FMSETTINGS:
|
||||||
@@ -1097,6 +1099,12 @@ void MenuUp() {
|
|||||||
if (radio.rds.sortaf) radio.rds.sortaf = false; else radio.rds.sortaf = true;
|
if (radio.rds.sortaf) radio.rds.sortaf = false; else radio.rds.sortaf = true;
|
||||||
if (radio.rds.sortaf) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
if (radio.rds.sortaf) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ITEM9:
|
||||||
|
if (radio.rds.fastps) tftPrint(0, myLanguage[language][42], 155, 118, BackgroundColor, BackgroundColor, 28); else tftPrint(0, myLanguage[language][30], 155, 118, BackgroundColor, BackgroundColor, 28);
|
||||||
|
if (radio.rds.fastps) radio.rds.fastps = false; else radio.rds.fastps = true;
|
||||||
|
if (radio.rds.fastps) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1609,6 +1617,12 @@ void MenuDown() {
|
|||||||
if (radio.rds.sortaf) radio.rds.sortaf = false; else radio.rds.sortaf = true;
|
if (radio.rds.sortaf) radio.rds.sortaf = false; else radio.rds.sortaf = true;
|
||||||
if (radio.rds.sortaf) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
if (radio.rds.sortaf) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ITEM9:
|
||||||
|
if (radio.rds.fastps) tftPrint(0, myLanguage[language][42], 155, 118, BackgroundColor, BackgroundColor, 28); else tftPrint(0, myLanguage[language][30], 155, 118, BackgroundColor, BackgroundColor, 28);
|
||||||
|
if (radio.rds.fastps) radio.rds.fastps = false; else radio.rds.fastps = true;
|
||||||
|
if (radio.rds.fastps) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2093,6 +2107,11 @@ void DoMenu() {
|
|||||||
tftPrint(0, myLanguage[language][196], 155, 78, ActiveColor, ActiveColorSmooth, 28);
|
tftPrint(0, myLanguage[language][196], 155, 78, ActiveColor, ActiveColorSmooth, 28);
|
||||||
if (radio.rds.sortaf) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
if (radio.rds.sortaf) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ITEM9:
|
||||||
|
tftPrint(0, myLanguage[language][203], 155, 78, ActiveColor, ActiveColorSmooth, 28);
|
||||||
|
if (radio.rds.fastps) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2249,7 +2268,7 @@ void DoMenu() {
|
|||||||
XDRGTK_key = XDRGTK_key_input.getValue();
|
XDRGTK_key = XDRGTK_key_input.getValue();
|
||||||
EEPROM.writeString(EE_STRING_XDRGTK_KEY, XDRGTK_key);
|
EEPROM.writeString(EE_STRING_XDRGTK_KEY, XDRGTK_key);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
wifi = true;
|
wifi = true;
|
||||||
tryWiFi();
|
tryWiFi();
|
||||||
delay(2000);
|
delay(2000);
|
||||||
menuopen = false;
|
menuopen = false;
|
||||||
|
|||||||
+34
-18
@@ -1,6 +1,6 @@
|
|||||||
// [number of languages][number of texts]
|
// [number of languages][number of texts]
|
||||||
|
|
||||||
static const char* const myLanguage[16][203] = {
|
static const char* const myLanguage[16][204] = {
|
||||||
{ "English", // English
|
{ "English", // English
|
||||||
"Rotary direction changed", // 1
|
"Rotary direction changed", // 1
|
||||||
"Please release button", // 2
|
"Please release button", // 2
|
||||||
@@ -203,7 +203,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Nederlands", // Dutch
|
{ "Nederlands", // Dutch
|
||||||
@@ -314,7 +315,7 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM", // 105
|
"FM", // 105
|
||||||
"OIRT", // 106
|
"OIRT", // 106
|
||||||
"Rotating while screen off", // 107
|
"Rotating while screen off", // 107
|
||||||
"Model selector", // 108
|
"Model keuze", // 108
|
||||||
"Basis (ILI9341)", // 109
|
"Basis (ILI9341)", // 109
|
||||||
"Portable (ILI9341)", // 110
|
"Portable (ILI9341)", // 110
|
||||||
"Portable touch (ILI9341)", // 111
|
"Portable touch (ILI9341)", // 111
|
||||||
@@ -408,7 +409,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Laag", // 200
|
"Laag", // 200
|
||||||
"Middel", // 201
|
"Middel", // 201
|
||||||
"Alles" // 202
|
"Alles", // 202
|
||||||
|
"Snelle PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Polski", // Polish
|
{ "Polski", // Polish
|
||||||
@@ -613,7 +615,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"Deemfaza FM", // 199
|
"Deemfaza FM", // 199
|
||||||
"Male", // 200
|
"Male", // 200
|
||||||
"Duze", // 201
|
"Duze", // 201
|
||||||
"Wszystkie" // 202
|
"Wszystkie", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Hrvatski", // Croatian
|
{ "Hrvatski", // Croatian
|
||||||
@@ -818,7 +821,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Ελληνικά", // Greek
|
{ "Ελληνικά", // Greek
|
||||||
@@ -1023,7 +1027,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM αποέμφαση", // 199
|
"FM αποέμφαση", // 199
|
||||||
"Μικρό", // 200
|
"Μικρό", // 200
|
||||||
"Μεγάλο", // 201
|
"Μεγάλο", // 201
|
||||||
"Όλα" // 202
|
"Όλα", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Romana", // Romanian
|
{ "Romana", // Romanian
|
||||||
@@ -1228,7 +1233,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Deutsch", // German
|
{ "Deutsch", // German
|
||||||
@@ -1433,7 +1439,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"UKW Deemphasis", // 199
|
"UKW Deemphasis", // 199
|
||||||
"Gering", // 200
|
"Gering", // 200
|
||||||
"Groß", // 201
|
"Groß", // 201
|
||||||
"Alles" // 202
|
"Alles", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Czech", // Czech
|
{ "Czech", // Czech
|
||||||
@@ -1638,7 +1645,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Slovak", // Slovak
|
{ "Slovak", // Slovak
|
||||||
@@ -1843,7 +1851,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Français", // French
|
{ "Français", // French
|
||||||
@@ -2048,7 +2057,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Български", // Bulgarian
|
{ "Български", // Bulgarian
|
||||||
@@ -2253,7 +2263,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Русский", // Russian
|
{ "Русский", // Russian
|
||||||
@@ -2458,7 +2469,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Українська", // Ukranian
|
{ "Українська", // Ukranian
|
||||||
@@ -2663,7 +2675,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Italiano", // Italian
|
{ "Italiano", // Italian
|
||||||
@@ -2868,7 +2881,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM deemphasis", // 199
|
"FM deemphasis", // 199
|
||||||
"Small", // 200
|
"Small", // 200
|
||||||
"Large", // 201
|
"Large", // 201
|
||||||
"All" // 202
|
"All", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Simplified Chinese", // Simplified Chinese
|
{ "Simplified Chinese", // Simplified Chinese
|
||||||
@@ -3073,7 +3087,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM去加重", // 199
|
"FM去加重", // 199
|
||||||
"少量", // 200
|
"少量", // 200
|
||||||
"大量", // 201
|
"大量", // 201
|
||||||
"全部" // 202
|
"全部", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Norsk", // Norwegian
|
{ "Norsk", // Norwegian
|
||||||
@@ -3278,7 +3293,8 @@ static const char* const myLanguage[16][203] = {
|
|||||||
"FM ettertrykkelse", // 199
|
"FM ettertrykkelse", // 199
|
||||||
"Lite", // 200
|
"Lite", // 200
|
||||||
"Mye", // 201
|
"Mye", // 201
|
||||||
"Alt" // 202
|
"Alt", // 202
|
||||||
|
"Fast PS" // 203
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+32
-36
@@ -209,14 +209,14 @@ void ShowAdvancedRDS() {
|
|||||||
|
|
||||||
if (TPold != radio.rds.hasTP) {
|
if (TPold != radio.rds.hasTP) {
|
||||||
if (!screenmute) {
|
if (!screenmute) {
|
||||||
if (radio.rds.hasTP == true) tftPrint(-1, "TP", 3, 51, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "TP", 3, 51, GreyoutColor, BackgroundColor, 16);
|
if (radio.rds.hasTP) tftPrint(-1, "TP", 3, 51, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "TP", 3, 51, GreyoutColor, BackgroundColor, 16);
|
||||||
}
|
}
|
||||||
TPold = radio.rds.hasTP;
|
TPold = radio.rds.hasTP;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TAold != radio.rds.hasTA) {
|
if (TAold != radio.rds.hasTA) {
|
||||||
if (!screenmute) {
|
if (!screenmute) {
|
||||||
if (radio.rds.hasTA == true) tftPrint(-1, "TA", 25, 51, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "TA", 25, 51, GreyoutColor, BackgroundColor, 16);
|
if (radio.rds.hasTA) tftPrint(-1, "TA", 25, 51, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "TA", 25, 51, GreyoutColor, BackgroundColor, 16);
|
||||||
}
|
}
|
||||||
TAold = radio.rds.hasTA;
|
TAold = radio.rds.hasTA;
|
||||||
}
|
}
|
||||||
@@ -265,7 +265,7 @@ void ShowAdvancedRDS() {
|
|||||||
|
|
||||||
if (hastmcold != radio.rds.hasTMC) {
|
if (hastmcold != radio.rds.hasTMC) {
|
||||||
if (!screenmute) {
|
if (!screenmute) {
|
||||||
if (radio.rds.hasTMC == true) tftPrint(-1, "TMC", 89, 51, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "TMC", 89, 51, GreyoutColor, BackgroundColor, 16);
|
if (radio.rds.hasTMC) tftPrint(-1, "TMC", 89, 51, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, "TMC", 89, 51, GreyoutColor, BackgroundColor, 16);
|
||||||
}
|
}
|
||||||
hastmcold = radio.rds.hasTMC;
|
hastmcold = radio.rds.hasTMC;
|
||||||
}
|
}
|
||||||
@@ -274,7 +274,7 @@ void ShowAdvancedRDS() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void doAF() {
|
void doAF() {
|
||||||
if (radio.af_counter != af_counterold && radio.rds.hasAF == true) {
|
if (radio.af_counter != af_counterold && radio.rds.hasAF) {
|
||||||
if (wifi) {
|
if (wifi) {
|
||||||
Udp.beginPacket(remoteip, 9030);
|
Udp.beginPacket(remoteip, 9030);
|
||||||
Udp.print("from=TEF_tuner " + String(stationlistid, DEC) + ";AF=");
|
Udp.print("from=TEF_tuner " + String(stationlistid, DEC) + ";AF=");
|
||||||
@@ -583,37 +583,33 @@ void readRds() {
|
|||||||
if (band < BAND_GAP) {
|
if (band < BAND_GAP) {
|
||||||
RDSstatus = radio.rds.hasRDS;
|
RDSstatus = radio.rds.hasRDS;
|
||||||
ShowRDSLogo(RDSstatus);
|
ShowRDSLogo(RDSstatus);
|
||||||
if (!screenmute) {
|
if (!screenmute && !afscreen) {
|
||||||
if (!afscreen) {
|
if (!RDSstatus) {
|
||||||
if (!RDSstatus) {
|
if (radio.rds.correctPI != 0) {
|
||||||
if (clearrds) {
|
if (advancedRDS) tftPrint(0, PIold, 275, 75, SecondaryColor, SecondaryColorSmooth, 28); else tftPrint(0, PIold, 275, 187, SecondaryColor, SecondaryColorSmooth, 28);
|
||||||
if (advancedRDS) tftPrint(0, PIold, 275, 75, SecondaryColor, SecondaryColorSmooth, 28); else tftPrint(0, PIold, 275, 187, SecondaryColor, SecondaryColorSmooth, 28);
|
if (advancedRDS) tftPrint(-1, PSold, 38, 75, SecondaryColor, SecondaryColorSmooth, 28); else tftPrint(-1, PSold, 38, 187, SecondaryColor, SecondaryColorSmooth, 28);
|
||||||
if (advancedRDS) tftPrint(-1, PSold, 38, 75, SecondaryColor, SecondaryColorSmooth, 28); else tftPrint(-1, PSold, 38, 187, SecondaryColor, SecondaryColorSmooth, 28);
|
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, SecondaryColor, SecondaryColorSmooth, 16); else tftPrint(-1, PTYold, 38, 163, SecondaryColor, SecondaryColorSmooth, 16);
|
||||||
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, SecondaryColor, SecondaryColorSmooth, 16); else tftPrint(-1, PTYold, 38, 163, SecondaryColor, SecondaryColorSmooth, 16);
|
if (advancedRDS) {
|
||||||
if (advancedRDS) {
|
tft.fillCircle(86, 41, 5, SignificantColor);
|
||||||
tft.fillCircle(86, 41, 5, SignificantColor);
|
tft.fillCircle(124, 41, 5, SignificantColor);
|
||||||
tft.fillCircle(124, 41, 5, SignificantColor);
|
tft.fillCircle(162, 41, 5, SignificantColor);
|
||||||
tft.fillCircle(162, 41, 5, SignificantColor);
|
tft.fillCircle(200, 41, 5, SignificantColor);
|
||||||
tft.fillCircle(200, 41, 5, SignificantColor);
|
|
||||||
}
|
|
||||||
clearrds = false;
|
|
||||||
}
|
}
|
||||||
if (radio.rds.correctPI != 0) dropout = true;
|
dropout = true;
|
||||||
} else {
|
}
|
||||||
clearrds = true;
|
} else {
|
||||||
if (dropout == true) {
|
if (dropout) {
|
||||||
if (advancedRDS) tftPrint(0, PIold, 275, 75, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, PIold, 275, 187, PrimaryColor, PrimaryColorSmooth, 28);
|
if (advancedRDS) tftPrint(0, PIold, 275, 75, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, PIold, 275, 187, PrimaryColor, PrimaryColorSmooth, 28);
|
||||||
if (advancedRDS) tftPrint(-1, PSold, 38, 75, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(-1, PSold, 38, 187, PrimaryColor, PrimaryColorSmooth, 28);
|
if (advancedRDS) tftPrint(-1, PSold, 38, 75, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(-1, PSold, 38, 187, PrimaryColor, PrimaryColorSmooth, 28);
|
||||||
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, PTYold, 38, 163, PrimaryColor, PrimaryColorSmooth, 16);
|
if (advancedRDS) tftPrint(-1, PTYold, 38, 109, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(-1, PTYold, 38, 163, PrimaryColor, PrimaryColorSmooth, 16);
|
||||||
if (!advancedRDS) {
|
if (!advancedRDS) {
|
||||||
tft.fillCircle(314, 223, 2, GreyoutColor);
|
tft.fillCircle(314, 223, 2, GreyoutColor);
|
||||||
tft.fillCircle(314, 234, 2, GreyoutColor);
|
tft.fillCircle(314, 234, 2, GreyoutColor);
|
||||||
} else {
|
} else {
|
||||||
tft.fillCircle(203, 223, 2, GreyoutColor);
|
tft.fillCircle(203, 223, 2, GreyoutColor);
|
||||||
tft.fillCircle(203, 234, 2, GreyoutColor);
|
tft.fillCircle(203, 234, 2, GreyoutColor);
|
||||||
}
|
|
||||||
dropout = false;
|
|
||||||
}
|
}
|
||||||
|
dropout = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -628,7 +624,7 @@ void readRds() {
|
|||||||
|
|
||||||
if (RDSSPYRDS != RDSSPYRDSold) {
|
if (RDSSPYRDS != RDSSPYRDSold) {
|
||||||
if (RDSSPYUSB) Serial.print(RDSSPYRDS); else RemoteClient.print(RDSSPYRDS);
|
if (RDSSPYUSB) Serial.print(RDSSPYRDS); else RemoteClient.print(RDSSPYRDS);
|
||||||
RDSSPYRDSold = RDSSPYRDS;
|
RDSSPYRDSold = RDSSPYRDS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -664,7 +660,7 @@ void readRds() {
|
|||||||
|
|
||||||
if (XDRGTKRDS != XDRGTKRDSold) {
|
if (XDRGTKRDS != XDRGTKRDSold) {
|
||||||
DataPrint(XDRGTKRDS);
|
DataPrint(XDRGTKRDS);
|
||||||
XDRGTKRDSold = XDRGTKRDS;
|
XDRGTKRDSold = XDRGTKRDS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -852,7 +848,7 @@ void ShowAFEON() {
|
|||||||
|
|
||||||
if (radio.af_counter > 10 + (afpagenr == 2 ? 30 : 0)) tft.drawLine(59, 54, 59, 191, SecondaryColor);
|
if (radio.af_counter > 10 + (afpagenr == 2 ? 30 : 0)) tft.drawLine(59, 54, 59, 191, SecondaryColor);
|
||||||
if (radio.af_counter > 20 + (afpagenr == 2 ? 30 : 0)) tft.drawLine(113, 54, 113, 191, SecondaryColor);
|
if (radio.af_counter > 20 + (afpagenr == 2 ? 30 : 0)) tft.drawLine(113, 54, 113, 191, SecondaryColor);
|
||||||
if (afpage == true && !screenmute) tftPrint(1, String(afpagenr) + "/2", 315, 222, SecondaryColor, SecondaryColorSmooth, 16);
|
if (afpage && !screenmute) tftPrint(1, String(afpagenr) + "/2", 315, 222, SecondaryColor, SecondaryColorSmooth, 16);
|
||||||
}
|
}
|
||||||
af_counterold = radio.af_counter;
|
af_counterold = radio.af_counter;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user