0.4.1
Loading...
Searching...
No Matches
EmlidUtilities.hpp
Go to the documentation of this file.
1// This file is part of INSTINCT, the INS Toolkit for Integrated
2// Navigation Concepts and Training by the Institute of Navigation of
3// the University of Stuttgart, Germany.
4//
5// This Source Code Form is subject to the terms of the Mozilla Public
6// License, v. 2.0. If a copy of the MPL was not distributed with this
7// file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
9/// @file EmlidUtilities.hpp
10/// @brief Helper Functions to work with Emlid Sensors
11/// @author T. Topp (topp@ins.uni-stuttgart.de)
12/// @date 2020-07-22
13
14#pragma once
15
16#include <cstdint>
17#include <vector>
18#include <memory>
19
20#include "uart/protocol/packet.hpp"
22
23namespace NAV::vendor::emlid
24{
25/// @brief Decrypts the provided Emlid observation
26///
27/// @param[in] obs Emlid Observation to decrypt
28/// @param[in, out] packet Uart packet with the data (content gets changed because data gets extracted)
29void decryptEmlidObs(const std::shared_ptr<NAV::EmlidObs>& obs, uart::protocol::Packet& packet);
30
31/// @brief Calculates the two UBX checksums for the provided data vector
32///
33/// @param[in] data Data Vector for which the checksum should be calculated
34/// @return The checksums CK_A and CK_B
35std::pair<uint8_t, uint8_t> checksumUBX(const std::vector<uint8_t>& data);
36
37} // namespace NAV::vendor::emlid
Emlid Observation Class.
std::pair< uint8_t, uint8_t > checksumUBX(const std::vector< uint8_t > &data)
Calculates the two UBX checksums for the provided data vector.
void decryptEmlidObs(const std::shared_ptr< NAV::EmlidObs > &obs, uart::protocol::Packet &packet)
Decrypts the provided Emlid observation.