优化 CMakeLists.txt,增加 lib-out 目录的包含;修改 app_config.c 中的 LED 灯带开关变量名;更新 app_config.h,增加新的灯效模式和方向控制;更新 SBDEMO.h 中的默认设备名称;在 msc_host.c 中添加 USB 设备连接类型的处理;在 usbport.c 中增加 USB 连接类型的状态管理;更新 Kconfig,增加 LED 灯带的最大图层数和竞速模式选项;新增 spbelib_interface.h 文件,定义无线调参功能接口;删除不再使用的 components/CMakeLists.txt 文件;更新 misc.h,添加读取 MCU 身份信息的 MD5 值的函数声明;修改 tim.h 中的 drv_pwm_init 函数参数;更新 kk.h,增加默认工作队列的创建宏;优化 sh.c 中的命令行插入字符串逻辑;更新 sdkconfig 默认配置文件,升级 ESP-IDF 版本和调整蓝牙默认发射功率。
137 lines
3.2 KiB
C
Executable File
137 lines
3.2 KiB
C
Executable File
#ifndef __TIM_H__
|
|
#define __TIM_H__
|
|
|
|
#include "drivers/chip/_hal.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
/**
|
|
* @param channel_id: 0..n
|
|
* @param channel_mask: 1 << 0, 1 << 1, ... 1 << n
|
|
*/
|
|
|
|
typedef void (*tim_isr_cb_fn)(void);
|
|
|
|
/** @defgroup time base
|
|
* @{
|
|
*/
|
|
|
|
void drv_tim_enable(hal_id_t id);
|
|
void drv_tim_disable(hal_id_t id);
|
|
|
|
void drv_tim_init(hal_id_t id, unsigned period_ns, unsigned reload_enable);
|
|
void drv_tim_deinit(hal_id_t id);
|
|
|
|
int drv_tim_irq_callback_enable(hal_id_t id, tim_isr_cb_fn cb);
|
|
int drv_tim_irq_callback_disable(hal_id_t id);
|
|
|
|
void drv_tim_irq_enable(hal_id_t id, int priority);
|
|
void drv_tim_irq_disable(hal_id_t id);
|
|
|
|
void drv_tim_base_start(hal_id_t id);
|
|
void drv_tim_base_stop(hal_id_t id);
|
|
|
|
unsigned drv_tim_get_period_ns(hal_id_t id);
|
|
unsigned drv_tim_get_cost_ns(hal_id_t id);
|
|
unsigned drv_tim_get_remain_ns(hal_id_t id);
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/** @defgroup PWM
|
|
* @{
|
|
*/
|
|
|
|
void drv_pwm_pin_configure(hal_id_t id, uint8_t pin);
|
|
|
|
void drv_pwm_enable(hal_id_t id);
|
|
void drv_pwm_disable(hal_id_t id);
|
|
|
|
void drv_pwm_init(hal_id_t id, unsigned channel_mask, unsigned period_ns, unsigned reload_enable);
|
|
void drv_pwm_deinit(hal_id_t id);
|
|
|
|
int drv_pwm_irq_callback_enable(hal_id_t id, tim_isr_cb_fn cb);
|
|
int drv_pwm_irq_callback_disable(hal_id_t id);
|
|
|
|
void drv_pwm_irq_enable(hal_id_t id, unsigned channel_mask, int priority);
|
|
void drv_pwm_irq_disable(hal_id_t id, unsigned channel_mask);
|
|
|
|
void drv_pwm_start(hal_id_t id, unsigned channel_mask, unsigned active_level, unsigned pulse_ns);
|
|
void drv_pwm_stop(hal_id_t id, unsigned channel_mask, unsigned active_level);
|
|
|
|
bool drv_pwm_is_busy(hal_id_t id);
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/** @defgroup one pluse
|
|
* @{
|
|
*/
|
|
|
|
void drv_pluse_pin_configure(hal_id_t id, uint8_t pin);
|
|
|
|
void drv_pluse_enable(hal_id_t id);
|
|
void drv_pluse_disable(hal_id_t id);
|
|
|
|
void drv_pluse_init(hal_id_t id);
|
|
void drv_pluse_deinit(hal_id_t id);
|
|
|
|
int drv_pluse_irq_callback_enable(hal_id_t id, tim_isr_cb_fn cb);
|
|
int drv_pluse_irq_callback_disable(hal_id_t id);
|
|
|
|
void drv_pluse_irq_enable(hal_id_t id, unsigned channel_mask, int priority);
|
|
void drv_pluse_irq_disable(hal_id_t id, unsigned channel_mask);
|
|
|
|
void drv_pluse_set(hal_id_t id, unsigned channel_mask, unsigned active_level, unsigned period_ns, unsigned pulse_ns);
|
|
|
|
bool drv_pluse_is_busy(hal_id_t id, unsigned channel);
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/** @defgroup input capture
|
|
* @{
|
|
*/
|
|
|
|
typedef enum __packed
|
|
{
|
|
_IC_EDGE_RISING,
|
|
_IC_EDGE_FALLING,
|
|
_IC_EDGE_BOTH,
|
|
} capture_edge_t;
|
|
|
|
void drv_capture_pin_configure(hal_id_t id, uint8_t pin);
|
|
|
|
void drv_capture_enable(hal_id_t id);
|
|
void drv_capture_disable(hal_id_t id);
|
|
|
|
void drv_capture_init(hal_id_t id, unsigned channel_mask, capture_edge_t polarity);
|
|
void drv_capture_deinit(hal_id_t id);
|
|
|
|
int drv_capture_irq_callback_enable(hal_id_t id, tim_isr_cb_fn cb);
|
|
int drv_capture_irq_callback_disable(hal_id_t id);
|
|
|
|
void drv_capture_irq_enable(hal_id_t id, unsigned channel_mask, int priority);
|
|
void drv_capture_irq_disable(hal_id_t id, unsigned channel_mask);
|
|
|
|
void drv_capture_start(hal_id_t id, unsigned channel_mask);
|
|
void drv_capture_stop(hal_id_t id, unsigned channel_mask);
|
|
|
|
unsigned drv_capture_get_cap_value(hal_id_t id, uint8_t channel_id);
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|