luat_soc_sdk_2024 V1.0
|
结构体 | |
struct | luat_mobile_gsm_service_cell_info |
struct | luat_mobile_gsm_cell_info |
struct | luat_mobile_lte_service_cell_info |
struct | luat_mobile_lte_cell_info |
struct | luat_mobile_cell_info |
struct | luat_mobile_gw_signal_strength_info |
struct | luat_mobile_lte_signal_strength_info |
struct | luat_mobile_signal_strength_info |
宏定义 | |
#define | LUAT_MOBILE_CELL_MAX_NUM 21 |
函数 | |
int | luat_mobile_get_imei (int sim_id, char *buff, size_t buf_len) |
获取IMEI | |
int | luat_mobile_get_sn (char *buff, size_t buf_len) |
获取SN,如果用户没有调用luat_mobile_set_sn接口写过SN,默认值为空 | |
int | luat_mobile_set_sn (char *buff, uint8_t buf_len) |
设置SN | |
int | luat_mobile_get_muid (char *buff, size_t buf_len) |
获取MUID,并不一定存在 | |
int | luat_mobile_get_iccid (int sim_id, char *buff, size_t buf_len) |
获取SIM卡的ICCID | |
int | luat_mobile_get_imsi (int sim_id, char *buff, size_t buf_len) |
获取SIM卡的IMSI | |
int | luat_mobile_get_sim_number (int sim_id, char *buff, size_t buf_len) |
当前使用的SIM卡的手机号,注意,只有写入了手机号才能读出,因此有可能读出来是空的 | |
int | luat_mobile_get_sim_id (int *id) |
当前使用的SIM卡的位置,并不一定支持 | |
int | luat_mobile_set_sim_id (int id) |
改变使用的SIM卡的位置,并不一定支持 | |
int | luat_mobile_set_sim_pin (int id, uint8_t operation, char pin1[9], char pin2[9]) |
对SIM卡的pin码做操作 | |
uint8_t | luat_mobile_get_sim_ready (int id) |
检查SIM卡是否准备好 | |
void | luat_mobile_set_sim_detect_sim0_first (void) |
在自动选择模式时,开机后优先用sim0 | |
void | luat_mobile_set_default_pdn_ipv6 (uint8_t onoff) |
设置默认PDN激活时是否要IPV6网络,现在默认情况下不开 | |
uint8_t | luat_mobile_get_default_pdn_ipv6 (void) |
返回默认PDN激活时是否要IPV6网络 | |
int | luat_mobile_get_apn (int sim_id, int cid, char *buff, size_t buf_len) |
获取配置的apn name,并不一定支持 | |
void | luat_mobile_user_ctrl_apn (void) |
用户控制APN激活过程。只有使用了本函数后,才能通过手动激活用户的APN并加装网卡。只有EC618/EC7XX支持 | |
void | luat_mobile_user_ctrl_apn_stop (void) |
解除用户控制APN激活过程 | |
int | luat_mobile_set_apn_base_info (int sim_id, int cid, uint8_t type, uint8_t *apn_name, uint8_t name_len) |
手动设置APN激活所需的最小信息,如果需要更详细的设置,可以自行修改本函数。,只有EC618/EC7XX支持 | |
int | luat_mobile_set_apn_auth_info (int sim_id, int cid, uint8_t protocol, uint8_t *user_name, uint8_t user_name_len, uint8_t *password, uint8_t password_len) |
手动设置APN激活所需的加密信息,如果需要更详细的设置,可以自行修改本函数。大部分情况下不需要加密信息,定向卡可能需要。只有EC618/EC7XX支持 | |
int | luat_mobile_active_apn (int sim_id, int cid, uint8_t state) |
手动激活/去激活APN。只有EC618/EC7XX支持 | |
int | luat_mobile_active_netif (int sim_id, int cid) |
手动激活网卡。只有EC618支持 | |
void | luat_mobile_user_apn_auto_active (int sim_id, uint8_t cid, uint8_t ip_type, uint8_t protocol_type, uint8_t *apn_name, uint8_t apn_name_len, uint8_t *user, uint8_t user_len, uint8_t *password, uint8_t password_len) |
用户设置APN的基本信息,并且自动激活,注意不能和上述手动操作APN的API共用,专网卡如果不能用公网apn激活默认承载的必须用这个 | |
int | luat_mobile_get_default_apn (int sim_id, char *buff, size_t buf_len) |
获取默认CID的apn name,并不一定支持 | |
int | luat_mobile_del_apn (int sim_id, uint8_t cid, uint8_t is_dedicated) |
删除定义好的apn | |
int | luat_mobile_set_flymode (int index, int mode) |
进出飞行模式 | |
int | luat_mobile_get_flymode (int index) |
飞行模式当前状态 | |
int | luat_mobile_get_local_ip (int sim_id, int cid, ip_addr_t *ip_v4, ip_addr_t *ip_v6) |
获取已激活承载分配的本地ip地址 | |
int | luat_mobile_get_cell_info (luat_mobile_cell_info_t *info) |
立刻搜索一次周围小区基站信息,并同步返回结果 | |
int | luat_mobile_get_cell_info_async (uint8_t max_time) |
立刻搜索一次周围小区基站信息,通过LUAT_MOBILE_CELL_INFO_UPDATE返回搜索完成消息,luat_mobile_get_last_notify_cell_info获取详细信息 | |
int | luat_mobile_get_cell_info_async_with_sim_id (uint8_t sim_id) |
双卡双待设备,立刻搜索一次周围小区基站信息,通过LUAT_MOBILE_CELL_INFO_UPDATE返回搜索完成消息,luat_mobile_get_last_notify_cell_info获取详细信息 | |
int | luat_mobile_get_last_notify_cell_info (luat_mobile_cell_info_t *info) |
获取上一次异步搜索周围小区基站信息,包括周期性搜索和异步搜索,在LUAT_MOBILE_CELL_INFO_UPDATE到来后用本函数获取信息 | |
int | luat_mobile_get_last_notify_cell_info_with_sim_id (uint8_t sim_id, luat_mobile_cell_info_t *info) |
双卡双待设备,获取上一次异步搜索周围小区基站信息,包括周期性搜索和异步搜索,在LUAT_MOBILE_CELL_INFO_UPDATE到来后用本函数获取信息 | |
void | luat_mobile_print_last_notify_cell_info_with_sim_id (uint8_t sim_id) |
打印指定sim卡槽搜索到的详细基站信息,与平台有关 | |
uint8_t | luat_mobile_rssi_to_csq (int8_t rssi) |
从RSSI转换到CSQ,RSSI只能作为天线口状态的一个参考,而不能作为LTE网络信号状态的参考 | |
int | luat_mobile_get_signal_strength_info (luat_mobile_signal_strength_info_t *info) |
获取当前移动网络信号状态详细信息 | |
int | luat_mobile_get_signal_strength (uint8_t *csq) |
获取CSQ值 CSQ从RSSI转换而来,只能作为天线口状态的一个参考,而不能作为LTE网络信号状态的参考 | |
int | luat_mobile_get_last_notify_signal_strength_info (luat_mobile_signal_strength_info_t *info) |
获取最近一次网络信号状态更新通知后的网络信号状态详细信息 | |
int | luat_mobile_get_last_notify_signal_strength (uint8_t *csq) |
获取最近一次网络信号状态更新通知后的CSQ值 | |
int | luat_mobile_get_service_cell_identifier (uint32_t *eci) |
获取当前服务小区的ECI | |
int | luat_mobile_get_service_tac_or_lac (uint16_t *tac) |
获取当前服务小区的TAC或LAC | |
LUAT_MOBILE_SIM_STATUS_E | luat_mobile_get_sim_status (void) |
LUAT_MOBILE_REGISTER_STATUS_E | luat_mobile_get_register_status (void) |
int | luat_mobile_event_register_handler (luat_mobile_event_callback_t callback_fun) |
注册网络状态及相关功能状态发生更换时的回调函数 | |
int | luat_mobile_event_deregister_handler (void) |
注销网络状态及相关功能状态发生更换时的回调函数 | |
int | luat_mobile_sms_sdk_event_register_handler (luat_mobile_sms_event_callback_t callback_fun) |
注册底层短信消息回调函数,后续改为统一消息处理 | |
int | luat_mobile_sms_event_register_handler (luat_mobile_sms_event_callback_t callback_fun) |
注册底层短信消息回调函数,后续改为统一消息处理(和luat_mobile_sms_sdk_event_register_handler一样,只是为了兼容老的BSP) | |
void | luat_mobile_set_rrc_auto_release_time (uint8_t s) |
设置RRC自动释放时间,在RRC active(见LUAT_MOBILE_EVENT_CSCON)后经过一段时间在适当的时机释放RRC | |
void | luat_mobile_rrc_auto_release_pause (uint8_t onoff) |
RRC自动释放暂停/恢复 | |
void | luat_mobile_rrc_release_once (void) |
RRC立刻释放一次,不能在luat_mobile_event_callback里使用 | |
int | luat_mobile_reset_stack (void) |
重新底层网络协议栈,本质是快速的进出飞行模式,注意和设置飞行模式是冲突的,一定时间内只能用一个。 | |
void | luat_mobile_fatal_error_auto_reset_stack (uint8_t onoff) |
遇到网络严重错误时允许自动重启协议栈 | |
int | luat_mobile_set_period_work (uint32_t get_cell_period, uint32_t check_sim_period, uint8_t search_cell_time) |
设置周期性辅助工作,包括周期性搜索小区基站,SIM卡短时间脱离卡槽后周期性尝试恢复,这个功能和luat_mobile_reset_stack是有可能冲突的。所有功能默认都是关闭的 | |
int | luat_mobile_set_check_sim (uint32_t check_sim_period) |
设置SIM卡短时间脱离卡槽后周期性尝试恢复,luat_mobile_set_period_work的简化版本 | |
void | luat_mobile_set_check_network_period (uint32_t period) |
设置定时检测网络是否正常并且在检测到长时间无网时通过重启协议栈来恢复,但是不能保证一定成功,这个功能和luat_mobile_reset_stack是有可能冲突的。所有功能默认都是关闭的 | |
void | luat_mobile_get_ip_data_traffic (uint64_t *uplink, uint64_t *downlink) |
获取累计的IP流量数据 | |
void | luat_mobile_clear_ip_data_traffic (uint8_t clear_uplink, uint8_t clear_downlink) |
清除IP流量数据 | |
int | luat_mobile_get_support_band (uint8_t *band, uint8_t *total_num) |
获取模块能支持的频段 | |
int | luat_mobile_get_band (uint8_t *band, uint8_t *total_num) |
获取模块当前设置使用的频段 | |
int | luat_mobile_set_band (uint8_t *band, uint8_t total_num) |
设置模块使用的频段 | |
int | luat_mobile_config (uint8_t item, uint32_t value) |
LTE协议栈功能特殊配置 | |
void | luat_mobile_rf_test_mode (uint8_t uart_id, uint8_t on_off) |
RF测试模式 | |
void | luat_mobile_rf_test_input (char *data, uint32_t data_len) |
RF测试的指令或者数据输入 | |
uint32_t | luat_mobile_sim_write_counter (void) |
int | luat_mobile_get_isp_from_plmn (uint16_t mcc, uint8_t mnc) |
通过PLMN判断运营商,目前只支持国内三大运营商及广电 | |
int | luat_mobile_get_plmn_from_imsi (char *imsi, uint16_t *mcc, uint8_t *mnc) |
通过IMSI提取PLMN | |
void | luat_mobile_get_last_call_num (char *buf, uint8_t buf_len) |
获取最近一次来电号码 | |
int | luat_mobile_make_call (uint8_t sim_id, char *number, uint8_t len) |
主动拨打打电话 | |
void | luat_mobile_hangup_call (uint8_t sim_id) |
主动挂断电话 | |
int | luat_mobile_answer_call (uint8_t sim_id) |
接听电话 | |
int | luat_mobile_speech_init (uint8_t multimedia_id, void *callback) |
初始化电话功能 | |
int | luat_mobile_speech_upload (uint8_t *data, uint32_t len) |
上行通话数据 | |
void | luat_mobile_set_sync_time (uint8_t on_off) |
是否允许基站时间同步给本地时间 | |
uint8_t | luat_mobile_get_sync_time (void) |
查看当前是否允许基站时间同步给本地时间 | |
int | luat_mobile_softsim_onoff (uint8_t on_off) |
int | luat_mobile_sim_detect_onoff (uint8_t on_off) |
#define LUAT_MOBILE_CELL_MAX_NUM 21 |
在文件 luat_mobile.h 第 303 行定义.
typedef enum LUAT_MOBILE_BEARER_STATUS LUAT_MOBILE_BEARER_STATUS_E |
typedef enum LUAT_MOBILE_CC_PLAY_IND LUAT_MOBILE_CC_PLAY_IND_E |
typedef enum LUAT_MOBILE_CC_STATUS LUAT_MOBILE_CC_STATUS_E |
typedef struct luat_mobile_cell_info luat_mobile_cell_info_t |
typedef enum LUAT_MOBILE_CFUN_STATUS LUAT_MOBILE_CFUN_STATUS_E |
typedef void(* luat_mobile_event_callback_t) (LUAT_MOBILE_EVENT_E event, uint8_t index, uint8_t status) |
网络状态及相关功能状态发生更换时的回调函数,event是消息,index是CID,SIM卡号之类的序号,status是变更后的状态或者更具体的ENUM
在文件 luat_mobile.h 第 661 行定义.
typedef enum LUAT_MOBILE_EVENT LUAT_MOBILE_EVENT_E |
网络状态及相关功能状态发生更换的消息
typedef struct luat_mobile_gsm_cell_info luat_mobile_gsm_cell_info_t |
typedef struct luat_mobile_lte_cell_info luat_mobile_lte_cell_info_t |
typedef enum LUAT_MOBILE_NETIF_STATUS LUAT_MOBILE_NETIF_STATUS_E |
typedef enum LUAT_MOBILE_PDP_STATUS LUAT_MOBILE_PDP_STATUS_E |
typedef enum LUAT_MOBILE_REGISTER_STATUS LUAT_MOBILE_REGISTER_STATUS_E |
typedef enum LUAT_MOBILE_SIM_PIN_OP LUAT_MOBILE_SIM_PIN_OP_E |
typedef enum LUAT_MOBILE_SIM_STATUS LUAT_MOBILE_SIM_STATUS_E |
typedef void(* luat_mobile_sms_event_callback_t) (uint32_t event, void *param) |
底层短信消息回调函数,event是消息,param是具体数据指针,暂时不同的平台需要独自处理
在文件 luat_mobile.h 第 668 行定义.
typedef enum LUAT_MOBILE_SMS_STATUS LUAT_MOBILE_SMS_STATUS_E |
anonymous enum |
在文件 luat_mobile.h 第 823 行定义.
anonymous enum |
枚举值 | |
---|---|
LUAT_MOBILE_ISP_UNKNOW | |
LUAT_MOBILE_ISP_CMCC | |
LUAT_MOBILE_ISP_CTCC | |
LUAT_MOBILE_ISP_CUCC | |
LUAT_MOBILE_ISP_CRCC |
在文件 luat_mobile.h 第 839 行定义.
在文件 luat_mobile.h 第 584 行定义.
在文件 luat_mobile.h 第 623 行定义.
在文件 luat_mobile.h 第 631 行定义.
在文件 luat_mobile.h 第 606 行定义.
枚举值 | |
---|---|
LUAT_MOBILE_CELL_INFO_UPDATE | 小区基站信息变更,只有设置了周期性搜索小区基站时才会有 |
LUAT_MOBILE_SIGNAL_UPDATE | 网络信号状态变更,但是不一定是有变化 |
在文件 luat_mobile.h 第 564 行定义.
枚举值 | |
---|---|
LUAT_MOBILE_CFUN_OFF | |
LUAT_MOBILE_CFUN_ON | |
LUAT_MOBILE_CFUN_NO_RF |
在文件 luat_mobile.h 第 532 行定义.
enum LUAT_MOBILE_EVENT |
网络状态及相关功能状态发生更换的消息
在文件 luat_mobile.h 第 514 行定义.
枚举值 | |
---|---|
LUAT_MOBILE_IMS_READY | IMS网络已注册 |
在文件 luat_mobile.h 第 601 行定义.
枚举值 | |
---|---|
LUAT_MOBILE_NETIF_LINK_ON | 已联网 |
LUAT_MOBILE_NETIF_LINK_OFF | 断网 |
LUAT_MOBILE_NETIF_LINK_OOS | 失去网络连接,尝试恢复中,等同于LUAT_MOBILE_NETIF_LINK_OFF |
在文件 luat_mobile.h 第 577 行定义.
枚举值 | |
---|---|
LUAT_MOBILE_PDP_ACTIVED | |
LUAT_MOBILE_PDP_DEACTIVING | |
LUAT_MOBILE_PDP_DEACTIVED |
在文件 luat_mobile.h 第 570 行定义.
在文件 luat_mobile.h 第 549 行定义.
枚举值 | |
---|---|
LUAT_SIM_PIN_VERIFY | |
LUAT_SIM_PIN_CHANGE | |
LUAT_SIM_PIN_ENABLE | |
LUAT_SIM_PIN_DISABLE | |
LUAT_SIM_PIN_UNBLOCK |
在文件 luat_mobile.h 第 113 行定义.
在文件 luat_mobile.h 第 539 行定义.
枚举值 | |
---|---|
LUAT_MOBILE_SMS_READY | 短信功能初始化完成 |
LUAT_MOBILE_NEW_SMS | 接收到新的短信 |
LUAT_MOBILE_SMS_SEND_DONE | 短信发送到运营商 |
LUAT_MOBILE_SMS_ACK | 短信已经被接收 |
在文件 luat_mobile.h 第 593 行定义.
int luat_mobile_active_apn | ( | int | sim_id, |
int | cid, | ||
uint8_t | state ) |
手动激活/去激活APN。只有EC618/EC7XX支持
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
cid | cid位置 2~6 |
state | 1激活 0去激活 |
int luat_mobile_active_netif | ( | int | sim_id, |
int | cid ) |
手动激活网卡。只有EC618支持
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
cid | cid位置 2~6 |
int luat_mobile_answer_call | ( | uint8_t | sim_id | ) |
接听电话
sim_id | sim卡槽 |
void luat_mobile_clear_ip_data_traffic | ( | uint8_t | clear_uplink, |
uint8_t | clear_downlink ) |
清除IP流量数据
clear_uplink | 清除上行流量 |
clear_downlink | 清除下行流量 |
int luat_mobile_config | ( | uint8_t | item, |
uint32_t | value ) |
LTE协议栈功能特殊配置
item | 见MOBILE_CONF_XXX |
value | 配置值 |
int luat_mobile_del_apn | ( | int | sim_id, |
uint8_t | cid, | ||
uint8_t | is_dedicated ) |
删除定义好的apn
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
cid | cid位置 1~6 |
is_dedicated | 是否是专用的,不清楚的写0 |
int luat_mobile_event_deregister_handler | ( | void | ) |
注销网络状态及相关功能状态发生更换时的回调函数
int luat_mobile_event_register_handler | ( | luat_mobile_event_callback_t | callback_fun | ) |
注册网络状态及相关功能状态发生更换时的回调函数
callback_fun | 网络状态及相关功能状态发生更换时的回调函数 |
void luat_mobile_fatal_error_auto_reset_stack | ( | uint8_t | onoff | ) |
遇到网络严重错误时允许自动重启协议栈
onoff | 0关闭 其他开启 |
int luat_mobile_get_apn | ( | int | sim_id, |
int | cid, | ||
char * | buff, | ||
size_t | buf_len ) |
获取配置的apn name,并不一定支持
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
cid | cid位置 1~6 |
buff[OUT] | apn name |
buf_len | 用户传入缓存的大小,如果底层数据量大于buf_len,只会传出buf_len大小的数据 |
int luat_mobile_get_band | ( | uint8_t * | band, |
uint8_t * | total_num ) |
获取模块当前设置使用的频段
band | 存放输出频段值的缓存,至少需要CMI_DEV_SUPPORT_MAX_BAND_NUM字节的空间 |
total_num | 频段数量 |
int luat_mobile_get_cell_info | ( | luat_mobile_cell_info_t * | info | ) |
立刻搜索一次周围小区基站信息,并同步返回结果
info | 当前移动网络信号状态详细信息 |
int luat_mobile_get_cell_info_async | ( | uint8_t | max_time | ) |
立刻搜索一次周围小区基站信息,通过LUAT_MOBILE_CELL_INFO_UPDATE返回搜索完成消息,luat_mobile_get_last_notify_cell_info获取详细信息
max_time | 搜索的最大时间,单位秒 |
int luat_mobile_get_cell_info_async_with_sim_id | ( | uint8_t | sim_id | ) |
双卡双待设备,立刻搜索一次周围小区基站信息,通过LUAT_MOBILE_CELL_INFO_UPDATE返回搜索完成消息,luat_mobile_get_last_notify_cell_info获取详细信息
sim_id | sim卡槽 |
int luat_mobile_get_default_apn | ( | int | sim_id, |
char * | buff, | ||
size_t | buf_len ) |
获取默认CID的apn name,并不一定支持
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
buff[OUT] | apn name |
buf_len | 用户传入缓存的大小,如果底层数据量大于buf_len,只会传出buf_len大小的数据 |
uint8_t luat_mobile_get_default_pdn_ipv6 | ( | void | ) |
返回默认PDN激活时是否要IPV6网络
int luat_mobile_get_flymode | ( | int | index | ) |
飞行模式当前状态
index | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
int luat_mobile_get_iccid | ( | int | sim_id, |
char * | buff, | ||
size_t | buf_len ) |
获取SIM卡的ICCID
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
buff[OUT] | ICCID数据 |
buf_len | 用户传入缓存的大小,如果底层数据量大于buf_len,只会传出buf_len大小的数据 |
int luat_mobile_get_imei | ( | int | sim_id, |
char * | buff, | ||
size_t | buf_len ) |
获取IMEI
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
buff[OUT] | IMEI数据 |
buf_len | 用户传入缓存的大小,如果底层数据量大于buf_len,只会传出buf_len大小的数据 |
int luat_mobile_get_imsi | ( | int | sim_id, |
char * | buff, | ||
size_t | buf_len ) |
获取SIM卡的IMSI
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
buff[OUT] | IMSI数据 |
buf_len | 用户传入缓存的大小,如果底层数据量大于buf_len,只会传出buf_len大小的数据 |
void luat_mobile_get_ip_data_traffic | ( | uint64_t * | uplink, |
uint64_t * | downlink ) |
获取累计的IP流量数据
uplink | 上行流量 |
downlink | 下行流量 |
int luat_mobile_get_isp_from_plmn | ( | uint16_t | mcc, |
uint8_t | mnc ) |
通过PLMN判断运营商,目前只支持国内三大运营商及广电
mcc | MCC码,3位10进制数字,目前只有中国460是支持的 |
mnc | MNC码,2位10进制数字 |
void luat_mobile_get_last_call_num | ( | char * | buf, |
uint8_t | buf_len ) |
获取最近一次来电号码
buf | 存放号码的缓存 |
buf_len | 存放号码的缓存长度,推荐80 |
int luat_mobile_get_last_notify_cell_info | ( | luat_mobile_cell_info_t * | info | ) |
获取上一次异步搜索周围小区基站信息,包括周期性搜索和异步搜索,在LUAT_MOBILE_CELL_INFO_UPDATE到来后用本函数获取信息
info | 当前移动网络信号状态详细信息 |
int luat_mobile_get_last_notify_cell_info_with_sim_id | ( | uint8_t | sim_id, |
luat_mobile_cell_info_t * | info ) |
双卡双待设备,获取上一次异步搜索周围小区基站信息,包括周期性搜索和异步搜索,在LUAT_MOBILE_CELL_INFO_UPDATE到来后用本函数获取信息
sim_id | sim卡槽 |
info | 当前移动网络信号状态详细信息 |
max_time | 搜索的最大时间 |
int luat_mobile_get_last_notify_signal_strength | ( | uint8_t * | csq | ) |
获取最近一次网络信号状态更新通知后的CSQ值
info | CSQ值 |
int luat_mobile_get_last_notify_signal_strength_info | ( | luat_mobile_signal_strength_info_t * | info | ) |
获取最近一次网络信号状态更新通知后的网络信号状态详细信息
info | 网络信号状态详细信息 |
int luat_mobile_get_local_ip | ( | int | sim_id, |
int | cid, | ||
ip_addr_t * | ip_v4, | ||
ip_addr_t * | ip_v6 ) |
获取已激活承载分配的本地ip地址
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
cid | cid位置 1~6,没有使用专网APN的话,就是用1 |
ip_v4,ipv4的IP地址 | |
ip_v6,ipv6的IP地址 |
int luat_mobile_get_muid | ( | char * | buff, |
size_t | buf_len ) |
获取MUID,并不一定存在
buff[OUT] | MUID数据 |
buf_len | 用户传入缓存的大小,如果底层数据量大于buf_len,只会传出buf_len大小的数据 |
int luat_mobile_get_plmn_from_imsi | ( | char * | imsi, |
uint16_t * | mcc, | ||
uint8_t * | mnc ) |
通过IMSI提取PLMN
imsi | IMSI号码 |
mcc | MCC码,3位10进制数字 |
mnc | MNC码,2位10进制数字 |
LUAT_MOBILE_REGISTER_STATUS_E luat_mobile_get_register_status | ( | void | ) |
int luat_mobile_get_service_cell_identifier | ( | uint32_t * | eci | ) |
获取当前服务小区的ECI
eci |
int luat_mobile_get_service_tac_or_lac | ( | uint16_t * | tac | ) |
获取当前服务小区的TAC或LAC
tac |
int luat_mobile_get_signal_strength | ( | uint8_t * | csq | ) |
获取CSQ值 CSQ从RSSI转换而来,只能作为天线口状态的一个参考,而不能作为LTE网络信号状态的参考
csq | CSQ值 |
int luat_mobile_get_signal_strength_info | ( | luat_mobile_signal_strength_info_t * | info | ) |
获取当前移动网络信号状态详细信息
info | 当前移动网络信号状态详细信息 |
int luat_mobile_get_sim_id | ( | int * | id | ) |
当前使用的SIM卡的位置,并不一定支持
id[OUT] | sim位置,对于双卡双待的设备,输出0或者1,其他设备输出0 |
int luat_mobile_get_sim_number | ( | int | sim_id, |
char * | buff, | ||
size_t | buf_len ) |
当前使用的SIM卡的手机号,注意,只有写入了手机号才能读出,因此有可能读出来是空的
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
buff[OUT] | sim_number数据 |
buf_len | 用户传入缓存的大小,如果底层数据量大于buf_len,只会传出buf_len大小的数据 |
uint8_t luat_mobile_get_sim_ready | ( | int | id | ) |
检查SIM卡是否准备好
id | sim位置,对于双卡的设备,选0或者1,其他为自动选择模式,但是0和1的优先级是一致的。非双卡的设备不支持 |
LUAT_MOBILE_SIM_STATUS_E luat_mobile_get_sim_status | ( | void | ) |
int luat_mobile_get_sn | ( | char * | buff, |
size_t | buf_len ) |
获取SN,如果用户没有调用luat_mobile_set_sn接口写过SN,默认值为空
buff[OUT] | SN数据 |
buf_len | 用户传入缓存的大小,EC618平台底层支持的最大长度为32字节,如果底层数据量大于buf_len,只会传出buf_len大小的数据 |
int luat_mobile_get_support_band | ( | uint8_t * | band, |
uint8_t * | total_num ) |
获取模块能支持的频段
band | 存放输出频段值的缓存,至少需要CMI_DEV_SUPPORT_MAX_BAND_NUM字节的空间 |
total_num | 频段数量 |
uint8_t luat_mobile_get_sync_time | ( | void | ) |
查看当前是否允许基站时间同步给本地时间
void luat_mobile_hangup_call | ( | uint8_t | sim_id | ) |
主动挂断电话
sim_id | sim卡槽 |
int luat_mobile_make_call | ( | uint8_t | sim_id, |
char * | number, | ||
uint8_t | len ) |
主动拨打打电话
sim_id | sim卡槽 |
number | 字符串形式的电话号码 |
len | 电话号码长度 |
void luat_mobile_print_last_notify_cell_info_with_sim_id | ( | uint8_t | sim_id | ) |
打印指定sim卡槽搜索到的详细基站信息,与平台有关
sim_id | sim卡槽 |
int luat_mobile_reset_stack | ( | void | ) |
重新底层网络协议栈,本质是快速的进出飞行模式,注意和设置飞行模式是冲突的,一定时间内只能用一个。
void luat_mobile_rf_test_input | ( | char * | data, |
uint32_t | data_len ) |
RF测试的指令或者数据输入
data | 数据,可以为空,只有为空的时候才会真正开始处理指令 |
data_len | 数据长度,可以为0,只有为0的时候才会真正开始处理指令 |
void luat_mobile_rf_test_mode | ( | uint8_t | uart_id, |
uint8_t | on_off ) |
RF测试模式
uart_id | 测试结果输出的串口ID |
on_off | 进出测试模式,0退出 其他进入 |
void luat_mobile_rrc_auto_release_pause | ( | uint8_t | onoff | ) |
RRC自动释放暂停/恢复
onoff | 1暂停 0恢复 |
void luat_mobile_rrc_release_once | ( | void | ) |
RRC立刻释放一次,不能在luat_mobile_event_callback里使用
uint8_t luat_mobile_rssi_to_csq | ( | int8_t | rssi | ) |
从RSSI转换到CSQ,RSSI只能作为天线口状态的一个参考,而不能作为LTE网络信号状态的参考
rssi | RSSI值 |
int luat_mobile_set_apn_auth_info | ( | int | sim_id, |
int | cid, | ||
uint8_t | protocol, | ||
uint8_t * | user_name, | ||
uint8_t | user_name_len, | ||
uint8_t * | password, | ||
uint8_t | password_len ) |
手动设置APN激活所需的加密信息,如果需要更详细的设置,可以自行修改本函数。大部分情况下不需要加密信息,定向卡可能需要。只有EC618/EC7XX支持
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
cid | cid位置 2~6 |
protocol | 加密协议 1~3,0和0xff表示不需要 |
user_name | 用户名 |
user_name_len | 用户名长度 |
password | 密码 |
password_len | 密码长度 |
int luat_mobile_set_apn_base_info | ( | int | sim_id, |
int | cid, | ||
uint8_t | type, | ||
uint8_t * | apn_name, | ||
uint8_t | name_len ) |
手动设置APN激活所需的最小信息,如果需要更详细的设置,可以自行修改本函数。,只有EC618/EC7XX支持
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
cid | cid位置 2~6 |
type | 激活类型 1 IPV4 2 IPV6 3 IPV4V6 |
apn_name | apn name |
name_len | apn name 长度 |
int luat_mobile_set_band | ( | uint8_t * | band, |
uint8_t | total_num ) |
设置模块使用的频段
band | 设置的频段,需要至少total_num数量的空间 |
total_num | 频段数量 |
void luat_mobile_set_check_network_period | ( | uint32_t | period | ) |
设置定时检测网络是否正常并且在检测到长时间无网时通过重启协议栈来恢复,但是不能保证一定成功,这个功能和luat_mobile_reset_stack是有可能冲突的。所有功能默认都是关闭的
period | 无网时长,单位ms,不可以太短,建议60000以上,为网络搜索网络保留足够的时间 |
int luat_mobile_set_check_sim | ( | uint32_t | check_sim_period | ) |
设置SIM卡短时间脱离卡槽后周期性尝试恢复,luat_mobile_set_period_work的简化版本
check_sim_period | SIM卡短时间脱离卡槽后尝试恢复的时间间隔,单位ms,建议在5000~10000,或者写0,当SIM卡移除的消息上来后手动重启协议栈 |
void luat_mobile_set_default_pdn_ipv6 | ( | uint8_t | onoff | ) |
设置默认PDN激活时是否要IPV6网络,现在默认情况下不开
onoff | 1开 0关 |
int luat_mobile_set_flymode | ( | int | index, |
int | mode ) |
进出飞行模式
index | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
mode | 飞行模式,1进入,0退出 |
int luat_mobile_set_period_work | ( | uint32_t | get_cell_period, |
uint32_t | check_sim_period, | ||
uint8_t | search_cell_time ) |
设置周期性辅助工作,包括周期性搜索小区基站,SIM卡短时间脱离卡槽后周期性尝试恢复,这个功能和luat_mobile_reset_stack是有可能冲突的。所有功能默认都是关闭的
get_cell_period | 周期性搜索小区基站的时间间隔,单位ms,这个会增加低功耗,尽量的长,或者写0关闭这个功能,用上面的手段搜索 |
check_sim_period | SIM卡短时间脱离卡槽后尝试恢复的时间间隔,单位ms,建议在5000~10000,或者写0,当SIM卡移除的消息上来后手动重启协议栈 |
search_cell_time | 启动周期性搜索小区基站后,每次搜索的最大时间,单位s,1~8 |
void luat_mobile_set_rrc_auto_release_time | ( | uint8_t | s | ) |
设置RRC自动释放时间,在RRC active(见LUAT_MOBILE_EVENT_CSCON)后经过一段时间在适当的时机释放RRC
s | 超时时间,单位秒,如果为0则是关闭功能 |
void luat_mobile_set_sim_detect_sim0_first | ( | void | ) |
在自动选择模式时,开机后优先用sim0
int luat_mobile_set_sim_id | ( | int | id | ) |
改变使用的SIM卡的位置,并不一定支持
id | sim位置,对于双卡的设备,选0或者1,其他为自动选择模式。非双卡的设备不支持 |
int luat_mobile_set_sim_pin | ( | int | id, |
uint8_t | operation, | ||
char | pin1[9], | ||
char | pin2[9] ) |
对SIM卡的pin码做操作
id | sim位置,对于双卡的设备,选0或者1,其他为自动选择模式,但是0和1的优先级是一致的。非双卡的设备不支持 |
operation | 操作码,见LUAT_MOBILE_SIM_PIN_OP_E |
pin1 | 旧的pin码,或者验证的pin码,解锁pin码时的PUK,参考手机操作 |
pin2 | 更换pin码操作时的新的pin码,解锁pin码时的新PIN,参考手机操作 |
int luat_mobile_set_sn | ( | char * | buff, |
uint8_t | buf_len ) |
设置SN
buff | SN数据,必须是ascii值大于等于0x21小于等于0x7e的可见ascii字符 |
buf_len | SN数据长度;EC618平台底层支持的最大长度为32字节,如果buf_len大于32,只会保存前32字节的数据 |
void luat_mobile_set_sync_time | ( | uint8_t | on_off | ) |
是否允许基站时间同步给本地时间
on_off | 0不允许,其他允许 |
int luat_mobile_sim_detect_onoff | ( | uint8_t | on_off | ) |
uint32_t luat_mobile_sim_write_counter | ( | void | ) |
int luat_mobile_sms_event_register_handler | ( | luat_mobile_sms_event_callback_t | callback_fun | ) |
注册底层短信消息回调函数,后续改为统一消息处理(和luat_mobile_sms_sdk_event_register_handler一样,只是为了兼容老的BSP)
callback_fun | 短信消息回调函数,如果为NULL,则是注销 |
int luat_mobile_sms_sdk_event_register_handler | ( | luat_mobile_sms_event_callback_t | callback_fun | ) |
注册底层短信消息回调函数,后续改为统一消息处理
callback_fun | 短信消息回调函数,如果为NULL,则是注销 |
int luat_mobile_softsim_onoff | ( | uint8_t | on_off | ) |
int luat_mobile_speech_init | ( | uint8_t | multimedia_id, |
void * | callback ) |
初始化电话功能
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
callback | 下行通话数据回调函数 |
int luat_mobile_speech_upload | ( | uint8_t * | data, |
uint32_t | len ) |
上行通话数据
data | 录音数据 |
len | 录音数据长度 |
void luat_mobile_user_apn_auto_active | ( | int | sim_id, |
uint8_t | cid, | ||
uint8_t | ip_type, | ||
uint8_t | protocol_type, | ||
uint8_t * | apn_name, | ||
uint8_t | apn_name_len, | ||
uint8_t * | user, | ||
uint8_t | user_len, | ||
uint8_t * | password, | ||
uint8_t | password_len ) |
用户设置APN的基本信息,并且自动激活,注意不能和上述手动操作APN的API共用,专网卡如果不能用公网apn激活默认承载的必须用这个
sim_id | sim位置,对于双卡双待的设备,选0或者1,其他设备随意 |
cid | cid位置 1~6 |
ip_type | 激活类型 1 IPV4 2 IPV6 3 IPV4V6 |
protocol_type | 加密协议 0~2,0xff表示不需要 |
apn_name | apn name,如果留空则使用默认APN |
apn_name_len | apn name 长度 |
user_name | 用户名 |
user_name_len | 用户名长度 |
password | 密码 |
password_len | 密码长度 |
void luat_mobile_user_ctrl_apn | ( | void | ) |
用户控制APN激活过程。只有使用了本函数后,才能通过手动激活用户的APN并加装网卡。只有EC618/EC7XX支持
void luat_mobile_user_ctrl_apn_stop | ( | void | ) |
解除用户控制APN激活过程