lora: race condition removed, preparation for rx, getSnapshot, beautify led and i2c files
Dieser Commit ist enthalten in:
1 Ursprung
256fb9cdac
Commit
618ff87d5c
6 Dateien geändert
+230
-50
Keine Dateien entsprechen Ihrer Suche
@@ -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);
|
||||
|
||||
};
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren