39#define CAYENNE_LPP_MAXBUFFER_SIZE 242
40#define LPP_DIGITAL_INPUT 0
41#define LPP_DIGITAL_OUTPUT 1
42#define LPP_ANALOG_INPUT 2
43#define LPP_ANALOG_OUTPUT 3
44#define LPP_LUMINOSITY 101
45#define LPP_PRESENCE 102
46#define LPP_TEMPERATURE 103
47#define LPP_RELATIVE_HUMIDITY 104
48#define LPP_ACCELEROMETER 113
49#define LPP_BAROMETRIC_PRESSURE 115
50#define LPP_GYROMETER 134
54#define LPP_DIGITAL_INPUT_SIZE 3
55#define LPP_DIGITAL_OUTPUT_SIZE 3
56#define LPP_ANALOG_INPUT_SIZE 4
57#define LPP_ANALOG_OUTPUT_SIZE 4
58#define LPP_LUMINOSITY_SIZE 4
59#define LPP_PRESENCE_SIZE 3
60#define LPP_TEMPERATURE_SIZE 4
61#define LPP_RELATIVE_HUMIDITY_SIZE 3
62#define LPP_ACCELEROMETER_SIZE 8
63#define LPP_BAROMETRIC_PRESSURE_SIZE 4
64#define LPP_GYROMETER_SIZE 8
65#define LPP_GPS_SIZE 11
69#define LPP_CONCENTRATION 125
70#define LPP_VOLTAGE 116
71#define LPP_PARTICULATE_MATTER_1_0 138
72#define LPP_PARTICULATE_MATTER_2_5 139
73#define LPP_UNIX_TIME 133
74#define LPP_MEAUREINTERVAL_MIN 140
77#define LPP_CONCENTRATION_SIZE 4
78#define LPP_VOLTAGE_SIZE 4
79#define LPP_PARTICULATE_MATTER_SIZE 4
80#define LPP_UNIX_TIME_SIZE 6
81#define LPP_MEAUREINTERVAL_MIN_SIZE 2
193 int16_t val = (int16_t)(value * 100);
213 int16_t val = (int16_t)(value * 100);
270 int16_t val = (int16_t)(celsius * 10);
308 int16_t vx = (int16_t)(x * 1000);
309 int16_t vy = (int16_t)(y * 1000);
310 int16_t vz = (int16_t)(z * 1000);
335 int16_t val = (int16_t)(hpa * 10);
356 int16_t vx = (int16_t)(x * 100);
357 int16_t vy = (int16_t)(y * 100);
358 int16_t vz = (int16_t)(z * 100);
383 int32_t lat = (int32_t)(latitude * 10000);
384 int32_t lon = (int32_t)(longitude * 10000);
385 int32_t alt = (int32_t)(meters * 100);
443 uint16_t val = (uint16_t) (voltage * 100);
463 uint16_t val = (uint16_t) concentration_1_0;
483 uint16_t val = (uint16_t) concentration_2_5;
uint8_t CayenneLppAddTimeFromJoin(uint8_t channel, uint32_t timeOffset)
Add time offset from LoRa join to the buffer.
uint8_t CayenneLppAddTemperature(uint8_t channel, float celsius)
#define LPP_RELATIVE_HUMIDITY
#define LPP_GYROMETER_SIZE
uint8_t * CayenneLppGetBuffer(void)
#define LPP_BAROMETRIC_PRESSURE
#define LPP_DIGITAL_OUTPUT
#define LPP_DIGITAL_OUTPUT_SIZE
#define LPP_MEAUREINTERVAL_MIN
uint8_t CayenneLppAddDigitalInput(uint8_t channel, uint8_t value)
uint8_t CayenneLppAddConcentration(uint8_t channel, uint16_t ppm)
Add CO2 concentration data to the buffer.
void CayenneLppInit(void)
#define LPP_PARTICULATE_MATTER_SIZE
uint8_t CayenneLppCopy(uint8_t *dst)
#define CAYENNE_LPP_MAXBUFFER_SIZE
uint8_t CayenneLppAddLuminosity(uint8_t channel, uint16_t lux)
uint8_t CayenneLppAddGps(uint8_t channel, float latitude, float longitude, float meters)
uint8_t CayenneLppAddPresence(uint8_t channel, uint8_t value)
uint8_t CayenneLppAddBarometricPressure(uint8_t channel, float hpa)
uint8_t CayenneLppAddVoltage(uint8_t channel, float voltage)
Add voltage data to the buffer.
#define LPP_LUMINOSITY_SIZE
#define LPP_CONCENTRATION_SIZE
#define LPP_PARTICULATE_MATTER_2_5
static uint8_t CayenneLppBuffer[242]
#define LPP_ACCELEROMETER
uint8_t CayenneLppAddBatteryVoltage(uint8_t channel, float voltage)
Add battery voltage data to the buffer.
void CayenneLppReset(void)
uint8_t CayenneLppMaxBuffer()
uint8_t CayenneLppAddAnalogOutput(uint8_t channel, float value)
uint8_t CayenneLppAddAnalogInput(uint8_t channel, float value)
uint8_t CayenneLppAddParticulateMatter_1_0(uint8_t channel, float concentration_1_0)
Add particulate matter of 1mm concentration data to the buffer.
#define LPP_PARTICULATE_MATTER_1_0
uint8_t CayenneLppAddParticulateMatter_2_5(uint8_t channel, float concentration_2_5)
Add particulate matter 2.5mm concentration data to the buffer.
#define LPP_TEMPERATURE_SIZE
uint8_t CayenneLppAddRelativeHumidity(uint8_t channel, float rh)
#define LPP_BAROMETRIC_PRESSURE_SIZE
uint8_t CayenneLppGetSize(void)
#define LPP_DIGITAL_INPUT_SIZE
#define LPP_UNIX_TIME_SIZE
static uint8_t CayenneLppCursor
#define LPP_PRESENCE_SIZE
#define LPP_ACCELEROMETER_SIZE
uint8_t CayenneLppAddMeasureInterval(uint8_t channel, uint16_t min10)
Add the measure interval in minutes *10 of data measuring.
#define LPP_ANALOG_OUTPUT
#define LPP_ANALOG_OUTPUT_SIZE
uint8_t CayenneLppAddGyrometer(uint8_t channel, float x, float y, float z)
uint8_t CayenneLppAddAccelerometer(uint8_t channel, float x, float y, float z)
#define LPP_MEAUREINTERVAL_MIN_SIZE
#define LPP_CONCENTRATION
uint8_t CayenneLppAddDigitalOutput(uint8_t channel, uint8_t value)
#define LPP_DIGITAL_INPUT
#define LPP_ANALOG_INPUT_SIZE
#define LPP_RELATIVE_HUMIDITY_SIZE
Implements the Cayenne Low Power Protocol.