caffeine-sal 0.1.17
Header-only polymorphic middleware services layer for the Caffeine Framework
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
cfn_sal_dev_gnss.h File Reference

Abstract GNSS (GPS/Glonass/Galileo) service interface. More...

#include <time.h>
#include "cfn_sal.h"

Go to the source code of this file.

Data Structures

struct  cfn_sal_dev_gnss_location_t
 
struct  cfn_sal_dev_gnss_config_t
 
struct  cfn_sal_dev_gnss_api_s
 GNSS Virtual Method Table (VMT). More...
 

Macros

#define CFN_SAL_DEV_TYPE_GNSS   CFN_SAL_TYPE('G', 'N', 'S')
 

Typedefs

typedef struct cfn_sal_dev_gnss_s cfn_sal_dev_gnss_t
 
typedef struct cfn_sal_dev_gnss_api_s cfn_sal_dev_gnss_api_t
 
typedef void(* cfn_sal_dev_gnss_callback_t) (cfn_sal_dev_gnss_t *driver, uint32_t event, uint32_t error, void *user_arg)
 

Enumerations

enum  cfn_sal_dev_gnss_event_t { CFN_SAL_DEV_GNSS_EVENT_NONE = 0 , CFN_SAL_DEV_GNSS_EVENT_FIX_ACQUIRED = CFN_HAL_BIT(0) , CFN_SAL_DEV_GNSS_EVENT_FIX_LOST = CFN_HAL_BIT(1) , CFN_SAL_DEV_GNSS_EVENT_DATA_READY = CFN_HAL_BIT(2) }
 
enum  cfn_sal_dev_gnss_fix_type_t {
  CFN_SAL_DEV_GNSS_FIX_NONE = 0 , CFN_SAL_DEV_GNSS_FIX_2D , CFN_SAL_DEV_GNSS_FIX_3D , CFN_SAL_DEV_GNSS_FIX_DGPS ,
  CFN_SAL_DEV_GNSS_FIX_RTK_FIXED , CFN_SAL_DEV_GNSS_FIX_RTK_FLOAT
}
 

Functions

 CFN_HAL_VMT_CHECK (struct cfn_sal_dev_gnss_api_s)
 
 CFN_SAL_CREATE_DRIVER_TYPE (sal_dev_gnss, cfn_sal_dev_gnss_config_t, cfn_sal_dev_gnss_api_t, cfn_sal_phy_t, cfn_sal_dev_gnss_callback_t)
 
