Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
cellular.h File Reference

Public cellular network API. More...

#include <zephyr/types.h>
#include <zephyr/device.h>
#include <errno.h>

Go to the source code of this file.

Data Structures

struct  cellular_network
 Cellular network structure. More...
 
struct  cellular_driver_api
 Cellular driver API. More...
 

Typedefs

typedef int(* cellular_api_configure_networks) (const struct device *dev, const struct cellular_network *networks, uint8_t size)
 API for configuring networks.
 
typedef int(* cellular_api_get_supported_networks) (const struct device *dev, const struct cellular_network **networks, uint8_t *size)
 API for getting supported networks.
 
typedef int(* cellular_api_get_signal) (const struct device *dev, const enum cellular_signal_type type, int16_t *value)
 API for getting network signal strength.
 
typedef int(* cellular_api_get_modem_info) (const struct device *dev, const enum cellular_modem_info_type type, char *info, size_t size)
 API for getting modem information.
 
typedef int(* cellular_api_get_registration_status) (const struct device *dev, enum cellular_access_technology tech, enum cellular_registration_status *status)
 API for getting registration status.
 

Enumerations

enum  cellular_access_technology {
  CELLULAR_ACCESS_TECHNOLOGY_GSM = 0 , CELLULAR_ACCESS_TECHNOLOGY_GPRS , CELLULAR_ACCESS_TECHNOLOGY_UMTS , CELLULAR_ACCESS_TECHNOLOGY_EDGE ,
  CELLULAR_ACCESS_TECHNOLOGY_LTE , CELLULAR_ACCESS_TECHNOLOGY_LTE_CAT_M1 , CELLULAR_ACCESS_TECHNOLOGY_LTE_CAT_M2 , CELLULAR_ACCESS_TECHNOLOGY_NB_IOT
}
 Cellular access technologies. More...
 
enum  cellular_signal_type { CELLULAR_SIGNAL_RSSI , CELLULAR_SIGNAL_RSRP , CELLULAR_SIGNAL_RSRQ }
 Cellular signal type. More...
 
enum  cellular_modem_info_type {
  CELLULAR_MODEM_INFO_IMEI , CELLULAR_MODEM_INFO_MODEL_ID , CELLULAR_MODEM_INFO_MANUFACTURER , CELLULAR_MODEM_INFO_FW_VERSION ,
  CELLULAR_MODEM_INFO_SIM_IMSI , CELLULAR_MODEM_INFO_SIM_ICCID
}
 Cellular modem info type. More...
 
enum  cellular_registration_status {
  CELLULAR_REGISTRATION_NOT_REGISTERED = 0 , CELLULAR_REGISTRATION_REGISTERED_HOME , CELLULAR_REGISTRATION_SEARCHING , CELLULAR_REGISTRATION_DENIED ,
  CELLULAR_REGISTRATION_UNKNOWN , CELLULAR_REGISTRATION_REGISTERED_ROAMING
}
 

Functions

static int cellular_configure_networks (const struct device *dev, const struct cellular_network *networks, uint8_t size)
 Configure cellular networks for the device.
 
static int cellular_get_supported_networks (const struct device *dev, const struct cellular_network **networks, uint8_t *size)
 Get supported cellular networks for the device.
 
static int cellular_get_signal (const struct device *dev, const enum cellular_signal_type type, int16_t *value)
 Get signal for the device.
 
static int cellular_get_modem_info (const struct device *dev, const enum cellular_modem_info_type type, char *info, size_t size)
 Get modem info for the device.
 
static int cellular_get_registration_status (const struct device *dev, enum cellular_access_technology tech, enum cellular_registration_status *status)
 Get network registration status for the device.
 

Detailed Description

Public cellular network API.