13#ifndef __FPSDK_COMMON_TO_JSON_PARSER_UBX_HPP__
14#define __FPSDK_COMMON_TO_JSON_PARSER_UBX_HPP__
22#include <nlohmann/json.hpp>
34inline void to_json_UBX_ACK(nlohmann::json& j,
const std::vector<uint8_t>& data,
const bool ack_or_nak)
41 j = nlohmann::json::object({
42 {
"clsId", ack.clsId },
43 {
"msgId", ack.msgId },
56inline void to_json_UBX_CFG_CFG(nlohmann::json& j,
const std::vector<uint8_t>& data)
63 j = nlohmann::json::object({
64 {
"clearMask", cfg.clearMask },
65 {
"saveMask", cfg.saveMask },
66 {
"loadMask", cfg.loadMask },
71 std::memcpy(&dev, &data[
UBX_HEAD_SIZE +
sizeof(cfg)],
sizeof(dev));
79inline void to_json_UBX_CFG_RST(nlohmann::json& j,
const std::vector<uint8_t>& data)
84 j = nlohmann::json::object({
85 {
"navBbrMask", rst.navBbrMask },
93inline void to_json_UBX_CFG_VALDEL(nlohmann::json& j,
const std::vector<uint8_t>& data)
103 j = nlohmann::json::object({
104 {
"version", head.version },
108 {
"keys",
string::Base64Enc(std::vector<uint8_t>(data.cbegin() + offs, data.cbegin() + offs + size)) },
115inline void to_json_UBX_CFG_VALGET(nlohmann::json& j,
const std::vector<uint8_t>& data)
125 j = nlohmann::json::object({
126 {
"version", head.version },
128 {
"position", head.position },
129 {
"keys",
string::Base64Enc(std::vector<uint8_t>(data.cbegin() + offs, data.cbegin() + offs + size)) },
136 j = nlohmann::json::object({
137 {
"version", head.version },
139 {
"position", head.position },
140 {
"cfgData",
string::Base64Enc(std::vector<uint8_t>(data.cbegin() + offs, data.cbegin() + offs + size)) },
147inline void to_json_UBX_CFG_VALSET(nlohmann::json& j,
const std::vector<uint8_t>& data)
157 j = nlohmann::json::object({
158 {
"version", head.version },
162 {
"cfgData",
string::Base64Enc(std::vector<uint8_t>(data.cbegin() + offs, data.cbegin() + offs + size)) },
169 j = nlohmann::json::object({
170 {
"version", head.version },
175 {
"cfgData",
string::Base64Enc(std::vector<uint8_t>(data.cbegin() + offs, data.cbegin() + offs + size)) },
182inline void to_json_UBX_ESF_MEAS(nlohmann::json& j,
const std::vector<uint8_t>& data)
192 auto meas = nlohmann::json::array();
195 std::memcpy(&m, &data[offs],
sizeof(m));
196 meas.push_back(nlohmann::json::object({
202 j = nlohmann::json::object({
203 {
"timeTag", head.timeTag },
213 std::memcpy(&g2, &data[offs],
sizeof(g2));
214 j[
"calibTtag"] = g2.calibTtag;
220inline void to_json_UBX_ESF_STATUS(nlohmann::json& j,
const std::vector<uint8_t>& data)
232 auto sens = nlohmann::json::array();
235 std::memcpy(&s, &data[offs],
sizeof(s));
236 sens.push_back(nlohmann::json::object({
250 j = nlohmann::json::object({
251 {
"iTOW", head.iTOW },
252 {
"version", head.version },
253 {
"numSens", head.numSens },
265inline void to_json_UBX_MGA_GAL_OSNMA_PUBKEY(nlohmann::json& j,
const std::vector<uint8_t>& data)
270 j = nlohmann::json::object({
272 {
"version", pk.version },
276 string::Base64Enc(std::vector<uint8_t>(pk.pubKeyPoint, pk.pubKeyPoint +
sizeof(pk.pubKeyPoint))) },
283inline void to_json_UBX_MGA_GAL_OSNMA_MERKLE(nlohmann::json& j,
const std::vector<uint8_t>& data)
288 j = nlohmann::json::object({
290 {
"version", mt.version },
292 {
"treeNode",
string::Base64Enc(std::vector<uint8_t>(mt.treeNode, mt.treeNode +
sizeof(mt.treeNode))) },
299inline void to_json_UBX_MGA_INI_TIME_UTC(nlohmann::json& j,
const std::vector<uint8_t>& data)
304 j = nlohmann::json::object({
305 {
"type", ini.type },
306 {
"version", ini.version },
307 {
"leapSecs", ini.leapSecs },
308 {
"year", ini.year },
309 {
"month", ini.month },
311 {
"hour", ini.hour },
312 {
"minute", ini.minute },
313 {
"second", ini.second },
315 {
"tAccS", ini.tAccS },
316 {
"tAccNs", ini.tAccNs },
327inline void to_json_UBX_MGA_INI_TIME_GNSS(nlohmann::json& j,
const std::vector<uint8_t>& data)
332 j = nlohmann::json::object({
333 {
"type", ini.type },
334 {
"version", ini.version },
335 {
"week", ini.week },
338 {
"tAccS", ini.tAccS },
339 {
"tAccNs", ini.tAccNs },
351inline void to_json_UBX_MON_COMMS(nlohmann::json& j,
const std::vector<uint8_t>& data)
361 auto prot_ids = nlohmann::json::array();
362 for (std::size_t ix = 0; ix <
types::NumOf(head.protIds); ix++) {
367 auto ports = nlohmann::json::array();
370 std::memcpy(&p, &data[offs],
sizeof(p));
371 ports.push_back(nlohmann::json::object({
372 {
"portId", p.portId },
373 {
"txPending", p.txPending },
374 {
"txBytes", p.txBytes },
375 {
"txUsage", p.txUsage },
376 {
"txPeakUsage", p.txPeakUsage },
377 {
"rxPending", p.rxPending },
378 {
"rxBytes", p.rxBytes },
379 {
"rxUsage", p.rxUsage },
380 {
"rxPeakUsage", p.rxPeakUsage },
381 {
"overrunErrors", p.overrunErrors },
382 {
"msgs", nlohmann::json::array({ p.msgs[0], p.msgs[1], p.msgs[2], p.msgs[3] }) },
383 {
"skipped", p.skipped },
387 j = nlohmann::json::object({
388 {
"version", head.version },
389 {
"nPorts", head.nPorts },
393 {
"protIds", prot_ids },
400inline void to_json_UBX_MON_HW(nlohmann::json& j,
const std::vector<uint8_t>& data)
405 j = nlohmann::json::object({
406 {
"pinSel", hw.pinSel },
407 {
"pinBank", hw.pinBank },
408 {
"pinDir", hw.pinDir },
409 {
"pinVal", hw.pinVal },
410 {
"noisePerMS", hw.noisePerMS },
411 {
"agcCnt", hw.agcCnt },
412 {
"usedMask", hw.usedMask },
413 {
"jamInd", hw.jamInd },
414 {
"pinIrq", hw.pinIrq },
415 {
"pullH", hw.pullH },
416 {
"pullL", hw.pullL },
430inline void to_json_UBX_MON_HW2(nlohmann::json& j,
const std::vector<uint8_t>& data)
435 j = nlohmann::json::object({
436 {
"ofsI", hw2.ofsI },
437 {
"magI", hw2.magI },
438 {
"ofsQ", hw2.ofsQ },
439 {
"magQ", hw2.magQ },
440 {
"lowLevCfg", hw2.lowLevCfg },
441 {
"postStatus", hw2.postStatus },
449inline void to_json_UBX_MON_HW3(nlohmann::json& j,
const std::vector<uint8_t>& data)
459 char hw_version[
sizeof(head.hwVersion) + 1] = { 0 };
460 std::memcpy(hw_version, head.hwVersion,
sizeof(head.hwVersion));
463 auto pins = nlohmann::json::array();
466 std::memcpy(&p, &data[offs],
sizeof(p));
468 const uint16_t pin_id = p.pinId;
469 const uint16_t pin_mask = p.pinMask;
470 const uint8_t vp = p.VP;
471 pins.push_back(nlohmann::json::object({
485 j = nlohmann::json::object({
486 {
"version", head.version },
487 {
"nPins", head.nPins },
491 {
"hwVersion", hw_version },
498inline void to_json_UBX_MON_RF(nlohmann::json& j,
const std::vector<uint8_t>& data)
510 auto blocks = nlohmann::json::array();
513 std::memcpy(&b, &data[offs],
sizeof(b));
514 blocks.push_back(nlohmann::json::object({
515 {
"blockId", b.blockId },
519 {
"postStatus", b.postStatus },
520 {
"noisePerMS", b.noisePerMS },
521 {
"agcCnt", b.agcCnt },
522 {
"jamInd", b.jamInd },
530 j = nlohmann::json::object({
531 {
"version", head.version },
532 {
"nBlocks", head.nBlocks },
533 {
"blocks", blocks },
539inline void to_json_UBX_MON_SPAN(nlohmann::json& j,
const std::vector<uint8_t>& data)
549 auto blocks = nlohmann::json::array();
552 std::memcpy(&b, &data[offs],
sizeof(b));
553 auto spectrum = nlohmann::json::array();
554 for (std::size_t bin = 0; bin <
types::NumOf(b.spectrum); bin++) {
555 spectrum.push_back(b.spectrum[bin]);
557 blocks.push_back(nlohmann::json::object({
560 {
"center", b.center },
562 {
"spectrum", spectrum },
566 j = nlohmann::json::object({
567 {
"version", head.version },
568 {
"numRfBlocks", head.numRfBlocks },
569 {
"blocks", blocks },
575inline void to_json_UBX_MON_SYS(nlohmann::json& j,
const std::vector<uint8_t>& data)
580 j = nlohmann::json::object({
581 {
"msgVer", sys.msgVer },
582 {
"cpuLoad", sys.cpuLoad },
583 {
"cpuLoadMax", sys.cpuLoadMax },
584 {
"memUsage", sys.memUsage },
585 {
"memUsageMax", sys.memUsageMax },
586 {
"ioUsage", sys.ioUsage },
587 {
"ioUsageMax", sys.ioUsageMax },
588 {
"runTime", sys.runTime },
589 {
"noticeCount", sys.noticeCount },
590 {
"warnCount", sys.warnCount },
591 {
"errorCount", sys.errorCount },
592 {
"tempValue", sys.tempValue },
600inline void to_json_UBX_MON_TEMP(nlohmann::json& j,
const std::vector<uint8_t>& data)
605 j = nlohmann::json::object({
606 {
"version", temp.version },
607 {
"temperature", temp.temperature },
608 {
"unknown", temp.unknown },
615inline void to_json_UBX_MON_VER(nlohmann::json& j,
const std::vector<uint8_t>& data)
623 char sw_version[
sizeof(head.swVersion) + 1] = { 0 };
624 char hw_version[
sizeof(head.hwVersion) + 1] = { 0 };
625 std::memcpy(sw_version, head.swVersion,
sizeof(head.swVersion));
626 std::memcpy(hw_version, head.hwVersion,
sizeof(head.hwVersion));
630 auto extensions = nlohmann::json::array();
633 std::memcpy(&e, &data[offs],
sizeof(e));
634 char extension[
sizeof(e.extension) + 1] = { 0 };
635 std::memcpy(extension, e.extension,
sizeof(e.extension));
636 extensions.push_back(extension);
639 j = nlohmann::json::object({
640 {
"swVersion", sw_version },
641 {
"hwVersion", hw_version },
642 {
"extensions", extensions },
648inline void to_json_UBX_NAV_ATT(nlohmann::json& j,
const std::vector<uint8_t>& data)
653 j = nlohmann::json::object({
654 {
"iTOW", att.iTOW },
655 {
"version", att.version },
656 {
"roll", att.roll },
657 {
"pitch", att.pitch },
658 {
"heading", att.heading },
659 {
"accRoll", att.accRoll },
660 {
"accPitch", att.accPitch },
661 {
"accHeading", att.accHeading },
668inline void to_json_UBX_NAV_CLOCK(nlohmann::json& j,
const std::vector<uint8_t>& data)
673 j = nlohmann::json::object({
674 {
"iTow", clock.iTow },
675 {
"clkB", clock.clkB },
676 {
"clkD", clock.clkD },
677 {
"tAcc", clock.tAcc },
678 {
"fAcc", clock.fAcc },
685inline void to_json_UBX_NAV_COV(nlohmann::json& j,
const std::vector<uint8_t>& data)
690 j = nlohmann::json::object({
691 {
"iTOW", cov.iTOW },
692 {
"version", cov.version },
693 {
"posCovNN", cov.posCovNN },
694 {
"posCovNE", cov.posCovNE },
695 {
"posCovND", cov.posCovND },
696 {
"posCovEE", cov.posCovEE },
697 {
"posCovED", cov.posCovED },
698 {
"posCovDD", cov.posCovDD },
699 {
"velCovNN", cov.velCovNN },
700 {
"velCovNE", cov.velCovNE },
701 {
"velCovND", cov.velCovND },
702 {
"velCovEE", cov.velCovEE },
703 {
"velCovED", cov.velCovED },
704 {
"velCovDD", cov.velCovDD },
705 {
"posCovValid", cov.posCovValid != 0 },
706 {
"velCovValid", cov.velCovValid != 0 },
713inline void to_json_UBX_NAV_DOP(nlohmann::json& j,
const std::vector<uint8_t>& data)
719 j = nlohmann::json::object({
720 {
"iTOW", (uint32_t)dop.iTOW },
721 {
"gDOP", (uint16_t)dop.gDOP },
722 {
"pDOP", (uint16_t)dop.pDOP },
723 {
"tDOP", (uint16_t)dop.tDOP },
724 {
"vDOP", (uint16_t)dop.vDOP },
725 {
"hDOP", (uint16_t)dop.hDOP },
726 {
"nDOP", (uint16_t)dop.nDOP },
727 {
"eDOP", (uint16_t)dop.eDOP },
734inline void to_json_UBX_NAV_EELL(nlohmann::json& j,
const std::vector<uint8_t>& data)
739 j = nlohmann::json::object({
740 {
"iTOW", eell.iTOW },
741 {
"version", eell.version },
742 {
"errEllipseOrient", eell.errEllipseOrient },
743 {
"errEllipseMajor", eell.errEllipseMajor },
744 {
"errEllipseMinor", eell.errEllipseMinor },
751inline void to_json_UBX_NAV_EOE(nlohmann::json& j,
const std::vector<uint8_t>& data)
756 j = nlohmann::json::object({
757 {
"iTOW", eoe.iTOW },
764inline void to_json_UBX_NAV_HPPOSECEF(nlohmann::json& j,
const std::vector<uint8_t>& data)
770 j = nlohmann::json::object({
771 {
"version", pos.version },
772 {
"iTOW", pos.iTOW },
773 {
"ecefX", pos.ecefX },
774 {
"ecefY", pos.ecefY },
775 {
"ecefZ", pos.ecefZ },
776 {
"ecefXHp", pos.ecefXHp },
777 {
"ecefYHp", pos.ecefYHp },
778 {
"ecefZHp", pos.ecefZHp },
779 {
"pAcc", pos.pAcc },
787inline void to_json_UBX_NAV_HPPOSLLH(nlohmann::json& j,
const std::vector<uint8_t>& data)
793 j = nlohmann::json::object({
794 {
"version", pos.version },
795 {
"iTOW", pos.iTOW },
798 {
"height", pos.height },
799 {
"hMSL", pos.hMSL },
800 {
"lonHp", pos.lonHp },
801 {
"latHp", pos.latHp },
802 {
"heightHp", pos.heightHp },
803 {
"hMSLHp", pos.hMSLHp },
804 {
"hAcc", pos.hAcc },
805 {
"vAcc", pos.vAcc },
813inline void to_json_UBX_NAV_POSECEF(nlohmann::json& j,
const std::vector<uint8_t>& data)
818 j = nlohmann::json::object({
819 {
"iTOW", pos.iTOW },
820 {
"ecefX", pos.ecefX },
821 {
"ecefY", pos.ecefY },
822 {
"ecefZ", pos.ecefZ },
823 {
"pAcc", pos.pAcc },
830inline void to_json_UBX_NAV_PVT(nlohmann::json& j,
const std::vector<uint8_t>& data)
835 j = nlohmann::json::object({
836 {
"iTOW", pvt.iTOW },
837 {
"year", pvt.year },
838 {
"month", pvt.month },
840 {
"hour", pvt.hour },
843 {
"tAcc", pvt.tAcc },
844 {
"nano", pvt.nano },
845 {
"numSV", pvt.numSV },
848 {
"height", pvt.height },
849 {
"hMSL", pvt.hMSL },
850 {
"hAcc", pvt.hAcc },
851 {
"vAcc", pvt.vAcc },
852 {
"velN", pvt.velN },
853 {
"velE", pvt.velE },
854 {
"velD", pvt.velD },
855 {
"gSpeed", pvt.gSpeed },
856 {
"headMot", pvt.headMot },
857 {
"sAcc", pvt.sAcc },
858 {
"headAcc", pvt.headAcc },
859 {
"pDOP", pvt.pDOP },
860 {
"headVeh", pvt.headVeh },
861 {
"magDec", pvt.magDec },
862 {
"magAcc", pvt.magAcc },
886inline void to_json_UBX_NAV_RELPOSNED(nlohmann::json& j,
const std::vector<uint8_t>& data)
892 j = nlohmann::json::object({
893 {
"version", rel.version },
894 {
"refStationId", rel.refStationId },
895 {
"iTOW", rel.iTOW },
896 {
"relPosN", rel.relPosN },
897 {
"relPosE", rel.relPosE },
898 {
"relPosD", rel.relPosD },
899 {
"relPosLength", rel.relPosLength },
900 {
"relPosHeading", rel.relPosHeading },
901 {
"relPosHPN", rel.relPosHPN },
902 {
"relPosHPE", rel.relPosHPE },
903 {
"relPosHPD", rel.relPosHPD },
904 {
"relPosHPLength", rel.relPosHPLength },
905 {
"accN", rel.accN },
906 {
"accE", rel.accE },
907 {
"accD", rel.accD },
908 {
"accLength", rel.accLength },
909 {
"accHeading", rel.accHeading },
925inline void to_json_UBX_NAV_SAT(nlohmann::json& j,
const std::vector<uint8_t>& data)
937 auto svs = nlohmann::json::array();
940 std::memcpy(&s, &data[offs],
sizeof(s));
941 svs.push_back(nlohmann::json::object({
947 {
"prRes", s.prRes },
956 j = nlohmann::json::object({
957 {
"iTOW", head.iTOW },
958 {
"version", head.version },
959 {
"numSvs", head.numSvs },
966inline void to_json_UBX_NAV_SIG(nlohmann::json& j,
const std::vector<uint8_t>& data)
978 auto sigs = nlohmann::json::array();
981 std::memcpy(&s, &data[offs],
sizeof(s));
982 sigs.push_back(nlohmann::json::object({
987 {
"prRes", s.prRes },
1004 j = nlohmann::json::object({
1005 {
"iTOW", head.iTOW },
1006 {
"version", head.version },
1007 {
"numSigs", head.numSigs },
1014inline void to_json_UBX_NAV_STATUS(nlohmann::json& j,
const std::vector<uint8_t>& data)
1019 j = nlohmann::json::object({
1020 {
"iTow", sta.iTow },
1021 {
"ttff", sta.ttff },
1022 {
"msss", sta.msss },
1039inline void to_json_UBX_NAV_TIMEBDS(nlohmann::json& j,
const std::vector<uint8_t>& data)
1044 j = nlohmann::json::object({
1045 {
"iTow", time.iTow },
1046 {
"SOW", time.SOW },
1047 {
"fSOW", time.fSOW },
1048 {
"week", time.week },
1049 {
"leapS", time.leapS },
1050 {
"tAcc", time.tAcc },
1060inline void to_json_UBX_NAV_TIMEGAL(nlohmann::json& j,
const std::vector<uint8_t>& data)
1065 j = nlohmann::json::object({
1066 {
"iTow", time.iTow },
1067 {
"galTow", time.galTow },
1068 {
"fGalTow", time.fGalTow },
1069 {
"galWno", time.galWno },
1070 {
"leapS", time.leapS },
1071 {
"tAcc", time.tAcc },
1081inline void to_json_UBX_NAV_TIMEGLO(nlohmann::json& j,
const std::vector<uint8_t>& data)
1086 j = nlohmann::json::object({
1087 {
"iTow", time.iTow },
1088 {
"TOD", time.TOD },
1089 {
"fTOD", time.fTOD },
1092 {
"tAcc", time.tAcc },
1101inline void to_json_UBX_NAV_TIMEGPS(nlohmann::json& j,
const std::vector<uint8_t>& data)
1106 j = nlohmann::json::object({
1107 {
"iTow", time.iTow },
1108 {
"fTOW", time.fTOW },
1109 {
"week", time.week },
1110 {
"leapS", time.leapS },
1111 {
"tAcc", time.tAcc },
1121inline void to_json_UBX_NAV_TIMETRUSTED(nlohmann::json& j,
const std::vector<uint8_t>& data)
1127 j = nlohmann::json::object({
1128 {
"version", tt.version },
1129 {
"iTOW", tt.iTOW },
1130 {
"iniWno", tt.iniWno },
1131 {
"propWno", tt.propWno },
1132 {
"iniTow", tt.iniTow },
1133 {
"propTow", tt.propTow },
1134 {
"iniTAcc", tt.iniTAcc },
1135 {
"propTAcc", tt.propTAcc },
1136 {
"deltaS", tt.deltaS },
1137 {
"deltaMs", tt.deltaMs },
1147inline void to_json_UBX_NAV_TIMEUTC(nlohmann::json& j,
const std::vector<uint8_t>& data)
1152 j = nlohmann::json::object({
1153 {
"iTow", utc.iTow },
1154 {
"tAcc", utc.tAcc },
1155 {
"nano", utc.nano },
1156 {
"year", utc.year },
1157 {
"month", utc.month },
1159 {
"hour", utc.hour },
1173inline void to_json_UBX_NAV_TIMELS(nlohmann::json& j,
const std::vector<uint8_t>& data)
1178 j = nlohmann::json::object({
1179 {
"iTOW", ls.iTOW },
1180 {
"version", ls.version },
1181 {
"currLs", ls.currLs },
1182 {
"lsChange", ls.lsChange },
1183 {
"timeToLsEvent", ls.timeToLsEvent },
1184 {
"dateOfLsGpsWn", ls.dateOfLsGpsWn },
1185 {
"dateOfLsGpsDn", ls.dateOfLsGpsDn },
1196inline void to_json_UBX_NAV_VELECEF(nlohmann::json& j,
const std::vector<uint8_t>& data)
1201 j = nlohmann::json::object({
1202 {
"iTOW", vel.iTOW },
1203 {
"ecefVX", vel.ecefVX },
1204 {
"ecefVY", vel.ecefVY },
1205 {
"ecefVZ", vel.ecefVZ },
1206 {
"sAcc", vel.sAcc },
1213inline void to_json_UBX_RXM_RAWX(nlohmann::json& j,
const std::vector<uint8_t>& data)
1223 auto meas = nlohmann::json::array();
1226 std::memcpy(&m, &data[offs],
sizeof(m));
1227 meas.push_back(nlohmann::json::object({
1228 {
"prMeas", m.prMeas },
1229 {
"cpMeas", m.cpMeas },
1230 {
"doMeas", m.doMeas },
1235 {
"locktime", m.locktime },
1247 j = nlohmann::json::object({
1248 {
"rcvTow", head.rcvTow },
1249 {
"week", head.week },
1250 {
"leapS", head.leapS },
1251 {
"numMeas", head.numMeas },
1252 {
"version", head.version },
1261inline void to_json_UBX_RXM_RTCM(nlohmann::json& j,
const std::vector<uint8_t>& data)
1266 j = nlohmann::json::object({
1267 {
"version", rtcm.version },
1268 {
"subType", rtcm.subType },
1269 {
"refStation", rtcm.refStation },
1270 {
"msgType", rtcm.msgType },
1279inline void to_json_UBX_RXM_SFRBX(nlohmann::json& j,
const std::vector<uint8_t>& data)
1290 auto dwrds = nlohmann::json::array();
1293 std::memcpy(&w, &data[offs],
sizeof(w));
1297 j = nlohmann::json::object({
1299 {
"svId", head.svId },
1302 {
"numWords", head.numWords },
1303 {
"chn", head.chn },
1304 {
"version", head.version },
1311inline void to_json_UBX_RXM_SPARTN(nlohmann::json& j,
const std::vector<uint8_t>& data)
1316 j = nlohmann::json::object({
1317 {
"version", spartn.version },
1318 {
"subType", spartn.subType },
1319 {
"msgType", spartn.msgType },
1327inline void to_json_UBX_SEC_OSNMA(nlohmann::json& j,
const std::vector<uint8_t>& data)
1339 auto svs = nlohmann::json::array();
1342 std::memcpy(&s, &data[offs],
sizeof(s));
1343 svs.push_back(nlohmann::json::object({
1351 j = nlohmann::json::object({
1352 {
"version", head.version },
1366 {
"timSyncReqDiff", head.timSyncReqDiff },
1367 {
"dsmAuthenticationStatus",
1399inline void to_json_UBX_TIM_SVIN(nlohmann::json& j,
const std::vector<uint8_t>& data)
1404 j = nlohmann::json::object({
1405 {
"dur", svin.dur },
1406 {
"meanX", svin.meanX },
1407 {
"meanY", svin.meanY },
1408 {
"meanZ", svin.meanZ },
1409 {
"meanV", svin.meanV },
1410 {
"obs", svin.obs },
1411 {
"valid", svin.valid != 0 },
1412 {
"active", svin.active != 0 },
1419inline void to_json_UBX_TIM_TM2(nlohmann::json& j,
const std::vector<uint8_t>& data)
1424 j = nlohmann::json::object({
1426 {
"count", tm2.count },
1429 {
"towMsR", tm2.towMsR },
1430 {
"towSubMsR", tm2.towSubMsR },
1431 {
"towMsF", tm2.towMsF },
1432 {
"towSubMsF", tm2.towSubMsF },
1433 {
"accEst", tm2.accEst },
1447inline void to_json_UBX_TIM_TP(nlohmann::json& j,
const std::vector<uint8_t>& data)
1452 j = nlohmann::json::object({
1453 {
"towMs", tp.towMs },
1454 {
"towSubMs", tp.towSubMs },
1455 {
"qErr", tp.qErr },
1456 {
"week", tp.week },
1471inline void to_json_UBX_MGA_GAL(nlohmann::json& j,
const std::vector<uint8_t>& data)
1482inline void to_json_UBX_MGA_INI(nlohmann::json& j,
const std::vector<uint8_t>& data)
1495inline nlohmann::json to_json_UBX(
const ParserMsg& msg)
1497 auto j = nlohmann::json::object();
Parser UBX routines and types.
static constexpr bool UBX_MGA_INI_TIME_UTC_V0_BITFIELD0_TRUSTEDSOURCE(const uint8_t bitfield0)
static constexpr uint8_t UBX_ACK_NAK_MSGID
UBX-ACK-NAK message ID.
static constexpr uint8_t UBX_NAV_VELECEF_MSGID
UBX-NAV-VELECEF message ID.
static constexpr bool UBX_ESF_MEAS_V0_FLAGS_CALIBTTAGVALID(const uint16_t flags)
static constexpr uint8_t UBX_RXM_SPARTN_V1_VERSION
static constexpr uint8_t UBX_SEC_OSNMA_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_RXM_RTCM_V2_VERSION
const char * UBX_NAV_STATUS_V0_FLAGS2_SPOOFDETSTATE_STR(const uint8_t flags2)
static constexpr uint8_t UBX_NAV_HPPOSLLH_V0_VERSION
const char * UBX_GNSSID_STR(const uint8_t gnssId)
static constexpr bool UBX_SEC_OSNMA_V3_GENERALANDTIMING_FUTUREMERKLEROOTVAL(const uint32_t generalAndTiming)
const char * UBX_SEC_OSNMA_V3_GENERALANDTIMING_FUTUREMERKLEROOTSRC_STR(const uint32_t generalAndTiming)
static constexpr uint8_t UBX_ESF_STATUS_V2_VERSION
static constexpr bool UBX_NAV_RELPOSNED_V1_FLAGS_RELPOSHEADINGVALID(const uint32_t flags)
static constexpr uint8_t UBX_SEC_OSNMA_V3_TESLAKEY_CHAINID(const uint32_t teslaKey)
static constexpr bool UBX_SEC_OSNMA_V3_OSNMAMONITORING_NODATA(const uint16_t osnmaMonitoring)
static constexpr bool UBX_NAV_STATUS_V0_FIXSTAT_DIFFCORR(const uint8_t fixStat)
static constexpr std::size_t UBX_NAV_HPPOSLLH_V0_SIZE
static constexpr uint8_t UBX_MON_HW3_MSGID
UBX-MON-HW3 message ID.
static constexpr uint8_t UBX_NAV_RELPOSNED_MSGID
UBX-NAV-RELPOSNED message ID.
static constexpr uint8_t UBX_MON_SYS_MSGID
UBX-MON-SYS message ID.
static constexpr uint8_t UBX_CFG_VALSET_V0_LAYERS_RAM
UBX-CFG-VALSET.layers flag: layer RAM.
static constexpr uint8_t UBX_NAV2_TIMEGLO_MSGID
UBX-NAV2-TIMEGLO message ID.
static constexpr bool UBX_RXM_RAWX_V1_TRKSTAT_PRVALID(const uint8_t trkStat)
static constexpr std::size_t UBX_CFG_VALSET_V1_MIN_SIZE
static constexpr bool UBX_RXM_RAWX_V1_TRKSTAT_HALFCYC(const uint8_t trkStat)
static constexpr bool UBX_NAV_PVT_V1_FLAGS2_CONFTIME(const uint8_t flags2)
const char * UBX_CFG_VALGET_V0_LAYER_STR(const uint8_t layer)
static constexpr bool UBX_NAV_TIMEBDS_V0_VALID_WEEKVALID(const uint8_t valid)
static constexpr std::size_t UBX_MGA_GAL_OSNMA_MERKLE_V0_SIZE
static constexpr uint8_t UBX_CFG_RST_MSGID
UBX-CFG-RST message ID.
static constexpr std::size_t UBX_TIM_SVIN_V0_SIZE
static constexpr bool UBX_MON_HW3_V0_PINMASK_VPMANAGER(const uint16_t pinMask)
static constexpr uint8_t UBX_NAV_TIMEUTC_V0_VALID_VALIDUTC(const uint8_t valid)
static constexpr bool UBX_SEC_OSNMA_V3_OSNMAMONITORING_WRONGMACLT(const uint16_t osnmaMonitoring)
static constexpr std::size_t UBX_MGA_INI_TIME_UTC_V0_SIZE
static constexpr uint8_t UBX_MON_CLSID
UBX-MON class ID.
static constexpr bool UBX_MON_COMMS_V0_TXERRORS_MEM(const uint8_t txErrors)
static constexpr uint8_t UBX_CFG_VALDEL_MSGID
UBX-CFG-VALDEL message ID.
const char * UBX_MON_RF_V0_ANTSTATUS_STR(const uint8_t antStatus)
static constexpr uint8_t UBX_TIM_SVIN_MSGID
UBX-TIM-SVIN message ID.
const char * UBX_NAV_STATUS_V0_GPSFIX_STR(const uint8_t gpsFix)
const char * UBX_ESF_STATUS_V2_FUSIONMODE_STR(const uint8_t fusionMode)
static constexpr uint8_t UBX_MON_HW_V0_FLAGS_RTCCALIB
const char * UBX_NAV_SIG_V0_IONOMODEL_STR(const uint8_t ionoModel)
static constexpr uint8_t UBX_NAV_SAT_V1_VERSION
static constexpr uint8_t UBX_RXM_RAWX_V1_DOSTDEV_DOSTD(const uint8_t doStdev)
static constexpr uint8_t UBX_NAV_TIMEGLO_MSGID
UBX-NAV-TIMEGLO message ID.
static constexpr std::size_t UBX_SEC_OSNMA_V3_MIN_SIZE
static constexpr uint8_t UBX_NAV2_TIMELS_MSGID
UBX-NAV2-TIMELS message ID.
static constexpr std::size_t UBX_NAV_TIMETRUSTED_V1_SIZE
static constexpr uint8_t UBX_MON_TEMP_V0_VERSION
static constexpr bool UBX_NAV_RELPOSNED_V1_FLAGS_DIFFSOLN(const uint32_t flags)
static constexpr uint8_t UBX_ESF_CLSID
UBX-ESF class ID.
static constexpr uint32_t UBX_ESF_MEAS_V0_DATA_DATAFIELD(const uint32_t data)
static constexpr bool UBX_TIM_TM2_V0_FLAGS_TIMEVALID(const uint8_t flags)
static constexpr bool UBX_NAV_TIMEUTC_V0_VALID_AUTHSTATUS(const uint8_t valid)
static constexpr std::size_t UBX_ESF_MEAS_V0_FLAGS_NUMMEAS(const uint16_t flags)
static constexpr uint8_t UBX_MON_SPAN_V0_VERSION
static constexpr uint8_t UBX_NAV_TIMETRUSTED_MSGID
UBX-NAV-TIMETRUSTED message ID.
static constexpr uint8_t UBX_SEC_OSNMA_MSGID
UBX-SEC-OSNMA message ID.
static constexpr uint8_t UBX_NAV_HPPOSECEF_VERSION(const uint8_t *msg)
const char * UBX_MON_RF_V0_FLAGS_JAMMINGSTATE_STR(const uint8_t flags)
static constexpr bool UBX_NAV_SIG_V0_SIGFLAGS_AUTH_STATUS(const uint16_t sigFlags)
static constexpr std::size_t UBX_MON_HW3_V0_MIN_SIZE
static constexpr uint8_t UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_MACSIZE(const uint32_t dsmAuthentication)
static constexpr uint8_t UBX_MON_SYS_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_MON_RF_VERSION(const uint8_t *msg)
const char * UBX_MGA_GAL_OSNMA_MERKLE_V0_BITFIELD0_APPLICABILITYTIME_STR(const uint8_t bitfield0)
static constexpr bool UBX_NAV_TIMETRUSTED_V1_VALID_TRUSTEDTIMEVALID(const uint8_t valid)
static constexpr std::size_t UBX_CFG_VALDEL_V1_MIN_SIZE
static constexpr std::size_t UBX_CFG_VALSET_V0_MIN_SIZE
const char * UBX_SEC_OSNMA_V3_GENERALANDTIMING_MACADKDTYPE_STR(const uint32_t generalAndTiming)
static constexpr bool UBX_SEC_OSNMA_V3_GENERALANDTIMING_PUBKEYVAL(const uint32_t generalAndTiming)
static constexpr uint8_t UBX_MGA_GAL_MSGID
UBX-MGA-GAL message ID.
static constexpr uint8_t UBX_MON_HW3_V0_VERSION
const char * UBX_NAV_STATUS_V0_FLAGS2_CARRSOLN_STR(const uint8_t flags2)
const char * UBX_ESF_STATUS_V2_INITSTATUS2_IMUINITSTATUS_STR(const uint8_t initStatus2)
static constexpr uint8_t UBX_NAV_COV_VERSION(const uint8_t *msg)
static constexpr bool UBX_MGA_INI_TIME_GNSS_V0_REF_FALL(const uint8_t ref)
static constexpr uint8_t UBX_ESF_STATUS_V2_FAULTS_MISSINGMEAS
const char * UBX_TIM_TP_V0_REFINFO_UTCSTANDARD_STR(const uint8_t refInfo)
static constexpr bool UBX_NAV_SIG_V0_SIGFLAGS_DO_CORR_USED(const uint16_t sigFlags)
const char * UBX_SEC_OSNMA_V3_GENERALANDTIMING_TIMINGAUTHRESULT_STR(const uint32_t generalAndTiming)
static constexpr bool UBX_NAV_STATUS_V0_FLAGS_WKNSET(const uint8_t flags)
const char * UBX_MON_HW3_V0_PINMASK_PERIPHPIO_STR(const uint16_t pinMask)
static constexpr std::size_t UBX_ESF_STATUS_V2_MIN_SIZE
static constexpr uint8_t UBX_RXM_RAWX_V1_PRSTDEV_PRSTD(const uint8_t prStdev)
static constexpr uint8_t UBX_NAV_EELL_VERSION(const uint8_t *msg)
static constexpr bool UBX_NAV_RELPOSNED_V1_FLAGS_RELPOSNORMALIZED(const uint32_t flags)
static constexpr uint8_t UBX_NAV_SAT_MSGID
UBX-NAV-SAT message ID.
static constexpr uint8_t UBX_NAV_TIMEBDS_MSGID
UBX-NAV-TIMEBDS message ID.
const char * UBX_TIM_TM2_V0_FLAGS_TIMEBASE_STR(const uint8_t flags)
static constexpr std::size_t UBX_NAV_TIMEGLO_V0_SIZE
static constexpr uint8_t UBX_MGA_CLSID
UBX-MGA class ID.
static constexpr bool UBX_MON_HW3_V0_FLAGS_RTCCALIB(const uint8_t flags)
static constexpr bool UBX_NAV_SIG_V0_SIGFLAGS_PR_CORR_USED(const uint16_t sigFlags)
static constexpr uint8_t UBX_NAV2_COV_MSGID
UBX-NAV2-COV message ID.
static constexpr std::size_t UBX_CFG_CFG_V0_MAX_SIZE
static constexpr uint8_t UBX_NAV2_CLOCK_MSGID
UBX-NAV2-CLOCK message ID.
static constexpr uint8_t UBX_CFG_VALSET_V1_LAYER_BBR
UBX-CFG-VALSET.layers flag: layer BBR.
static constexpr std::size_t UBX_MON_HW_V0_SIZE
static constexpr uint8_t UBX_NAV_ATT_VERSION(const uint8_t *msg)
static constexpr uint16_t UBX_SEC_OSNMA_V3_GROUP1_BITFIELD1_IODE(const uint16_t bitfield1)
static constexpr uint8_t UBX_CFG_CFG_V0_DEVICE_FLASH
Layer Flash.
static constexpr uint8_t UBX_RXM_RAWX_V1_VERSION
static constexpr bool UBX_NAV_STATUS_V0_FLAGS_GPSFIXOK(const uint8_t flags)
static constexpr uint8_t UBX_NAV_ATT_V0_VERSION
const char * UBX_MON_HW_V0_ASTATUS_STR(const uint8_t aStatus)
static constexpr std::size_t UBX_RXM_SFRBX_V2_MIN_SIZE
static constexpr uint8_t UBX_CFG_VALSET_V0_LAYERS_FLASH
UBX-CFG-VALSET.layers flag: layer Flash.
static constexpr uint8_t UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_KEYSIZE(const uint32_t dsmAuthentication)
static constexpr uint8_t UBX_CFG_CLSID
UBX-CFG class ID.
static constexpr bool UBX_NAV_RELPOSNED_V1_FLAGS_REFPOSMISS(const uint32_t flags)
static constexpr bool UBX_NAV_TIMETRUSTED_V1_VALID_DELTATIMEVALID(const uint8_t valid)
static constexpr std::size_t UBX_NAV_ATT_V0_SIZE
static constexpr bool UBX_NAV_PVT_V1_FLAGS3_INVALIDLLH(const uint16_t flags3)
static constexpr std::size_t UBX_TIM_TM2_V0_SIZE
static constexpr bool UBX_NAV_SIG_V0_SIGFLAGS_DO_USED(const uint16_t sigFlags)
static constexpr uint8_t UBX_NAV2_DOP_MSGID
UBX-NAV2-DOP message ID.
const char * UBX_NAV_SIG_V0_QUALITYIND_STR(const uint8_t qualityInd)
static constexpr std::size_t UBX_NAV_HPPOSECEF_V0_SIZE
const char * UBX_SEC_OSNMA_V3_NMAHEADER_NMASTATUS_STR(const uint8_t nmaHeader)
static constexpr uint8_t UBX_SEC_OSNMA_V3_GENERALANDTIMING_AUTHNUMTIM(const uint32_t generalAndTiming)
const char * UBX_ESF_STATUS_V2_SENSSTATUS2_TIMESTATUS_STR(const uint8_t sensStatus2)
static constexpr uint8_t UBX_RXM_SFRBX_MSGID
UBX-RXM-SFRBX message ID.
static constexpr std::size_t UBX_MON_SPAN_V0_SIZE(const uint8_t *msg)
static constexpr bool UBX_SEC_OSNMA_V3_TIMSYNCREQ_TIMSYNCENABLED(const uint8_t timSyncReq)
static constexpr bool UBX_NAV_PVT_V1_VALID_VALIDTIME(const uint8_t valid)
static constexpr uint8_t UBX_SEC_OSNMA_V3_VERSION
static constexpr uint8_t UBX_RXM_CLSID
UBX-RXM class ID.
static constexpr uint8_t UBX_RXM_RAWX_V1_CPSTDEV_CPSTD(const uint8_t cpStdev)
const char * UBX_ESF_MEAS_V0_FLAGS_TIMEMARKSENT_STR(const uint16_t flags)
static constexpr std::size_t UBX_MGA_INI_TIME_GNSS_V0_SIZE
static constexpr bool UBX_NAV_SAT_V1_FLAGS_ALMAVAIL(const uint32_t flags)
static constexpr uint8_t UBX_NAV_CLSID
UBX-NAV class ID.
static constexpr uint8_t UBX_RXM_RAWX_VERSION(const uint8_t *msg)
static constexpr bool UBX_SEC_OSNMA_V3_GENERALANDTIMING_FUTUREPUBKEYVAL(const uint32_t generalAndTiming)
const char * UBX_MON_HW3_V0_PINMASK_DIRECTION_STR(const uint16_t pinMask)
const char * UBX_SIGID_STR(const uint8_t gnssId, const uint8_t sigId)
static constexpr uint8_t UBX_MON_SYS_V1_VERSION
static constexpr bool UBX_TIM_TM2_V0_FLAGS_NEWRISINGEDGE(const uint8_t flags)
static constexpr uint8_t UBX_NAV_EOE_MSGID
UBX-NAV-EOE message ID.
static constexpr uint8_t UBX_MON_HW_MSGID
UBX-MON-HW message ID.
static constexpr bool UBX_NAV_TIMEBDS_V0_VALID_LEAPSVALID(const uint8_t valid)
static constexpr uint8_t UBX_NAV2_STATUS_MSGID
UBX-NAV2-STATUS message ID.
static constexpr bool UBX_NAV_HPPOSECEF_V0_FLAGS_INVALIDECEF(const uint8_t flags)
static constexpr std::size_t UBX_NAV_STATUS_V0_SIZE
const char * UBX_NAV_SAT_V1_FLAGS_ORBITSOURCE_STR(const uint32_t flags)
static constexpr int UBX_RXM_RAWX_V1_GROUP1_FREQID_TO_SLOT(const uint8_t freqId)
static constexpr uint8_t UBX_SEC_OSNMA_V3_GENERALANDTIMING_AUTHSVS(const uint32_t generalAndTiming)
static constexpr bool UBX_NAV_TIMEGPS_V0_VALID_WEEKVALID(const uint8_t valid)
static constexpr std::size_t UBX_MON_RF_V0_MIN_SIZE
static constexpr std::size_t UBX_RXM_SPARTN_V1_SIZE
const char * UBX_MON_RF_V0_ANTPOWER_STR(const uint8_t antPower)
static constexpr bool UBX_RXM_RTCM_V2_FLAGS_CRCFAILED(const uint8_t flags)
static constexpr uint8_t UBX_CFG_VALGET_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_NAV_SAT_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_MON_HW2_MSGID
UBX-MON-HW2 message ID.
static constexpr uint8_t UBX_ACK_CLSID
UBX-ACK class ID.
static constexpr bool UBX_NAV_TIMEGAL_V0_VALID_GALTOWVALID(const uint8_t valid)
static constexpr uint8_t UBX_RXM_SPARTN_VERSION(const uint8_t *msg)
static constexpr std::size_t UBX_ESF_MEAS_V0_MIN_SIZE
static constexpr std::size_t UBX_NAV_PVT_V1_SIZE
static constexpr bool UBX_SEC_OSNMA_V3_NMAHEADER_HEADERAUTHSTATUS(const uint8_t nmaHeader)
static constexpr uint8_t UBX_MON_COMMS_MSGID
UBX-MON-COMMS message ID.
static constexpr bool UBX_NAV_PVT_V1_VALID_FULLYRESOLVED(const uint8_t valid)
static constexpr uint8_t UBX_TIM_TP_MSGID
UBX-TIM-TP message ID.
static constexpr std::size_t UBX_NAV_SAT_V1_MIN_SIZE
static constexpr uint8_t UBX_RXM_SFRBX_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_MON_COMMS_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_RXM_SPARTN_MSGID
UBX-RXM-SPARTN message ID.
static constexpr std::size_t UBX_MON_SPAN_V0_MIN_SIZE
static constexpr uint8_t UBX_TIM_CLSID
UBX-TIM class ID.
const char * UBX_MON_COMMS_V0_PROTIDS_STR(const uint8_t protId)
static constexpr bool UBX_MON_HW3_V0_FLAGS_SAFEBOOT(const uint8_t flags)
static constexpr bool UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_FROMNVS(const uint32_t dsmAuthentication)
static constexpr uint8_t UBX_NAV_COV_MSGID
UBX-NAV-COV message ID.
static constexpr uint8_t UBX_NAV_POSECEF_MSGID
UBX-NAV-POSECEF message ID.
static constexpr bool UBX_MGA_INI_TIME_GNSS_V0_BITFIELD0_TRUSTEDSOURCE(const uint8_t bitfield0)
static constexpr uint8_t UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_HASHFUNCTION(const uint32_t dsmAuthentication)
static constexpr bool UBX_MGA_INI_TIME_UTC_V0_REF_LAST(const uint8_t ref)
static constexpr bool UBX_NAV_SIG_V0_SIGFLAGS_PR_SMOOTHED(const uint16_t sigFlags)
static constexpr uint8_t UBX_MON_COMMS_V0_VERSION
static constexpr std::size_t UBX_MON_COMMS_V0_MIN_SIZE
static constexpr uint8_t UBX_NAV_STATUS_MSGID
UBX-NAV-STATUS message ID.
static constexpr bool UBX_NAV_PVT_V1_VALID_VALIDDATE(const uint8_t valid)
static constexpr uint8_t UBX_SEC_OSNMA_V3_OSNMAMONITORING_NUMBERSVS(const uint16_t osnmaMonitoring)
static constexpr bool UBX_MON_HW3_V0_PINMASK_PIOPULLHIGH(const uint16_t pinMask)
static constexpr uint8_t UBX_NAV2_TIMEGPS_MSGID
UBX-NAV2-TIMEGPS message ID.
static constexpr uint8_t UBX_CFG_VALGET_V1_VERSION
UBX-CFG-VALGET.version value.
static constexpr std::size_t UBX_FRAME_SIZE
Size (in bytes) of UBX frame.
const char * UBX_RXM_RTCM_V2_FLAGS_MSGUSED_STR(const uint8_t flags)
static constexpr std::size_t UBX_NAV_VELECEF_V0_SIZE
static constexpr std::size_t UBX_MGA_GAL_OSNMA_PUBKEY_V0_SIZE
static constexpr std::size_t UBX_RXM_RAWX_V1_MIN_SIZE
static constexpr uint8_t UBX_NAV2_VELECEF_MSGID
UBX-NAV2-VELECEF message ID.
static constexpr std::size_t UBX_NAV_POSECEF_V0_SIZE
static constexpr uint8_t UBX_ACK_ACK_MSGID
UBX-ACK-ACK message ID.
static constexpr std::size_t UBX_NAV_EOE_V0_SIZE
const char * UBX_CFG_VALSET_V1_TRANSACTION_STR(const uint8_t transaction)
static constexpr uint8_t UBX_SEC_OSNMA_V3_NMAHEADER_CHAININFORCE(const uint8_t nmaHeader)
static constexpr uint8_t UBX_NAV_TIMEGAL_MSGID
UBX-NAV-TIMEGAL message ID.
static constexpr std::size_t UBX_MON_VER_V0_MIN_SIZE
const char * UBX_NAV_PVT_V1_FLAGS_PSMSTATE_STR(const uint8_t flags)
static constexpr bool UBX_NAV_TIMEGAL_V0_VALID_GALWNOVALID(const uint8_t valid)
static constexpr bool UBX_TIM_TM2_V0_FLAGS_UTCACAVAIL(const uint8_t flags)
static constexpr bool UBX_NAV_TIMEGLO_V0_VALID_DATEVALID(const uint8_t valid)
static constexpr uint8_t UBX_MON_TEMP_VERSION(const uint8_t *msg)
static constexpr std::size_t UBX_NAV_RELPOSNED_V1_SIZE
static constexpr std::size_t UBX_NAV_TIMEGPS_V0_SIZE
static constexpr uint8_t UBX_NAV_TIMEUTC_V0_VALID_VALIDTOW(const uint8_t valid)
static constexpr uint8_t UBX_SEC_OSNMA_V3_GENERALANDTIMING_FUTUREPUBKEYID(const uint32_t generalAndTiming)
static constexpr uint8_t UBX_NAV_ATT_MSGID
UBX-NAV-ATT message ID.
static constexpr bool UBX_NAV_RELPOSNED_V1_FLAGS_GNSSFIXOK(const uint32_t flags)
static std::size_t UBX_ESF_MEAS_V0_SIZE(const uint8_t *msg)
static constexpr bool UBX_RXM_RAWX_V1_TRKSTAT_SUBHALFCYC(const uint8_t trkStat)
static constexpr bool UBX_TIM_TP_V0_FLAGS_TPNOTLOCKED(const uint8_t flags)
static constexpr uint8_t UBX_NAV_CLOCK_MSGID
UBX-NAV-CLOCK message ID.
static constexpr uint8_t UBX_MON_HW_V0_FLAGS_SAFEBOOT
static constexpr bool UBX_NAV_STATUS_V0_FLAGS_DIFFSOLN(const uint8_t flags)
static constexpr uint8_t UBX_CFG_VALGET_V0_VERSION
UBX-CFG-VALGET.version value.
static constexpr uint8_t UBX_NAV_SIG_VERSION(const uint8_t *msg)
static constexpr bool UBX_NAV_TIMEGAL_V0_VALID_LEAPSVALID(const uint8_t valid)
static constexpr bool UBX_NAV_PVT_V1_FLAGS2_CONFDATE(const uint8_t flags2)
const char * UBX_NAV_SIG_V0_CORRSOURCE_STR(const uint8_t corrSource)
static constexpr bool UBX_NAV_SIG_V0_SIGFLAGS_CR_USED(const uint16_t sigFlags)
const char * UBX_TIM_TM2_V0_FLAGS_MODE_STR(const uint8_t flags)
static constexpr uint8_t UBX_ESF_STATUS_V2_SENSSTATUS1_TYPE(const uint8_t sensStatus1)
same enum as UBX-ESF-MEAS.dataType it seems //!<
static constexpr uint8_t UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_MACLOOKUPTABLE(const uint32_t dsmAuthentication)
static constexpr std::size_t UBX_NAV_TIMEGAL_V0_SIZE
static constexpr bool UBX_RXM_RAWX_V1_RECSTAT_LEAPSEC(const uint8_t recStat)
static constexpr uint8_t UBX_MGA_GAL_OSNMA_PUBKEY_TYPE
const char * UBX_NAV_PVT_V1_FLAGS3_AUTHTIME_STR(const uint16_t flags3)
static constexpr uint8_t UBX_NAV_TIMEGPS_MSGID
UBX-NAV-TIMEGPS message ID.
static constexpr bool UBX_NAV_SAT_V1_FLAGS_ANOAVAIL(const uint32_t flags)
static constexpr bool UBX_NAV_SIG_V0_SIGFLAGS_CR_CORR_USED(const uint16_t sigFlags)
static constexpr bool UBX_NAV_TIMELS_V0_VALID_CURRLSVALID(const uint8_t valid)
static constexpr uint8_t UBX_CFG_VALSET_MSGID
UBX-CFG-VALSET message ID.
const char * UBX_SEC_OSNMA_V3_GENERALANDTIMING_PUBKEYSRC_STR(const uint32_t generalAndTiming)
const char * UBX_NAV_PVT_V1_FIXTYPE_STR(const uint8_t fixType)
const char * UBX_MON_COMMS_V0_TXERRORS_OUTPUTPORT_STR(const uint8_t txErrors)
static constexpr uint8_t UBX_NAV2_CLSID
UBX-NAV2 class ID.
static constexpr uint8_t UBX_ESF_STATUS_V2_FAULTS_BADTTAG
constexpr uint8_t UbxClsId(const uint8_t *msg)
Get class ID from message.
static constexpr uint8_t UBX_CFG_VALSET_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_CFG_CFG_V0_DEVICE_BBR
Layer BBR.
static constexpr uint8_t UBX_MGA_GAL_OSNMA_PUBKEY_V0_BITFIELD0_PUBKEYID(const uint8_t bitfield0)
bool UbxGetMessageName(char *name, const std::size_t size, const uint8_t *msg, const std::size_t msg_size)
Get UBX message name.
static constexpr uint8_t UBX_MGA_INI_TIME_GNSS_TYPE
static constexpr bool UBX_NAV_TIMEGLO_V0_VALID_TODVALID(const uint8_t valid)
static constexpr std::size_t UBX_NAV_DOP_V0_SIZE
const char * UBX_MGA_INI_TIME_UTC_V0_REF_SOURCE_STR(const uint8_t ref)
static constexpr uint8_t UBX_CFG_CFG_MSGID
UBX-CFG-CFG message ID.
static constexpr bool UBX_TIM_TP_V0_FLAGS_UTC(const uint8_t flags)
static constexpr bool UBX_TIM_TM2_V0_FLAGS_NEWFALLINGEDGE(const uint8_t flags)
static constexpr bool UBX_NAV_TIMEBDS_V0_VALID_SOWVALID(const uint8_t valid)
const char * UBX_MON_HW_V0_APOWER_STR(const uint8_t aPower)
const char * UBX_NAV_TIMELS_V0_SRCOFCURRLS_STR(const uint8_t srcOfCurrLs)
static constexpr uint8_t UBX_ESF_STATUS_V2_FAULTS_NOISYMEAS
static constexpr std::size_t UBX_CFG_VALGET_V0_MIN_SIZE
static constexpr uint8_t UBX_RXM_SFRBX_V2_VERSION
static constexpr uint8_t UBX_CFG_VALDEL_V1_LAYER_FLASH
UBX-CFG-VALDEL.layers flag: layer Flash.
static constexpr bool UBX_NAV_STATUS_V0_FLAGS_TOWSET(const uint8_t flags)
const char * UBX_MON_HW2_V0_CFGSOURCE_STR(const uint8_t cfgSource)
static constexpr std::size_t UBX_MON_SYS_V1_SIZE
const char * UBX_NAV_SIG_V0_SIGFLAGS_HEALTH_STR(const uint16_t sigFlags)
static constexpr uint16_t UBX_SEC_OSNMA_V3_TESLAKEY_TOWSF(const uint32_t teslaKey)
const char * UBX_MGA_INI_TIME_GNSS_V0_REF_SOURCE_STR(const uint8_t ref)
static constexpr uint8_t UBX_MGA_GAL_OSNMA_MERKLE_TYPE
static constexpr uint8_t UBX_NAV_HPPOSECEF_MSGID
UBX-NAV-HPPOSECEF message ID.
static constexpr bool UBX_NAV_SAT_V1_FLAGS_AOPAVAIL(const uint32_t flags)
static constexpr uint8_t UBX_NAV_HPPOSECEF_V0_VERSION
static constexpr uint8_t UBX_MON_RF_MSGID
UBX-MON-RF message ID.
const char * UBX_ESF_STATUS_V2_SENSSTATUS2_CALIBSTATUS_STR(const uint8_t sensStatus2)
static constexpr uint8_t UBX_ESF_MEAS_MSGID
UBX-ESF-MEAS message ID.
static constexpr uint8_t UBX_RXM_RAWX_MSGID
UBX-RXM-RAWX message ID.
const char * UBX_NAV_PVT_V1_FLAGS3_NMAFIXSTATUS_STR(const uint16_t flags3)
const char * UBX_SEC_OSNMA_V3_GENERALANDTIMING_FUTUREPUBKEYSRC_STR(const uint32_t generalAndTiming)
static constexpr uint8_t UBX_SEC_CLSID
UBX-SEC class ID.
static constexpr bool UBX_NAV_PVT_V1_FLAGS2_CONFAVAIL(const uint8_t flags2)
const char * UBX_NAV_TIMEUTC_V0_VALID_UTCSTANDARD_STR(const uint8_t valid)
static constexpr uint8_t UBX_CFG_VALSET_V1_LAYER_FLASH
UBX-CFG-VALSET.layers flag: layer Flash.
const char * UBX_SEC_OSNMA_V3_TIMSYNCREQ_TIMSYNCSTATUS_STR(const uint8_t timSyncReq)
const char * UBX_TIM_TM2_V0_FLAGS_RUN_STR(const uint8_t flags)
static constexpr bool UBX_NAV_RELPOSNED_V1_FLAGS_ISMOVING(const uint32_t flags)
const char * UBX_NAV_PVT_V1_FLAGS3_LASTCORRECTIONAGE_STR(const uint16_t flags3)
static constexpr bool UBX_NAV_PVT_V1_FLAGS_HEADVEHVALID(const uint8_t flags)
static constexpr bool UBX_NAV_PVT_V1_FLAGS_GNSSFIXOK(const uint8_t flags)
static constexpr uint8_t UBX_SYNC_2
UBX frame sync char 2.
const char * UBX_CFG_RST_V0_RESETMODE_STR(const uint8_t resetMode)
const char * UBX_NAV_STATUS_V0_FLAGS2_PSMSTATE_STR(const uint8_t flags2)
static constexpr uint8_t UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_MACFUNCTION(const uint32_t dsmAuthentication)
static constexpr std::size_t UBX_NAV_CLOCK_V0_SIZE
static constexpr uint8_t UBX_NAV_PVT_MSGID
UBX-NAV-PVT message ID.
static constexpr std::size_t UBX_TIM_TP_V0_SIZE
const char * UBX_NAV_TIMELS_V0_SRCOFCURRLSCHANGE_STR(const uint8_t srcOfLsChange)
static constexpr uint8_t UBX_NAV_HPPOSLLH_V0_FLAGS_INVALIDLLH
static constexpr bool UBX_MON_COMMS_V0_TXERRORS_ALLOC(const uint8_t txErrors)
const char * UBX_ESF_STATUS_V2_INITSTATUS1_MNTALGSTATUS_STR(const uint8_t initStatus1)
static constexpr bool UBX_TIM_TP_V0_FLAGS_QERRINVALID(const uint8_t flags)
static constexpr uint8_t UBX_NAV2_SAT_MSGID
UBX-NAV2-SAT message ID.
static constexpr uint8_t UBX_CFG_VALSET_V1_LAYER_RAM
UBX-CFG-VALSET.layers flag: layer RAM.
static constexpr bool UBX_NAV_PVT_V1_FLAGS_DIFFSOLN(const uint8_t flags)
const char * UBX_NAV_RELPOSNED_V1_FLAGS_CARRSOLN_STR(const uint32_t flags)
static constexpr uint8_t UBX_NAV_TIMETRUSTED_VERSION(const uint8_t *msg)
static constexpr bool UBX_SEC_OSNMA_V3_GENERALANDTIMING_MERKLEROOTVAL(const uint32_t generalAndTiming)
static constexpr bool UBX_MGA_INI_TIME_UTC_V0_REF_FALL(const uint8_t ref)
static constexpr uint8_t UBX_CFG_VALSET_V0_VERSION
UBX-CFG-VALSET.version value.
static constexpr bool UBX_NAV_PVT_V1_VALID_VALIDMAG(const uint8_t valid)
static constexpr bool UBX_NAV_STATUS_V0_FIXSTAT_CARRSOLNVALID(const uint8_t fixStat)
static constexpr bool UBX_NAV_SAT_V1_FLAGS_EPHAVAIL(const uint32_t flags)
static constexpr std::size_t UBX_NAV_SIG_V0_FREQID_OFFS
static constexpr uint8_t UBX_NAV2_TIMEBDS_MSGID
UBX-NAV2-TIMEBDS message ID.
static constexpr uint8_t UBX_ESF_STATUS_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_NAV_DOP_MSGID
UBX-NAV-DOP message ID.
const char * UBX_TIM_TP_V0_REFINFO_TIMEREFGNSS_STR(const uint8_t refInfo)
const char * UBX_TIM_TP_V0_FLAGS_RAIM_STR(const uint8_t flags)
static constexpr uint8_t UBX_NAV2_TIMEUTC_MSGID
UBX-NAV2-TIMEUTC message ID.
static constexpr std::size_t UBX_CFG_CFG_V0_MIN_SIZE
static constexpr bool UBX_SEC_OSNMA_V3_OSNMAMONITORING_WRONGFLXMAC(const uint16_t osnmaMonitoring)
static constexpr bool UBX_SEC_OSNMA_V3_OSNMAMONITORING_OSNMAENABLED(const uint16_t osnmaMonitoring)
static constexpr std::size_t UBX_MON_TEMP_V0_SIZE
static constexpr std::size_t UBX_NAV_SIG_V0_MIN_SIZE
static constexpr uint8_t UBX_MON_SPAN_MSGID
UBX-MON-SPAN message ID.
static constexpr uint8_t UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_PUBKEYID(const uint32_t dsmAuthentication)
const char * UBX_MON_HW_V0_FLAGS_JAMMINGSTATE_STR(const uint8_t flags)
static constexpr bool UBX_SEC_OSNMA_V3_OSNMAMONITORING_WRONGDATA(const uint16_t osnmaMonitoring)
static constexpr uint16_t UBX_SEC_OSNMA_V3_TESLAKEY_WNSF(const uint32_t teslaKey)
static constexpr uint8_t UBX_MON_HW_V0_FLAGS_XTALABSENT
static constexpr uint8_t UBX_MGA_INI_TIME_UTC_TYPE
static constexpr uint8_t UBX_RXM_RTCM_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_CFG_VALSET_V0_LAYERS_BBR
UBX-CFG-VALSET.layers flag: layer BBR.
constexpr uint8_t UbxMsgId(const uint8_t *msg)
Get message ID from message.
static constexpr std::size_t UBX_NAV_TIMELS_V0_SIZE
static constexpr uint8_t UBX_MON_VER_MSGID
UBX-MON-VER message ID.
static constexpr uint8_t UBX_MGA_INI_MSGID
UBX-MGA-INI message ID.
static constexpr uint8_t UBX_NAV_TIMEUTC_MSGID
UBX-NAV-TIMEUTC message ID.
static constexpr uint8_t UBX_NAV_HPPOSLLH_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_NAV_EELL_MSGID
UBX-NAV-EELL message ID.
static constexpr std::size_t UBX_CFG_VALGET_V1_MIN_SIZE
static constexpr uint8_t UBX_CFG_VALDEL_V1_VERSION
UBX-CFG-VALDEL.version value.
static constexpr std::size_t UBX_CFG_RST_V0_SIZE
const char * UBX_CFG_VALGET_V1_LAYER_STR(const uint8_t layer)
static constexpr uint8_t UBX_NAV2_POSECEF_MSGID
UBX-NAV2-POSECEF message ID.
static constexpr uint8_t UBX_MON_RF_V0_VERSION
const char * UBX_SEC_OSNMA_V3_NMAHEADER_CPKS_STR(const uint8_t nmaHeader)
static constexpr std::size_t UBX_ACK_NAK_V0_SIZE
static constexpr int UBX_RXM_SFRBX_V2_GROUP0_FREQID_TO_SLOT(const uint8_t freqId)
static constexpr uint8_t UBX_CFG_VALSET_V1_VERSION
UBX-CFG-VALSET.version value.
static constexpr uint8_t UBX_MON_HW3_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_NAV2_EOE_MSGID
UBX-NAV2-EOE message ID.
static constexpr bool UBX_NAV_SIG_V0_SIGFLAGS_PR_USED(const uint16_t sigFlags)
static constexpr bool UBX_NAV_TIMEGPS_V0_VALID_TOWVALID(const uint8_t valid)
const char * UBX_MON_SYS_V1_BOOTTYPE_STR(const uint8_t bootType)
static constexpr std::size_t UBX_ACK_ACK_V0_SIZE
static constexpr bool UBX_MON_HW3_V0_FLAGS_XTALABSENT(const uint8_t flags)
static constexpr std::size_t UBX_MON_HW2_V0_SIZE
const char * UBX_TIM_TP_V0_FLAGS_TIMEBASE_STR(const uint8_t flags)
const char * UBX_SEC_OSNMA_V3_TESLAKEY_TESLAKEYAUTHSTATUS_STR(const uint32_t teslaKey)
static constexpr bool UBX_RXM_RAWX_V1_TRKSTAT_CPVALID(const uint8_t trkStat)
static constexpr uint8_t UBX_ESF_STATUS_MSGID
UBX-ESF-STATUS message ID.
static constexpr uint8_t UBX_ESF_STATUS_V2_SENSSTATUS1_READY
const char * UBX_ESF_STATUS_V2_INITSTATUS1_INSINITSTATUS_STR(const uint8_t initStatus1)
const char * UBX_SEC_OSNMA_V3_GENERALANDTIMING_MERKLEROOTSRC_STR(const uint32_t generalAndTiming)
static constexpr std::size_t UBX_RXM_RTCM_V2_SIZE
static constexpr uint8_t UBX_CFG_VALDEL_VERSION(const uint8_t *msg)
const char * UBX_RXM_SPARTN_V1_FLAGS_MSGUSED_STR(const uint8_t flags)
static constexpr std::size_t UBX_NAV_COV_V0_SIZE
static constexpr bool UBX_NAV_RELPOSNED_V1_FLAGS_REFOBSMISS(const uint32_t flags)
static constexpr bool UBX_NAV_TIMEGPS_V0_VALID_LEAPSVALID(const uint8_t valid)
const char * UBX_MON_HW3_V0_PINMASK_PINBANK_STR(const uint16_t pinMask)
const char * UBX_SEC_OSNMA_V3_DSMAUTHENTICATION_DSMAUTHENTICATIONSTATUS_STR(const uint32_t dsmAuthentication)
static constexpr uint8_t UBX_CFG_VALDEL_V1_LAYER_BBR
UBX-CFG-VALDEL.layers flag: layer BBR.
static constexpr bool UBX_MON_HW3_V0_PINMASK_PIOPULLLOW(const uint16_t pinMask)
static constexpr std::size_t UBX_NAV_TIMEBDS_V0_SIZE
static constexpr bool UBX_RXM_RAWX_V1_RECSTAT_CLKRESET(const uint8_t recStat)
const char * UBX_MGA_GAL_OSNMA_PUBKEY_V0_BITFIELD0_PUBKEYTYPE_STR(const uint8_t bitfield0)
static constexpr std::size_t UBX_RXM_RAWX_V1_SIZE(const uint8_t *msg)
static constexpr uint8_t UBX_NAV_TIMELS_MSGID
UBX-NAV-TIMELS message ID.
static constexpr uint8_t UBX_ESF_MEAS_V0_DATA_DATATYPE(const uint32_t data)
same enum as UBX-ESF-STATUS.type it seems
const char * UBX_NAV_PVT_V1_FLAGS_CARRSOLN_STR(const uint8_t flags)
const char * UBX_NAV_TIMETRUSTED_V1_REFSYS_STR(const uint8_t refSys)
static constexpr std::size_t UBX_NAV_TIMEUTC_V0_SIZE
static constexpr uint8_t UBX_NAV_TIMEUTC_V0_VALID_VALIDWKN(const uint8_t valid)
static constexpr uint8_t UBX_CFG_VALGET_MSGID
UBX-CFG-VALGET message ID.
static constexpr uint8_t UBX_TIM_TM2_MSGID
UBX-TIM-TM2 message ID.
static constexpr uint8_t UBX_NAV_SIG_MSGID
UBX-NAV-SIG message ID.
static constexpr bool UBX_NAV_TIMELS_V0_VALID_TIMETOLSEVENTVALID(const uint8_t valid)
static constexpr uint8_t UBX_NAV_EELL_V0_VERSION
static constexpr uint8_t UBX_MON_SPAN_VERSION(const uint8_t *msg)
static constexpr uint8_t UBX_NAV_RELPOSNED_VERSION(const uint8_t *msg)
const char * UBX_SEC_OSNMA_V3_OSNMAMONITORING_NMAHEADERUPDATE_STR(const uint16_t osnmaMonitoring)
static constexpr uint8_t UBX_NAV_HPPOSLLH_MSGID
UBX-NAV-HPPOSLLH message ID.
static constexpr uint8_t UBX_RXM_RTCM_MSGID
UBX-RXM-RTCM message ID.
const char * UBX_CFG_VALDEL_V1_TRANSACTION_STR(const uint8_t transaction)
static constexpr uint8_t UBX_NAV_SIG_V0_VERSION
static constexpr bool UBX_NAV_RELPOSNED_V1_FLAGS_RELPOSVALID(const uint32_t flags)
static constexpr uint8_t UBX_NAV2_PVT_MSGID
UBX-NAV2-PVT message ID.
static constexpr uint8_t UBX_SEC_OSNMA_V3_GROUP1_BITFIELD1_AUTHNUM(const uint16_t bitfield1)
static constexpr bool UBX_SEC_OSNMA_V3_GROUP1_BITFIELD1_AUTHSTATUS(const uint16_t bitfield1)
static constexpr uint8_t UBX_ESF_STATUS_V2_SENSSTATUS1_USED
const char * UBX_ESF_STATUS_V2_INITSTATUS1_WTINITSTATUS_STR(const uint8_t initStatus1)
static constexpr uint8_t UBX_MON_TEMP_MSGID
UBX-MON-TEMP message ID.
static constexpr uint8_t UBX_NAV_COV_V0_VERSION
static constexpr bool UBX_MON_HW3_V0_PINMASK_PIOIRQ(const uint16_t pinMask)
static constexpr uint8_t UBX_SYNC_1
UBX frame sync char 1.
static constexpr std::size_t UBX_HEAD_SIZE
Size of UBX frame header.
static constexpr uint8_t UBX_NAV_TIMETRUSTED_V1_VERSION
static constexpr std::size_t UBX_NAV_EELL_V0_SIZE
static constexpr uint8_t UBX_ESF_STATUS_V2_FAULTS_BADMEAS
static constexpr bool UBX_MON_HW3_V0_PINMASK_VALUE(const uint16_t pinMask)
static constexpr bool UBX_MGA_INI_TIME_GNSS_V0_REF_LAST(const uint8_t ref)
static constexpr uint8_t UBX_NAV_RELPOSNED_V1_VERSION
static constexpr uint8_t UBX_NAV2_TIMEGAL_MSGID
UBX-NAV2-TIMEGAL message ID.
static constexpr uint8_t UBX_NAV2_SIG_MSGID
UBX-NAV2-SIG message ID.
static constexpr std::size_t MAX_NAME_SIZE
Maximum size of message name string (incl. nul termination).
std::string Sprintf(const char *const fmt,...) PRINTF_ATTR(1)
Format string.
std::string Base64Enc(const std::vector< uint8_t > &buf)
Encode to base64.
constexpr std::size_t NumOf()
Get number of elements in array type.
Fixposition SDK: String utilities.
UBX-ACK-ACK (version 0, output) payload.
UBX-CFG-CFG (version 0, command) message head.
UBX-CFG-CFG (version 0, command) message optional group.
UBX-CFG-RST (version 0, command) message payload.
UBX-CFG-VALDEL (version 1, input) message payload header.
UBX-CFG-VALGET (version 0, poll) message payload header.
UBX-CFG-VALGET (version 1, output) message payload header.
UBX-CFG-VALSET (version 0, input) message payload header.
UBX-CFG-VALSET (version 1, input) message payload header.
UBX-ESF-MEAS (version 0, input and output) message head.
UBX-ESF-MEAS (version 0, input and output) data.
UBX-ESF-MEAS (version 0, input and output) timetag.
UBX-ESF-STATUS (version 0, output) message head.
UBX-ESF-STATUS (version 0, output) per-sensor status.
UBX-MGA-GAL-OSNMA_MERKLE (version 0, input) payload.
UBX-MGA-GAL-OSNMA_PUBKEY (version 0, input) payload.
UBX-MGA-INI-TIME_GNSS (version 0, input) payload.
UBX-MGA-INI-TIME_UTC (version 0, input) payload.
UBX-MON-COMMS (version 0, output) payload head.
UBX-MON-COMMS (version 0, output) payload repeated group.
UBX-MON-HW (version 0, output) payload.
UBX-MON-HW3 (version 0, output) payload.
UBX-MON-HW3 (version 0, output) payload.
UBX-MON-HW (version 0, output).
UBX-MON-RF (version 0, output) payload head.
UBX-MON-RF (version 0, output) payload repeated group.
UBX-MON-RF (version 0, output) payload head.
UBX-MON-RF (version 0, output) payload repeated group.
UBX-MON-SYS (version 1, output) payload.
UBX-MON-TEMP (version 0, output) message payload (no docu available, but u-center shows it....
UBX-MON-VER (version 0, output) message payload header.
UBX-MON-VER (version 0, output) optional repeated field.
UBX-NAV-ATT (version 0, output) payload.
UBX-NAV-COV (version 0, output) payload head.
UBX-NAV-EELL (version 0, output) payload head.
UBX-NAV-EOE (version 0, output) payload.
UBX-NAV-HPPOSECEF (version 0, output) payload.
UBX-NAV-HPPOSLLH (version 0) payload.
UBX-NAV-POSECEF (version 0, output) payload.
UBX-NAV-PVT (version 1, output) payload.
UBX-NAV-RELPOSNED (version 1, output) payload.
UBX-NAV-SAT (version 1, output) payload head.
UBX-NAV-SAT (version 1, output) payload repeated group.
UBX-NAV-SIG (version 0, output) payload head.
UBX-NAV-SIG (version 0, output) payload repeated group.
UBX-NAV-TIMETRUSTED (version 1, output) payload.
UBX-RXM-RAWX (version 1, output) payload head.
UBX-RXM-RAWX (version 1, output) payload repeated group.
UBX-RXM-RTCM (version 2, output).
UBX-RXM-SFRBX (version 2, output) payload head.
UBX-RXM-SFRBX (version 2, output) payload repeated group.
UBX-RXM-SPARTN (version 1, output).
UBX-SEC-OSNMA (version 3, output) payload head.
UBX-SEC-OSNMA (version 3, output) payload repeated group (per authenticated SV).
Fixposition SDK: Common types and type helpers.
Fixposition SDK: Parser UBX routines and types.