62 lines
1.6 KiB
C
62 lines
1.6 KiB
C
/******************************************************************************
|
|
* @file app_mode.h
|
|
* @brief 6 种自动玩法:节拍含方向与 PWM 占空比(0=停,1~6=波形)
|
|
* @author cyWu <1917507415@qq.com>
|
|
* @date 2026.08.24
|
|
* @version V1.2.0
|
|
* @history
|
|
* - V1.0.0, 2026.08.21, cyWu, 首次发布
|
|
* - V1.1.0, 2026.08.24, cyWu, 接入 H 桥往返节拍
|
|
* - V1.2.0, 2026.08.24, cyWu, 节拍带占空比;六档波形加花样
|
|
******************************************************************************/
|
|
|
|
#ifndef __APP_MODE_H__
|
|
#define __APP_MODE_H__
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef enum {
|
|
APP_MODE_OK = 0,
|
|
APP_MODE_ERR_PARAM,
|
|
APP_MODE_ERR_NOT_INIT
|
|
} AppMode_Ret_t;
|
|
|
|
/**
|
|
* @brief 初始化,电机停
|
|
* @return APP_MODE_OK=成功
|
|
*/
|
|
AppMode_Ret_t app_mode_init(void);
|
|
|
|
/**
|
|
* @brief 启动自动模式 1~6,循环播放节拍
|
|
* @param mode 玩法编号,范围 1~6
|
|
* @return APP_MODE_OK=成功,APP_MODE_ERR_NOT_INIT=未初始化,APP_MODE_ERR_PARAM=参数非法
|
|
*/
|
|
AppMode_Ret_t app_mode_start(uint8_t mode);
|
|
|
|
/**
|
|
* @brief 停止玩法并刹车
|
|
* @return 无
|
|
*/
|
|
void app_mode_stop(void);
|
|
|
|
/**
|
|
* @brief 推进当前节拍(按真实毫秒,不依赖回调是否刚好 1ms)
|
|
* @return 无
|
|
*/
|
|
void app_mode_run(void);
|
|
|
|
/**
|
|
* @brief 读取当前自动模式
|
|
* @return 0=停转,1~6=对应玩法
|
|
*/
|
|
uint8_t app_mode_get_active(void);
|
|
|
|
/**
|
|
* @brief 查询是否已初始化
|
|
* @return APP_MODE_OK=已初始化,APP_MODE_ERR_NOT_INIT=未初始化
|
|
*/
|
|
AppMode_Ret_t app_mode_get_status(void);
|
|
|
|
#endif /* __APP_MODE_H__ */
|