Added AF-REG

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-10-18 15:53:09 +02:00
parent f709dbec42
commit b7c3115649
5 changed files with 47 additions and 13 deletions
+1 -1
View File
@@ -97,7 +97,7 @@ uint16_t TEF6686::TestAF() {
delay(200);
devTEF_Radio_Get_RDS_Status(&rds.rdsStat, &rds.rdsA, &rds.rdsB, &rds.rdsC, &rds.rdsD, &rds.rdsErr);
if (rds.rdsStat & (1 << 9)) {
if (rds.rdsA == rds.correctPI && (((rds.rdsErr >> 14) & 0x03) == 0)) {
if ((afmethodB && rds.afreg && ((rds.rdsA >> 8) & 0x0F) == (rds.correctPI & 0x0F) || !afmethodB && rds.rdsA == rds.correctPI) && (((rds.rdsErr >> 14) & 0x03) == 0)) {
currentfreq = af[highestIndex].frequency;
for (byte y = 0; y < 50; y++) {
af[y].frequency = 0;
+1
View File
@@ -577,6 +577,7 @@ typedef struct _rds_ {
bool sortaf;
bool fastps;
bool rtbuffer = true;
bool afreg;
} rds_;
typedef struct _af_ {
+38 -8
View File
@@ -474,7 +474,13 @@ void BuildMenu() {
if (radio.rds.underscore) tftPrint(1, myLanguage[language][42], 310, ITEM3 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM3 + 6, PrimaryColor, PrimaryColorSmooth, 16);
if (radio.rds.filter) tftPrint(1, myLanguage[language][42], 310, ITEM4 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM4 + 6, PrimaryColor, PrimaryColorSmooth, 16);
if (radio.rds.pierrors) tftPrint(1, myLanguage[language][42], 310, ITEM5 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM5 + 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);
switch (af) {
case 0: tftPrint(1, myLanguage[language][30], 310, ITEM6 + 6, PrimaryColor, PrimaryColorSmooth, 16); break;
case 1: tftPrint(1, myLanguage[language][42], 310, ITEM6 + 6, PrimaryColor, PrimaryColorSmooth, 16); break;
case 2: tftPrint(1, "AF REG", 310, ITEM6 + 6, PrimaryColor, PrimaryColorSmooth, 16); break;
}
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.fastps) tftPrint(1, myLanguage[language][42], 310, ITEM9 + 6, PrimaryColor, PrimaryColorSmooth, 16); else tftPrint(1, myLanguage[language][30], 310, ITEM9 + 6, PrimaryColor, PrimaryColorSmooth, 16);
@@ -1097,9 +1103,19 @@ void MenuUp() {
break;
case ITEM6:
if (af) tftPrint(0, myLanguage[language][42], 155, 118, BackgroundColor, BackgroundColor, 28); else tftPrint(0, myLanguage[language][30], 155, 118, BackgroundColor, BackgroundColor, 28);
if (af) af = false; else af = true;
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
switch (af) {
case 0: tftPrint(0, myLanguage[language][30], 155, 118, BackgroundColor, BackgroundColor, 28); break;
case 1: tftPrint(0, myLanguage[language][42], 155, 118, BackgroundColor, BackgroundColor, 28); break;
case 2: tftPrint(0, "AF REG", 155, 118, BackgroundColor, BackgroundColor, 28); break;
}
af++;
if (af > 2) af = 0;
switch (af) {
case 0: tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
case 1: tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
case 2: tftPrint(0, "AF REG", 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
}
break;
case ITEM7:
@@ -1625,9 +1641,19 @@ void MenuDown() {
break;
case ITEM6:
if (af) tftPrint(0, myLanguage[language][42], 155, 118, BackgroundColor, BackgroundColor, 28); else tftPrint(0, myLanguage[language][30], 155, 118, BackgroundColor, BackgroundColor, 28);
if (af) af = false; else af = true;
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
switch (af) {
case 0: tftPrint(0, myLanguage[language][30], 155, 118, BackgroundColor, BackgroundColor, 28); break;
case 1: tftPrint(0, myLanguage[language][42], 155, 118, BackgroundColor, BackgroundColor, 28); break;
case 2: tftPrint(0, "AF REG", 155, 118, BackgroundColor, BackgroundColor, 28); break;
}
af--;
if (af > 2) af = 2;
switch (af) {
case 0: tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
case 1: tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
case 2: tftPrint(0, "AF REG", 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
}
break;
case ITEM7:
@@ -2127,7 +2153,11 @@ void DoMenu() {
case ITEM6:
tftPrint(0, myLanguage[language][99], 155, 78, ActiveColor, ActiveColorSmooth, 28);
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28);
switch (af) {
case 0: tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
case 1: tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
case 2: tftPrint(0, "AF REG", 155, 118, PrimaryColor, PrimaryColorSmooth, 28); break;
}
break;
case ITEM7:
+1 -1
View File
@@ -28,7 +28,6 @@ extern byte menuitem;
extern byte items[8];
extern bool advancedRDS;
extern bool af;
extern bool afmethodBold;
extern bool afpage;
extern bool afscreen;
@@ -61,6 +60,7 @@ extern bool TAold;
extern bool TPold;
extern bool USBmode;
extern bool wifi;
extern byte af;
extern byte af_counterold;
extern byte afpagenr;
extern byte amnb;