ESP32-PaxCounter/src/payload.h

82 lines
1.8 KiB
C
Raw Normal View History

2018-06-16 13:18:36 +02:00
#ifndef _PAYLOAD_H_
#define _PAYLOAD_H_
#include <Arduino.h>
2018-06-16 19:50:36 +02:00
#include "LoraEncoder.h"
2018-06-16 13:18:36 +02:00
2018-06-17 01:15:02 +02:00
// MyDevices CayenneLPP channels
#define LPP_GPS_CHANNEL 20
#define LPP_COUNT_WIFI_CHANNEL 21
#define LPP_COUNT_BLE_CHANNEL 22
#define LPP_BATT_CHANNEL 23
#define LPP_ADR_CHANNEL 25
#define LPP_TEMP_CHANNEL 26
// MyDevices CayenneLPP types
#define LPP_GPS 136 // 3 byte lon/lat 0.0001 °, 3 bytes alt 0.01m
#define LPP_TEMPERATURE 103 // 2 bytes, 0.1°C signed
#define LPP_DIGITAL_INPUT 0 // 1 byte
#define LPP_DIGITAL_OUTPUT 1 // 1 byte
#define LPP_ANALOG_INPUT 2 // 2 bytes, 0.01 signed
2018-06-16 13:18:36 +02:00
class TTNplain {
public:
TTNplain(uint8_t size);
~TTNplain();
void reset(void);
uint8_t getSize(void);
uint8_t *getBuffer(void);
void addCount(uint16_t value1, uint16_t value2);
void addGPS(gpsStatus_t value);
void addConfig(configData_t value);
void addStatus(uint16_t voltage, uint64_t uptime, float cputemp);
private:
uint8_t *buffer;
uint8_t maxsize;
uint8_t cursor;
};
2018-06-16 19:50:36 +02:00
class TTNserialized {
public:
TTNserialized(uint8_t size);
~TTNserialized();
void reset(void);
uint8_t getSize(void);
uint8_t *getBuffer(void);
void addCount(uint16_t value1, uint16_t value2);
void addGPS(gpsStatus_t value);
void addConfig(configData_t value);
void addStatus(uint16_t voltage, uint64_t uptime, float cputemp);
private:
uint8_t *buffer;
LoraEncoder message(byte *buffer);
};
class CayenneLPP {
public:
CayenneLPP(uint8_t size);
~CayenneLPP();
void reset(void);
uint8_t getSize(void);
uint8_t *getBuffer(void);
void addCount(uint16_t value1, uint16_t value2);
void addGPS(gpsStatus_t value);
void addConfig(configData_t value);
void addStatus(uint16_t voltage, uint64_t uptime, float cputemp);
private:
uint8_t *buffer;
uint8_t maxsize;
uint8_t cursor;
};
#endif // _PAYLOAD_H_