Documentation

Documentation

Includes

tuya_driver.h

#include "tuya_driver.h"
#include "tuya_driver.h"

Macros

Marco __TUYA_TIMER_H__

#define __TUYA_TIMER_H__


      

Marco TUYA_TIMER_CFG(__TIMER, __MODE, __CB, __ARG)

#define TUYA_TIMER_CFG(__TIMER, __MODE, __CB, __ARG)                         \
   (__TIMER)->cfg.mode = __MODE;                                            \
   (__TIMER)->cfg.cb  = __CB;                                              \
   (__TIMER)->cfg.arg = __ARG

      

Functions

Vars

Variable tuya_timer_init

int tuya_timer_init    (tuya_timer_t *timer);
/**
 * @brief timer init
 * 
 * @param[in] timer refer to tuya_timer_t
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Variable tuya_timer_start

int tuya_timer_start    (tuya_timer_t *timer, uint32_t us);
/**
 * @brief timer start
 * 
 * @param[in] timer refer to tuya_timer_t
 * @param[in] us when to start
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Variable tuya_timer_stop

int tuya_timer_stop    (tuya_timer_t *timer);
/**
 * @brief timer stop
 * 
 * @param[in] timer refer to tuya_timer_t
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Variable tuya_timer_control

int tuya_timer_control   (tuya_timer_t  *timer, uint8_t cmd, void *arg);
/**
 * @brief timer control
 * 
 * @param[in] timer refer to tuya_timer_t
 * @param[in] cmd control command
 * @param[in] arg command argument
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Variable tuya_timer_deinit

int tuya_timer_deinit    (tuya_timer_t *timer);
/**
 * @brief timer deinit
 * 
 * @param[in] timer refer to tuya_timer_t
 *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
 */

Consts

Types

Typedefs

Typedef tuya_timer_port_t;

typedef enum {
   TUYA_TIMER0 = 0,
   TUYA_TIMER1,
   TUYA_TIMER2,
   TUYA_TIMER3,
   TUYA_TIMER4,
   TUYA_TIMER5,
} tuya_timer_port_t;


      

Typedef tuya_timer_mode_t;

typedef enum {
   TUYA_TIMER_MODE_ONCE = 0,
   TUYA_TIMER_MODE_PERIOD
} tuya_timer_mode_t;


      

Typedef tuya_timer_isr_cb

typedef void (*tuya_timer_isr_cb)(void *args);


      

Typedef tuya_timer_cmd_t;

typedef enum {
   TUYA_TIMER_GET_COUNT_CMD   = TUYA_DRV_CUSTOM_CMD,
} tuya_timer_cmd_t;


      

Typedef tuya_timer_cfg_t;

typedef struct {
   tuya_timer_mode_t   mode;
   tuya_timer_isr_cb   cb;
   void               *arg;
} tuya_timer_cfg_t;


      

Typedef tuya_timer_info_t;

typedef struct {
   uint8_t            support_freq;
   uint32_t           maxcount;
} tuya_timer_info_t;


      

Typedef tuya_timer_t

typedef struct tuya_timer tuya_timer_t;


      

Typedef tuya_timer_ops_t;

typedef struct {
   int (*init)    (tuya_timer_t  *timer, tuya_timer_cfg_t *cfg);
   int (*start)   (tuya_timer_t  *timer, uint32_t us);
   int (*stop)    (tuya_timer_t  *timer);
   int (*control) (tuya_timer_t  *timer, uint8_t cmd, void *arg);
   int (*deinit)  (tuya_timer_t  *timer);
} tuya_timer_ops_t;
// FOR PORT