lora: race condition removed, preparation for rx, getSnapshot, beautify led and i2c files

Dieser Commit ist enthalten in:
tom committed 2026-10-20 22:13:38 +02:00
1 Ursprung 256fb9cdac
Commit 618ff87d5c
6 Dateien geändert
+230 -50

Keine Dateien entsprechen Ihrer Suche

+16
Datei anzeigen
@@ -16,6 +16,9 @@
#include "freertos/semphr.h"
#include "freertos/task.h"
#include "lora_types.hpp"
#include <iostream>
#include <string>
#include <cstring>
/**
@@ -76,6 +79,17 @@ public:
*/
void setBandwidth(uint32_t bw_khz);
/**
* @brief Generates an atomic, high-performance runtime snapshot of configuration parameters and metrics.
* @details This routine performs a rapid, thread-safe memory copy of the volatile tracking state variables.
* Unlike getPacketListCopy(), this method explicitly excludes the heavy heap-allocated packet list data,
* making it exceptionally lightweight and highly suitable for high-frequency UI display refreshes,
* CLI updates, or periodic remote health diagnostics.
* @note Acquires the internal synchronization mutex lock momentarily to guarantee structural telemetry alignment.
* @return A self-contained snapshot structure mapping the current system hardware configurations and operational counts.
*/
LoraStateSnapshot getSnapshot();
private:
static const char* TAG;
@@ -110,4 +124,6 @@ private:
*/
void calculateTelemetry(uint8_t rawRssi, uint8_t rawSnr, float& outRssi, float& outSnr);
size_t utf8_advance(const std::string& str, size_t start_byte, size_t num_chars);
};