Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
zephyr.h
Go to the documentation of this file.
1
10
11#ifndef INFUSE_GNSS_UBX_ZEPHYR_H_
12#define INFUSE_GNSS_UBX_ZEPHYR_H_
13
14#include <zephyr/drivers/gnss.h>
15
16#include <infuse/gnss/ubx/cfg.h>
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
29
39
48int gnss_system_to_ubx_gnss_id(enum gnss_system gnss_system);
49
57static inline enum gnss_fix_status ubx_nav_pvt_to_fix_status(const struct ubx_msg_nav_pvt *pvt)
58{
59 switch (pvt->fix_type) {
62 return GNSS_FIX_STATUS_NO_FIX;
64 return GNSS_FIX_STATUS_ESTIMATED_FIX;
65 default:
66 return GNSS_FIX_STATUS_GNSS_FIX;
67 }
68}
69
77static inline enum gnss_fix_quality ubx_nav_pvt_to_fix_quality(const struct ubx_msg_nav_pvt *pvt)
78{
79 switch (pvt->fix_type) {
82 return GNSS_FIX_QUALITY_INVALID;
84 return GNSS_FIX_QUALITY_ESTIMATED;
85 default:
86 return GNSS_FIX_QUALITY_GNSS_SPS;
87 }
88}
89
93
94#ifdef __cplusplus
95}
96#endif
97
98#endif /* INFUSE_GNSS_UBX_ZEPHYR_H_ */
ubx_gnss_id
UBX GNSS constellation identifiers.
Definition defines.h:30
@ UBX_MSG_NAV_PVT_FIX_TYPE_NO_FIX
No fix.
Definition protocol.h:854
@ UBX_MSG_NAV_PVT_FIX_TYPE_TIME_ONLY
Time only fix.
Definition protocol.h:864
@ UBX_MSG_NAV_PVT_FIX_TYPE_DEAD_RECKONING
Dead reckoning only.
Definition protocol.h:856
static enum gnss_fix_quality ubx_nav_pvt_to_fix_quality(const struct ubx_msg_nav_pvt *pvt)
Get fix quality from NAV-PVT message.
Definition zephyr.h:77
int ubx_gnss_id_to_gnss_system(enum ubx_gnss_id gnss_id)
Convert UBX GNSS ID to Zephyr GNSS ID.
int gnss_system_to_ubx_gnss_id(enum gnss_system gnss_system)
Convert Zephyr GNSS ID to UBX GNSS ID.
static enum gnss_fix_status ubx_nav_pvt_to_fix_status(const struct ubx_msg_nav_pvt *pvt)
Get fix status from NAV-PVT message.
Definition zephyr.h:57
Response from UBX_MSG_ID_NAV_PVT (polled or periodic)
Definition protocol.h:767
uint8_t fix_type
GNSSfix Type.
Definition protocol.h:789