17#ifndef PROTO_C_INCLUDE_TRANSCODER_H_
18#define PROTO_C_INCLUDE_TRANSCODER_H_
27#include "controller.pb.h"
28#include "measurements.pb.h"
29#include "user_config.pb.h"
56 double voltage,
double current, uint8_t*
buffer);
75 uint32_t cell_id, uint32_t voltage,
76 uint32_t current, uint8_t*
buffer);
97 uint32_t cell_id,
double vwc_raw,
98 double vwc_adj,
double temp, uint32_t ec,
118 uint32_t cell_id,
double matric_pot,
119 double temp, uint8_t*
buffer);
141 uint32_t cell_id,
double voltage,
142 double leaf_wetness, uint8_t*
buffer);
177 uint32_t cell_id, uint32_t pressure,
178 int32_t temperature, uint32_t humidity,
201 uint32_t cell_id,
double voltage,
202 double water_pressure, uint8_t*
buffer);
224 uint32_t cell_id,
double voltage,
225 double humidity, uint8_t*
buffer);
246 uint32_t cell_id,
double water_flow,
266 uint32_t cell_id,
double capacitance,
319 size_t n, uint8_t*
buffer,
size_t size);
332 uint8_t*
buffer,
size_t size);
367 const UserConfiguration* config_data,
368 uint8_t*
buffer,
size_t size);
380 uint8_t*
buffer,
size_t size);
422 UserConfiguration* config);
size_t EncodeTeros21Measurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, double matric_pot, double temp, uint8_t *buffer)
Encodes a Teros21 measurement.
size_t EncodeWiFiCommand(const WiFiCommand *wifi_cmd, uint8_t *buffer, size_t size)
Encodes a WiFiCommand.
size_t EncodeWaterFlowMeasurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, double water_flow, uint8_t *buffer)
Encodes a Water Flow measurement.
int DecodeUserConfiguration(const uint8_t *data, const size_t len, UserConfiguration *config)
Decodes user configuration data.
size_t EncodePhytos31Measurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, double voltage, double leaf_wetness, uint8_t *buffer)
Encodes a Phytos31 measurement.
size_t EncodePageCommand(PageCommand_RequestType req, int fd, size_t bs, size_t n, uint8_t *buffer, size_t size)
Encodes a page command.
Response_ResponseType DecodeResponse(const uint8_t *data, const size_t len)
Decodes a response message.
size_t EncodePCAP02Measurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, double capacitance, uint8_t *buffer)
Encodes a PCAP02 measurement.
size_t EncodeTestCommand(TestCommand_ChangeState state, int32_t data, uint8_t *buffer, size_t size)
Encodes a test command.
size_t EncodePowerDeltaMeasurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, uint32_t voltage, uint32_t current, uint8_t *buffer)
Encodes power delta measurements.
size_t EncodePowerCommand(const PowerCommand *power_cmd, uint8_t *buffer, size_t size)
Encodes a PowerCommand.
size_t EncodeSEN0308Measurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, double voltage, double humidity, uint8_t *buffer)
Encodes a Capacitive Soil Moisture measurement.
size_t EncodeIrrigationCommand(const IrrigationCommand *irrigation_cmd, uint8_t *buffer, size_t size)
Encodes an IrrigationCommand.
Esp32Command DecodeEsp32Command(const uint8_t *data, const size_t len)
Decodes an Esp32Command message.
size_t EncodePowerMeasurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, double voltage, double current, uint8_t *buffer)
Encodes a power measurement.
size_t EncodeUserConfigCommand(UserConfigCommand_RequestType type, const UserConfiguration *config_data, uint8_t *buffer, size_t size)
Encodes a UserConfigCommand into a protobuf message.
size_t EncodeBME280Measurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, uint32_t pressure, int32_t temperature, uint32_t humidity, uint8_t *buffer)
Encodes a BME280 measurement.
size_t EncodeUserConfiguration(const UserConfiguration *config, uint8_t *buffer)
Encodes user configuration data.
size_t EncodeTeros12Measurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, double vwc_raw, double vwc_adj, double temp, uint32_t ec, uint8_t *buffer)
Encodes a Teros12 measurement.
size_t EncodeWaterPressMeasurement(uint32_t ts, uint32_t logger_id, uint32_t cell_id, double voltage, double water_pressure, uint8_t *buffer)
Encodes a Water Pressure measurement.
size_t EncodeMicroSDCommand(const MicroSDCommand *microsd_cmd, uint8_t *buffer, size_t size)
Encodes a MicroSDCommand.
int DecodeMeasurement(Measurement *meas, const uint8_t *buffer, const size_t len)
Decodes a measurement.