Added AM level offset

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-07-11 22:53:29 +02:00
parent a3ea8f5d05
commit db8a8ae4ca
6 changed files with 104 additions and 44 deletions
+52 -15
View File
@@ -150,6 +150,7 @@ int DeEmphasis;
int ForceMono; int ForceMono;
int freqold; int freqold;
int LevelOffset; int LevelOffset;
int AMLevelOffset;
int LowLevelSet; int LowLevelSet;
int lowsignaltimer; int lowsignaltimer;
int menuoption = 30; int menuoption = 30;
@@ -279,8 +280,8 @@ byte screensaver_IRQ = OFF;
void setup() { void setup() {
setupmode = true; setupmode = true;
EEPROM.begin(263); EEPROM.begin(267);
if (EEPROM.readByte(43) != 30) DefaultSettings(); if (EEPROM.readByte(43) != 31) DefaultSettings();
frequency = EEPROM.readUInt(0); frequency = EEPROM.readUInt(0);
VolSet = EEPROM.readInt(4); VolSet = EEPROM.readInt(4);
@@ -334,6 +335,7 @@ void setup() {
CurrentTheme = EEPROM.readByte(260); CurrentTheme = EEPROM.readByte(260);
fmminstepsize = EEPROM.readByte(261); fmminstepsize = EEPROM.readByte(261);
screensaverset = EEPROM.readByte(262); screensaverset = EEPROM.readByte(262);
AMLevelOffset = EEPROM.readInt(263);
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash
@@ -551,6 +553,7 @@ void setup() {
radio.setVolume(VolSet); radio.setVolume(VolSet);
radio.setOffset(LevelOffset); radio.setOffset(LevelOffset);
radio.setAMOffset(AMLevelOffset);
radio.setStereoLevel(StereoLevel); radio.setStereoLevel(StereoLevel);
radio.setHighCutLevel(HighCutLevel); radio.setHighCutLevel(HighCutLevel);
radio.setHighCutOffset(HighCutOffset); radio.setHighCutOffset(HighCutOffset);
@@ -1532,6 +1535,7 @@ void ModeButtonPress() {
EEPROM.writeByte(260, CurrentTheme); EEPROM.writeByte(260, CurrentTheme);
EEPROM.writeByte(261, fmminstepsize); EEPROM.writeByte(261, fmminstepsize);
EEPROM.writeByte(262, screensaverset); EEPROM.writeByte(262, screensaverset);
EEPROM.writeInt(263, AMLevelOffset);
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);
@@ -2033,6 +2037,13 @@ void ButtonPress() {
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE); if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (!screensaverset) tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF); if (!screensaverset) tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF);
break; break;
case 130:
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
tft.drawCentreString(myLanguage[language][97], 155, 70, GFXFF);
tft.drawString("dB", 170, 110, GFXFF);
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (AMLevelOffset > 0) tft.drawRightString("+" + String(AMLevelOffset, DEC), 155, 110, GFXFF); else tft.drawRightString(String(AMLevelOffset, DEC), 155, 110, GFXFF);
break;
} }
break; break;
} }
@@ -2452,6 +2463,16 @@ void KeyUp() {
if (!screensaverset) tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF); if (!screensaverset) tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF);
break; break;
case 130:
tft.setFreeFont(FONT14);
if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK);
if (AMLevelOffset > 0) tft.drawRightString("+" + String(AMLevelOffset, DEC), 155, 110, GFXFF); else tft.drawRightString(String(AMLevelOffset, DEC), 155, 110, GFXFF);
AMLevelOffset++;
if (AMLevelOffset > 15) AMLevelOffset = -50;
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (AMLevelOffset > 0) tft.drawRightString("+" + String(AMLevelOffset, DEC), 155, 110, GFXFF); else tft.drawRightString(String(AMLevelOffset, DEC), 155, 110, GFXFF);
radio.setAMOffset(AMLevelOffset);
break;
} }
break; break;
} }
@@ -2865,6 +2886,16 @@ void KeyDown() {
if (!screensaverset) tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF); if (!screensaverset) tft.drawRightString(myLanguage[language][30], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF);
break; break;
case 130:
tft.setFreeFont(FONT14);
if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK);
if (AMLevelOffset > 0) tft.drawRightString("+" + String(AMLevelOffset, DEC), 155, 110, GFXFF); else tft.drawRightString(String(AMLevelOffset, DEC), 155, 110, GFXFF);
AMLevelOffset--;
if (AMLevelOffset < -50) AMLevelOffset = 15;
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (AMLevelOffset > 0) tft.drawRightString("+" + String(AMLevelOffset, DEC), 155, 110, GFXFF); else tft.drawRightString(String(AMLevelOffset, DEC), 155, 110, GFXFF);
radio.setAMOffset(AMLevelOffset);
break;
} }
break; break;
} }
@@ -3497,9 +3528,9 @@ void BuildMenu() {
tft.drawRightString(String(LowEdgeSet / 10 + ConverterSet, DEC) + "." + String(LowEdgeSet % 10 + ConverterSet, DEC), 265, 70, GFXFF); tft.drawRightString(String(LowEdgeSet / 10 + ConverterSet, DEC) + "." + String(LowEdgeSet % 10 + ConverterSet, DEC), 265, 70, GFXFF);
tft.drawRightString(String(HighEdgeSet / 10 + ConverterSet, DEC) + "." + String(HighEdgeSet % 10 + ConverterSet, DEC), 265, 90, GFXFF); tft.drawRightString(String(HighEdgeSet / 10 + ConverterSet, DEC) + "." + String(HighEdgeSet % 10 + ConverterSet, DEC), 265, 90, GFXFF);
if (LevelOffset > 0) tft.drawRightString("+" + String(LevelOffset, DEC), 265, 110, GFXFF); else tft.drawRightString(String(LevelOffset, DEC), 265, 110, GFXFF); if (LevelOffset > 0) tft.drawRightString("+" + String(LevelOffset, DEC), 265, 110, GFXFF); else tft.drawRightString(String(LevelOffset, DEC), 265, 110, GFXFF);
if (StereoLevel != 0) tft.drawRightString(String(StereoLevel, DEC), 265, 130, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 130, GFXFF); if (StereoLevel != 0) tft.drawRightString(String(StereoLevel, DEC), 265, 130, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 130, GFXFF);
if (HighCutLevel != 0) tft.drawRightString(String(HighCutLevel * 100, DEC), 265, 150, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 150, GFXFF); if (HighCutLevel != 0) tft.drawRightString(String(HighCutLevel * 100, DEC), 265, 150, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 150, GFXFF);
if (HighCutOffset != 0) tft.drawRightString(String(HighCutOffset, DEC), 265, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 170, GFXFF); if (HighCutOffset != 0) tft.drawRightString(String(HighCutOffset, DEC), 265, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 170, GFXFF);
tft.drawRightString(String(LowLevelSet, DEC), 265, 190, GFXFF); tft.drawRightString(String(LowLevelSet, DEC), 265, 190, GFXFF);
tft.drawRightString(String(ContrastSet, DEC), 265, 210, GFXFF); tft.drawRightString(String(ContrastSet, DEC), 265, 210, GFXFF);
break; break;
@@ -3540,8 +3571,8 @@ void BuildMenu() {
tft.drawString(myLanguage[language][65], 14, 170, GFXFF); tft.drawString(myLanguage[language][65], 14, 170, GFXFF);
tft.drawString(myLanguage[language][67], 14, 190, GFXFF); tft.drawString(myLanguage[language][67], 14, 190, GFXFF);
tft.drawString(myLanguage[language][68], 14, 210, GFXFF); tft.drawString(myLanguage[language][68], 14, 210, GFXFF);
if (amnb != 0) tft.drawRightString("%", 305, 150, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 150, GFXFF); if (amnb != 0) tft.drawRightString("%", 305, 150, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 150, GFXFF);
if (fmnb != 0) tft.drawRightString("%", 305, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 170, GFXFF); if (fmnb != 0) tft.drawRightString("%", 305, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 170, GFXFF);
tft.setTextColor(PrimaryColor); tft.setTextColor(PrimaryColor);
tft.drawRightString(String(WiFi.localIP()[0]) + "." + String(WiFi.localIP()[1]) + "." + String(WiFi.localIP()[2]) + "." + String(subnetclient, DEC), 305, 30, GFXFF); tft.drawRightString(String(WiFi.localIP()[0]) + "." + String(WiFi.localIP()[1]) + "." + String(WiFi.localIP()[2]) + "." + String(subnetclient, DEC), 305, 30, GFXFF);
if (showSWMIBand) tft.drawRightString(myLanguage[language][42], 305, 50, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 50, GFXFF); if (showSWMIBand) tft.drawRightString(myLanguage[language][42], 305, 50, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 50, GFXFF);
@@ -3549,24 +3580,27 @@ void BuildMenu() {
if (radio.rds.pierrors) tft.drawRightString(myLanguage[language][42], 305, 90, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 90, GFXFF); if (radio.rds.pierrors) tft.drawRightString(myLanguage[language][42], 305, 90, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 90, GFXFF);
if (showsquelch) tft.drawRightString(myLanguage[language][42], 305, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 110, GFXFF); if (showsquelch) tft.drawRightString(myLanguage[language][42], 305, 110, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 110, GFXFF);
if (showmodulation) tft.drawRightString(myLanguage[language][42], 305, 130, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 130, GFXFF); if (showmodulation) tft.drawRightString(myLanguage[language][42], 305, 130, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 130, GFXFF);
if (amnb != 0) tft.drawRightString(String(amnb, DEC), 265, 150, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 150, GFXFF); if (amnb != 0) tft.drawRightString(String(amnb, DEC), 265, 150, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 150, GFXFF);
if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 265, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 265, 170, GFXFF); if (fmnb != 0) tft.drawRightString(String(fmnb, DEC), 265, 170, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 170, GFXFF);
if (audiomode) tft.drawRightString("MPX", 305, 190, GFXFF); else tft.drawRightString("Stereo", 305, 190, GFXFF); if (audiomode) tft.drawRightString("MPX", 305, 190, GFXFF); else tft.drawRightString("Stereo", 305, 190, GFXFF);
if (specialstepOIRT) tft.drawRightString(myLanguage[language][42], 305, 210, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 210, GFXFF); if (specialstepOIRT) tft.drawRightString(myLanguage[language][42], 305, 210, GFXFF); else tft.drawRightString(myLanguage[language][30], 305, 210, GFXFF);
break; break;
case 4: case 4:
tft.drawRightString("KHz", 305, 90, GFXFF); tft.drawRightString("KHz", 305, 90, GFXFF);
tft.drawRightString("dB", 305, 130, GFXFF);
if (screensaverset) tft.drawRightString(myLanguage[language][92], 305, 110, GFXFF); if (screensaverset) tft.drawRightString(myLanguage[language][92], 305, 110, GFXFF);
tft.drawString(myLanguage[language][77], 14, 30, GFXFF); tft.drawString(myLanguage[language][77], 14, 30, GFXFF);
tft.drawString(myLanguage[language][70], 14, 50, GFXFF); tft.drawString(myLanguage[language][70], 14, 50, GFXFF);
tft.drawString(myLanguage[language][74], 14, 70, GFXFF); tft.drawString(myLanguage[language][74], 14, 70, GFXFF);
tft.drawString(myLanguage[language][90], 14, 90, GFXFF); tft.drawString(myLanguage[language][90], 14, 90, GFXFF);
tft.drawString(myLanguage[language][91], 14, 110, GFXFF); tft.drawString(myLanguage[language][91], 14, 110, GFXFF);
tft.drawString(myLanguage[language][97], 14, 130, GFXFF);
tft.setTextColor(PrimaryColor); tft.setTextColor(PrimaryColor);
tft.drawRightString(CurrentThemeString, 305, 30, GFXFF); tft.drawRightString(CurrentThemeString, 305, 30, GFXFF);
ShowPowerOptions(false); ShowPowerOptions(false);
if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 265, 90, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 265, 90, GFXFF); if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 265, 90, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 265, 90, GFXFF);
if (!screensaverset) tft.drawRightString(myLanguage[language][30], 265, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 265, 110, GFXFF); if (!screensaverset) tft.drawRightString(myLanguage[language][30], 305, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 265, 110, GFXFF);
if (AMLevelOffset > 0) tft.drawRightString("+" + String(AMLevelOffset, DEC), 265, 130, GFXFF); else tft.drawRightString(String(AMLevelOffset, DEC), 265, 130, GFXFF);
break; break;
} }
analogWrite(SMETERPIN, 0); analogWrite(SMETERPIN, 0);
@@ -4119,6 +4153,7 @@ void ShowFreq(int mode) {
void ShowSignalLevel() { void ShowSignalLevel() {
if (screenmute == false) { if (screenmute == false) {
if (band == BAND_FM) SNR = int(0.46222375 * (float)(SStatus / 10) - 0.082495118 * (float)(USN / 10)) + 10; else SNR = -((int8_t)(USN / 10)); if (band == BAND_FM) SNR = int(0.46222375 * (float)(SStatus / 10) - 0.082495118 * (float)(USN / 10)) + 10; else SNR = -((int8_t)(USN / 10));
if (band != BAND_FM && SNR > 50) SNR = 0;
if (millis() >= snrupdatetimer + TIMER_SNR_TIMER) { if (millis() >= snrupdatetimer + TIMER_SNR_TIMER) {
snrupdatetimer = millis(); snrupdatetimer = millis();
@@ -5072,8 +5107,9 @@ void XDRGTKRoutine() {
break; break;
case 'G': case 'G':
LevelOffset = atol(buff + 1); byte offsetg;
if (LevelOffset == 0) { offsetg = atol(buff + 1);
if (offsetg == 0) {
MuteScreen(0); MuteScreen(0);
LowLevelSet = EEPROM.readInt(47); LowLevelSet = EEPROM.readInt(47);
softmuteam = EEPROM.readByte(29); softmuteam = EEPROM.readByte(29);
@@ -5082,7 +5118,7 @@ void XDRGTKRoutine() {
radio.setSoftmuteAM(softmuteam); radio.setSoftmuteAM(softmuteam);
DataPrint("G00\n"); DataPrint("G00\n");
} }
if (LevelOffset == 10) { if (offsetg == 10) {
MuteScreen(1); MuteScreen(1);
LowLevelSet = EEPROM.readInt(47); LowLevelSet = EEPROM.readInt(47);
softmuteam = EEPROM.readByte(29); softmuteam = EEPROM.readByte(29);
@@ -5091,13 +5127,13 @@ void XDRGTKRoutine() {
radio.setSoftmuteAM(softmuteam); radio.setSoftmuteAM(softmuteam);
DataPrint("G10\n"); DataPrint("G10\n");
} }
if (LevelOffset == 1) { if (offsetg == 1) {
MuteScreen(0); MuteScreen(0);
radio.setSoftmuteFM(1); radio.setSoftmuteFM(1);
radio.setSoftmuteAM(1); radio.setSoftmuteAM(1);
DataPrint("G01\n"); DataPrint("G01\n");
} }
if (LevelOffset == 11) { if (offsetg == 11) {
MuteScreen(1); MuteScreen(1);
radio.setSoftmuteFM(1); radio.setSoftmuteFM(1);
radio.setSoftmuteAM(1); radio.setSoftmuteAM(1);
@@ -5751,7 +5787,7 @@ void passwordcrypt() {
} }
void DefaultSettings() { void DefaultSettings() {
EEPROM.writeByte(43, 30); EEPROM.writeByte(43, 31);
EEPROM.writeUInt(0, 10000); EEPROM.writeUInt(0, 10000);
EEPROM.writeInt(4, 0); EEPROM.writeInt(4, 0);
EEPROM.writeUInt(8, 0); EEPROM.writeUInt(8, 0);
@@ -5806,5 +5842,6 @@ void DefaultSettings() {
EEPROM.writeByte(260, 0); EEPROM.writeByte(260, 0);
EEPROM.writeByte(261, 0); EEPROM.writeByte(261, 0);
EEPROM.writeByte(262, 0); EEPROM.writeByte(262, 0);
EEPROM.writeInt(263, 0);
EEPROM.commit(); EEPROM.commit();
} }
+4
View File
@@ -42,6 +42,10 @@ void TEF6686::setOffset(int8_t offset) {
devTEF_Radio_Set_LevelOffset(offset * 10); devTEF_Radio_Set_LevelOffset(offset * 10);
} }
void TEF6686::setAMOffset(int8_t offset) {
devTEF_Radio_Set_AMLevelOffset(offset * 10);
}
void TEF6686::setFMBandw(uint16_t bandwidth) { void TEF6686::setFMBandw(uint16_t bandwidth) {
devTEF_Radio_Set_Bandwidth(0, bandwidth * 10, 1000, 1000); devTEF_Radio_Set_Bandwidth(0, bandwidth * 10, 1000, 1000);
} }
+1
View File
@@ -192,6 +192,7 @@ class TEF6686 {
void setAMAttenuation(uint16_t start); void setAMAttenuation(uint16_t start);
void setMute(); void setMute();
void setOffset(int8_t offset); void setOffset(int8_t offset);
void setAMOffset(int8_t offset);
void setFMSI(uint8_t mode); void setFMSI(uint8_t mode);
void setFMSI_Time(uint16_t attack, uint16_t decay); void setFMSI_Time(uint16_t attack, uint16_t decay);
void setFMSI_Gain(uint16_t band1, uint16_t band2, uint16_t band3, uint16_t band4); void setFMSI_Gain(uint16_t band1, uint16_t band2, uint16_t band3, uint16_t band4);
+4
View File
@@ -68,6 +68,10 @@ bool devTEF_Radio_Set_LevelOffset(int16_t offset) {
return devTEF_Set_Cmd(TEF_FM, Cmd_Set_LevelOffset, 5, offset - 70); return devTEF_Set_Cmd(TEF_FM, Cmd_Set_LevelOffset, 5, offset - 70);
} }
bool devTEF_Radio_Set_AMLevelOffset(int16_t offset) {
return devTEF_Set_Cmd(TEF_AM, Cmd_Set_LevelOffset, 5, offset - 70);
}
bool devTEF_Radio_Set_RDS(bool fullsearchrds) { bool devTEF_Radio_Set_RDS(bool fullsearchrds) {
if (fullsearchrds == true) return devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 3, 1, 0); else return devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 1, 1, 0); if (fullsearchrds == true) return devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 3, 1, 0); else return devTEF_Set_Cmd(TEF_FM, Cmd_Set_RDS, 9, 1, 1, 0);
} }
+1
View File
@@ -80,6 +80,7 @@ bool devTEF_Radio_Set_Noiseblanker_AM(uint8_t mode, uint16_t start);
bool devTEF_Radio_Set_Attenuator_AM(uint16_t start); bool devTEF_Radio_Set_Attenuator_AM(uint16_t start);
bool devTEF_Radio_Set_CoChannel_AM(uint16_t start); bool devTEF_Radio_Set_CoChannel_AM(uint16_t start);
bool devTEF_Radio_Set_LevelOffset(int16_t offset); bool devTEF_Radio_Set_LevelOffset(int16_t offset);
bool devTEF_Radio_Set_AMLevelOffset(int16_t offset);
bool devTEF_Radio_Set_Stereo_Level(uint8_t mode, uint16_t start, uint16_t slope); bool devTEF_Radio_Set_Stereo_Level(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_Stereo_Noise(uint8_t mode, uint16_t start, uint16_t slope); bool devTEF_Radio_Set_Stereo_Noise(uint8_t mode, uint16_t start, uint16_t slope);
bool devTEF_Radio_Set_Stereo_Mph(uint8_t mode, uint16_t start, uint16_t slope); bool devTEF_Radio_Set_Stereo_Mph(uint8_t mode, uint16_t start, uint16_t slope);
+42 -29
View File
@@ -1,6 +1,6 @@
// [number of languages][number of texts][max. length of text] // [number of languages][number of texts][max. length of text]
static const char* const myLanguage[13][97] = { static const char* const myLanguage[13][98] = {
{ "English", // English { "English", // English
"Rotary direction changed", // 1 "Rotary direction changed", // 1
"Please release button", // 2 "Please release button", // 2
@@ -15,7 +15,7 @@ static const char* const myLanguage[13][97] = {
"Converter:", // 11 "Converter:", // 11
"Low band edge:", // 12 "Low band edge:", // 12
"High band edge:", // 13 "High band edge:", // 13
"RF Level offset:", // 14 "FM RF Level offset:", // 14
"Stereo threshold:", // 15 "Stereo threshold:", // 15
"High Cut corner:", // 16 "High Cut corner:", // 16
"Highcut threshold:", // 17 "Highcut threshold:", // 17
@@ -97,7 +97,8 @@ static const char* const myLanguage[13][97] = {
"PRESS BAND TO CLOSE", // 93 "PRESS BAND TO CLOSE", // 93
"1% brightness", // 94 "1% brightness", // 94
"25% brightness", // 95 "25% brightness", // 95
"50% brightness" // 96 "50% brightness", // 96
"AM RF Level offset:" // 97
}, },
{ "Nederlands", // Dutch { "Nederlands", // Dutch
@@ -114,7 +115,7 @@ static const char* const myLanguage[13][97] = {
"Converter:", // 11 "Converter:", // 11
"Lage bandgrens:", // 12 "Lage bandgrens:", // 12
"Hoge bandgrens:", // 13 "Hoge bandgrens:", // 13
"RF niveau afwijking:", // 14 "FM RF niveau afwijking:", // 14
"Stereo grens:", // 15 "Stereo grens:", // 15
"Hoge tonen afval:", // 16 "Hoge tonen afval:", // 16
"Hoog afval grens:", // 17 "Hoog afval grens:", // 17
@@ -194,9 +195,10 @@ static const char* const myLanguage[13][97] = {
"Schermbeveiliging", // 91 "Schermbeveiliging", // 91
"sec.", // 92 "sec.", // 92
"DRUK OP BAND OM AF TE SLUITEN", // 93 "DRUK OP BAND OM AF TE SLUITEN", // 93
"1% brightness", // 94 "1% helderheid", // 94
"25% brightness", // 95 "25% helderheid", // 95
"50% brightness" // 96 "50% helderheid", // 96
"AM RF Level offset:" // 97
}, },
{ "Polski", // Polish { "Polski", // Polish
@@ -213,7 +215,7 @@ static const char* const myLanguage[13][97] = {
"Konwerter:", // 11 "Konwerter:", // 11
"Dolna granica pasma:", // 12 "Dolna granica pasma:", // 12
"Gorna granica pasma:", // 13 "Gorna granica pasma:", // 13
"Odchylenie poziomu RF:", // 14 "FM Odchylenie poziomu RF:", // 14
"Prog Stereo:", // 15 "Prog Stereo:", // 15
"Krawedz dolnoprzep..:", // 16 "Krawedz dolnoprzep..:", // 16
"Prog dolnoprzepust.:", // 17 "Prog dolnoprzepust.:", // 17
@@ -295,7 +297,8 @@ static const char* const myLanguage[13][97] = {
"NACISNIJ BAND ABY ZAMKNAC", // 93 "NACISNIJ BAND ABY ZAMKNAC", // 93
"1% jasnosci", // 94 "1% jasnosci", // 94
"25% jasnosci", // 95 "25% jasnosci", // 95
"50% jasnosci" // 96 "50% jasnosci", // 96
"AM RF Level offset:" // 97
}, },
{ "Hrvatski", // Croatian { "Hrvatski", // Croatian
@@ -312,7 +315,7 @@ static const char* const myLanguage[13][97] = {
"Pomak konvertera:", // 11 "Pomak konvertera:", // 11
"Donja granica opsega:", // 12 "Donja granica opsega:", // 12
"Gornja granica opsega:", // 13 "Gornja granica opsega:", // 13
"Pomak RF razine:", // 14 "FM Pomak RF razine:", // 14
"Razina stereo signala:", // 15 "Razina stereo signala:", // 15
"Granična frekvencija:", // 16 "Granična frekvencija:", // 16
"Razina granične frekv.:", // 17 "Razina granične frekv.:", // 17
@@ -394,7 +397,8 @@ static const char* const myLanguage[13][97] = {
"PRESS BAND TO CLOSE", // 93 "PRESS BAND TO CLOSE", // 93
"1% brightness", // 94 "1% brightness", // 94
"25% brightness", // 95 "25% brightness", // 95
"50% brightness" // 96 "50% brightness", // 96
"AM RF Level offset:" // 97
}, },
{ "Ελληνικά", // Greek { "Ελληνικά", // Greek
@@ -411,7 +415,7 @@ static const char* const myLanguage[13][97] = {
"Μετατροπέας:", // 11 "Μετατροπέας:", // 11
"Κάτω όριο μπάντας:", // 12 "Κάτω όριο μπάντας:", // 12
"Άνω όριο μπάντας:", // 13 "Άνω όριο μπάντας:", // 13
"Ολίσθηση επιπέδου RF:", // 14 "FM Ολίσθηση επιπέδου RF:", // 14
"Κατώφλι στέρεο:", // 15 "Κατώφλι στέρεο:", // 15
"Όριο υψηλής αποκοπής:", // 16 "Όριο υψηλής αποκοπής:", // 16
"Κατώφλι υψηλής αποκοπής:", // 17 "Κατώφλι υψηλής αποκοπής:", // 17
@@ -493,7 +497,8 @@ static const char* const myLanguage[13][97] = {
"ΠΙΕΣΤΕ BAND ΓΙΑ ΚΛΕΙΣΙΜΟ", // 93 "ΠΙΕΣΤΕ BAND ΓΙΑ ΚΛΕΙΣΙΜΟ", // 93
"1% φωτεινότητα", // 94 "1% φωτεινότητα", // 94
"25% φωτεινότητα", // 95 "25% φωτεινότητα", // 95
"50% φωτεινότητα" // 96 "50% φωτεινότητα", // 96
"AM RF Level offset:" // 97
}, },
{ "Romana", // Romanian { "Romana", // Romanian
@@ -510,7 +515,7 @@ static const char* const myLanguage[13][97] = {
"Convertor:", // 11 "Convertor:", // 11
"Limita inferioara a benzii:", // 12 "Limita inferioara a benzii:", // 12
"Limita superioara a benzii:", // 13 "Limita superioara a benzii:", // 13
"offset ptr. nivel RF:", // 14 "FM offset ptr. nivel RF:", // 14
"Prag ptr. Stereo :", // 15 "Prag ptr. Stereo :", // 15
"Limita taiere inalte:", // 16 "Limita taiere inalte:", // 16
"Prag taiere inalte:", // 17 "Prag taiere inalte:", // 17
@@ -592,7 +597,8 @@ static const char* const myLanguage[13][97] = {
"PRESS BAND TO CLOSE", // 93 "PRESS BAND TO CLOSE", // 93
"1% brightness", // 94 "1% brightness", // 94
"25% brightness", // 95 "25% brightness", // 95
"50% brightness" // 96 "50% brightness", // 96
"AM RF Level offset:" // 97
}, },
{ "Deutsch", // German { "Deutsch", // German
@@ -609,7 +615,7 @@ static const char* const myLanguage[13][97] = {
"Konverter:", // 11 "Konverter:", // 11
"Unteres Bandende:", // 12 "Unteres Bandende:", // 12
"Oberes Bandende:", // 13 "Oberes Bandende:", // 13
"RF-Pegeloffset:", // 14 "FM RF-Pegeloffset:", // 14
"Stereoschwelle:", // 15 "Stereoschwelle:", // 15
"High-Cut-Ende:", // 16 "High-Cut-Ende:", // 16
"High-Cut-Schwelle:", // 17 "High-Cut-Schwelle:", // 17
@@ -691,7 +697,8 @@ static const char* const myLanguage[13][97] = {
"ZUM SCHLIEßEN BAND DRÜCKEN", // 93 "ZUM SCHLIEßEN BAND DRÜCKEN", // 93
"1% Helligkeit", // 94 "1% Helligkeit", // 94
"25% Helligkeit", // 95 "25% Helligkeit", // 95
"50% Helligkeit" // 96 "50% Helligkeit", // 96
"AM RF Level offset:" // 97
}, },
{ "Czech", // Czech { "Czech", // Czech
@@ -708,7 +715,7 @@ static const char* const myLanguage[13][97] = {
"Konvertor:", // 11 "Konvertor:", // 11
"Spodek pásma:", // 12 "Spodek pásma:", // 12
"Vrch pásma:", // 13 "Vrch pásma:", // 13
"Offset frekvence:", // 14 "FM Offset frekvence:", // 14
"Práh pro stereo:", // 15 "Práh pro stereo:", // 15
"Práh utlumeni:", // 16 "Práh utlumeni:", // 16
"Práh zvuku:", // 17 "Práh zvuku:", // 17
@@ -790,7 +797,8 @@ static const char* const myLanguage[13][97] = {
"PRESS BAND TO CLOSE", // 93 "PRESS BAND TO CLOSE", // 93
"1% brightness", // 94 "1% brightness", // 94
"25% brightness", // 95 "25% brightness", // 95
"50% brightness" // 96 "50% brightness", // 96
"AM RF Level offset:" // 97
}, },
{ "Slovak", // Slovak { "Slovak", // Slovak
@@ -807,7 +815,7 @@ static const char* const myLanguage[13][97] = {
"Konvertor:", // 11 "Konvertor:", // 11
"Spodok pásma:", // 12 "Spodok pásma:", // 12
"Vrch pásma:", // 13 "Vrch pásma:", // 13
"Offset frekvencie:", // 14 "FM Offset frekvencie:", // 14
"Prah pre stereo:", // 15 "Prah pre stereo:", // 15
"Prah utlmenia:", // 16 "Prah utlmenia:", // 16
"Prah zvuku:", // 17 "Prah zvuku:", // 17
@@ -889,7 +897,8 @@ static const char* const myLanguage[13][97] = {
"PRESS BAND TO CLOSE", // 93 "PRESS BAND TO CLOSE", // 93
"1% brightness", // 94 "1% brightness", // 94
"25% brightness", // 95 "25% brightness", // 95
"50% brightness" // 96 "50% brightness", // 96
"AM RF Level offset:" // 97
}, },
{ "Français", // French { "Français", // French
@@ -906,7 +915,7 @@ static const char* const myLanguage[13][97] = {
"Convertisseur :", // 11 "Convertisseur :", // 11
"Limite de bande basse:", // 12 "Limite de bande basse:", // 12
"Limite de bande haute:", // 13 "Limite de bande haute:", // 13
"Décalage du niveau RF:", // 14 "FM Décalage du niveau RF:", // 14
"Seuil minimum pour la Stéréo :", // 15 "Seuil minimum pour la Stéréo :", // 15
"Angle du filtre High Cut :", // 16 "Angle du filtre High Cut :", // 16
"Seuil minimum pour le filtre High Cut :", // 17 "Seuil minimum pour le filtre High Cut :", // 17
@@ -988,7 +997,8 @@ static const char* const myLanguage[13][97] = {
"PRESS BAND TO CLOSE", // 93 "PRESS BAND TO CLOSE", // 93
"1% brightness", // 94 "1% brightness", // 94
"25% brightness", // 95 "25% brightness", // 95
"50% brightness" // 96 "50% brightness", // 96
"AM RF Level offset:" // 97
}, },
{ "Български", // Bulgarian { "Български", // Bulgarian
@@ -1005,7 +1015,7 @@ static const char* const myLanguage[13][97] = {
"Отместване на конв.:", // 11 "Отместване на конв.:", // 11
"Нисък край:", // 12 "Нисък край:", // 12
"Висок край:", // 13 "Висок край:", // 13
"Отместване на RF:", // 14 "FM Отместване на RF:", // 14
"Stereo праг:", // 15 "Stereo праг:", // 15
"Мин. честота на изряз.:", // 16 "Мин. честота на изряз.:", // 16
"Мин. сигнал за изряз.:", // 17 "Мин. сигнал за изряз.:", // 17
@@ -1087,7 +1097,8 @@ static const char* const myLanguage[13][97] = {
"НАТИСНЕТЕ BAND ЗА ИЗХОД", // 93 "НАТИСНЕТЕ BAND ЗА ИЗХОД", // 93
"1% brightness", // 94 "1% brightness", // 94
"25% brightness", // 95 "25% brightness", // 95
"50% brightness" // 96 "50% brightness", // 96
"AM RF Level offset:" // 97
}, },
{ "Русский", // Russian { "Русский", // Russian
@@ -1104,7 +1115,7 @@ static const char* const myLanguage[13][97] = {
"Конвертер:", // 11 "Конвертер:", // 11
"Нижняя граница диапазона:", // 12 "Нижняя граница диапазона:", // 12
"Верхняя граница диапазона:", // 13 "Верхняя граница диапазона:", // 13
"Смещение уровня RF:", // 14 "FM Смещение уровня RF:", // 14
"Порог стерео:", // 15 "Порог стерео:", // 15
"Угол среза высоких частот:", // 16 "Угол среза высоких частот:", // 16
"Порог высокого среза:", // 17 "Порог высокого среза:", // 17
@@ -1186,7 +1197,8 @@ static const char* const myLanguage[13][97] = {
"НАЖМИТЕ BAND ДЛЯ ЗАКРЫТИЯ", // 93 "НАЖМИТЕ BAND ДЛЯ ЗАКРЫТИЯ", // 93
"1% яркости", // 94 "1% яркости", // 94
"25% яркости", // 95 "25% яркости", // 95
"50% яркости" // 96 "50% яркости", // 96
"AM RF Level offset:" // 97
}, },
{ "Українська", // Ukranian { "Українська", // Ukranian
@@ -1203,7 +1215,7 @@ static const char* const myLanguage[13][97] = {
"Конвертер:", // 11 "Конвертер:", // 11
"Нижня межа діапазону:", // 12 "Нижня межа діапазону:", // 12
"Верхня межа діапазону:", // 13 "Верхня межа діапазону:", // 13
"Зміщення рівня RF:", // 14 "FM Зміщення рівня RF:", // 14
"Поріг стерео:", // 15 "Поріг стерео:", // 15
"Верхній край відсіку Високих частот:", // 16 "Верхній край відсіку Високих частот:", // 16
"Поріг відсіку Високих частот:", // 17 "Поріг відсіку Високих частот:", // 17
@@ -1285,7 +1297,8 @@ static const char* const myLanguage[13][97] = {
"НАТИСНІТЬ BAND ДЛЯ ЗАКРИТТЯ", // 93 "НАТИСНІТЬ BAND ДЛЯ ЗАКРИТТЯ", // 93
"1% яскравості", // 94 "1% яскравості", // 94
"25% яскравості", // 95 "25% яскравості", // 95
"50% яскравості" // 96 "50% яскравості", // 96
"AM RF Level offset:" // 97
} }
}; };