7#ifndef ZEPHYR_INCLUDE_MODEM_INFO_H_
8#define ZEPHYR_INCLUDE_MODEM_INFO_H_
10#ifdef CONFIG_CJSON_LIB
29#define MODEM_INFO_MAX_RESPONSE_SIZE 100
32#define MODEM_INFO_JSON_STRING_SIZE 512
35#define MODEM_INFO_FWVER_SIZE 41
38#define BAND_UNAVAILABLE 0
43#define MODEM_INFO_SHORT_OP_NAME_SIZE 65
46#define SNR_UNAVAILABLE 127
49#define SNR_OFFSET_VAL 24
81#define RSRP_IDX_TO_DBM(rsrp) ((rsrp) < 0 ? (rsrp) - 140 : (rsrp) - 141)
118#define RSRQ_IDX_TO_DB(rsrq) ((rsrq) < 0 ? \
119 (((float)(rsrq) - 39) * 0.5f) : \
121 (((float)(rsrq) - 40) * 0.5f) : \
122 (((float)(rsrq) - 41) * 0.5f)))
144#define SNR_IDX_TO_DB(snr) ((snr) - SNR_OFFSET_VAL)
298 const size_t buf_size);
#define MODEM_INFO_MAX_RESPONSE_SIZE
Definition modem_info.h:29
int modem_info_get_fw_version(char *buf, size_t buf_size)
Obtain the short software identification.
int modem_info_get_current_band(uint8_t *val)
Obtain the current band.
int modem_info_name_get(enum modem_info info, char *name)
Request the name of a modem information data type.
int modem_info_get_fw_uuid(char *buf, size_t buf_size)
Obtain the UUID of the modem firmware build.
int modem_info_get_hw_version(char *buf, uint8_t buf_size)
Obtain the hardware version string.
int modem_info_params_get(struct modem_param_info *modem_param)
Obtain the modem parameters.
int modem_info_rsrp_register(rsrp_cb_t cb)
Initialize the subscription of RSRP values.
int modem_info_params_init(struct modem_param_info *modem_param)
Initialize the structure that stores modem information.
int modem_info_get_rsrp(int *val)
Obtain the RSRP.
int modem_info_init(void)
Initialize the modem information module.
int modem_info_short_get(enum modem_info info, uint16_t *buf)
Request the current modem status of any predefined information value as a short.
modem_info
LTE link information data.
Definition modem_info.h:150
@ MODEM_INFO_IMSI
Definition modem_info.h:169
@ MODEM_INFO_AREA_CODE
Definition modem_info.h:154
@ MODEM_INFO_GPS_MODE
Definition modem_info.h:168
@ MODEM_INFO_MCC
Definition modem_info.h:157
@ MODEM_INFO_CUR_BAND
Definition modem_info.h:152
@ MODEM_INFO_DATE_TIME
Definition modem_info.h:171
@ MODEM_INFO_UE_MODE
Definition modem_info.h:155
@ MODEM_INFO_NBIOT_MODE
Definition modem_info.h:167
@ MODEM_INFO_IMEI
Definition modem_info.h:170
@ MODEM_INFO_BATTERY
Definition modem_info.h:162
@ MODEM_INFO_FW_VERSION
Definition modem_info.h:164
@ MODEM_INFO_RSRP
Definition modem_info.h:151
@ MODEM_INFO_COUNT
Definition modem_info.h:173
@ MODEM_INFO_IP_ADDRESS
Definition modem_info.h:160
@ MODEM_INFO_SUP_BAND
Definition modem_info.h:153
@ MODEM_INFO_CELLID
Definition modem_info.h:159
@ MODEM_INFO_APN
Definition modem_info.h:172
@ MODEM_INFO_UICC
Definition modem_info.h:161
@ MODEM_INFO_ICCID
Definition modem_info.h:165
@ MODEM_INFO_TEMP
Definition modem_info.h:163
@ MODEM_INFO_OPERATOR
Definition modem_info.h:156
@ MODEM_INFO_LTE_MODE
Definition modem_info.h:166
@ MODEM_INFO_MNC
Definition modem_info.h:158
int modem_info_get_batt_voltage(int *val)
Obtain the battery voltage.
int modem_info_get_svn(char *buf, size_t buf_size)
Obtain the modem Software Version Number (SVN).
int modem_info_connectivity_stats_init(void)
Initialize collection of connectivity statistics.
int modem_info_connectivity_stats_disable(void)
Disable collection of connectivity statistics.
int modem_info_get_operator(char *buf, size_t buf_size)
Obtain the operator name.
void(* rsrp_cb_t)(char rsrp_value)
RSRP event handler function prototype.
Definition modem_info.h:147
enum modem_info_data_type modem_info_data_type_get(enum modem_info info)
Request the data type of the current modem information type.
int modem_info_get_connectivity_stats(int *tx_kbytes, int *rx_kbytes)
Obtain the connectivity statistics.
int modem_info_get_temperature(int *val)
Obtain the internal temperature.
int modem_info_get_snr(int *val)
Obtain the signal-to-noise ratio.
int modem_info_get_rsrq(float *val)
Obtain the RSRQ.
int modem_info_string_get(enum modem_info info, char *buf, const size_t buf_size)
Request the current modem status of any predefined information value as a string.
modem_info_data_type
LTE link information data types.
Definition modem_info.h:177
@ MODEM_INFO_DATA_TYPE_INVALID
Definition modem_info.h:179
@ MODEM_INFO_DATA_TYPE_NUM_INT
Definition modem_info.h:181
@ MODEM_INFO_DATA_TYPE_STRING
Definition modem_info.h:183
const char * app_version
Definition modem_info.h:228
const char * app_name
Definition modem_info.h:229
struct lte_param battery
Definition modem_info.h:225
struct lte_param modem_fw
Definition modem_info.h:224
struct lte_param imei
Definition modem_info.h:226
const char * board
Definition modem_info.h:227
Device parameters.
Definition modem_info.h:223
uint16_t value
Definition modem_info.h:188
char value_string[100]
Definition modem_info.h:189
enum modem_info type
Definition modem_info.h:191
char * data_name
Definition modem_info.h:190
LTE parameter data.
Definition modem_info.h:187
struct device_param device
Definition modem_info.h:236
struct network_param network
Definition modem_info.h:234
struct sim_param sim
Definition modem_info.h:235
Modem parameters.
Definition modem_info.h:233
struct lte_param current_band
Definition modem_info.h:196
struct lte_param date_time
Definition modem_info.h:208
struct lte_param lte_mode
Definition modem_info.h:205
struct lte_param area_code
Definition modem_info.h:198
struct lte_param ue_mode
Definition modem_info.h:204
struct lte_param nbiot_mode
Definition modem_info.h:206
struct lte_param mcc
Definition modem_info.h:200
struct lte_param apn
Definition modem_info.h:209
struct lte_param ip_address
Definition modem_info.h:203
struct lte_param mnc
Definition modem_info.h:201
struct lte_param cellid_hex
Definition modem_info.h:202
struct lte_param current_operator
Definition modem_info.h:199
struct lte_param rsrp
Definition modem_info.h:210
double cellid_dec
Definition modem_info.h:212
struct lte_param gps_mode
Definition modem_info.h:207
struct lte_param sup_band
Definition modem_info.h:197
Network parameters.
Definition modem_info.h:195
struct lte_param imsi
Definition modem_info.h:219
struct lte_param uicc
Definition modem_info.h:217
struct lte_param iccid
Definition modem_info.h:218
SIM card parameters.
Definition modem_info.h:216