Add KISS UART support
This commit is contained in:
@@ -11,6 +11,9 @@
|
|||||||
#elif defined(ESP32)
|
#elif defined(ESP32)
|
||||||
#include <SPIFFS.h>
|
#include <SPIFFS.h>
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(KISS_UART_RX) && defined(KISS_UART_TX)
|
||||||
|
#include <HardwareSerial.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define NOISE_FLOOR_CALIB_INTERVAL_MS 2000
|
#define NOISE_FLOOR_CALIB_INTERVAL_MS 2000
|
||||||
#define AGC_RESET_INTERVAL_MS 30000
|
#define AGC_RESET_INTERVAL_MS 30000
|
||||||
@@ -91,14 +94,35 @@ void setup() {
|
|||||||
rng.begin(radio_get_rng_seed());
|
rng.begin(radio_get_rng_seed());
|
||||||
loadOrCreateIdentity();
|
loadOrCreateIdentity();
|
||||||
|
|
||||||
|
sensors.begin();
|
||||||
|
|
||||||
|
#if defined(KISS_UART_RX) && defined(KISS_UART_TX)
|
||||||
|
#if defined(ESP32)
|
||||||
|
Serial1.setPins(KISS_UART_RX, KISS_UART_TX);
|
||||||
|
Serial1.begin(115200);
|
||||||
|
#elif defined(NRF52_PLATFORM)
|
||||||
|
((Uart *)&Serial1)->setPins(KISS_UART_RX, KISS_UART_TX);
|
||||||
|
Serial1.begin(115200);
|
||||||
|
#elif defined(RP2040_PLATFORM)
|
||||||
|
((SerialUART *)&Serial1)->setRX(KISS_UART_RX);
|
||||||
|
((SerialUART *)&Serial1)->setTX(KISS_UART_TX);
|
||||||
|
Serial1.begin(115200);
|
||||||
|
#elif defined(STM32_PLATFORM)
|
||||||
|
((HardwareSerial *)&Serial1)->setRx(KISS_UART_RX);
|
||||||
|
((HardwareSerial *)&Serial1)->setTx(KISS_UART_TX);
|
||||||
|
Serial1.begin(115200);
|
||||||
|
#else
|
||||||
|
#error "KISS UART not supported on this platform"
|
||||||
|
#endif
|
||||||
|
modem = new KissModem(Serial1, identity, rng, radio_driver, board, sensors);
|
||||||
|
#else
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
uint32_t start = millis();
|
uint32_t start = millis();
|
||||||
while (!Serial && millis() - start < 3000) delay(10);
|
while (!Serial && millis() - start < 3000) delay(10);
|
||||||
delay(100);
|
delay(100);
|
||||||
|
|
||||||
sensors.begin();
|
|
||||||
|
|
||||||
modem = new KissModem(Serial, identity, rng, radio_driver, board, sensors);
|
modem = new KissModem(Serial, identity, rng, radio_driver, board, sensors);
|
||||||
|
#endif
|
||||||
|
|
||||||
modem->setRadioCallback(onSetRadio);
|
modem->setRadioCallback(onSetRadio);
|
||||||
modem->setTxPowerCallback(onSetTxPower);
|
modem->setTxPowerCallback(onSetTxPower);
|
||||||
modem->setGetCurrentRssiCallback(onGetCurrentRssi);
|
modem->setGetCurrentRssiCallback(onGetCurrentRssi);
|
||||||
|
|||||||
Reference in New Issue
Block a user