XL9555 works OK

This commit is contained in:
Leon
2024-08-05 15:49:46 +08:00
parent 1f04454df1
commit 94708dec9e
+53 -34
View File
@@ -1217,16 +1217,14 @@ void loop() {
#ifdef DEEPELEC_DP_66X #ifdef DEEPELEC_DP_66X
if (digitalRead(EXT_IRQ) == LOW) { if (digitalRead(EXT_IRQ) == LOW) {
int16_t temp = 1; int num;
Wire.beginTransmission(0x20); num = GetNumInput();
Wire.write(0x00); if (num != -1)
Wire.endTransmission(); {
Wire.requestFrom(0x20, 2);
if (Wire.available() == 2) {
temp = Wire.read() & 0xFF;
temp |= (Wire.read() & 0xFF) * 256;
if (!screenmute && !menu && !advancedRDS && !afscreen) if (!screenmute && !menu && !advancedRDS && !afscreen)
ShowNumInput(temp); {
ShowNumInput(num);
}
} }
} }
#endif #endif
@@ -4692,34 +4690,55 @@ void setAutoSpeedSPI() {
byte keyval[16] = { byte keyval[16] = {
2, 3, 127, 5, 6, 0, 9, 13, 8, 7, 4, 1, 0, 0, 0, 0 2, 3, 127, 5, 6, 0, 9, 13, 8, 7, 4, 1, 0, 0, 0, 0
}; };
void ShowNumInput(int16_t port) {
int GetNumInput(void)
{
int16_t temp;
int cnt = 0; int cnt = 0;
unsigned int key; unsigned int num;
for (int i = 0; i < 16; i++) {
if ((port & 0x01) == 0) { Wire.beginTransmission(0x20);
key = keyval[i]; Wire.write(0x00);
cnt ++; Wire.endTransmission();
Wire.requestFrom(0x20, 2);
if (Wire.available() == 2)
{
temp = Wire.read() & 0xFF;
temp |= (Wire.read() & 0xFF) * 256;
for (int i = 0; i < 16; i++) {
if ((temp & 0x01) == 0)
{
num = keyval[i];
cnt ++;
}
temp >>= 1;
} }
port >>= 1; if (cnt == 1)
return num;
} }
if (cnt == 1) {
switch (freqfont) { return -1;
case 0: FrequencySprite.loadFont(FREQFONT0); break; }
case 1: FrequencySprite.loadFont(FREQFONT1); break;
case 2: FrequencySprite.loadFont(FREQFONT2); break; void ShowNumInput(int val)
case 3: FrequencySprite.loadFont(FREQFONT3); break; {
case 4: FrequencySprite.loadFont(FREQFONT4); break; switch (freqfont) {
case 5: FrequencySprite.loadFont(FREQFONT5); break; case 0: FrequencySprite.loadFont(FREQFONT0); break;
} case 1: FrequencySprite.loadFont(FREQFONT1); break;
case 2: FrequencySprite.loadFont(FREQFONT2); break;
FrequencySprite.setTextDatum(TR_DATUM); case 3: FrequencySprite.loadFont(FREQFONT3); break;
case 4: FrequencySprite.loadFont(FREQFONT4); break;
FrequencySprite.fillSprite(BackgroundColor); case 5: FrequencySprite.loadFont(FREQFONT5); break;
FrequencySprite.setTextColor(FreqColor, FreqColorSmooth, false);
FrequencySprite.drawString(String(key) + " ", 218, -6);
FrequencySprite.pushSprite(46, 46);
FrequencySprite.unloadFont();
} }
FrequencySprite.setTextDatum(TR_DATUM);
FrequencySprite.fillSprite(BackgroundColor);
FrequencySprite.setTextColor(FreqColor, FreqColorSmooth, false);
FrequencySprite.drawString(String(val) + " ", 218, -6);
FrequencySprite.pushSprite(46, 46);
FrequencySprite.unloadFont();
} }
#endif #endif