Use new CH341 code

This commit is contained in:
Jonathan Bennett 2024-12-03 18:01:48 -06:00
parent 00141279af
commit 7336d6cdc5
2 changed files with 6 additions and 16 deletions

View File

@ -26,7 +26,7 @@ lib_deps =
${radiolib_base.lib_deps} ${radiolib_base.lib_deps}
rweather/Crypto@^0.4.0 rweather/Crypto@^0.4.0
https://github.com/lovyan03/LovyanGFX.git#1401c28a47646fe00538d487adcb2eb3c72de805 https://github.com/lovyan03/LovyanGFX.git#1401c28a47646fe00538d487adcb2eb3c72de805
https://github.com/pine64/libch341-spi-userspace https://github.com/jp-bennett/libch341-spi-userspace#d7a957a5be47b3173279dfff5d4c83ed74497e46
build_flags = build_flags =
${arduino_base.build_flags} ${arduino_base.build_flags}

View File

@ -51,10 +51,7 @@ class Ch341Hal : public RadioLibHal
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return; return;
} }
if (pin == CH341_PIN_CS || pin == CH341_PIN_IRQ) { pinedio_set_pin_mode(&pinedio, pin, mode);
return;
}
fprintf(stderr, "pinMode for pin %d and mode %d is not supported!\n", pin, mode);
} }
void digitalWrite(uint32_t pin, uint32_t value) override void digitalWrite(uint32_t pin, uint32_t value) override
@ -62,11 +59,7 @@ class Ch341Hal : public RadioLibHal
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return; return;
} }
if (pin == CH341_PIN_CS) { pinedio_digital_write(&pinedio, pin, value);
pinedio_set_cs(&pinedio, value == 0);
return;
}
fprintf(stderr, "digitalWrite for pin %d is not supported!\n", pin);
} }
uint32_t digitalRead(uint32_t pin) override uint32_t digitalRead(uint32_t pin) override
@ -74,12 +67,7 @@ class Ch341Hal : public RadioLibHal
if (pin == RADIOLIB_NC) { if (pin == RADIOLIB_NC) {
return 0; return 0;
} }
if (pin == CH341_PIN_IRQ) { return pinedio_digital_read(&pinedio, pin);
return pinedio_get_irq_state(&pinedio);
}
fprintf(stderr, "digitalRead for pin %d is not supported!\n", pin);
return 0;
} }
void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override
@ -180,6 +168,8 @@ class Ch341Hal : public RadioLibHal
} else { } else {
pinedio_is_init = true; pinedio_is_init = true;
pinedio_set_option(&pinedio, PINEDIO_OPTION_AUTO_CS, 0); pinedio_set_option(&pinedio, PINEDIO_OPTION_AUTO_CS, 0);
pinedio_set_pin_mode(&pinedio, 3, true);
pinedio_set_pin_mode(&pinedio, 5, true);
} }
} }
} }