From 45ad137c9358d0e3b0d5fabcb0f45d5746739375 Mon Sep 17 00:00:00 2001 From: Adrien van den Bossche <vandenbo@univ-tlse2.fr> Date: Fri, 7 Aug 2020 13:20:12 +0200 Subject: [PATCH] Add createUniversalGnssPacketWithMovementId() method --- arduino/Locapack/Locapack.cpp | 35 +++++++++++++++++++++++++++++++++++ arduino/Locapack/Locapack.h | 6 ++++++ 2 files changed, 41 insertions(+) diff --git a/arduino/Locapack/Locapack.cpp b/arduino/Locapack/Locapack.cpp index 8631142..4a425d5 100644 --- a/arduino/Locapack/Locapack.cpp +++ b/arduino/Locapack/Locapack.cpp @@ -220,6 +220,41 @@ int Locapack::createUniversalGnssPacket(universalGnssPacket_t* universalGnssPack } +int Locapack::createUniversalGnssPacketWithMovementId(universalGnssPacket_t* universalGnssPacket, uint8_t movement_id, uint8_t* buffer) +{ + int len = 0; + uint8_t payload_buffer[MAX_BUFFER_LEN]; + int payload_buffer_len = 0; + + payload_buffer_len = makeUniversalGnssPayload( + universalGnssPacket->valid_gnss_position, + universalGnssPacket->latitude, + universalGnssPacket->longitude, + universalGnssPacket->altitude_present, + universalGnssPacket->altitude, + universalGnssPacket->dop_present, + universalGnssPacket->dop, + payload_buffer); + + // protocol_version_t PROTOCOL_V1 + // uint8_t movement_id_presence_flag false + // uint8_t timestamp_presence_flag true + // packet_type_t packet_type PACKET_TYPE_UNIVERSAL_GNSS + // uint16_t sequence_number (internal sequence_number) + // uint64_t timestamp (millis) + // uint8_t movement_id disabled + // device_id_t* device_id (internal device_id) + // uint8_t* payload the UniversalGnssPacket generated + // uint8_t payload_len the generated packet length + // uint8_t* buffer the given buffer + + len = makePacket(PROTOCOL_V1, true, true, PACKET_TYPE_UNIVERSAL_GNSS, ++_sequence_number_universalGnssPacket, + (uint64_t)millis(), movement_id, &_device_id, payload_buffer, payload_buffer_len, buffer); + + return len; +} + + int Locapack::makeLocallyReferencedPayload(float x, float y, bool z_present, float z, bool dop_present, float dop, bool frameofref_id_present, uint64_t frameofref_id, uint8_t* buffer) { diff --git a/arduino/Locapack/Locapack.h b/arduino/Locapack/Locapack.h index 7347edd..c4a7710 100644 --- a/arduino/Locapack/Locapack.h +++ b/arduino/Locapack/Locapack.h @@ -166,6 +166,12 @@ class Locapack { /// int createUniversalGnssPacket(universalGnssPacket_t* gnss, uint8_t* buffer); + /// + /// @brief + /// @param + /// + int createUniversalGnssPacketWithMovementId(universalGnssPacket_t* universalGnssPacket, uint8_t movement_id, uint8_t* buffer); + /// /// @brief /// @param -- GitLab