galmon/ubx.hh

31 lines
1.4 KiB
C++
Raw Permalink Normal View History

2020-01-09 06:33:02 -07:00
#pragma once
2019-08-06 04:57:06 -06:00
#include <string>
#include <vector>
uint16_t calcUbxChecksum(uint8_t ubxClass, uint8_t ubxType, std::basic_string_view<uint8_t> str);
std::basic_string<uint8_t> buildUbxMessage(uint8_t ubxClass, uint8_t ubxType, std::basic_string_view<uint8_t> str);
std::basic_string<uint8_t> buildUbxMessage(uint8_t ubxClass, uint8_t ubxType, const std::initializer_list<uint8_t>& str);
2019-08-09 07:58:52 -06:00
std::basic_string<uint8_t> getInavFromSFRBXMsg(std::basic_string_view<uint8_t> msg,
std::basic_string<uint8_t>& reserved1,
std::basic_string<uint8_t>& reserved2,
std::basic_string<uint8_t>& sar,
std::basic_string<uint8_t>& spare,
std::basic_string<uint8_t>& crc);
2019-08-25 16:19:23 -06:00
std::basic_string<uint8_t> getGPSFromSFRBXMsg(std::basic_string_view<uint8_t> msg);
std::basic_string<uint8_t> getGlonassFromSFRBXMsg(std::basic_string_view<uint8_t> msg);
std::basic_string<uint8_t> getBeidouFromSFRBXMsg(std::basic_string_view<uint8_t> msg);
std::basic_string<uint8_t> getSBASFromSFRBXMsg(std::basic_string_view<uint8_t> msg);
2019-08-09 07:58:52 -06:00
struct CRCMismatch{};
2020-01-09 06:33:02 -07:00
struct TrkSatStat
{
int gnss;
int sv;
double dopplerHz;
uint64_t tr;
};
std::vector<TrkSatStat> parseTrkMeas(std::basic_string_view<uint8_t> payload);