Refactor client version string generation in MQTTBridge
This commit is contained in:
1 parent
8b4c1bed4a
commit
a3875d8727
2 files changed
+23
-6
No files matched your search
@@ -684,7 +684,7 @@ bool MQTTBridge::publishStatus() {
|
||||
|
||||
// Build client version string
|
||||
char client_version[64];
|
||||
snprintf(client_version, sizeof(client_version), "meshcore/%s", _firmware_version);
|
||||
getClientVersion(client_version, sizeof(client_version));
|
||||
|
||||
// Collect stats on-demand if sources are available
|
||||
int battery_mv = -1;
|
||||
@@ -1110,7 +1110,7 @@ bool MQTTBridge::createAuthToken() {
|
||||
|
||||
// Build client version string (same format as used in status messages)
|
||||
char client_version[64];
|
||||
snprintf(client_version, sizeof(client_version), "meshcore/%s", _firmware_version);
|
||||
getClientVersion(client_version, sizeof(client_version));
|
||||
|
||||
// Get email from preferences (if set)
|
||||
const char* email = nullptr;
|
||||
@@ -1374,7 +1374,7 @@ void MQTTBridge::publishStatusToAnalyzerClient(PsychicMqttClient* client, const
|
||||
|
||||
// Build client version string
|
||||
char client_version[64];
|
||||
snprintf(client_version, sizeof(client_version), "meshcore/%s", _firmware_version);
|
||||
getClientVersion(client_version, sizeof(client_version));
|
||||
|
||||
// Collect stats on-demand if sources are available
|
||||
int battery_mv = -1;
|
||||
@@ -1488,7 +1488,7 @@ void MQTTBridge::maintainAnalyzerConnections() {
|
||||
|
||||
// Build client version string (same format as used in status messages)
|
||||
char client_version[64];
|
||||
snprintf(client_version, sizeof(client_version), "meshcore/%s", _firmware_version);
|
||||
getClientVersion(client_version, sizeof(client_version));
|
||||
|
||||
// Get email from preferences (if set)
|
||||
const char* email = nullptr;
|
||||
@@ -1577,9 +1577,9 @@ void MQTTBridge::maintainAnalyzerConnections() {
|
||||
owner_key = owner_key_uppercase;
|
||||
}
|
||||
|
||||
// Build client version string (same format as used in status messages)
|
||||
// Build client version string
|
||||
char client_version[64];
|
||||
snprintf(client_version, sizeof(client_version), "meshcore/%s", _firmware_version);
|
||||
getClientVersion(client_version, sizeof(client_version));
|
||||
|
||||
// Get email from preferences (if set)
|
||||
const char* email = nullptr;
|
||||
@@ -1878,6 +1878,14 @@ Timezone* MQTTBridge::createTimezoneFromString(const char* tz_string) {
|
||||
}
|
||||
}
|
||||
|
||||
void MQTTBridge::getClientVersion(char* buffer, size_t buffer_size) const {
|
||||
if (!buffer || buffer_size == 0) {
|
||||
return;
|
||||
}
|
||||
// Generate client version string in format "meshcore/{firmware_version}"
|
||||
snprintf(buffer, buffer_size, "meshcore/%s", _firmware_version);
|
||||
}
|
||||
|
||||
void MQTTBridge::logMemoryStatus() {
|
||||
MQTT_DEBUG_PRINTLN("=== Memory Status ===");
|
||||
MQTT_DEBUG_PRINTLN("Free heap: %d bytes", ESP.getFreeHeap());
|
||||
|
||||
@@ -362,6 +362,15 @@ public:
|
||||
mesh::MainBoard* board, mesh::MillisecondClock* ms);
|
||||
|
||||
private:
|
||||
/**
|
||||
* Generate client version string in format "meshcore/{firmware_version}"
|
||||
* Memory-efficient: writes to provided buffer, no dynamic allocation
|
||||
*
|
||||
* @param buffer Buffer to write the client version string to
|
||||
* @param buffer_size Size of the buffer (must be at least 64 bytes)
|
||||
*/
|
||||
void getClientVersion(char* buffer, size_t buffer_size) const;
|
||||
|
||||
/**
|
||||
* Log memory status for debugging
|
||||
*/
|
||||
|
||||
Reference in new issue
Block a user