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
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
38
47int gnss_system_to_ubx_gnss_id(enum gnss_system gnss_system);
48
56static inline enum gnss_fix_status ubx_nav_pvt_to_fix_status(const struct ubx_msg_nav_pvt *pvt)
57{
58 switch (pvt->fix_type) {
61 return GNSS_FIX_STATUS_NO_FIX;
63 return GNSS_FIX_STATUS_ESTIMATED_FIX;
64 default:
65 return GNSS_FIX_STATUS_GNSS_FIX;
66 }
67}
68
76static inline enum gnss_fix_quality ubx_nav_pvt_to_fix_quality(const struct ubx_msg_nav_pvt *pvt)
77{
78 switch (pvt->fix_type) {
81 return GNSS_FIX_QUALITY_INVALID;
83 return GNSS_FIX_QUALITY_ESTIMATED;
84 default:
85 return GNSS_FIX_QUALITY_GNSS_SPS;
86 }
87}
88
93#ifdef __cplusplus
94}
95#endif
96
97#endif /* INFUSE_GNSS_UBX_ZEPHYR_H_ */
@ UBX_MSG_NAV_PVT_FIX_TYPE_NO_FIX
Definition protocol.h:585
@ UBX_MSG_NAV_PVT_FIX_TYPE_TIME_ONLY
Definition protocol.h:590
@ UBX_MSG_NAV_PVT_FIX_TYPE_DEAD_RECKONING
Definition protocol.h:586
ubx_gnss_id
Definition defines.h:28
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:76
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:56
UBX_MSG_ID_NAV_PVT
Definition protocol.h:502
uint8_t fix_type
GNSSfix Type.
Definition protocol.h:524