All checks were successful
Test project compilation / test (push) Successful in 3m51s
56 lines
1.9 KiB
C++
56 lines
1.9 KiB
C++
#include "json_builder.h"
|
|
#include <Elog.h>
|
|
#include "../global_data/water_data_queue.h"
|
|
|
|
extern DeviceTelemetry telemetry;
|
|
extern NetworkData wifi_data;
|
|
extern NetworkData ethernet_data;
|
|
extern SensorData shunt_data;
|
|
|
|
StaticJsonDocument<128> build_shunt_data_json(SensorData data) {
|
|
StaticJsonDocument<128> doc;
|
|
doc["bus_voltage"] = data.bus_voltage;
|
|
doc["shunt_voltage"] = data.shunt_voltage;
|
|
doc["current"] = data.shunt_current;
|
|
return doc;
|
|
}
|
|
|
|
StaticJsonDocument<128> build_water_data_json(WaterData data) {
|
|
StaticJsonDocument<128> doc;
|
|
doc["percentage"] = data.percentage;
|
|
doc["water_height"] = data.level;
|
|
doc["liters"] = data.liters;
|
|
return doc;
|
|
}
|
|
|
|
StaticJsonDocument<128> build_telemetry_json(DeviceTelemetry data) {
|
|
StaticJsonDocument<128> doc;
|
|
doc["uptime_seconds"] = data.uptime_seconds;
|
|
doc["heap_percent"] = data.heap_used_percent;
|
|
doc["temperature"] = data.temperature;
|
|
return doc;
|
|
}
|
|
|
|
StaticJsonDocument<256> build_network_json(NetworkData wired, NetworkData wireless) {
|
|
StaticJsonDocument<256> doc;
|
|
doc["wifi"]["ip"] = wireless.ip_address;
|
|
doc["wifi"]["rssi"] = wireless.rssi;
|
|
doc["wifi"]["link"] = wireless.link;
|
|
doc["wifi"]["ssid"] = wireless.network_name;
|
|
|
|
doc["ethernet"]["ip"] = wired.ip_address;
|
|
doc["ethernet"]["rssi"] = wired.rssi;
|
|
doc["ethernet"]["link"] = wired.link;
|
|
|
|
return doc;
|
|
}
|
|
|
|
StaticJsonDocument<128> build_ota_json(OTAStatus status) {
|
|
StaticJsonDocument<256> doc;
|
|
doc["update_available"] = status.update_available;
|
|
doc["current_version"] = String(status.current_version.major) + "." + String(status.current_version.minor) + "." + String(status.current_version.patch);
|
|
doc["new_version"] = String(status.latest_version.major) + "." + String(status.latest_version.minor) + "." + String(status.latest_version.patch);
|
|
doc["progress"] = status.update_progress;
|
|
|
|
return doc;
|
|
} |