From 7336d6cdc52d3cc873105b7621816ab256e7e50b Mon Sep 17 00:00:00 2001 From: Jonathan Bennett Date: Tue, 3 Dec 2024 18:01:48 -0600 Subject: [PATCH] Use new CH341 code --- arch/portduino/portduino.ini | 2 +- src/platform/portduino/USBHal.h | 20 +++++--------------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/arch/portduino/portduino.ini b/arch/portduino/portduino.ini index 3cfccade8..3f18409bd 100644 --- a/arch/portduino/portduino.ini +++ b/arch/portduino/portduino.ini @@ -26,7 +26,7 @@ lib_deps = ${radiolib_base.lib_deps} rweather/Crypto@^0.4.0 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 = ${arduino_base.build_flags} diff --git a/src/platform/portduino/USBHal.h b/src/platform/portduino/USBHal.h index 98b724ed4..e24b81aae 100644 --- a/src/platform/portduino/USBHal.h +++ b/src/platform/portduino/USBHal.h @@ -51,10 +51,7 @@ class Ch341Hal : public RadioLibHal if (pin == RADIOLIB_NC) { return; } - if (pin == CH341_PIN_CS || pin == CH341_PIN_IRQ) { - return; - } - fprintf(stderr, "pinMode for pin %d and mode %d is not supported!\n", pin, mode); + pinedio_set_pin_mode(&pinedio, pin, mode); } void digitalWrite(uint32_t pin, uint32_t value) override @@ -62,11 +59,7 @@ class Ch341Hal : public RadioLibHal if (pin == RADIOLIB_NC) { return; } - if (pin == CH341_PIN_CS) { - pinedio_set_cs(&pinedio, value == 0); - return; - } - fprintf(stderr, "digitalWrite for pin %d is not supported!\n", pin); + pinedio_digital_write(&pinedio, pin, value); } uint32_t digitalRead(uint32_t pin) override @@ -74,12 +67,7 @@ class Ch341Hal : public RadioLibHal if (pin == RADIOLIB_NC) { return 0; } - if (pin == CH341_PIN_IRQ) { - - return pinedio_get_irq_state(&pinedio); - } - fprintf(stderr, "digitalRead for pin %d is not supported!\n", pin); - return 0; + return pinedio_digital_read(&pinedio, pin); } void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override @@ -180,6 +168,8 @@ class Ch341Hal : public RadioLibHal } else { pinedio_is_init = true; pinedio_set_option(&pinedio, PINEDIO_OPTION_AUTO_CS, 0); + pinedio_set_pin_mode(&pinedio, 3, true); + pinedio_set_pin_mode(&pinedio, 5, true); } } }