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);
300
306TKL_CELL_CALL_INTF_T* tkl_cellular_call_desc_get();
307
313typedef struct
314{
315
321 OPERATE_RET (*mds_init) (UINT8_T sim_id);
322
328 TUYA_CELLULAR_MDS_STATUS_E (*get_mds_status) (UINT8_T simId);
329
338 OPERATE_RET (*pdp_active) (UINT8_T sim_id,PCHAR_T apn, PCHAR_T username, PCHAR_T password);
339
345 OPERATE_RET (*pdp_deactive) (UINT8_T sim_id);
346
355 OPERATE_RET (*pdp_auto_reactive_enable) (UINT8_T sim_id,BOOL_T enable);
356
357
364 OPERATE_RET (*registr_mds_net_notify) (UINT8_T sim_id,TKL_MDS_NOTIFY notify);
365
371 OPERATE_RET (*get_ip)(UINT8_T sim_id,NW_IP_S *ip);
373
379TKL_CELL_MDS_INTF_T* tkl_cellular_mds_desc_get();
380
384typedef struct
385{
392 OPERATE_RET (*send)(UINT8_T sim_id, TUYA_CELLULAR_SMS_SEND_T* msg);
393
399 OPERATE_RET (*recv_cb_register)(TUYA_CELLULAR_SMS_CB callback);
400
406 OPERATE_RET (*sms_mute)(BOOL_T mute);
407
408 VOID* (*convert_str)(CONST VOID *from, INT_T from_size,
410 TUYA_CELLULAR_SMS_ENCODE_E to_chset, INT_T *to_size);
412
418TKL_CELL_SMS_INTF_T* tkl_cellular_sms_desc_get();
419
423typedef struct
424{
430 OPERATE_RET (*get_rsoc)(PUINT8_T rsoc);
431
439 OPERATE_RET (*ntc_enable)(BOOL_T enable);
440
448 OPERATE_RET (*set_charge_current)(UINT_T current);
449
455 TKL_CELLULAR_VBAT_CHG_STATE_E (*get_charger_state)(VOID);
456
462 OPERATE_RET (*charge_cb_register)(TKL_CELLULAR_VBAT_CHARGE_CB callback);
463
464
470 OPERATE_RET (*get_voltage)(UINT_T* voltage);
471
472
473 OPERATE_RET (*low_volt_poweroff_enable)(BOOL_T enable);
475
481TKL_CELL_VBAT_INTF_T* tkl_cellular_vbat_desc_get();
482
483
487typedef struct
488{
489 OPERATE_RET (*audio_play) (TKL_AUDIO_PLAYER_TYPE_E type, TKL_AUDIO_STREAM_FORMAT_E format,
490 PCHAR_T file_path,
491 TKL_AUDIO_PLAYER_CB cb, PVOID_T cb_ctx);
492 OPERATE_RET (*audio_pause) (VOID);
493 OPERATE_RET (*audio_resume) (VOID);
494 OPERATE_RET (*audio_stop) (VOID);
495 OPERATE_RET (*audio_set_vol) (INT_T vol);
496 OPERATE_RET (*audio_get_vol) (PINT_T vol);
497 OPERATE_RET (*audio_set_mute) (BOOL_T mute);
498 OPERATE_RET (*audio_get_mute) (PBOOL_T mute);
499 OPERATE_RET (*audio_mem_play) (TKL_AUDIO_PLAYER_TYPE_E type,
500 TKL_AUDIO_STREAM_FORMAT_E format, PBYTE_T buff,
501 UINT_T size,TKL_AUDIO_PLAYER_CB cb, PVOID_T cb_ctx);
502 OPERATE_RET (*audio_set_output) (TKL_AUDEV_OUTPUT_TYPE chan);
503 OPERATE_RET (*audio_get_output) (TKL_AUDEV_OUTPUT_TYPE *chan);
504 OPERATE_RET (*audio_set_input) (TKL_AUDEV_INPUT_TYPE chan);
505 OPERATE_RET (*audio_get_input) (TKL_AUDEV_INPUT_TYPE *chan);
506 OPERATE_RET (*audio_get_status) (TKL_AUDIO_PLAYER_STATUS_E *status);
507 OPERATE_RET (*audio_play_stream) (TKL_AUDIO_PLAYER_TYPE_E type, CONST TKL_AUDIO_PLAY_OPS_T* playOps,
508 PVOID_T playCtx, CONST TKL_AUDIO_FRAME_T* frame);
509 OPERATE_RET (*audio_stop_stream) (VOID);
511
517TKL_CELL_PLAYER_INTF_T* tkl_cellular_player_desc_get();
518
519
520
524typedef struct
525{
526 OPERATE_RET (*init) (VOID *param);
527 TUYA_CELLULAR_KEY_LISTENER (*key_listener_add) (TUYA_KEYMAP_E keyId,
529 void *ctx);
530 OPERATE_RET (*key_listener_delete) (TUYA_CELLULAR_KEY_LISTENER listener);
531 OPERATE_RET (*key_state_get) (TUYA_KEYMAP_E keyId,TUYA_KEYSTATE_E *state);
532 OPERATE_RET (*key_ioctl)(INT_T cmd,VOID *argv);
534
540TKL_CELL_KEYPAD_INTF_T* tkl_cellular_keypad_desc_get();
541
542
543#ifdef __cplusplus
544} // extern "C"
545#endif
546
547#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:123
蜂窝模组音频接口
Definition: tkl_init_cellular.h:525
蜂窝模组数据服务API接口定义 TAL在实现tkl_cellular_mds_intf_t接口后,需要调用tal_cellular_mds_register 把实现的对象注册到tkl中
Definition: tkl_init_cellular.h:314
蜂窝模组音频接口
Definition: tkl_init_cellular.h:488
蜂窝模组短信功能API接口定义
Definition: tkl_init_cellular.h:385
蜂窝模组电池API接口定义
Definition: tkl_init_cellular.h:424
Definition: tkl_cellular_base.h:116
发送短信结构体定义
Definition: tkl_cellular_sms.h:47
蜂窝模组基础功能API实现接口。
VOID(* TKL_SIM_NOTIFY)(TKL_SIM_STATE_E status)
sim卡状态变化通知函数原型
Definition: tkl_cellular_base.h:135
蜂窝模组电话拨号API实现接口。
TUYA_TONE_TYPE_E
Definition: tkl_cellular_call.h:24
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:81
#define TKL_CELLULAR_CALLNUM_LEN_MAX
电话号码最大长度
Definition: tkl_cellular_call.h:55
蜂窝模组键盘功能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:48
TUYA_CELLULAR_MDS_STATUS_E
蜂窝移动数据鉴权状态
Definition: tkl_cellular_mds.h:26
蜂窝模组基础功能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