Improve and refactor

pull/42/head
sh123 2021-10-26 15:34:08 +03:00
rodzic 5abf4e8d09
commit 987a83184b
3 zmienionych plików z 21 dodań i 16 usunięć

Wyświetl plik

@ -221,12 +221,12 @@ bool Processor::receiveByteRaw(byte rxByte)
}
isRawIdle_ = false;
}
onRigTx(rxByte);
// NOTE, TNC2 uses \n as a packet delimiter
if (rxByte == '\n') {
onRigTx('\0');
onRigTxEnd();
isRawIdle_ = true;
} else {
onRigTx(rxByte);
}
return true;
}

Wyświetl plik

@ -447,13 +447,29 @@ bool Service::sendAX25ToLora(const AX25::Payload &payload)
}
void Service::onRigPacket(void *packet, int packetLength)
{
{
if (config_.EnableAutoFreqCorrection) {
performFrequencyCorrection();
}
if (config_.KissEnableExtensions) {
#ifdef USE_RADIOLIB
sendSignalReportEvent(radio_->getRSSI(), radio_->getSNR());
#else
sendSignalReportEvent(LoRa.packetRssi(), LoRa.packetSnr());
#endif
}
if (!config_.IsClientMode) {
processIncomingRawPacketAsServer((const byte*)packet, packetLength);
}
}
void Service::performFrequencyCorrection() {
#ifdef USE_RADIOLIB
long frequencyErrorHz = radio_->getFrequencyError();
#else
long frequencyErrorHz = LoRa.packetFrequencyError();
#endif
if (config_.EnableAutoFreqCorrection && abs(frequencyErrorHz) > config_.AutoFreqCorrectionDeltaHz) {
if (abs(frequencyErrorHz) > config_.AutoFreqCorrectionDeltaHz) {
config_.LoraFreq -= frequencyErrorHz;
LOG_INFO("Correcting frequency:", frequencyErrorHz);
#ifdef USE_RADIOLIB
@ -470,18 +486,6 @@ void Service::onRigPacket(void *packet, int packetLength)
}
#endif
}
if (config_.KissEnableExtensions) {
#ifdef USE_RADIOLIB
sendSignalReportEvent(radio_->getRSSI(), radio_->getSNR());
#else
sendSignalReportEvent(LoRa.packetRssi(), LoRa.packetSnr());
#endif
}
if (!config_.IsClientMode) {
processIncomingRawPacketAsServer((const byte*)packet, packetLength);
}
}
#ifndef USE_RADIOLIB

Wyświetl plik

@ -61,6 +61,7 @@ private:
void sendToAprsis(const String &aprsMessage);
bool sendAX25ToLora(const AX25::Payload &payload);
void processIncomingRawPacketAsServer(const byte *packet, int packetLength);
void performFrequencyCorrection();
inline bool needsAprsis() const {
return !config_.IsClientMode // only in server mode