TuyaOS
tkl_pm.h
1#ifndef _TKL_PM_H_
2#define _TKL_PM_H_
3#ifdef __cplusplus
4extern "C" {
5#endif
6#include <stddef.h>
7#include "tuya_cloud_types.h"
8#include "tuya_list.h"
9
10
11
12typedef INT_T IOCTRL_CMD;
13
14#define IOCTRL_CMD_SET 1
15#define IOCTRL_CMD_GET_STRING 2
16#define IOCTRL_CMD_TRANS_INT_STRING 3
17#define IOCTRL_CMD_TRANS_RAW 4
18
19typedef struct {
20 LIST_HEAD list;
21 /*device name -- it is devcie unique identifier*/
22 CHAR_T name[16];
23 /* voltage output range (inclusive) - for voltage control */
24 INT_T min_mV;
25 INT_T max_mV;
26 /* current output range (inclusive) - for current control */
27 INT_T min_mA;
28 INT_T max_mA;
29 /* 用户私有定义值 */
30 UINT_T usr_arg;
32
40OPERATE_RET tkl_pm_dev_unregistor(CONST CHAR_T *devname);
41
42
50TUYA_PM_DEV_DESC_T *tkl_pm_get_dev_info(CONST CHAR_T *devname);
51
52
60TUYA_PM_DEV_DESC_T *tkl_pm_get_dev_list_head(VOID_T);
61
62
71OPERATE_RET tkl_pm_set_voltage(CONST CHAR_T *devname, INT_T mV);
72
73
81INT_T tkl_pm_get_voltage(CONST CHAR_T *devname);
82
91OPERATE_RET tkl_pm_set_current(CONST CHAR_T *devname,INT_T mA);
92
100INT_T tkl_pm_get_current(CONST CHAR_T *devname);
101
110OPERATE_RET tkl_pm_enable(CONST CHAR_T *devname,INT_T lp_en);
111
119OPERATE_RET tkl_pm_disable(CONST CHAR_T *devname);
120
128OPERATE_RET tkl_pm_is_enable(CONST CHAR_T *devname,BOOL_T *status);
129
130
138OPERATE_RET tkl_pm_power_off(CONST CHAR_T *devname);
139
140
148OPERATE_RET tkl_pm_reset(CONST CHAR_T *devname);
149
158OPERATE_RET tkl_pm_ioctl(CONST CHAR_T *devname,INT_T ctl_cmd,VOID_T *param);
159
160
161
162#ifdef __cplusplus
163}
164#endif
165
166#endif
Definition: tkl_pm.h:19
bidirection list head
Definition: tuya_list.h:25
tuya bidirection list module