From 3d6e059420d3c1c63b7490f2c98176cc07b52f20 Mon Sep 17 00:00:00 2001 From: sh123 Date: Tue, 26 Oct 2021 19:37:01 +0300 Subject: [PATCH] Remove some magic constants --- loraprs_service.cpp | 15 ++++++--------- loraprs_service.h | 7 +++---- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/loraprs_service.cpp b/loraprs_service.cpp index ba9ecf3..2b71527 100644 --- a/loraprs_service.cpp +++ b/loraprs_service.cpp @@ -2,7 +2,7 @@ namespace LoraPrs { -byte Service::rxBuf_[256]; +byte Service::rxBuf_[CfgMaxPacketSize]; #ifdef USE_RADIOLIB #pragma message("Using RadioLib") @@ -409,7 +409,7 @@ void Service::onAprsisDataAvailable() if (c == '\r') continue; if (c == '\n') break; aprsisData += c; - if (aprsisData.length() >= CfgMaxAprsInMessageSize) { + if (aprsisData.length() >= CfgMaxPacketSize) { LOG_WARN("APRS-IS incoming message is too long, skipping tail"); break; } @@ -441,15 +441,12 @@ void Service::sendSignalReportEvent(int rssi, float snr) bool Service::sendAX25ToLora(const AX25::Payload &payload) { int bytesWritten; - byte buf[CfgMaxAX25PayloadSize]; + byte buf[CfgMaxPacketSize]; // TNC2 text mode if (config_.EnableTextPackets) { String textPayload = payload.ToString(); - bytesWritten = textPayload.length(); - if (bytesWritten > CfgMaxAX25PayloadSize) { - bytesWritten = CfgMaxAX25PayloadSize; - } + bytesWritten = textPayload.length() > CfgMaxPacketSize ? CfgMaxPacketSize : textPayload.length(); textPayload.getBytes(buf, bytesWritten); buf[bytesWritten-1] = '\0'; @@ -528,8 +525,8 @@ void Service::processIncomingRawPacketAsServer(const byte *packet, int packetLen // try to parse as text for clients, who submit plain text if (!payload.IsValid() && config_.EnableTextPackets) { - char buf[CfgMaxAX25PayloadSize]; - int cpySize = packetLength > CfgMaxAX25PayloadSize ? CfgMaxAX25PayloadSize : packetLength; + char buf[CfgMaxPacketSize]; + int cpySize = packetLength > CfgMaxPacketSize ? CfgMaxPacketSize : packetLength; memcpy(buf, packet, cpySize); buf[cpySize-1] = '\0'; payload = AX25::Payload(String((char*)buf)); diff --git a/loraprs_service.h b/loraprs_service.h index 6c43f24..a0e6372 100644 --- a/loraprs_service.h +++ b/loraprs_service.h @@ -120,8 +120,7 @@ private: const int CfgConnRetryMs = 500; // connection retry delay, e.g. wifi const int CfgPollDelayMs = 5; // main loop delay const int CfgConnRetryMaxTimes = 10; // number of connection retries - const int CfgMaxAX25PayloadSize = 512; // maximum ax25 payload size - const int CfgMaxAprsInMessageSize = 255; // maximum aprsis to rf message size + static const int CfgMaxPacketSize = 256; // maximum packet size // csma parameters, overriden with KISS commands const long CfgCsmaPersistence = 100; // 255 for real time, lower for higher traffic @@ -145,10 +144,10 @@ private: long previousBeaconMs_; // peripherals - static byte rxBuf_[256]; + static byte rxBuf_[CfgMaxPacketSize]; #ifdef USE_RADIOLIB static bool interruptEnabled_; - CircularBuffer txQueue_; + CircularBuffer txQueue_; static std::shared_ptr radio_; #endif BluetoothSerial serialBt_;