ENTS-tock
Environmental NeTworked Sensor firmware on Tock OS
Loading...
Searching...
No Matches
protobuf_utils.cpp
Go to the documentation of this file.
1#include "protobuf_utils.hpp"
2
3#include <Arduino.h>
4
5void printEncodedData(const uint8_t* data, size_t len) {
6 Serial.println("\n=== Encoded Protobuf Data ===");
7 Serial.print("Length: ");
8 Serial.println(len);
9 Serial.print("Data: ");
10 for (size_t i = 0; i < len; i++) {
11 if (i > 0) Serial.print(" ");
12 Serial.printf("%02X", data[i]);
13 }
14 Serial.println("\n============================");
15}
16
17void printDecodedConfig(const UserConfiguration* pb_config) {
18 Serial.println("\n=== Decoded Configuration ===");
19
20 Serial.println("Upload Settings:");
21 Serial.printf(" Logger ID: %u\n", pb_config->logger_id);
22 Serial.printf(" Cell ID: %u\n", pb_config->cell_id);
23 Serial.printf(
24 " Upload Method: %s\n",
25 pb_config->Upload_method == Uploadmethod_WiFi ? "WiFi" : "LoRa");
26 Serial.printf(" Upload Interval: %u seconds\n", pb_config->Upload_interval);
27
28 Serial.println("\nMeasurement Settings:");
29 Serial.print(" Enabled Sensors: ");
30 for (size_t i = 0; i < pb_config->enabled_sensors_count; i++) {
31 if (i > 0) Serial.print(", ");
32 switch (pb_config->enabled_sensors[i]) {
33 case EnabledSensor_Voltage:
34 Serial.print("Voltage");
35 break;
36 case EnabledSensor_Current:
37 Serial.print("Current");
38 break;
39 case EnabledSensor_Teros12:
40 Serial.print("Teros12");
41 break;
42 case EnabledSensor_Teros21:
43 Serial.print("Teros21");
44 break;
45 case EnabledSensor_BME280:
46 Serial.print("BME280");
47 break;
48 case EnabledSensor_Phytos31:
49 Serial.print("Phytos31");
50 break;
51 case EnabledSensor_SEN0308:
52 Serial.print("SEN0308");
53 break;
54 case EnabledSensor_SEN0257:
55 Serial.print("SEN0257");
56 break;
57 case EnabledSensor_YFS210C:
58 Serial.print("YFS210C");
59 break;
60 case EnabledSensor_PCAP02:
61 Serial.print("PCAP02");
62 break;
63 default:
64 Serial.print("Unrecognized sensor type");
65 break;
66 }
67 }
68 Serial.println();
69 Serial.printf(" Voltage Slope: %.4f\n", pb_config->Voltage_Slope);
70 Serial.printf(" Voltage Offset: %.4f\n", pb_config->Voltage_Offset);
71 Serial.printf(" Current Slope: %.4f\n", pb_config->Current_Slope);
72 Serial.printf(" Current Offset: %.4f\n", pb_config->Current_Offset);
73
74 if (pb_config->Upload_method == Uploadmethod_WiFi) {
75 Serial.println("\nWiFi Settings:");
76 Serial.printf(" WiFi SSID: %s\n", pb_config->WiFi_SSID);
77 Serial.printf(" WiFi Password: %s\n", pb_config->WiFi_Password);
78 Serial.printf(" API Endpoint URL: %s\n", pb_config->API_Endpoint_URL);
79 }
80
81 Serial.println("============================\n");
82}
const char data[]
uint8_t i
void printDecodedConfig(const UserConfiguration *pb_config)
void printEncodedData(const uint8_t *data, size_t len)