TuyaOS
tkl_init_cellular.h
1
10#ifndef __TKL_INIT_CELLULAR_BASE_H__
11#define __TKL_INIT_CELLULAR_BASE_H__
12
13#include "tuya_cloud_types.h"
14#include "tkl_cellular_base.h"
15#include "tkl_cellular_call.h"
16#include "tkl_cellular_mds.h"
17#include "tkl_cellular_sms.h"
18#include "tkl_cellular_vbat.h"
19#include "tkl_cellular_player.h"
20#include "tkl_cellular_keypad.h"
21#ifdef __cplusplus
22extern "C" {
23#endif
24
30typedef struct
31{
32
33 OPERATE_RET (*base_init)(TKL_CELL_INIT_PARAM_T *param);
39 OPERATE_RET (*get_ability)(TKL_CELLULAR_ABILITY_E *ability);
45 OPERATE_RET (*switch_sim)(UINT8_T sim_id);
51 OPERATE_RET (*register_sim_state_notify) (UINT8_T sim_id,TKL_SIM_NOTIFY notify);
52
59 OPERATE_RET (*sim_hotplug_enable) (UINT8_T sim_id, BOOL_T enable);
60
67 OPERATE_RET (*sim_get_status) (UINT8_T sim_id, UCHAR_T *state);
68
74 OPERATE_RET (*get_cfun_mode) (UINT8_T sim_id,PINT_T cfun);
75
83 OPERATE_RET (*set_cfun_mode) (UINT8_T sim_id,INT_T cfun);
84
91 OPERATE_RET (*get_imsi) (UINT8_T sim_id,CHAR_T imsi[15 + 1]);
92
99 OPERATE_RET (*get_iccid) (UINT8_T sim_id,CHAR_T iccid[20 + 1]);
106 OPERATE_RET (*get_imei) (UINT8_T sim_id,CHAR_T imei[15 + 1]);
107
113 OPERATE_RET (*set_imei) (UINT8_T sim_id,CHAR_T imei[15 + 1]);
114
121 OPERATE_RET (*get_rsrp)(UINT8_T sim_id,INT_T *rsrp);
122
129 OPERATE_RET (*get_sinr)(UINT8_T sim_id,INT_T *sinr,INT_T *bit_error);
130
139 OPERATE_RET (*get_lbs)(UINT8_T simid,TKL_LBS_INFO_T *lbs,BOOL_T neighbour,INT_T timeout);
140
146 BOOL_T (*rf_calibrated)(VOID);
147
153 OPERATE_RET (*enable_sim_detect)(UINT8_T simid,BOOL_T enable);
154
159 INT8_T (*get_default_simid)(VOID);
160
169 OPERATE_RET (*ioctl)(INT_T cmd,VOID* argv);
170
172
178TKL_CELL_BASE_INTF_T* tkl_cellular_base_desc_get();
179
183typedef struct
184{
190 BOOL_T (*call_service_available)(UINT8_T sim_id);
191
198 OPERATE_RET (*call)(UINT8_T sim_id, CHAR_T call_number[TKL_CELLULAR_CALLNUM_LEN_MAX]);
199
205 OPERATE_RET (*answer)(UINT8_T sim_id);
206
212 OPERATE_RET (*hungup)(UINT8_T sim_id);
213
219 OPERATE_RET (*cb_register)(TKL_CELLULAR_CALL_CB callback);
220
226 OPERATE_RET (*set_callin_mute)(BOOL_T mute);
227
234 OPERATE_RET (*set_volte)(UINT8_T sim_id,BOOL_T enable);
235
244 OPERATE_RET (*set_voice_mute)(BOOL_T mute);
245
251 OPERATE_RET (*get_voice_mute)(PBOOL_T mute);
252
258 OPERATE_RET (*set_voice_vol)(INT_T vol);
259
260
266 OPERATE_RET (*get_voice_vol)(PINT_T vol);
267
268
275 OPERATE_RET (*play_tone)(TUYA_TONE_TYPE_E tone, INT_T duration);
276
282 OPERATE_RET (*stop_tone)(VOID);
283
284
298 OPERATE_RET (*dtmf2voice)(TUYA_TONE_TYPE_E dtmfTone, UINT_T duration);
299
300 OPERATE_RET (*reg_KTDetect)(TKL_CELLULAR_CALL_KTDETECH_CB cb);
301
302 OPERATE_RET (*ctrl_KTDetect)(BOOL_T enable);
303
305
311TKL_CELL_CALL_INTF_T* tkl_cellular_call_desc_get();
312
318typedef struct
319{
320
326 OPERATE_RET (*mds_init) (UINT8_T sim_id);
327
333 TUYA_CELLULAR_MDS_STATUS_E (*get_mds_status) (UINT8_T simId);
334
343 OPERATE_RET (*pdp_active) (UINT8_T sim_id,PCHAR_T apn, PCHAR_T username, PCHAR_T password);
344
356 OPERATE_RET (*adv_pdp_active) (UINT8_T sim_id,UINT8_T cid,TUYA_MDS_PDP_TYPE_E pdp_type,PCHAR_T apn, PCHAR_T username, PCHAR_T password);
362 OPERATE_RET (*pdp_deactive) (UINT8_T sim_id);
363
370 OPERATE_RET (*adv_pdp_deactive) (UINT8_T sim_id,UINT8_T cid);
371
380 OPERATE_RET (*pdp_auto_reactive_enable) (UINT8_T sim_id,BOOL_T enable);
381
382
389 OPERATE_RET (*registr_mds_net_notify) (UINT8_T sim_id,TKL_MDS_NOTIFY notify);
390
396 OPERATE_RET (*get_ip)(UINT8_T sim_id,NW_IP_S *ip);
397
403 OPERATE_RET (*adv_get_ip)(UINT8_T sim_id,UINT8_T cid,NW_IP_S *ip);
405
411TKL_CELL_MDS_INTF_T* tkl_cellular_mds_desc_get();
412
416typedef struct
417{
424 OPERATE_RET (*send)(UINT8_T sim_id, TUYA_CELLULAR_SMS_SEND_T* msg);
425
431 OPERATE_RET (*recv_cb_register)(TUYA_CELLULAR_SMS_CB callback);
432
438 OPERATE_RET (*sms_mute)(BOOL_T mute);
439
440 VOID* (*convert_str)(CONST VOID *from, INT_T from_size,
442 TUYA_CELLULAR_SMS_ENCODE_E to_chset, INT_T *to_size);
444
450TKL_CELL_SMS_INTF_T* tkl_cellular_sms_desc_get();
451
455typedef struct
456{
462 OPERATE_RET (*get_rsoc)(PUINT8_T rsoc);
463
471 OPERATE_RET (*ntc_enable)(BOOL_T enable);
472
480 OPERATE_RET (*set_charge_current)(UINT_T current);
481
487 TKL_CELLULAR_VBAT_CHG_STATE_E (*get_charger_state)(VOID);
488
494 OPERATE_RET (*charge_cb_register)(TKL_CELLULAR_VBAT_CHARGE_CB callback);
495
496
502 OPERATE_RET (*get_voltage)(UINT_T* voltage);
503
504
505 OPERATE_RET (*low_volt_poweroff_enable)(BOOL_T enable);
507
513TKL_CELL_VBAT_INTF_T* tkl_cellular_vbat_desc_get();
514
515
519typedef struct
520{
521 OPERATE_RET (*audio_play) (TKL_AUDIO_PLAYER_TYPE_E type, TKL_AUDIO_STREAM_FORMAT_E format,
522 PCHAR_T file_path,
523 TKL_AUDIO_PLAYER_CB cb, PVOID_T cb_ctx);
524 OPERATE_RET (*audio_pause) (VOID);
525 OPERATE_RET (*audio_resume) (VOID);
526 OPERATE_RET (*audio_stop) (VOID);
527 OPERATE_RET (*audio_set_vol) (INT_T vol);
528 OPERATE_RET (*audio_get_vol) (PINT_T vol);
529 OPERATE_RET (*audio_set_mute) (BOOL_T mute);
530 OPERATE_RET (*audio_get_mute) (PBOOL_T mute);
531 OPERATE_RET (*audio_mem_play) (TKL_AUDIO_PLAYER_TYPE_E type,
532 TKL_AUDIO_STREAM_FORMAT_E format, PBYTE_T buff,
533 UINT_T size,TKL_AUDIO_PLAYER_CB cb, PVOID_T cb_ctx);
534 OPERATE_RET (*audio_set_output) (TKL_AUDEV_OUTPUT_TYPE chan);
535 OPERATE_RET (*audio_get_output) (TKL_AUDEV_OUTPUT_TYPE *chan);
536 OPERATE_RET (*audio_set_input) (TKL_AUDEV_INPUT_TYPE chan);
537 OPERATE_RET (*audio_get_input) (TKL_AUDEV_INPUT_TYPE *chan);
538 OPERATE_RET (*audio_get_status) (TKL_AUDIO_PLAYER_STATUS_E *status);
539 OPERATE_RET (*audio_play_stream) (TKL_AUDIO_PLAYER_TYPE_E type, CONST TKL_AUDIO_PLAY_OPS_T* playOps,
540 PVOID_T playCtx, CONST TKL_AUDIO_FRAME_T* frame);
541 OPERATE_RET (*audio_stop_stream) (VOID);
543
549TKL_CELL_PLAYER_INTF_T* tkl_cellular_player_desc_get();
550
551
552
556typedef struct
557{
558 OPERATE_RET (*init) (VOID *param);
559 TUYA_CELLULAR_KEY_LISTENER (*key_listener_add) (TUYA_KEYMAP_E keyId,
561 void *ctx);
562 OPERATE_RET (*key_listener_delete) (TUYA_CELLULAR_KEY_LISTENER listener);
563 OPERATE_RET (*key_state_get) (TUYA_KEYMAP_E keyId,TUYA_KEYSTATE_E *state);
564 OPERATE_RET (*key_ioctl)(INT_T cmd,VOID *argv);
566
572TKL_CELL_KEYPAD_INTF_T* tkl_cellular_keypad_desc_get();
573
574
575#ifdef __cplusplus
576} // extern "C"
577#endif
578
579#endif
Definition: tuya_cloud_types.h:201
audio frame
Definition: tkl_cellular_player.h:65
Definition: tkl_cellular_player.h:103
蜂窝模组基础服务API接口定义 TAL在实现tkl_CellularSvcIntf_t接口后,需要调用tal_cellular_mds_register 把实现的对象注册到tkl中
Definition: tkl_init_cellular.h:31
蜂窝模组电话拨号API接口定义
Definition: tkl_init_cellular.h:184
Definition: tkl_cellular_base.h:180
蜂窝模组音频接口
Definition: tkl_init_cellular.h:557
蜂窝模组数据服务API接口定义 TAL在实现tkl_cellular_mds_intf_t接口后,需要调用tal_cellular_mds_register 把实现的对象注册到tkl中
Definition: tkl_init_cellular.h:319
蜂窝模组音频接口
Definition: tkl_init_cellular.h:520
蜂窝模组短信功能API接口定义
Definition: tkl_init_cellular.h:417
蜂窝模组电池API接口定义
Definition: tkl_init_cellular.h:456
Definition: tkl_cellular_base.h:173
发送短信结构体定义
Definition: tkl_cellular_sms.h:47
蜂窝模组基础功能API实现接口。
VOID(* TKL_SIM_NOTIFY)(TKL_SIM_STATE_E status)
sim卡状态变化通知函数原型
Definition: tkl_cellular_base.h:225
蜂窝模组电话拨号API实现接口。
TUYA_TONE_TYPE_E
Definition: tkl_cellular_call.h:24
VOID_T(* TKL_CELLULAR_CALL_KTDETECH_CB)(TUYA_TONE_TYPE_E dtmf)
通话过程中,对方的按键输入侦测回调函数定义,用于侦测对方的DTMF输入
Definition: tkl_cellular_call.h:82
VOID_T(* TKL_CELLULAR_CALL_CB)(TUYA_CELLULAR_CALL_IND_STATE_E state, UINT8_T simId, CHAR_T callNum[42])
呼叫回调处理函数原型
Definition: tkl_cellular_call.h:74
#define TKL_CELLULAR_CALLNUM_LEN_MAX
电话号码最大长度
Definition: tkl_cellular_call.h:48
蜂窝模组键盘功能API实现接口。
void * TUYA_CELLULAR_KEY_LISTENER
tuya cellular key listener definition
Definition: tkl_cellular_keypad.h:62
TUYA_KEYMAP_E
tuya cellular module keypad logic definition
Definition: tkl_cellular_keypad.h:24
void(* TUYA_CELLULAR_KEY_CB)(TUYA_KEYMAP_E keyId, TUYA_KEYSTATE_E state, void *ctx)
tuya cat1 key event process callback defintion
Definition: tkl_cellular_keypad.h:66
TUYA_KEYSTATE_E
tuya cellular module key state definition
Definition: tkl_cellular_keypad.h:54
蜂窝模组数据API实现接口。
void(* TKL_MDS_NOTIFY)(UINT8_T sim_id, TUYA_CELLULAR_MDS_NET_STATUS_E st)
蜂窝网络状态变化通知函数原型,该接口是为了svc_netmgr适配
Definition: tkl_cellular_mds.h:62
TUYA_CELLULAR_MDS_STATUS_E
蜂窝移动数据鉴权状态
Definition: tkl_cellular_mds.h:30
TUYA_MDS_PDP_TYPE_E
蜂窝网络IP类型
Definition: tkl_cellular_mds.h:50
蜂窝模组基础功能API实现接口。
TKL_AUDEV_INPUT_TYPE
音频输入设备类型定义
Definition: tkl_cellular_player.h:169
TKL_AUDEV_OUTPUT_TYPE
音频输出设备类型定义
Definition: tkl_cellular_player.h:181
TKL_AUDIO_PLAYER_STATUS_E
audio player status
Definition: tkl_cellular_player.h:144
TKL_AUDIO_STREAM_FORMAT_E
audio stream format
Definition: tkl_cellular_player.h:155
TKL_AUDIO_PLAYER_TYPE_E
Definition: tkl_cellular_player.h:34
蜂窝模组短信API实现接口。
VOID_T(* TUYA_CELLULAR_SMS_CB)(UINT8_T sim_id, TUYA_CELLULAR_SMS_RECV_T *msg)
短信接收回调函数接口原型
Definition: tkl_cellular_sms.h:89
TUYA_CELLULAR_SMS_ENCODE_E
短信内容编码格式
Definition: tkl_cellular_sms.h:34
蜂窝模组电池功能API实现接口。
VOID(* TKL_CELLULAR_VBAT_CHARGE_CB)(TKL_CELLULAR_VBAT_CHG_MSG_T msg)
电池及充电器消息回调函数原型定义
Definition: tkl_cellular_vbat.h:53
TKL_CELLULAR_VBAT_CHG_STATE_E
充电器状态定义
Definition: tkl_cellular_vbat.h:41