fym 'int x; x = 1"?

This commit is contained in:
2026-01-04 21:41:45 +01:00
parent 22ec0a8c23
commit 2b87785e55
3 changed files with 104 additions and 139 deletions

View File

@@ -260,7 +260,6 @@ int BWAutoColor;
int BWAutoColorSmooth; int BWAutoColorSmooth;
int BWOld; int BWOld;
int bwupdatetimer; int bwupdatetimer;
int DeEmphasis;
int DisplayedSegments; int DisplayedSegments;
int ForceMono; int ForceMono;
int FrameColor; int FrameColor;
@@ -2472,6 +2471,8 @@ void doStereoToggle() {
Stereostatusold = false; Stereostatusold = false;
StereoToggle = true; StereoToggle = true;
} }
radio.setAudio(audiomode);
EEPROM.writeByte(EE_BYTE_AUDIOMODE, audiomode);
EEPROM.writeByte(EE_BYTE_STEREO, StereoToggle); EEPROM.writeByte(EE_BYTE_STEREO, StereoToggle);
EEPROM.commit(); EEPROM.commit();
} }
@@ -3597,10 +3598,11 @@ void ShowModLevel() {
} }
void showAutoSquelch(bool mode) { void showAutoSquelch(bool mode) {
int16_t size = SquelchSprite.textWidth("--");
if (mode) { if (mode) {
tft.drawBitmap(223, 145, AutoSQ, 18, 18, PrimaryColor); tft.drawBitmap(223, 147, AutoSQ, size, size, PrimaryColor);
} else { } else {
tft.drawBitmap(223, 145, AutoSQ, 18, 18, BackgroundColor); tft.drawBitmap(223, 147, AutoSQ, size, size, BackgroundColor);
} }
} }

View File

