6#ifndef TUYA_CLOUD_TYPES_H
7#define TUYA_CLOUD_TYPES_H
9#include "tuya_iot_config.h"
12#if OPERATING_SYSTEM == SYSTEM_LINUX
20#include "tuya_error_code.h"
27typedef int OPERATE_RET;
28typedef long long DLONG_T;
29typedef DLONG_T *PDLONG_T;
31typedef FLOAT_T *PFLOAT_T;
32typedef signed int INT_T;
37typedef signed char SCHAR_T;
38typedef unsigned char UCHAR_T;
40typedef unsigned short USHORT_T;
41typedef short *PSHORT_T;
43typedef unsigned long ULONG_T;
45typedef unsigned char BYTE_T;
46typedef BYTE_T *PBYTE_T;
47typedef unsigned int UINT_T;
48typedef unsigned int *PUINT_T;
50typedef BOOL_T *PBOOL_T;
51typedef long long int INT64_T;
52typedef INT64_T *PINT64_T;
53typedef unsigned long long int UINT64_T;
54typedef UINT64_T *PUINT64_T;
55typedef unsigned int UINT32_T;
56typedef unsigned int *PUINT32_T;
60typedef INT16_T *PINT16_T;
61typedef unsigned short UINT16_T;
62typedef UINT16_T *PUINT16_T;
63typedef signed char INT8_T;
64typedef INT8_T *PINT8_T;
65typedef unsigned char UINT8_T;
66typedef UINT8_T *PUINT8_T;
67typedef ULONG_T TIME_MS;
68typedef ULONG_T TIME_S;
69typedef unsigned int TIME_T;
70typedef double DOUBLE_T;
71typedef unsigned short WORD_T;
72typedef WORD_T *PWORD_T;
73typedef unsigned int DWORD_T;
74typedef DWORD_T *PDWORD_T;
125#define NULL ((void *)0)
141typedef size_t SIZE_T;
144#define MAX(a,b) (((a) > (b)) ? (a) : (b))
148#define MIN(a,b) (((a) < (b)) ? (a) : (b))
152#define BIT(nr) (1UL << (nr))
154#define MAKEWORD(a, b) ((WORD_T)(((BYTE_T)(a)) | ((WORD_T)((BYTE_T)(b))) << 8))
155#define MAKELONG(a, b) ((LONG_T)(((WORD_T)(a)) | ((DWORD_T)((WORD_T)(b))) << 16))
156#define LOWORD(l) ((WORD_T)(l))
157#define HIWORD(l) ((WORD_T)(((DWORD_T)(l) >> 16) & 0xFFFF))
158#define LOBYTE(w) ((BYTE_T)(w))
159#define HIBYTE(w) ((BYTE_T)(((WORD_T)(w) >> 8) & 0xFF))
161#define WORD_SWAP(X) (((X << 8) | (X >> 8))&0xFFFF)
162#define DWORD_SWAP(X) ( (((X)&0xff)<<24) + \
163 (((X)&0xff00)<<8) + \
164 (((X)&0xff0000)>>8) + \
165 (((X)&0xff000000)>>24) )
166#define DDWORD_SWAP(X) { \
167 unsigned long temp_low, temp_high; \
168 temp_low = DWORD_SWAP((unsigned long)((X) & 0xffffffff)); \
169 temp_high = DWORD_SWAP((unsigned long)((X) >> 32)); \
176#if defined(LITTLE_END) && (LITTLE_END==1)
177#define UNI_NTOHS(X) WORD_SWAP(X)
178#define UNI_HTONS(X) WORD_SWAP(X)
179#define UNI_NTOHL(X) DWORD_SWAP(X)
180#define UNI_HTONL(X) DWORD_SWAP(X)
181#define UNI_NTOHLL(X) DDWORD_SWAP(X)
182#define UNI_HTONLL(X) DDWORD_SWAP(X)
186#define UNI_NTOHS(X) X
187#define UNI_HTONS(X) X
188#define UNI_NTOHL(X) X
189#define UNI_HTONL(X) X
190#define UNI_NTOHLL(X) X
191#define UNI_HTONLL(X) X
195#define OFFSOF(s,m) ((SIZE_T)(&(((s*)0)->m)))
196#define CNTSOF(a) (sizeof(a)/sizeof(a[0]))
197#define CNTR_OF(ptr, type, member) \
198 ({(type *)( (char *)ptr - OFFSOF(type,member) );})
207#define MAC_ADDR_LEN 6
209 UINT8_T mac[MAC_ADDR_LEN];
245}TUYA_ADDR_BITS_DEF_E;
261 TUYA_ADC_INNER_SAMPLE_VOL = 0,
262 TUYA_ADC_EXTERNAL_SAMPLE_VOL
307 TUYA_ADC_TYPE_E type;
308 TUYA_ADC_MODE_E mode;
343 TUYA_DAC_WRITE_FIFO = 0,
344 TUYA_DAC_SET_BASE_CFG,
357 TUYA_FLASH_TYPE_BTL0 = 0,
358 TUYA_FLASH_TYPE_BTL1,
359 TUYA_FLASH_TYPE_STACK,
362 TUYA_FLASH_TYPE_USER0,
363 TUYA_FLASH_TYPE_USER1,
364 TUYA_FLASH_TYPE_KV_DATA,
365 TUYA_FLASH_TYPE_KV_SWAP,
366 TUYA_FLASH_TYPE_KV_KEY,
368 TUYA_FLASH_TYPE_INFO,
369 TUYA_FLASH_TYPE_KV_UF,
370 TUYA_FLASH_TYPE_KV_PROTECT,
389#ifndef TUYA_FLASH_TYPE_MAX_PARTITION_NUM
390#define TUYA_FLASH_TYPE_MAX_PARTITION_NUM 10
394 UINT_T partition_num;
405typedef UINT16_T TUYA_PIN_NAME_E;
409#define TUYA_IO_PIN_0 0
410#define TUYA_IO_PIN_1 1
411#define TUYA_IO_PIN_2 2
412#define TUYA_IO_PIN_3 3
413#define TUYA_IO_PIN_4 4
414#define TUYA_IO_PIN_5 5
415#define TUYA_IO_PIN_6 6
416#define TUYA_IO_PIN_7 7
417#define TUYA_IO_PIN_8 8
418#define TUYA_IO_PIN_9 9
419#define TUYA_IO_PIN_10 10
420#define TUYA_IO_PIN_11 11
421#define TUYA_IO_PIN_12 12
422#define TUYA_IO_PIN_13 13
423#define TUYA_IO_PIN_14 14
424#define TUYA_IO_PIN_15 15
425#define TUYA_IO_PIN_16 16
426#define TUYA_IO_PIN_17 17
427#define TUYA_IO_PIN_18 18
428#define TUYA_IO_PIN_19 19
429#define TUYA_IO_PIN_20 20
430#define TUYA_IO_PIN_21 21
431#define TUYA_IO_PIN_22 22
432#define TUYA_IO_PIN_23 23
433#define TUYA_IO_PIN_24 24
434#define TUYA_IO_PIN_25 25
435#define TUYA_IO_PIN_26 26
436#define TUYA_IO_PIN_27 27
437#define TUYA_IO_PIN_28 28
438#define TUYA_IO_PIN_29 29
439#define TUYA_IO_PIN_30 30
440#define TUYA_IO_PIN_31 31
441#define TUYA_IO_PIN_32 32
442#define TUYA_IO_PIN_33 33
443#define TUYA_IO_PIN_34 34
444#define TUYA_IO_PIN_35 35
445#define TUYA_IO_PIN_36 36
446#define TUYA_IO_PIN_37 37
447#define TUYA_IO_PIN_38 38
448#define TUYA_IO_PIN_39 39
449#define TUYA_IO_PIN_40 40
450#define TUYA_IO_PIN_41 41
451#define TUYA_IO_PIN_42 42
452#define TUYA_IO_PIN_43 43
453#define TUYA_IO_PIN_44 44
454#define TUYA_IO_PIN_45 45
455#define TUYA_IO_PIN_46 46
456#define TUYA_IO_PIN_47 47
457#define TUYA_IO_PIN_48 48
458#define TUYA_IO_PIN_49 49
459#define TUYA_IO_PIN_50 50
460#define TUYA_IO_PIN_51 51
461#define TUYA_IO_PIN_52 52
462#define TUYA_IO_PIN_53 53
463#define TUYA_IO_PIN_54 54
464#define TUYA_IO_PIN_55 55
465#define TUYA_IO_PIN_56 56
466#define TUYA_IO_PIN_57 57
467#define TUYA_IO_PIN_58 58
468#define TUYA_IO_PIN_59 59
469#define TUYA_IO_PIN_60 60
471#define TUYA_IO_PIN_MAX 0xFFFF
476typedef UINT16_T TUYA_PIN_FUNC_E;
482#define TUYA_IIC0_SCL 0x0
483#define TUYA_IIC0_SDA 0x1
484#define TUYA_IIC1_SCL 0x2
485#define TUYA_IIC1_SDA 0x3
486#define TUYA_IIC2_SCL 0x4
487#define TUYA_IIC2_SDA 0x5
489#define TUYA_UART0_TX 0x100
490#define TUYA_UART0_RX 0x101
491#define TUYA_UART0_RTS 0x102
492#define TUYA_UART0_CTS 0x103
493#define TUYA_UART1_TX 0x104
494#define TUYA_UART1_RX 0x105
495#define TUYA_UART1_RTS 0x106
496#define TUYA_UART1_CTS 0x107
497#define TUYA_UART2_TX 0x108
498#define TUYA_UART2_RX 0x109
499#define TUYA_UART2_RTS 0x10A
500#define TUYA_UART2_CTS 0x10B
501#define TUYA_UART3_TX 0x10C
502#define TUYA_UART3_RX 0x10D
503#define TUYA_UART3_RTS 0x10E
504#define TUYA_UART3_CTS 0x10F
506#define TUYA_SPI0_MISO 0x200
507#define TUYA_SPI0_MOSI 0x201
508#define TUYA_SPI0_CLK 0x202
509#define TUYA_SPI0_CS 0x203
510#define TUYA_SPI1_MISO 0x204
511#define TUYA_SPI1_MOSI 0x205
512#define TUYA_SPI1_CLK 0x206
513#define TUYA_SPI1_CS 0x207
514#define TUYA_SPI2_MISO 0x208
515#define TUYA_SPI2_MOSI 0x209
516#define TUYA_SPI2_CLK 0x20A
517#define TUYA_SPI2_CS 0x20B
519#define TUYA_PWM0 0x300
520#define TUYA_PWM1 0x301
521#define TUYA_PWM2 0x302
522#define TUYA_PWM3 0x303
523#define TUYA_PWM4 0x304
524#define TUYA_PWM5 0x305
526#define TUYA_ADC0 0x400
527#define TUYA_ADC1 0x401
528#define TUYA_ADC2 0x402
529#define TUYA_ADC3 0x403
530#define TUYA_ADC4 0x404
531#define TUYA_ADC5 0x405
533#define TUYA_DAC0 0x500
534#define TUYA_DAC1 0x501
535#define TUYA_DAC2 0x502
536#define TUYA_DAC3 0x503
537#define TUYA_DAC4 0x504
538#define TUYA_DAC5 0x505
540#define TUYA_I2S0_SCK 0x600
541#define TUYA_I2S0_WS 0x601
542#define TUYA_I2S0_SDO_0 0x602
543#define TUYA_I2S0_SDI_0 0x603
544#define TUYA_I2S1_SCK 0x604
545#define TUYA_I2S1_WS 0x605
546#define TUYA_I2S1_SDO_0 0x606
547#define TUYA_I2S1_SDI_0 0x607
549#define TUYA_GPIO 0x700
551#define TUYA_PIN_FUNC_MAX 0xFFFF
555 TUYA_PIN_FUNC_E pin_func;
632 TUYA_GPIO_LEVEL_LOW = 0,
633 TUYA_GPIO_LEVEL_HIGH,
648 TUYA_GPIO_PULLUP = 0,
650 TUYA_GPIO_HIGH_IMPEDANCE,
654 TUYA_GPIO_OPENDRAIN_PULLUP,
661 TUYA_GPIO_IRQ_RISE = 0,
663 TUYA_GPIO_IRQ_RISE_FALL,
672 TUYA_GPIO_MODE_E mode;
673 TUYA_GPIO_DRCT_E direct;
674 TUYA_GPIO_LEVEL_E level;
677typedef VOID_T (*TUYA_GPIO_IRQ_CB)(VOID_T *args);
683 TUYA_GPIO_IRQ_E mode;
707 TUYA_IIC_MODE_MASTER,
716 TUYA_IIC_BUS_SPEED_100K = 0,
717 TUYA_IIC_BUS_SPEED_400K = 1,
718 TUYA_IIC_BUS_SPEED_1M = 2,
719 TUYA_IIC_BUS_SPEED_3_4M = 3
727 TUYA_IIC_ADDRESS_7BIT = 0,
728 TUYA_IIC_ADDRESS_10BIT = 1
729} TUYA_IIC_ADDR_MODE_E;
736 TUYA_IIC_ROLE_E role;
737 TUYA_IIC_SPEED_E speed;
738 TUYA_IIC_ADDR_MODE_E addr_width;
755 TUYA_IIC_EVENT_TRANSFER_DONE = 0,
756 TUYA_IIC_EVENT_TRANSFER_INCOMPLETE = 1,
757 TUYA_IIC_EVENT_SLAVE_TRANSMIT = 2,
758 TUYA_IIC_EVENT_SLAVE_RECEIVE = 3,
759 TUYA_IIC_EVENT_ADDRESS_NACK = 4,
760 TUYA_IIC_EVENT_GENERAL_CALL = 5,
761 TUYA_IIC_EVENT_ARBITRATION_LOST = 6,
762 TUYA_IIC_EVENT_BUS_ERROR = 7,
763 TUYA_IIC_EVENT_BUS_CLEAR = 8
766typedef VOID_T (*TUYA_I2C_IRQ_CB)(TUYA_I2C_NUM_E port, TUYA_IIC_IRQ_EVT_E event);
809 TUYA_PWM_NEGATIVE = 0,
811} TUYA_PWM_POLARITY_E;
818 TUYA_PWM_CNT_UP_AND_DOWN,
825 TUYA_PWM_POLARITY_E polarity;
826 TUYA_PWM_COUNT_E count_mode;
859 TUYA_SPI_ORDER_MSB2LSB = 0,
860 TUYA_SPI_ORDER_LSB2MSB = 1,
861} TUYA_SPI_BIT_ORDER_E;
865 TUYA_SPI_ROLE_INACTIVE,
866 TUYA_SPI_ROLE_MASTER,
868 TUYA_SPI_ROLE_MASTER_SIMPLEX,
869 TUYA_SPI_ROLE_SLAVE_SIMPLEX
877 TUYA_SPI_DATA_BIT8 = 0,
879} TUYA_SPI_DATABITS_E;
886 TUYA_SPI_AUTO_TYPE = 0,
888 TUYA_SPI_SOFT_ONE_WIRE_TYPE,
896 TUYA_SPI_ROLE_E role;
897 TUYA_SPI_MODE_E mode;
898 TUYA_SPI_TYPE_E type;
899 TUYA_SPI_DATABITS_E databits;
900 TUYA_SPI_BIT_ORDER_E bitorder;
907 TUYA_SPI_EVENT_TRANSFER_COMPLETE = 0,
908 TUYA_SPI_EVENT_TX_COMPLETE,
909 TUYA_SPI_EVENT_RX_COMPLETE,
910 TUYA_SPI_EVENT_DATA_LOST,
911 TUYA_SPI_EVENT_MODE_FAULT
918typedef VOID_T (*TUYA_SPI_IRQ_CB)(TUYA_SPI_NUM_E port, TUYA_SPI_IRQ_EVT_E event);
949 TUYA_I2S_MODE_MASTER = (0x1 << 0),
950 TUYA_I2S_MODE_SLAVE = (0x1 << 1),
951 TUYA_I2S_MODE_TX = (0x1 << 2),
952 TUYA_I2S_MODE_RX = (0x1 << 3),
956 TUYA_I2S_BITS_PER_SAMPLE_8BIT = 8,
957 TUYA_I2S_BITS_PER_SAMPLE_16BIT = 16,
958 TUYA_I2S_BITS_PER_SAMPLE_24BIT = 24,
959 TUYA_I2S_BITS_PER_SAMPLE_32BIT = 32,
960} TUYA_I2S_BITS_PER_SAMP_E;
963 TUYA_I2S_CHANNEL_FMT_RIGHT_LEFT,
964 TUYA_I2S_CHANNEL_FMT_ALL_RIGHT,
965 TUYA_I2S_CHANNEL_FMT_ALL_LEFT,
966 TUYA_I2S_CHANNEL_FMT_ONLY_RIGHT,
967 TUYA_I2S_CHANNEL_FMT_ONLY_LEFT,
968} TUYA_I2S_CHANNEL_FMT_E;
971 I2S_COMM_FORMAT_STAND_I2S = 0X01,
972 I2S_COMM_FORMAT_STAND_MSB = 0X02,
973 I2S_COMM_FORMAT_STAND_PCM_SHORT = 0x04,
974 I2S_COMM_FORMAT_STAND_PCM_LONG = 0x0C,
975 I2S_COMM_FORMAT_STAND_MAX,
976} TUYA_I2S_COMM_FORMAT_E;
989#define TUYA_IRUSR 0400
990#define TUYA_IWUSR 0200
991#define TUYA_IXUSR 0100
995#define TUYA_SEEK_SET 0
996#define TUYA_SEEK_CUR 1
997#define TUYA_SEEK_END 2
1004typedef VOID_T* TUYA_DIR;
1005typedef VOID_T* TUYA_FILEINFO;
1006typedef VOID_T* TUYA_FILE;
1014 TUYA_CPU_DEEP_SLEEP,
1015} TUYA_CPU_SLEEP_MODE_E;
1020typedef VOID_T (*TUYA_PRE_SLEEP_CB)(VOID_T);
1025typedef VOID_T (*TUYA_POST_WAKEUP_CB)(VOID_T);
1031 TUYA_PRE_SLEEP_CB pre_sleep_cb;
1032 TUYA_POST_WAKEUP_CB post_wakeup_cb;
1039#if OPERATING_SYSTEM != SYSTEM_NON_OS
1040typedef UINT64_T SYS_TICK_T;
1041typedef UINT64_T SYS_TIME_T;
1043typedef UINT_T SYS_TICK_T;
1044typedef UINT_T SYS_TIME_T;
1050 TUYA_RESET_REASON_POWERON = 0,
1051 TUYA_RESET_REASON_HW_WDOG = 1,
1052 TUYA_RESET_REASON_FAULT = 2,
1053 TUYA_RESET_REASON_SW_WDOG = 3,
1054 TUYA_RESET_REASON_SOFTWARE = 4,
1055 TUYA_RESET_REASON_DEEPSLEEP = 5,
1056 TUYA_RESET_REASON_EXTERNAL = 6,
1057 TUYA_RESET_REASON_UNKNOWN = 7,
1058 TUYA_RESET_REASON_FIB = 8,
1059 TUYA_RESET_REASON_BOOTLOADER = 8,
1060 TUYA_RESET_REASON_CRASH = 10,
1061 TUYA_RESET_REASON_FLASH = 11,
1062 TUYA_RESET_REASON_FATAL = 12,
1063 TUYA_RESET_REASON_BROWNOUT = 13,
1064 TUYA_RESET_REASON_UNSUPPORT = 0xFF,
1065} TUYA_RESET_REASON_E;
1069#define TUYA_OTA_FILE_MD5_LEN 16
1081 TUYA_OTA_PATH_AIR = 0,
1082 TUYA_OTA_PATH_UART = 1,
1083 TUYA_OTA_PATH_BLE = 2,
1084 TUYA_OTA_PATH_ZIGBEE = 3,
1085 TUYA_OTA_PATH_SEC_A = 4,
1086 TUYA_OTA_PATH_SEC_B = 5,
1087 TUYA_OTA_PATH_INVALID = 255
1094 UINT8_T md5[TUYA_OTA_FILE_MD5_LEN];
1134 TUYA_UART_DATA_LEN_5BIT = 0x05,
1135 TUYA_UART_DATA_LEN_6BIT = 0x06,
1136 TUYA_UART_DATA_LEN_7BIT = 0x07,
1137 TUYA_UART_DATA_LEN_8BIT = 0x08,
1138} TUYA_UART_DATA_LEN_E;
1145 TUYA_UART_STOP_LEN_1BIT = 0x01,
1146 TUYA_UART_STOP_LEN_1_5BIT1 = 0x02,
1147 TUYA_UART_STOP_LEN_2BIT = 0x03,
1148} TUYA_UART_STOP_LEN_E;
1155 TUYA_UART_PARITY_TYPE_NONE = 0,
1156 TUYA_UART_PARITY_TYPE_ODD = 1,
1157 TUYA_UART_PARITY_TYPE_EVEN = 2,
1158} TUYA_UART_PARITY_TYPE_E;
1161 TUYA_UART_FLOWCTRL_NONE = 0,
1162 TUYA_UART_FLOWCTRL_RTSCTS,
1163 TUYA_UART_FLOWCTRL_XONXOFF,
1164 TUYA_UART_FLOWCTRL_DTRDSR,
1165} TUYA_UART_FLOWCTRL_TYPE_E;
1167#define TUYA_UART_PORT_ID(port_type, port_num) ((((port_type) << 16) & 0xFFFF0000) | (port_num))
1168#define TUYA_UART_GET_PORT_TYPE(port_id) (((port_id) >> 16) & 0xFFFF)
1169#define TUYA_UART_GET_PORT_NUMBER(port_id) ((port_id) & 0xFFFF)
1177 TUYA_UART_PARITY_TYPE_E parity;
1178 TUYA_UART_DATA_LEN_E databits;
1179 TUYA_UART_STOP_LEN_E stopbits;
1180 TUYA_UART_FLOWCTRL_TYPE_E flowctrl;
1194typedef VOID_T (*TUYA_UART_IRQ_CB)(TUYA_UART_NUM_E port_id);
1201 TUYA_UART_SUSPEND_CMD = 0,
1202 TUYA_UART_RESUME_CMD,
1203 TUYA_UART_FLUSH_CMD,
1204 TUYA_UART_RECONFIG_CMD,
1206 TUYA_UART_MAX_CMD = 1000
1207}TUYA_UART_IOCTL_CMD_E;
1228#define TUYA_TIMER_CFG(__CFG, __MODE, __CB, __ARG) \
1229 (__CFG)->mode = __MODE; \
1230 (__CFG)->cb = __CB; \
1231 (__CFG)->arg = __ARG
1234 TUYA_TIMER_MODE_ONCE = 0,
1235 TUYA_TIMER_MODE_PERIOD
1238typedef VOID (*TUYA_TIMER_ISR_CB)(VOID *args);
1241 TUYA_TIMER_MODE_E mode;
1242 TUYA_TIMER_ISR_CB cb;
1251 TUYA_GPIO_NUM_E gpio_num;
1252 TUYA_GPIO_LEVEL_E level;
1259 TUYA_TIMER_NUM_E timer_num;
1260 TUYA_TIMER_MODE_E mode;
1268 TUYA_WAKEUP_SOURCE_GPIO,
1269 TUYA_WAKEUP_SOURCE_TIMER,
1270} TUYA_WAKEUP_SOURCE_E;
1276 TUYA_WAKEUP_SOURCE_E source;
1284#ifndef TUYA_FD_MAX_COUNT
1285#if defined(SYSTEM_LINUX) && (OPERATING_SYSTEM == SYSTEM_LINUX)
1287#define TUYA_FD_MAX_COUNT (1024)
1290#define TUYA_FD_MAX_COUNT (64)
1294typedef INT_T TUYA_OPT_LEVEL;
1295typedef INT_T TUYA_OPT_NAME;
1299 UINT8_T placeholder[(TUYA_FD_MAX_COUNT+7)/8];
1307}TUYA_PROTOCOL_TYPE_E;
1317typedef UINT_T TUYA_IP_ADDR_T;
1320typedef INT_T TUYA_ERRNO;
1321#define UNW_SUCCESS 0
1325#define UNW_EAGAIN -4
1326#define UNW_ENOMEM -28
1327#define UNW_EFAULT -5
1329#define UNW_EINVAL -7
1330#define UNW_ENFILE -8
1331#define UNW_EMFILE -9
1332#define UNW_ENOSPC -10
1333#define UNW_EPIPE -11
1334#define UNW_EWOULDBLOCK -12
1335#define UNW_ENOTSOCK -13
1336#define UNW_ENOPROTOOPT -14
1337#define UNW_EADDRINUSE -15
1338#define UNW_EADDRNOTAVAIL -16
1339#define UNW_ENETDOWN -17
1340#define UNW_ENETUNREACH -18
1341#define UNW_ENETRESET -19
1342#define UNW_ECONNRESET -20
1343#define UNW_ENOBUFS -21
1344#define UNW_EISCONN -22
1345#define UNW_ENOTCONN -23
1346#define UNW_ETIMEDOUT -24
1347#define UNW_ECONNREFUSED -25
1348#define UNW_EHOSTDOWN -26
1349#define UNW_EHOSTUNREACH -27
1350#define UNW_EMSGSIZE -29
1351#define TUYA_ERRNO_NOT_SUPPORT 255
1357#define TKL_THREAD_PRI_HIGHEST 8
1358#define TKL_THREAD_PRI_HIGH 7
1359#define TKL_THREAD_PRI_BELOW_HIGH 6
1360#define TKL_THREAD_PRI_ABOVE_NORMAL 5
1361#define TKL_THREAD_PRI_NORMAL 4
1362#define TKL_THREAD_PRI_BELOW_NORML 3
1363#define TKL_THREAD_PRI_ABOVE_LOW 2
1364#define TKL_THREAD_PRI_LOW 1
1365#define TKL_THREAD_PRI_LOWEST 0
Definition: tuya_cloud_types.h:201
Definition: tuya_cloud_types.h:208
adc config
Definition: tuya_cloud_types.h:302
Definition: tuya_cloud_types.h:274
Definition: tuya_cloud_types.h:1035
dac config //xbf
Definition: tuya_cloud_types.h:330
Definition: tuya_cloud_types.h:347
Definition: tuya_cloud_types.h:337
Definition: tuya_cloud_types.h:1298
Definition: tuya_cloud_types.h:393
flash partition information
Definition: tuya_cloud_types.h:379
gpio config
Definition: tuya_cloud_types.h:671
gpio interrupt config
Definition: tuya_cloud_types.h:682
Definition: tuya_cloud_types.h:978
UINT32_T mclk
Definition: tuya_cloud_types.h:981
UINT32_T sample_rate
Definition: tuya_cloud_types.h:980
TUYA_I2S_COMM_FORMAT_E communication_format
Definition: tuya_cloud_types.h:984
TUYA_I2S_MODE_E mode
Definition: tuya_cloud_types.h:979
TUYA_I2S_CHANNEL_FMT_E channel_format
Definition: tuya_cloud_types.h:983
UINT32_T i2s_dma_flags
Definition: tuya_cloud_types.h:985
TUYA_I2S_BITS_PER_SAMP_E bits_per_sample
Definition: tuya_cloud_types.h:982
i2c cfg
Definition: tuya_cloud_types.h:735
Definition: tuya_cloud_types.h:741
UINT32_T direction
Direction: 0=Transmitter, 1=Receiver
Definition: tuya_cloud_types.h:744
UINT32_T arbitration_lost
Master lost arbitration(in case of multi-masters) (cleared on start of next Master operation)
Definition: tuya_cloud_types.h:746
UINT32_T general_call
General Call(address 0) indication (cleared on start of next Slave operation)
Definition: tuya_cloud_types.h:745
UINT32_T mode
Mode: 0=Slave, 1=Master
Definition: tuya_cloud_types.h:743
UINT32_T busy
Transmitter/Receiver busy flag,1 is busy.
Definition: tuya_cloud_types.h:742
UINT32_T bus_error
Bus error detected (cleared on start of next Master/Slave operation)
Definition: tuya_cloud_types.h:747
Definition: tuya_cloud_types.h:553
Definition: tuya_cloud_types.h:1100
UINT_T offset
ota image offset
Definition: tuya_cloud_types.h:1102
UINT_T total_len
ota image totle len
Definition: tuya_cloud_types.h:1101
void * pri_data
private pointer
Definition: tuya_cloud_types.h:1105
UINT_T len
ota data len
Definition: tuya_cloud_types.h:1104
UCHAR_T * data
ota data
Definition: tuya_cloud_types.h:1103
Definition: tuya_cloud_types.h:1091
pwm config
Definition: tuya_cloud_types.h:824
sleep callback
Definition: tuya_cloud_types.h:1030
spi config
Definition: tuya_cloud_types.h:895
UINT_T spi_dma_flags
Definition: tuya_cloud_types.h:902
SPI Status
Definition: tuya_cloud_types.h:924
UINT32_T busy
Transmitter/Receiver busy flag,1 is busy
Definition: tuya_cloud_types.h:925
UINT32_T data_lost
Data lost: Receive overflow / Transmit underflow (cleared on start of transfer operation)
Definition: tuya_cloud_types.h:926
UINT32_T mode_fault
Mode fault detected; optional (cleared on start of transfer operation)
Definition: tuya_cloud_types.h:927
Definition: tuya_cloud_types.h:1240
uart config
Definition: tuya_cloud_types.h:1175
tuya wake source base cfg
Definition: tuya_cloud_types.h:1275
tuya wake source gpio
Definition: tuya_cloud_types.h:1250
tuya wake source timer
Definition: tuya_cloud_types.h:1258
Definition: tuya_cloud_types.h:1210
Definition: tuya_cloud_types.h:294