Documentation

Documentation

Includes

stdint.h

#include "stdint.h"
#include "stdint.h"

stdbool.h

#include "stdbool.h"
#include "stdbool.h"

tuya_cloud_types.h

#include "tuya_cloud_types.h"
#include "tuya_cloud_types.h"

tuya_hal_mutex.h

#include "tuya_hal_mutex.h"
#include "tuya_hal_mutex.h"

tuya_hal_semaphore.h

#include "tuya_hal_semaphore.h"
#include "tuya_hal_semaphore.h"

uni_log.h

#include "uni_log.h"
#include "uni_log.h"

Macros

Marco __TUYA_DRV_H__

#define __TUYA_DRV_H__


      

Marco TUYA_DRV_ASSRET(__EXPRESS)

#define TUYA_DRV_ASSRET(__EXPRESS)                     \
   if (!(__EXPRESS)) {                               \
       PR_ERR("TUYA DRV ASSERT "#__EXPRESS"");        \
       return OPRT_INVALID_PARM;                         \
   }

      

Functions

Func tuya_driver_find

void *tuya_driver_find(uint8_t type, uint8_t port);
/**
 * @brief driver find
 * 
 * @param[in] type node type
 * @param[in] port node port
 *
 */

Func tuya_driver_register

int tuya_driver_register(tuya_drv_node_t *node, uint8_t type, uint8_t port);
/**
 * @brief driver register
 * 
 * @param[in] node refer to tuya_drv_node_t
 * @param[in] type node type
 * @param[in] port node port
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Vars

Consts

Types

Typedefs

Typedef tuya_drv_flag_t;

typedef enum {
   TUYA_DRV_INT_RX_FLAG    = 1,
   TUYA_DRV_INT_TX_FLAG    = 2,
   TUYA_DRV_DMA_RX_FLAG    = 4,         
   TUYA_DRV_DMA_TX_FLAG    = 8,
   TUYA_DRV_NONBLOCK_FLAG  = 16,
} tuya_drv_flag_t;


      

Typedef tuya_drv_cmd_t;

typedef enum {
   TUYA_DRV_RESUME_CMD     = 1,
   TUYA_DRV_SUSPEND_CMD,
   TUYA_DRV_SET_INT_CMD,         
   TUYA_DRV_CLR_INT_CMD,
   TUYA_DRV_SET_ISR_CMD,
   TUYA_DRV_CONFIG_CMD,
   TUYA_DRV_ISR_MODE_CMD,
   TUYA_DRV_CUSTOM_CMD,
} tuya_drv_cmd_t;


      

Typedef tuya_drv_type_t;

typedef enum {
   TUYA_DRV_PIN            = 1,
   TUYA_DRV_UART,
   TUYA_DRV_PWM,
   TUYA_DRV_TIMER,
   TUYA_DRV_ADC,         
   TUYA_DRV_I2C,
   TUYA_DRV_RTC,
   TUYA_DRV_CUSTOM,
} tuya_drv_type_t;


      

Typedef tuya_drv_event_t;

typedef enum {
   TUYA_DRV_TX_EVENT       = 1,
   TUYA_DRV_RX_EVENT,
   TUYA_DRV_DMARX_EVENT,
   TUYA_DRV_DMATX_EVENT
} tuya_drv_event_t;


      

Typedef SLIST_HEAD_DRIVER;

typedef struct slist_head_driver {
   struct slist_head *next;
}SLIST_HEAD_DRIVER;


      

Typedef tuya_drv_node_t;

typedef struct {
   SLIST_HEAD_DRIVER   list;
   uint8_t             port;
   uint8_t             type;
} tuya_drv_node_t;