diff --git a/ETCPLPP.cpp b/ETCPLPP.cpp index 8b3229d..158c20d 100644 --- a/ETCPLPP.cpp +++ b/ETCPLPP.cpp @@ -112,20 +112,7 @@ uint8_t ETCPLPP::addLuminosity(uint8_t channel, uint16_t lux) return cursor; } -uint8_t CayenneLPP::addPresence(uint8_t channel, uint8_t value) -{ - if ((cursor + LPP_PRESENCE_SIZE) > maxsize) - { - return 0; - } - buffer[cursor++] = channel; - buffer[cursor++] = LPP_PRESENCE; - buffer[cursor++] = value; - - return cursor; -} - -uint8_t CayenneLPP::addTemperature(uint8_t channel, float celsius) +uint8_t ETCPLPP::addTemperature(uint8_t channel, float celsius) { if ((cursor + LPP_TEMPERATURE_SIZE) > maxsize) { @@ -140,7 +127,7 @@ uint8_t CayenneLPP::addTemperature(uint8_t channel, float celsius) return cursor; } -uint8_t CayenneLPP::addRelativeHumidity(uint8_t channel, float rh) +uint8_t ETCPLPP::addRelativeHumidity(uint8_t channel, float rh) { if ((cursor + LPP_RELATIVE_HUMIDITY_SIZE) > maxsize) { @@ -153,29 +140,7 @@ uint8_t CayenneLPP::addRelativeHumidity(uint8_t channel, float rh) return cursor; } -uint8_t CayenneLPP::addAccelerometer(uint8_t channel, float x, float y, float z) -{ - if ((cursor + LPP_ACCELEROMETER_SIZE) > maxsize) - { - return 0; - } - int16_t vx = x * 1000; - int16_t vy = y * 1000; - int16_t vz = z * 1000; - - buffer[cursor++] = channel; - buffer[cursor++] = LPP_ACCELEROMETER; - buffer[cursor++] = vx >> 8; - buffer[cursor++] = vx; - buffer[cursor++] = vy >> 8; - buffer[cursor++] = vy; - buffer[cursor++] = vz >> 8; - buffer[cursor++] = vz; - - return cursor; -} - -uint8_t CayenneLPP::addBarometricPressure(uint8_t channel, float hpa) +uint8_t ETCPLPP::addBarometricPressure(uint8_t channel, float hpa) { if ((cursor + LPP_BAROMETRIC_PRESSURE_SIZE) > maxsize) { @@ -190,51 +155,3 @@ uint8_t CayenneLPP::addBarometricPressure(uint8_t channel, float hpa) return cursor; } - -uint8_t CayenneLPP::addGyrometer(uint8_t channel, float x, float y, float z) -{ - if ((cursor + LPP_GYROMETER_SIZE) > maxsize) - { - return 0; - } - int16_t vx = x * 100; - int16_t vy = y * 100; - int16_t vz = z * 100; - - buffer[cursor++] = channel; - buffer[cursor++] = LPP_GYROMETER; - buffer[cursor++] = vx >> 8; - buffer[cursor++] = vx; - buffer[cursor++] = vy >> 8; - buffer[cursor++] = vy; - buffer[cursor++] = vz >> 8; - buffer[cursor++] = vz; - - return cursor; -} - -uint8_t CayenneLPP::addGPS(uint8_t channel, float latitude, float longitude, float meters) -{ - if ((cursor + LPP_GPS_SIZE) > maxsize) - { - return 0; - } - int32_t lat = latitude * 10000; - int32_t lon = longitude * 10000; - int32_t alt = meters * 100; - - buffer[cursor++] = channel; - buffer[cursor++] = LPP_GPS; - - buffer[cursor++] = lat >> 16; - buffer[cursor++] = lat >> 8; - buffer[cursor++] = lat; - buffer[cursor++] = lon >> 16; - buffer[cursor++] = lon >> 8; - buffer[cursor++] = lon; - buffer[cursor++] = alt >> 16; - buffer[cursor++] = alt >> 8; - buffer[cursor++] = alt; - - return cursor; -} diff --git a/ETCPLPP.h b/ETCPLPP.h index a6ea622..c6340f6 100644 --- a/ETCPLPP.h +++ b/ETCPLPP.h @@ -29,8 +29,8 @@ #define LPP_TEMPERATURE_SIZE 4 // input, 2 bytes, 0.1°C signed #define LPP_RELATIVE_HUMIDITY_SIZE 3 // input, 1 byte, 0.5% unsigned #define LPP_ACCELERATION_SIZE 4 // input, 2 bytes, 0.001G -#define LPP_BAROMETRIC_PRESSURE 4 // input, 2 bytes 0.1 hPa unsigned -#define LPP_ANGLE_VELOCITY 4 // input, 2 bytes, 0.01 °/s +#define LPP_BAROMETRIC_PRESSURE_SIZE 4 // input, 2 bytes 0.1 hPa unsigned +#define LPP_ANGLE_VELOCITY_SIZE 4 // input, 2 bytes, 0.01 °/s #define LPP_LUMINOSITY_SIZE 4 // 2 bytes, 1 lux unsigned #define LPP_BATTERY_VOLTAGE_SIZE 4 // 2 bytes, 1mV unsigned #define LPP_BATTERY_STATUS_SIZE 3 // 1 byte 1% @@ -53,13 +53,9 @@ public: uint8_t addAnalogOutput(uint8_t channel, float value); uint8_t addLuminosity(uint8_t channel, uint16_t lux); - uint8_t addPresence(uint8_t channel, uint8_t value); uint8_t addTemperature(uint8_t channel, float celsius); uint8_t addRelativeHumidity(uint8_t channel, float rh); - uint8_t addAccelerometer(uint8_t channel, float x, float y, float z); uint8_t addBarometricPressure(uint8_t channel, float hpa); - uint8_t addGyrometer(uint8_t channel, float x, float y, float z); - uint8_t addGPS(uint8_t channel, float latitude, float longitude, float meters); private: uint8_t *buffer;