ENTS-tock
Environmental NeTworked Sensor firmware on Tock OS
Loading...
Searching...
No Matches
transcoder.c File Reference
#include "transcoder.h"
#include <nanopb/pb_decode.h>
#include <nanopb/pb_encode.h>

Go to the source code of this file.

Functions

size_t EncodeMeasurement (Measurement *meas, uint8_t *buffer)
 Encodes a measurement.
 
size_t EncodeEsp32Command (const Esp32Command *cmd, uint8_t *buffer, size_t size)
 Encodes a esp32command.
 
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 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 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 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 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 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 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 EncodeWaterFlowMeasurement (uint32_t ts, uint32_t logger_id, uint32_t cell_id, double water_flow, uint8_t *buffer)
 Encodes a Water Flow measurement.
 
size_t EncodePCAP02Measurement (uint32_t ts, uint32_t logger_id, uint32_t cell_id, double capacitance, uint8_t *buffer)
 Encodes a PCAP02 measurement.
 
Response_ResponseType DecodeResponse (const uint8_t *data, const size_t len)
 Decodes a response message.
 
int DecodeMeasurement (Measurement *meas, const uint8_t *buffer, const size_t len)
 Decodes a measurement.
 
Esp32Command DecodeEsp32Command (const uint8_t *data, const size_t len)
 Decodes an Esp32Command message.
 
size_t EncodePageCommand (PageCommand_RequestType req, int fd, size_t bs, size_t n, uint8_t *buffer, size_t size)
 Encodes a page command.
 
size_t EncodeTestCommand (TestCommand_ChangeState state, int32_t data, uint8_t *buffer, size_t size)
 Encodes a test command.
 
size_t EncodeMicroSDCommand (const MicroSDCommand *microsd_cmd, uint8_t *buffer, size_t size)
 Encodes a MicroSDCommand.
 
size_t EncodeWiFiCommand (const WiFiCommand *wifi_cmd, uint8_t *buffer, size_t size)
 Encodes a WiFiCommand.
 
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 EncodeIrrigationCommand (const IrrigationCommand *irrigation_cmd, uint8_t *buffer, size_t size)
 Encodes an IrrigationCommand.
 
size_t EncodePowerCommand (const PowerCommand *power_cmd, uint8_t *buffer, size_t size)
 Encodes a PowerCommand.
 
size_t EncodeUserConfiguration (const UserConfiguration *config, uint8_t *buffer)
 Encodes user configuration data.
 
int DecodeUserConfiguration (const uint8_t *data, const size_t len, UserConfiguration *config)
 Decodes user configuration data.
 

Detailed Description

See also
transcoder.h
Author
John Madden jmadd.nosp@m.en17.nosp@m.3@pm..nosp@m.me
Date
2023-01-04

Definition in file transcoder.c.

Function Documentation

◆ EncodeEsp32Command()

size_t EncodeEsp32Command ( const Esp32Command *  cmd,
uint8_t *  buffer,
size_t  size 
)

Encodes a esp32command.

Serializes a esp32command object and stores result in buffer. The resulting number of bytes is returned with -1 indicating there was an error.

Parameters
cmdReference to command
bufferBuffer to store serialized esp32command
sizeSize of buffer
Returns
Length of buffer, -1 indicates there was an error

Definition at line 347 of file transcoder.c.

References buffer.

Referenced by EncodeIrrigationCommand(), EncodeMicroSDCommand(), EncodePageCommand(), EncodePowerCommand(), EncodeTestCommand(), EncodeUserConfigCommand(), and EncodeWiFiCommand().

◆ EncodeMeasurement()

size_t EncodeMeasurement ( Measurement *  meas,
uint8_t *  buffer 
)

Encodes a measurement.

Serializes a generic measurement using protobuf and stores result in buffer. The resulting number of bytes is returned with -1 indicating there was an error.

Parameters
measMeasurement
bufferBuffer to store serialized measurement
Returns
Length of buffer, -1 indicates there was an error

Definition at line 222 of file transcoder.c.

References buffer.

Referenced by EncodeBME280Measurement(), EncodePCAP02Measurement(), EncodePhytos31Measurement(), EncodePowerMeasurement(), EncodeSEN0308Measurement(), EncodeTeros12Measurement(), EncodeTeros21Measurement(), EncodeWaterFlowMeasurement(), and EncodeWaterPressMeasurement().