@@ -2,8 +2,6 @@
#include "constants.h" #include "constants.h"
#include <EEPROM.h> #include <EEPROM.h>
bool MPXsetbyXDR = false;
extern mem presets[]; extern mem presets[];
void Communication() { void Communication() {
@@ -437,51 +435,61 @@ void XDRGTKRoutine() {
if (XDRGTKdata) { if (XDRGTKdata) {
switch (buff[0]) switch (buff[0])
{ {
case 'A': case 'A': {
int AGC; int AGC = atol(buff + 1);
AGC = atol(buff + 1);
DataPrint("A" + String(AGC) + "\n"); DataPrint("A" + String(AGC) + "\n");
switch (AGC) { switch (AGC) {
case 0: if (band == BAND_FM || BAND_OIRT) radio.setAGC(92); else radio.setAMAGC(102); break; case 0:
case 1: if (band == BAND_FM || BAND_OIRT) radio.setAGC(90); else radio.setAMAGC(99); break; if (band == BAND_FM || BAND_OIRT) {
case 2: if (band == BAND_FM || BAND_OIRT) radio.setAGC(87); else radio.setAMAGC(96); break; radio.setAGC(92);
case 3: if (band == BAND_FM || BAND_OIRT) radio.setAGC(84); else radio.setAMAGC(94); break; fmagc = 92;
} else {
radio.setAMAGC(102);
amagc = 102;
}
break;
case 1:
if (band == BAND_FM || BAND_OIRT) {
radio.setAGC(90);
fmagc = 90;
} else {
radio.setAMAGC(99);
amagc = 99;
}
break;
case 2:
if (band == BAND_FM || BAND_OIRT) {
radio.setAGC(87);
fmagc = 87;
} else {
radio.setAMAGC(96);
amagc = 96;
}
break;
case 3:
if (band == BAND_FM || BAND_OIRT) {
radio.setAGC(84);
fmagc = 84;
} else {
radio.setAMAGC(94);
amagc = 94;
}
break;
} }
break; break;
} case 'B': {
case 'B': byte stmo = atol(buff + 1);
byte stmo;
stmo = atol(buff + 1);
DataPrint("B" + String(stmo) + "\n"); DataPrint("B" + String(stmo) + "\n");
if (stmo == 0) { StereoToggle = (stmo == 1);
StereoToggle = false; audiomode = (stmo != 0 && stmo != 1);
if (MPXsetbyXDR) { doStereoToggle();
radio.setAudio(false);
MPXsetbyXDR = false;
}
doStereoToggle();
} else if (stmo == 1) {
StereoToggle = true;
if (MPXsetbyXDR) {
radio.setAudio(false);
MPXsetbyXDR = false;
}
doStereoToggle();
} else {
MPXsetbyXDR = true;
StereoToggle = false;
doStereoToggle();
radio.setAudio(true);
}
break; break;
} case 'C': {
case 'C':
if (afscreen || advancedRDS) { if (afscreen || advancedRDS) {
BuildDisplay(); BuildDisplay();
SelectBand(); SelectBand();
} }
byte scanmethod; byte scanmethod = atol(buff + 1);
scanmethod = atol(buff + 1);
if (band < BAND_GAP) { if (band < BAND_GAP) {
stepsize = 0; stepsize = 0;
@@ -502,20 +510,23 @@ void XDRGTKRoutine() {
} }
DataPrint("C0\n"); DataPrint("C0\n");
break; break;
} case 'D': {
case 'D': byte demp = atol(buff + 1);
byte demp;
demp = atol(buff + 1);
DataPrint("D" + String(demp) + "\n"); DataPrint("D" + String(demp) + "\n");
switch (demp) { switch (demp) {
case 0: DeEmphasis = 1; break; case 0:
case 1: DeEmphasis = 2; break; fmdeemphasis = DEEMPHASIS_50;
case 2: DeEmphasis = 0; break; break;
case 1:
fmdeemphasis = DEEMPHASIS_75;
break;
case 2:
fmdeemphasis = DEEMPHASIS_NONE;
break;
} }
radio.setDeemphasis(DeEmphasis); radio.setDeemphasis(fmdeemphasis);
break; break;
} case 'F': {
case 'F':
XDRBWset = atol(buff + 1); XDRBWset = atol(buff + 1);
DataPrint("F" + String(XDRBWset) + "\n"); DataPrint("F" + String(XDRBWset) + "\n");
if (XDRBWset < 0) { if (XDRBWset < 0) {
@@ -524,13 +535,10 @@ void XDRGTKRoutine() {
} else if (XDRBWset < 16) { } else if (XDRBWset < 16) {
BWset = XDRBWset + 1; BWset = XDRBWset + 1;
XDRBWsetold = XDRBWset; XDRBWsetold = XDRBWset;
} else { } else XDRBWset = XDRBWsetold;
XDRBWset = XDRBWsetold;
}
doBW(); doBW();
break; break;
} case 'G': {
case 'G':
byte offsetg; byte offsetg;
offsetg = atol(buff + 1); offsetg = atol(buff + 1);
if (offsetg == 0) { if (offsetg == 0) {
@@ -556,42 +564,29 @@ void XDRGTKRoutine() {
updateiMS(); updateiMS();
updateEQ(); updateEQ();
break; break;
} case 'H': {
case 'H': byte autosq_read = atol(buff + 1);
byte autosq_read;
autosq_read = atol(buff + 1);
if (autosq_read == 0) { if (autosq_read == 0) {
autosquelch = false; autosquelch = false;
DataPrint("H0\n"); DataPrint("H0\n");
} else if (autosq_read == 1) { } else if (autosq_read == 1) {
autosquelch = true; autosquelch = true;
DataPrint("H1\n"); DataPrint("H1\n");
} else { } else autosquelch = !autosquelch;
autosquelch = !autosquelch;
}
if (autosquelch) { if (autosquelch) {
DataPrint("H1\n"); DataPrint("H1\n");
if (!screenmute) { if (!screenmute) showAutoSquelch(1);
tftPrint(ALEFT, "SQ:", 212, 145, ActiveColor, ActiveColorSmooth, 16);
showAutoSquelch(1);
}
} else { } else {
DataPrint("H0\n"); DataPrint("H0\n");
if (!screenmute) { if (!screenmute) {
if (!usesquelch) { if (!usesquelch) showAutoSquelch(0);
tftPrint(ALEFT, "SQ:", 212, 145, BackgroundColor, BackgroundColor, 16); else Squelch = -150;
showAutoSquelch(0);
} else {
Squelch = -150;
}
} }
} }
break; break;
} case 'I': {
case 'I': byte fmscansenstemp = atol(buff + 1);
byte fmscansenstemp;
fmscansenstemp = atol(buff + 1);
if (fmscansenstemp > 0 && fmscansenstemp < 31) { if (fmscansenstemp > 0 && fmscansenstemp < 31) {
fmscansens = fmscansenstemp; fmscansens = fmscansenstemp;
EEPROM.writeByte(EE_BYTE_FMSCANSENS, fmscansens); EEPROM.writeByte(EE_BYTE_FMSCANSENS, fmscansens);
@@ -599,18 +594,14 @@ void XDRGTKRoutine() {
} }
DataPrint("I" + String(fmscansens) + "\n"); DataPrint("I" + String(fmscansens) + "\n");
break; break;
} case 'J': {
case 'J': byte scandxtemp = atol(buff + 1);
byte scandxtemp;
scandxtemp = atol(buff + 1);
if (scandxtemp == 0 && scandxmode) cancelDXScan(); if (scandxtemp == 0 && scandxmode) cancelDXScan();
if (scandxtemp == 1 && !scandxmode) startFMDXScan(); if (scandxtemp == 1 && !scandxmode) startFMDXScan();
DataPrint("J" + String(scandxtemp) + "\n"); DataPrint("J" + String(scandxtemp) + "\n");
break; break;
} case 'K': {
case 'K': byte scanholdtemp= atol(buff + 1);
byte scanholdtemp;
scanholdtemp = atol(buff + 1);
if (scanholdtemp < 31) { if (scanholdtemp < 31) {
scanhold = scanholdtemp; scanhold = scanholdtemp;
EEPROM.writeByte(EE_BYTE_SCANHOLD, scanhold); EEPROM.writeByte(EE_BYTE_SCANHOLD, scanhold);
@@ -618,12 +609,9 @@ void XDRGTKRoutine() {
} }
DataPrint("K" + String(scanhold) + "\n"); DataPrint("K" + String(scanhold) + "\n");
break; break;
} case 'M': {
case 'M':
if (scandxmode) cancelDXScan(); if (scandxmode) cancelDXScan();
byte XDRband; byte XDRband = atol(buff + 1);
XDRband = atol(buff + 1);
if (XDRband == 0) DataPrint("M0\n"); else DataPrint("M1\n");
if (XDRband == 1) { if (XDRband == 1) {
if (frequency_AM >= LWLowEdgeSet && frequency_AM <= LWHighEdgeSet) { if (frequency_AM >= LWLowEdgeSet && frequency_AM <= LWHighEdgeSet) {
if (band != BAND_LW) { if (band != BAND_LW) {
@@ -659,11 +647,9 @@ void XDRGTKRoutine() {
} }
store = true; store = true;
break; break;
} case 'T': {
case 'T':
if (scandxmode) cancelDXScan(); if (scandxmode) cancelDXScan();
unsigned int freqtemp; unsigned int freqtemp = atoi(buff + 1);
freqtemp = atoi(buff + 1);
if (BAND_FM) freqtemp -= ConverterSet * 1000; if (BAND_FM) freqtemp -= ConverterSet * 1000;
if (seek) seek = false; if (seek) seek = false;
@@ -747,8 +733,7 @@ void XDRGTKRoutine() {
aftest = true; aftest = true;
aftimer = millis(); aftimer = millis();
break; break;
} case 'Q': {
case 'Q':
Squelch = atoi(buff + 1); Squelch = atoi(buff + 1);
if (Squelch == -1) { if (Squelch == -1) {
DataPrint("Q-1\n"); DataPrint("Q-1\n");
@@ -759,8 +744,7 @@ void XDRGTKRoutine() {
DataPrint("\n"); DataPrint("\n");
} }
break; break;
} case 'S': {
case 'S':
if (scandxmode) cancelDXScan(); if (scandxmode) cancelDXScan();
if (!XDRScan) BWsetRecall = BWset; if (!XDRScan) BWsetRecall = BWset;
XDRScan = true; XDRScan = true;
@@ -855,10 +839,8 @@ void XDRGTKRoutine() {
} }
Data_Accelerator = false; Data_Accelerator = false;
break; break;
} case 'W': {
case 'W': unsigned int bwtemp = atoi(buff + 1);
unsigned int bwtemp;
bwtemp = atoi(buff + 1);
switch (bwtemp) { switch (bwtemp) {
case 0: BWset = 0; break; case 0: BWset = 0; break;
case 56000: BWset = 1; break; case 56000: BWset = 1; break;
@@ -881,8 +863,7 @@ void XDRGTKRoutine() {
doBW(); doBW();
DataPrint("W" + String(bwtemp) + "\n"); DataPrint("W" + String(bwtemp) + "\n");
break; break;
} case 'Y': {
case 'Y':
VolSet = atoi(buff + 1); VolSet = atoi(buff + 1);
if (VolSet == 0) { if (VolSet == 0) {
radio.setMute(); radio.setMute();
@@ -892,45 +873,28 @@ void XDRGTKRoutine() {
} else { } else {
radio.setUnMute(); radio.setUnMute();
if (!screenmute) tft.drawBitmap(249, 4, Speaker, 28, 24, GreyoutColor); if (!screenmute) tft.drawBitmap(249, 4, Speaker, 28, 24, GreyoutColor);
radio.setVolume((VolSet - 40) / 10); radio.setVolume(VolSet * 0.12);
XDRMute = false; XDRMute = false;
} }
DataPrint("Y" + String(VolSet) + "\n"); DataPrint("Y" + String(VolSet) + "\n");
VolSet /= 10; VolSet *= 0.12;
break; break;
} case 'x': {
case 'x':
DataPrint("OK\n"); DataPrint("OK\n");
if (BAND_FM) { if (BAND_FM) DataPrint("T" + String((frequency + ConverterSet * 100) * 10) + "\n");
DataPrint("T" + String((frequency + ConverterSet * 100) * 10) + "\n"); else if (BAND_OIRT) DataPrint("T" + String(frequency_OIRT * 10) + "\n");
} else if (BAND_OIRT) { else DataPrint("T" + String(frequency_AM) + "\n");
DataPrint("T" + String(frequency_OIRT * 10) + "\n");
} else {
DataPrint("T" + String(frequency_AM) + "\n");
}
if (StereoToggle) DataPrint("B0\n"); else DataPrint("B1\n"); if (StereoToggle) DataPrint("B0\n"); else DataPrint("B1\n");
if (XDRGTKMuteScreen) MuteScreen(1); if (XDRGTKMuteScreen) MuteScreen(1);
break; break;
} case 'X': {
case 'X':
XDRGTKTCP = false; XDRGTKTCP = false;
XDRGTKUSB = false; XDRGTKUSB = false;
store = true; store = true;
XDRMute = false; XDRMute = false;
radio.setUnMute();
if (!screenmute) tft.drawBitmap(249, 4, Speaker, 28, 24, GreyoutColor);
VolSet = EEPROM.readByte(EE_BYTE_VOLSET);
LowLevelSet = EEPROM.readByte(EE_BYTE_LOWLEVELSET);
softmuteam = EEPROM.readByte(EE_BYTE_SOFTMUTEAM);
softmutefm = EEPROM.readByte(EE_BYTE_SOFTMUTEFM);
radio.setVolume(VolSet);
radio.setSoftmuteFM(softmutefm);
radio.setSoftmuteAM(softmuteam);
if (!usesquelch) radio.setUnMute();
if (XDRGTKMuteScreen) MuteScreen(0); if (XDRGTKMuteScreen) MuteScreen(0);
break; break;
} case 'Z': {
case 'Z':
byte ANT; byte ANT;
ANT = atol(buff + 1); ANT = atol(buff + 1);
switch (ANT) { switch (ANT) {
@@ -952,21 +916,17 @@ void XDRGTKRoutine() {
} }
DataPrint("Z" + String(ANT) + "\n"); DataPrint("Z" + String(ANT) + "\n");
break; break;
}
} }
XDRGTKdata = false; XDRGTKdata = false;
} }
if (millis() >= signalstatustimer + 66) { if (millis() >= signalstatustimer + 66) {
if (band > BAND_GAP) { if (band > BAND_GAP) DataPrint("Sm");
DataPrint("Sm"); else {
} else { if (!StereoToggle) DataPrint("SM");
if (!StereoToggle) { else if (Stereostatus) DataPrint("Ss");
DataPrint("SM"); else DataPrint("Sm");
} else if (Stereostatus) {
DataPrint("Ss");
} else {
DataPrint("Sm");
}
} }
DataPrint(String(((SStatus * 100) + 10875) / 1000) + "." + String(((SStatus * 100) + 10875) / 100 % 10) + "," + String(WAM / 10) + "," + String(USN / 10) + "," + String(BW) + "\n\n"); DataPrint(String(((SStatus * 100) + 10875) / 1000) + "." + String(((SStatus * 100) + 10875) / 100 % 10) + "," + String(WAM / 10) + "," + String(USN / 10) + "," + String(BW) + "\n\n");

View File

@@ -42,9 +42,11 @@ extern bool XDRGTKMuteScreen;
extern bool XDRScan; extern bool XDRScan;
extern bool XDRMute; extern bool XDRMute;
extern byte band; extern byte band;
extern byte audiomode;
extern byte BWset; extern byte BWset;
extern byte BWsetRecall; extern byte BWsetRecall;
extern byte EQset; extern byte EQset;
extern byte fmagc;
extern byte fmscansens; extern byte fmscansens;
extern byte iMSEQ; extern byte iMSEQ;
extern byte iMSset; extern byte iMSset;
@@ -59,7 +61,7 @@ extern char buff[16];
extern int ActiveColor; extern int ActiveColor;
extern int ActiveColorSmooth; extern int ActiveColorSmooth;
extern int BackgroundColor; extern int BackgroundColor;
extern int DeEmphasis; extern byte fmdeemphasis;
extern int freqold; extern int freqold;
extern int GreyoutColor; extern int GreyoutColor;
extern int InsignificantColor; extern int InsignificantColor;
@@ -117,6 +119,7 @@ extern unsigned int SWHighEdgeSet;
extern unsigned int SWLowEdgeSet; extern unsigned int SWLowEdgeSet;
extern unsigned long aftimer; extern unsigned long aftimer;
extern unsigned long signalstatustimer; extern unsigned long signalstatustimer;
extern byte amagc;
extern TFT_eSPI tft; extern TFT_eSPI tft;
extern TEF6686 radio; extern TEF6686 radio;