mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
Add KISS UART support
This commit is contained in:
parent
f445b5acdc
commit
49e7516145
1 changed files with 27 additions and 3 deletions
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue