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_gsm.h File Reference

Abstract GSM/Cellular service interface. More...

#include "cfn_sal.h"

Go to the source code of this file.

Data Structures

struct  cfn_sal_dev_gsm_config_t
 
struct  cfn_sal_dev_gsm_api_s
 GSM Virtual Method Table (VMT). More...
 

Macros

#define CFN_SAL_DEV_TYPE_GSM   CFN_SAL_TYPE('G', 'S', 'M')
 

Typedefs

typedef struct cfn_sal_dev_gsm_s cfn_sal_dev_gsm_t
 
typedef struct cfn_sal_dev_gsm_api_s cfn_sal_dev_gsm_api_t
 
typedef void(* cfn_sal_dev_gsm_callback_t) (cfn_sal_dev_gsm_t *driver, uint32_t event, uint32_t error, void *user_arg)
 

Enumerations

enum  cfn_sal_dev_gsm_event_t {
  CFN_SAL_DEV_GSM_EVENT_NONE = 0 , CFN_SAL_DEV_GSM_EVENT_POWERED_ON = CFN_HAL_BIT(0) , CFN_SAL_DEV_GSM_EVENT_NETWORK_REGISTERED = CFN_HAL_BIT(1) , CFN_SAL_DEV_GSM_EVENT_SMS_RECEIVED = CFN_HAL_BIT(2) ,
  CFN_SAL_DEV_GSM_EVENT_CALL_INCOMING = CFN_HAL_BIT(3) , CFN_SAL_DEV_GSM_EVENT_MQTT_CONNECTED = CFN_HAL_BIT(4)
}
 
enum  cfn_sal_dev_gsm_net_status_t {
  CFN_SAL_DEV_GSM_NET_NOT_REGISTERED = 0 , CFN_SAL_DEV_GSM_NET_REGISTERED_HOME , CFN_SAL_DEV_GSM_NET_SEARCHING , CFN_SAL_DEV_GSM_NET_REGISTRATION_DENIED ,
  CFN_SAL_DEV_GSM_NET_UNKNOWN , CFN_SAL_DEV_GSM_NET_REGISTERED_ROAMING
}
 

Functions

 CFN_HAL_VMT_CHECK (struct cfn_sal_dev_gsm_api_s)
 
 CFN_SAL_CREATE_DRIVER_TYPE (sal_dev_gsm, cfn_sal_dev_gsm_config_t, cfn_sal_dev_gsm_api_t, cfn_sal_phy_t, cfn_sal_dev_gsm_callback_t)
 
