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_BATTERY_PERC 117
72#define LPP_PARTICULATE_MATTER_1_0 138
73#define LPP_PARTICULATE_MATTER_2_5 139
74#define LPP_UNIX_TIME 133
75#define LPP_MIN8_TIME 145
76#define LPP_MIN16_TIME 146
80#define LPP_CONCENTRATION_SIZE 4
81#define LPP_VOLTAGE_SIZE 4
82#define LPP_BATTERY_PERC_SIZE (2+1)
83#define LPP_PARTICULATE_MATTER_SIZE 4
84#define LPP_UNIX_TIME_SIZE (2+4)
85#define LPP_MIN8_TIME_SIZE (2+1)
86#define LPP_MIN16_TIME_SIZE (2+2)
198 int16_t val = (int16_t)(value * 100);
218 int16_t val = (int16_t)(value * 100);
275 int16_t val = (int16_t)(celsius * 10);
313 int16_t vx = (int16_t)(x * 1000);
314 int16_t vy = (int16_t)(y * 1000);
315 int16_t vz = (int16_t)(z * 1000);
340 int16_t val = (int16_t)(hpa * 10);
361 int16_t vx = (int16_t)(x * 100);
362 int16_t vy = (int16_t)(y * 100);
363 int16_t vz = (int16_t)(z * 100);
388 int32_t lat = (int32_t)(latitude * 10000);
389 int32_t lon = (int32_t)(longitude * 10000);
390 int32_t alt = (int32_t)(meters * 100);
448 uint16_t val = (uint16_t) (voltage * 100);
468 uint16_t val = (uint16_t) (concentration_1_0 * 100.0f);
488 uint16_t val = (uint16_t) (concentration_2_5 * 100.0f);
uint8_t CayenneLppAddTemperature(uint8_t channel, float celsius)
#define LPP_RELATIVE_HUMIDITY
uint8_t CayenneLppAddBatteryPerc(uint8_t channel, uint8_t perc)
Add battery percent of voltage data to the buffer (1B).
#define LPP_GYROMETER_SIZE
uint8_t * CayenneLppGetBuffer(void)
#define LPP_BATTERY_PERC_SIZE
#define LPP_BAROMETRIC_PRESSURE
#define LPP_DIGITAL_OUTPUT
#define LPP_DIGITAL_OUTPUT_SIZE
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
#define LPP_MIN16_TIME_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
uint8_t CayenneLppAddTimeMeasureABS(uint8_t channel, uint32_t timeMeasure)
Add UTC time of measure to the buffer.
#define LPP_PARTICULATE_MATTER_2_5
static uint8_t CayenneLppBuffer[242]
#define LPP_ACCELEROMETER
void CayenneLppReset(void)
uint8_t CayenneLppMaxBuffer()
uint8_t CayenneLppAddAnalogOutput(uint8_t channel, float value)
uint8_t CayenneLppAddAnalogInput(uint8_t channel, float value)
uint8_t CayenneLppAddTimeMeasureMIN16(uint8_t channel, uint16_t timeOffsetMin16)
Add the relative time of measuring - offset from previous measured data less than 65535 minutes (abou...
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
#define LPP_MIN8_TIME_SIZE
static uint8_t CayenneLppCursor
#define LPP_PRESENCE_SIZE
#define LPP_ACCELEROMETER_SIZE
#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_CONCENTRATION
uint8_t CayenneLppAddTimeMeasureMIN8(uint8_t channel, uint8_t timeOffsetMin8)
Add the relative time of measuring - offset from previous measured data less than 255 minutes The tim...
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.