|
|
|
@ -11,6 +11,9 @@ |
|
|
|
#elif defined(ESP32) |
|
|
|
#include <SPIFFS.h> |
|
|
|
#endif |
|
|
|
#if defined(KISS_UART_RX) && defined(KISS_UART_TX) |
|
|
|
#include <HardwareSerial.h> |
|
|
|
#endif |
|
|
|
|
|
|
|
#define NOISE_FLOOR_CALIB_INTERVAL_MS 2000 |
|
|
|
#define AGC_RESET_INTERVAL_MS 30000 |
|
|
|
@ -91,14 +94,35 @@ void setup() { |
|
|
|
rng.begin(radio_get_rng_seed()); |
|
|
|
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); |
|
|
|
uint32_t start = millis(); |
|
|
|
while (!Serial && millis() - start < 3000) delay(10); |
|
|
|
delay(100); |
|
|
|
|
|
|
|
sensors.begin(); |
|
|
|
|
|
|
|
modem = new KissModem(Serial, identity, rng, radio_driver, board, sensors); |
|
|
|
#endif |
|
|
|
|
|
|
|
modem->setRadioCallback(onSetRadio); |
|
|
|
modem->setTxPowerCallback(onSetTxPower); |
|
|
|
modem->setGetCurrentRssiCallback(onGetCurrentRssi); |
|
|
|
|