Update payload.cpp

This commit is contained in:
August Quint 2020-03-13 15:25:18 +01:00 committed by GitHub
parent 406f71eea5
commit 8520afcf8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -319,14 +319,20 @@ void PayloadConvert::addByte(uint8_t value) {
void PayloadConvert::addSDS(sdsStatus_t sds) { void PayloadConvert::addSDS(sdsStatus_t sds) {
#if (HAS_SDS011) #if (HAS_SDS011)
// value of PM10
#if (PAYLOAD_ENCODER == 3) // Cayenne LPP dynamic #if (PAYLOAD_ENCODER == 3) // Cayenne LPP dynamic
buffer[cursor++] = LPP_PARTMATTER_CHANNEL; // for PM10 and PM25 buffer[cursor++] = LPP_PARTMATTER10_CHANNEL; // for PM10
#endif #endif
buffer[cursor++] = LPP_LUMINOSITY; // workaround since cayenne has no data type meter buffer[cursor++] = LPP_LUMINOSITY; // workaround since cayenne has no data type meter
buffer[cursor++] = highByte(sds.pm10); buffer[cursor++] = highByte((uint16_t)(sds.pm10 * 10));
buffer[cursor++] = lowByte(sds.pm10); buffer[cursor++] = lowByte((uint16_t)(sds.pm10 * 10));
buffer[cursor++] = highByte(sds.pm25); // value of PM2.5
buffer[cursor++] = lowByte(sds.pm25); #if (PAYLOAD_ENCODER == 3) // Cayenne LPP dynamic
buffer[cursor++] = LPP_PARTMATTER25_CHANNEL; // for PM2.5
#endif
buffer[cursor++] = LPP_LUMINOSITY; // workaround since cayenne has no data type meter
buffer[cursor++] = highByte((uint16_t)(sds.pm25 * 10));
buffer[cursor++] = lowByte((uint16_t)(sds.pm25 * 10));
#endif // HAS_SDS011 #endif // HAS_SDS011
} }