Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
GNSS Interface. More...
Data Structures | |
struct | gnss_info |
GNSS info data structure. More... | |
struct | gnss_time |
GNSS time data structure. More... | |
struct | gnss_driver_api |
GNSS API structure. More... | |
struct | gnss_data |
GNSS data structure. More... | |
struct | gnss_data_callback |
GNSS callback structure. More... | |
struct | gnss_satellite |
GNSS satellite structure. More... | |
struct | gnss_satellites_callback |
GNSS callback structure. More... | |
Macros | |
#define | GNSS_DATA_CALLBACK_DEFINE(_dev, _callback) |
Register a callback structure for GNSS data published. | |
#define | GNSS_SATELLITES_CALLBACK_DEFINE(_dev, _callback) |
Register a callback structure for GNSS satellites published. | |
Typedefs | |
typedef int(* | gnss_set_fix_rate_t) (const struct device *dev, uint32_t fix_interval_ms) |
API for setting fix rate. | |
typedef int(* | gnss_get_fix_rate_t) (const struct device *dev, uint32_t *fix_interval_ms) |
API for getting fix rate. | |
typedef int(* | gnss_set_navigation_mode_t) (const struct device *dev, enum gnss_navigation_mode mode) |
API for setting navigation mode. | |
typedef int(* | gnss_get_navigation_mode_t) (const struct device *dev, enum gnss_navigation_mode *mode) |
API for getting navigation mode. | |
typedef uint32_t | gnss_systems_t |
Type storing bitmask of GNSS systems. | |
typedef int(* | gnss_set_enabled_systems_t) (const struct device *dev, gnss_systems_t systems) |
API for enabling systems. | |
typedef int(* | gnss_get_enabled_systems_t) (const struct device *dev, gnss_systems_t *systems) |
API for getting enabled systems. | |
typedef int(* | gnss_get_supported_systems_t) (const struct device *dev, gnss_systems_t *systems) |
API for getting enabled systems. | |
typedef int(* | gnss_get_latest_timepulse_t) (const struct device *dev, k_ticks_t *timestamp) |
API for getting timestamp of last PPS pulse. | |
typedef void(* | gnss_data_callback_t) (const struct device *dev, const struct gnss_data *data) |
Template for GNSS data callback. | |
typedef void(* | gnss_satellites_callback_t) (const struct device *dev, const struct gnss_satellite *satellites, uint16_t size) |
Template for GNSS satellites callback. | |
Functions | |
int | gnss_set_fix_rate (const struct device *dev, uint32_t fix_interval_ms) |
Set the GNSS fix rate. | |
int | gnss_get_fix_rate (const struct device *dev, uint32_t *fix_interval_ms) |
Get the GNSS fix rate. | |
int | gnss_set_navigation_mode (const struct device *dev, enum gnss_navigation_mode mode) |
Set the GNSS navigation mode. | |
int | gnss_get_navigation_mode (const struct device *dev, enum gnss_navigation_mode *mode) |
Get the GNSS navigation mode. | |
int | gnss_set_enabled_systems (const struct device *dev, gnss_systems_t systems) |
Set enabled GNSS systems. | |
int | gnss_get_enabled_systems (const struct device *dev, gnss_systems_t *systems) |
Get enabled GNSS systems. | |
int | gnss_get_supported_systems (const struct device *dev, gnss_systems_t *systems) |
Get supported GNSS systems. | |
int | gnss_get_latest_timepulse (const struct device *dev, k_ticks_t *timestamp) |
Get the timestamp of the latest PPS timepulse. | |
GNSS Interface.
#define GNSS_DATA_CALLBACK_DEFINE | ( | _dev, | |
_callback | |||
) |
#include <include/zephyr/drivers/gnss.h>
Register a callback structure for GNSS data published.
_dev | Device pointer |
_callback | The callback function |
#define GNSS_SATELLITES_CALLBACK_DEFINE | ( | _dev, | |
_callback | |||
) |
#include <include/zephyr/drivers/gnss.h>
Register a callback structure for GNSS satellites published.
_dev | Device pointer |
_callback | The callback function |
#include <include/zephyr/drivers/gnss.h>
Template for GNSS data callback.
typedef int(* gnss_get_enabled_systems_t) (const struct device *dev, gnss_systems_t *systems) |
#include <include/zephyr/drivers/gnss.h>
API for getting enabled systems.
#include <include/zephyr/drivers/gnss.h>
API for getting fix rate.
#include <include/zephyr/drivers/gnss.h>
API for getting timestamp of last PPS pulse.
typedef int(* gnss_get_navigation_mode_t) (const struct device *dev, enum gnss_navigation_mode *mode) |
#include <include/zephyr/drivers/gnss.h>
API for getting navigation mode.
typedef int(* gnss_get_supported_systems_t) (const struct device *dev, gnss_systems_t *systems) |
#include <include/zephyr/drivers/gnss.h>
API for getting enabled systems.
typedef void(* gnss_satellites_callback_t) (const struct device *dev, const struct gnss_satellite *satellites, uint16_t size) |
#include <include/zephyr/drivers/gnss.h>
Template for GNSS satellites callback.
typedef int(* gnss_set_enabled_systems_t) (const struct device *dev, gnss_systems_t systems) |
#include <include/zephyr/drivers/gnss.h>
API for enabling systems.
#include <include/zephyr/drivers/gnss.h>
API for setting fix rate.
typedef int(* gnss_set_navigation_mode_t) (const struct device *dev, enum gnss_navigation_mode mode) |
#include <include/zephyr/drivers/gnss.h>
API for setting navigation mode.
typedef uint32_t gnss_systems_t |
#include <include/zephyr/drivers/gnss.h>
Type storing bitmask of GNSS systems.
enum gnss_fix_quality |
#include <include/zephyr/drivers/gnss.h>
GNSS fix quality.
enum gnss_fix_status |
#include <include/zephyr/drivers/gnss.h>
GNSS fix status.
enum gnss_navigation_mode |
#include <include/zephyr/drivers/gnss.h>
GNSS navigation modes.
enum gnss_pps_mode |
#include <include/zephyr/drivers/gnss.h>
GNSS PPS modes.
enum gnss_system |
#include <include/zephyr/drivers/gnss.h>
Systems contained in gnss_systems_t.
int gnss_get_enabled_systems | ( | const struct device * | dev, |
gnss_systems_t * | systems | ||
) |
#include <include/zephyr/drivers/gnss.h>
Get enabled GNSS systems.
dev | Device instance |
systems | Destination for enabled systems |
#include <include/zephyr/drivers/gnss.h>
Get the GNSS fix rate.
dev | Device instance |
fix_interval_ms | Destination for fix interval in milliseconds |
#include <include/zephyr/drivers/gnss.h>
Get the timestamp of the latest PPS timepulse.
dev | Device instance |
timestamp | Kernel tick count at the time of the PPS pulse |
0 | if successful |
-ENOSYS | if driver does not support API |
-ENOTSUP | if driver does not have PPS pin connected |
-EAGAIN | if PPS pulse is not considered valid |
int gnss_get_navigation_mode | ( | const struct device * | dev, |
enum gnss_navigation_mode * | mode | ||
) |
#include <include/zephyr/drivers/gnss.h>
Get the GNSS navigation mode.
dev | Device instance |
mode | Destination for navigation mode |
int gnss_get_supported_systems | ( | const struct device * | dev, |
gnss_systems_t * | systems | ||
) |
#include <include/zephyr/drivers/gnss.h>
Get supported GNSS systems.
dev | Device instance |
systems | Destination for supported systems |
int gnss_set_enabled_systems | ( | const struct device * | dev, |
gnss_systems_t | systems | ||
) |
#include <include/zephyr/drivers/gnss.h>
Set enabled GNSS systems.
dev | Device instance |
systems | Systems to enable |
#include <include/zephyr/drivers/gnss.h>
Set the GNSS fix rate.
dev | Device instance |
fix_interval_ms | Fix interval to set in milliseconds |
int gnss_set_navigation_mode | ( | const struct device * | dev, |
enum gnss_navigation_mode | mode | ||
) |
#include <include/zephyr/drivers/gnss.h>
Set the GNSS navigation mode.
dev | Device instance |
mode | Navigation mode to set |