CFN_HAL_INLINE void cfn_sal_dev_gnss_populate (cfn_sal_dev_gnss_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_dev_gnss_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_dev_gnss_config_t *config, cfn_sal_dev_gnss_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_dev_gnss_construct (cfn_sal_dev_gnss_t *driver, const cfn_sal_dev_gnss_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_dev_gnss_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_dev_gnss_destruct (cfn_sal_dev_gnss_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_init (cfn_sal_dev_gnss_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_deinit (cfn_sal_dev_gnss_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_config_set (cfn_sal_dev_gnss_t *driver, const cfn_sal_dev_gnss_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_config_get (cfn_sal_dev_gnss_t *driver, cfn_sal_dev_gnss_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_callback_register (cfn_sal_dev_gnss_t *driver, cfn_sal_dev_gnss_callback_t callback, void *user_arg)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_power_state_set (cfn_sal_dev_gnss_t *driver, cfn_hal_power_state_t state)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_event_enable (cfn_sal_dev_gnss_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_event_disable (cfn_sal_dev_gnss_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_event_get (cfn_sal_dev_gnss_t *driver, uint32_t *event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_error_enable (cfn_sal_dev_gnss_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_error_disable (cfn_sal_dev_gnss_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_error_get (cfn_sal_dev_gnss_t *driver, uint32_t *error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_power_on (cfn_sal_dev_gnss_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_power_off (cfn_sal_dev_gnss_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_location (cfn_sal_dev_gnss_t *driver, cfn_sal_dev_gnss_location_t *loc_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_time (cfn_sal_dev_gnss_t *driver, struct tm *time_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_satellites_in_view (cfn_sal_dev_gnss_t *driver, uint8_t *count_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_set_fix_rate (cfn_sal_dev_gnss_t *driver, uint32_t rate_ms)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_cold_start (cfn_sal_dev_gnss_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_warm_start (cfn_sal_dev_gnss_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_hot_start (cfn_sal_dev_gnss_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_hdop (cfn_sal_dev_gnss_t *driver, float *hdop_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_time_utc (cfn_sal_dev_gnss_t *driver, uint32_t *unix_timestamp)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_speed_knots (cfn_sal_dev_gnss_t *driver, float *speed_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_heading_degrees (cfn_sal_dev_gnss_t *driver, float *heading_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_set_power_mode (cfn_sal_dev_gnss_t *driver, uint8_t mode)
 

Detailed Description

Abstract GNSS (GPS/Glonass/Galileo) service interface.

Macro Definition Documentation

◆ CFN_SAL_DEV_TYPE_GNSS

#define CFN_SAL_DEV_TYPE_GNSS   CFN_SAL_TYPE('G', 'N', 'S')

Typedef Documentation

◆ cfn_sal_dev_gnss_api_t

◆ cfn_sal_dev_gnss_callback_t

typedef void(* cfn_sal_dev_gnss_callback_t) (cfn_sal_dev_gnss_t *driver, uint32_t event, uint32_t error, void *user_arg)

◆ cfn_sal_dev_gnss_t

typedef struct cfn_sal_dev_gnss_s cfn_sal_dev_gnss_t

Enumeration Type Documentation

◆ cfn_sal_dev_gnss_event_t

Enumerator
CFN_SAL_DEV_GNSS_EVENT_NONE 
CFN_SAL_DEV_GNSS_EVENT_FIX_ACQUIRED 
CFN_SAL_DEV_GNSS_EVENT_FIX_LOST 
CFN_SAL_DEV_GNSS_EVENT_DATA_READY 

◆ cfn_sal_dev_gnss_fix_type_t

Enumerator
CFN_SAL_DEV_GNSS_FIX_NONE 
CFN_SAL_DEV_GNSS_FIX_2D 
CFN_SAL_DEV_GNSS_FIX_3D 
CFN_SAL_DEV_GNSS_FIX_DGPS 
CFN_SAL_DEV_GNSS_FIX_RTK_FIXED 
CFN_SAL_DEV_GNSS_FIX_RTK_FLOAT 

Function Documentation

◆ CFN_HAL_VMT_CHECK()

CFN_HAL_VMT_CHECK ( struct cfn_sal_dev_gnss_api_s  )

◆ CFN_SAL_CREATE_DRIVER_TYPE()

CFN_SAL_CREATE_DRIVER_TYPE ( sal_dev_gnss  ,
cfn_sal_dev_gnss_config_t  ,
cfn_sal_dev_gnss_api_t  ,
cfn_sal_phy_t  ,
cfn_sal_dev_gnss_callback_t   
)

◆ cfn_sal_dev_gnss_callback_register()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_callback_register ( cfn_sal_dev_gnss_t driver,
cfn_sal_dev_gnss_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_gnss_cold_start()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_cold_start ( cfn_sal_dev_gnss_t driver)

◆ cfn_sal_dev_gnss_config_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_config_get ( cfn_sal_dev_gnss_t driver,
cfn_sal_dev_gnss_config_t config 
)

◆ cfn_sal_dev_gnss_config_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_config_set ( cfn_sal_dev_gnss_t driver,
const cfn_sal_dev_gnss_config_t config 
)

◆ cfn_sal_dev_gnss_construct()

cfn_hal_error_code_t cfn_sal_dev_gnss_construct ( cfn_sal_dev_gnss_t driver,
const cfn_sal_dev_gnss_config_t config,
const cfn_sal_phy_t phy,
void *  dependency,
cfn_sal_dev_gnss_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_gnss_deinit()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_deinit ( cfn_sal_dev_gnss_t driver)

◆ cfn_sal_dev_gnss_destruct()

cfn_hal_error_code_t cfn_sal_dev_gnss_destruct ( cfn_sal_dev_gnss_t driver)

◆ cfn_sal_dev_gnss_error_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_error_disable ( cfn_sal_dev_gnss_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_dev_gnss_error_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_error_enable ( cfn_sal_dev_gnss_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_dev_gnss_error_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_error_get ( cfn_sal_dev_gnss_t driver,
uint32_t *  error_mask 
)

◆ cfn_sal_dev_gnss_event_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_event_disable ( cfn_sal_dev_gnss_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_dev_gnss_event_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_event_enable ( cfn_sal_dev_gnss_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_dev_gnss_event_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_event_get ( cfn_sal_dev_gnss_t driver,
uint32_t *  event_mask 
)

◆ cfn_sal_dev_gnss_get_hdop()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_hdop ( cfn_sal_dev_gnss_t driver,
float *  hdop_out 
)

◆ cfn_sal_dev_gnss_get_heading_degrees()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_heading_degrees ( cfn_sal_dev_gnss_t driver,
float *  heading_out 
)

◆ cfn_sal_dev_gnss_get_location()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_location ( cfn_sal_dev_gnss_t driver,
cfn_sal_dev_gnss_location_t loc_out 
)

◆ cfn_sal_dev_gnss_get_satellites_in_view()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_satellites_in_view ( cfn_sal_dev_gnss_t driver,
uint8_t *  count_out 
)

◆ cfn_sal_dev_gnss_get_speed_knots()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_speed_knots ( cfn_sal_dev_gnss_t driver,
float *  speed_out 
)

◆ cfn_sal_dev_gnss_get_time()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_time ( cfn_sal_dev_gnss_t driver,
struct tm *  time_out 
)

◆ cfn_sal_dev_gnss_get_time_utc()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_get_time_utc ( cfn_sal_dev_gnss_t driver,
uint32_t *  unix_timestamp 
)

◆ cfn_sal_dev_gnss_hot_start()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_hot_start ( cfn_sal_dev_gnss_t driver)

◆ cfn_sal_dev_gnss_init()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_init ( cfn_sal_dev_gnss_t driver)

◆ cfn_sal_dev_gnss_populate()

CFN_HAL_INLINE void cfn_sal_dev_gnss_populate ( cfn_sal_dev_gnss_t driver,
uint32_t  peripheral_id,
void *  dependency,
const cfn_sal_dev_gnss_api_t api,
const cfn_sal_phy_t phy,
const cfn_sal_dev_gnss_config_t config,
cfn_sal_dev_gnss_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_gnss_power_off()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_power_off ( cfn_sal_dev_gnss_t driver)

◆ cfn_sal_dev_gnss_power_on()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_power_on ( cfn_sal_dev_gnss_t driver)

◆ cfn_sal_dev_gnss_power_state_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_power_state_set ( cfn_sal_dev_gnss_t driver,
cfn_hal_power_state_t  state 
)

◆ cfn_sal_dev_gnss_set_fix_rate()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_set_fix_rate ( cfn_sal_dev_gnss_t driver,
uint32_t  rate_ms 
)

◆ cfn_sal_dev_gnss_set_power_mode()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_set_power_mode ( cfn_sal_dev_gnss_t driver,
uint8_t  mode 
)

◆ cfn_sal_dev_gnss_warm_start()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gnss_warm_start ( cfn_sal_dev_gnss_t driver)