add primordial SBAS/EGNOS/WAAS/etc payload extraction

pull/35/head
bert hubert 2019-11-04 07:52:01 +01:00
parent efd9244651
commit f09d312c90
2 changed files with 13 additions and 0 deletions

12
ubx.cc
View File

@ -126,3 +126,15 @@ basic_string<uint8_t> getBeidouFromSFRBXMsg(std::basic_string_view<uint8_t> msg)
return payload;
}
basic_string<uint8_t> getSBASFromSFRBXMsg(std::basic_string_view<uint8_t> msg)
{
// byte order adjustment
std::basic_string<uint8_t> payload;
for(unsigned int i = 0 ; i < (msg.size() - 8) / 4; ++i)
for(int j=1; j <= 4; ++j)
payload.append(1, msg[8 + (i+1) * 4 -j]);
return payload;
}

1
ubx.hh
View File

@ -9,4 +9,5 @@ std::basic_string<uint8_t> getInavFromSFRBXMsg(std::basic_string_view<uint8_t> m
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);
struct CRCMismatch{};