CFN_HAL_INLINE void cfn_sal_dev_gsm_populate (cfn_sal_dev_gsm_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_dev_gsm_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_dev_gsm_config_t *config, cfn_sal_dev_gsm_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_dev_gsm_construct (cfn_sal_dev_gsm_t *driver, const cfn_sal_dev_gsm_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_dev_gsm_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_dev_gsm_destruct (cfn_sal_dev_gsm_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_init (cfn_sal_dev_gsm_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_deinit (cfn_sal_dev_gsm_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_config_set (cfn_sal_dev_gsm_t *driver, const cfn_sal_dev_gsm_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_config_get (cfn_sal_dev_gsm_t *driver, cfn_sal_dev_gsm_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_callback_register (cfn_sal_dev_gsm_t *driver, cfn_sal_dev_gsm_callback_t callback, void *user_arg)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_power_state_set (cfn_sal_dev_gsm_t *driver, cfn_hal_power_state_t state)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_event_enable (cfn_sal_dev_gsm_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_event_disable (cfn_sal_dev_gsm_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_event_get (cfn_sal_dev_gsm_t *driver, uint32_t *event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_error_enable (cfn_sal_dev_gsm_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_error_disable (cfn_sal_dev_gsm_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_error_get (cfn_sal_dev_gsm_t *driver, uint32_t *error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_power_on (cfn_sal_dev_gsm_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_power_off (cfn_sal_dev_gsm_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_reset (cfn_sal_dev_gsm_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_signal_quality (cfn_sal_dev_gsm_t *driver, int32_t *rssi_dbm)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_network_status (cfn_sal_dev_gsm_t *driver, cfn_sal_dev_gsm_net_status_t *status)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_send_sms (cfn_sal_dev_gsm_t *driver, const char *number, const char *text)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_http_get (cfn_sal_dev_gsm_t *driver, const char *url, uint8_t *response, size_t *len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_mqtt_publish (cfn_sal_dev_gsm_t *driver, const char *topic, const uint8_t *payload, size_t len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_imei (cfn_sal_dev_gsm_t *driver, char *imei_out, size_t max_len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_imsi (cfn_sal_dev_gsm_t *driver, char *imsi_out, size_t max_len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_iccid (cfn_sal_dev_gsm_t *driver, char *iccid_out, size_t max_len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_operator (cfn_sal_dev_gsm_t *driver, char *operator_out, size_t max_len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_signal_quality_csq (cfn_sal_dev_gsm_t *driver, uint8_t *csq_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_read_sms (cfn_sal_dev_gsm_t *driver, uint16_t index, char *number_out, char *message_out, size_t max_len)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_dial (cfn_sal_dev_gsm_t *driver, const char *number)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_answer (cfn_sal_dev_gsm_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_hangup (cfn_sal_dev_gsm_t *driver)
 

Detailed Description

Abstract GSM/Cellular service interface.

Macro Definition Documentation

◆ CFN_SAL_DEV_TYPE_GSM

#define CFN_SAL_DEV_TYPE_GSM   CFN_SAL_TYPE('G', 'S', 'M')

Typedef Documentation

◆ cfn_sal_dev_gsm_api_t

◆ cfn_sal_dev_gsm_callback_t

typedef void(* cfn_sal_dev_gsm_callback_t) (cfn_sal_dev_gsm_t *driver, uint32_t event, uint32_t error, void *user_arg)

◆ cfn_sal_dev_gsm_t

typedef struct cfn_sal_dev_gsm_s cfn_sal_dev_gsm_t

Enumeration Type Documentation

◆ cfn_sal_dev_gsm_event_t

Enumerator
CFN_SAL_DEV_GSM_EVENT_NONE 
CFN_SAL_DEV_GSM_EVENT_POWERED_ON 
CFN_SAL_DEV_GSM_EVENT_NETWORK_REGISTERED 
CFN_SAL_DEV_GSM_EVENT_SMS_RECEIVED 
CFN_SAL_DEV_GSM_EVENT_CALL_INCOMING 
CFN_SAL_DEV_GSM_EVENT_MQTT_CONNECTED 

◆ cfn_sal_dev_gsm_net_status_t

Enumerator
CFN_SAL_DEV_GSM_NET_NOT_REGISTERED 
CFN_SAL_DEV_GSM_NET_REGISTERED_HOME 
CFN_SAL_DEV_GSM_NET_SEARCHING 
CFN_SAL_DEV_GSM_NET_REGISTRATION_DENIED 
CFN_SAL_DEV_GSM_NET_UNKNOWN 
CFN_SAL_DEV_GSM_NET_REGISTERED_ROAMING 

Function Documentation

◆ CFN_HAL_VMT_CHECK()

CFN_HAL_VMT_CHECK ( struct cfn_sal_dev_gsm_api_s  )

◆ CFN_SAL_CREATE_DRIVER_TYPE()

CFN_SAL_CREATE_DRIVER_TYPE ( sal_dev_gsm  ,
cfn_sal_dev_gsm_config_t  ,
cfn_sal_dev_gsm_api_t  ,
cfn_sal_phy_t  ,
cfn_sal_dev_gsm_callback_t   
)

◆ cfn_sal_dev_gsm_answer()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_answer ( cfn_sal_dev_gsm_t driver)

◆ cfn_sal_dev_gsm_callback_register()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_callback_register ( cfn_sal_dev_gsm_t driver,
cfn_sal_dev_gsm_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_gsm_config_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_config_get ( cfn_sal_dev_gsm_t driver,
cfn_sal_dev_gsm_config_t config 
)

◆ cfn_sal_dev_gsm_config_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_config_set ( cfn_sal_dev_gsm_t driver,
const cfn_sal_dev_gsm_config_t config 
)

◆ cfn_sal_dev_gsm_construct()

cfn_hal_error_code_t cfn_sal_dev_gsm_construct ( cfn_sal_dev_gsm_t driver,
const cfn_sal_dev_gsm_config_t config,
const cfn_sal_phy_t phy,
void *  dependency,
cfn_sal_dev_gsm_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_gsm_deinit()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_deinit ( cfn_sal_dev_gsm_t driver)

◆ cfn_sal_dev_gsm_destruct()

cfn_hal_error_code_t cfn_sal_dev_gsm_destruct ( cfn_sal_dev_gsm_t driver)

◆ cfn_sal_dev_gsm_dial()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_dial ( cfn_sal_dev_gsm_t driver,
const char *  number 
)

◆ cfn_sal_dev_gsm_error_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_error_disable ( cfn_sal_dev_gsm_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_dev_gsm_error_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_error_enable ( cfn_sal_dev_gsm_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_dev_gsm_error_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_error_get ( cfn_sal_dev_gsm_t driver,
uint32_t *  error_mask 
)

◆ cfn_sal_dev_gsm_event_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_event_disable ( cfn_sal_dev_gsm_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_dev_gsm_event_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_event_enable ( cfn_sal_dev_gsm_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_dev_gsm_event_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_event_get ( cfn_sal_dev_gsm_t driver,
uint32_t *  event_mask 
)

◆ cfn_sal_dev_gsm_get_iccid()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_iccid ( cfn_sal_dev_gsm_t driver,
char *  iccid_out,
size_t  max_len 
)

◆ cfn_sal_dev_gsm_get_imei()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_imei ( cfn_sal_dev_gsm_t driver,
char *  imei_out,
size_t  max_len 
)

◆ cfn_sal_dev_gsm_get_imsi()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_imsi ( cfn_sal_dev_gsm_t driver,
char *  imsi_out,
size_t  max_len 
)

◆ cfn_sal_dev_gsm_get_network_status()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_network_status ( cfn_sal_dev_gsm_t driver,
cfn_sal_dev_gsm_net_status_t status 
)

◆ cfn_sal_dev_gsm_get_operator()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_operator ( cfn_sal_dev_gsm_t driver,
char *  operator_out,
size_t  max_len 
)

◆ cfn_sal_dev_gsm_get_signal_quality()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_signal_quality ( cfn_sal_dev_gsm_t driver,
int32_t *  rssi_dbm 
)

◆ cfn_sal_dev_gsm_get_signal_quality_csq()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_get_signal_quality_csq ( cfn_sal_dev_gsm_t driver,
uint8_t *  csq_out 
)

◆ cfn_sal_dev_gsm_hangup()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_hangup ( cfn_sal_dev_gsm_t driver)

◆ cfn_sal_dev_gsm_http_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_http_get ( cfn_sal_dev_gsm_t driver,
const char *  url,
uint8_t *  response,
size_t *  len 
)

◆ cfn_sal_dev_gsm_init()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_init ( cfn_sal_dev_gsm_t driver)

◆ cfn_sal_dev_gsm_mqtt_publish()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_mqtt_publish ( cfn_sal_dev_gsm_t driver,
const char *  topic,
const uint8_t *  payload,
size_t  len 
)

◆ cfn_sal_dev_gsm_populate()

CFN_HAL_INLINE void cfn_sal_dev_gsm_populate ( cfn_sal_dev_gsm_t driver,
uint32_t  peripheral_id,
void *  dependency,
const cfn_sal_dev_gsm_api_t api,
const cfn_sal_phy_t phy,
const cfn_sal_dev_gsm_config_t config,
cfn_sal_dev_gsm_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_gsm_power_off()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_power_off ( cfn_sal_dev_gsm_t driver)

◆ cfn_sal_dev_gsm_power_on()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_power_on ( cfn_sal_dev_gsm_t driver)

◆ cfn_sal_dev_gsm_power_state_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_power_state_set ( cfn_sal_dev_gsm_t driver,
cfn_hal_power_state_t  state 
)

◆ cfn_sal_dev_gsm_read_sms()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_read_sms ( cfn_sal_dev_gsm_t driver,
uint16_t  index,
char *  number_out,
char *  message_out,
size_t  max_len 
)

◆ cfn_sal_dev_gsm_reset()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_reset ( cfn_sal_dev_gsm_t driver)

◆ cfn_sal_dev_gsm_send_sms()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_gsm_send_sms ( cfn_sal_dev_gsm_t driver,
const char *  number,
const char *  text 
)