调整自动模式顺序,调整版本号为1.0.1

This commit is contained in:
2026-09-10 18:19:56 +08:00
parent c7adda3711
commit d6c2c6dd52
5 changed files with 30 additions and 6 deletions
+26 -3
View File
@@ -3,7 +3,7 @@
* @brief 设备功能开关 + 自动玩法 + 手动点动 + 按键动作实现
* @author cyWu <1917507415@qq.com>
* @date 2026.09.10
* @version V1.2.0
* @version V1.3.0
* @history
* - V1.0.0, 2026.08.25, cyWu, 首次发布,实现 DP0 开关、自动玩法、手动点动与按键动作
* - V1.1.0, 2026.08.26, cyWu, 切模式闪灯改到 function_play_mode_apply 统一
@@ -13,6 +13,7 @@
* 自动模式新增单次最长运行时长,到点回待机
* - V1.2.0, 2026.09.10, cyWu, 软关后 APP 下发其它控制指令也可唤醒,
* 唤醒后本拍继续执行该指令(玩法/点动)
* - V1.3.0, 2026.09.10, cyWu, 短按循环改为 0→4→2→6→1→3→5,App DP1 编号不变
******************************************************************************/
#include "app_function.h"
@@ -54,6 +55,28 @@ static void function_play_mode_timeout(uint16_t dt);
static void function_hand_poll(void);
static void function_on_click(void);
/* 短按循环顺序(协议玩法号):停 → s_mode4 → s_mode2 → s_mode6 → s_mode1 → s_mode3 → s_mode5 → 停 */
static const uint8_t s_key_play_seq[7] = {
0, 4, 2, 6, 1, 3, 5
};
/**
* @brief 按短按顺序取下一档玩法
* @param cur 当前 DP1 玩法号 0~6
* @return 下一档玩法号
*/
static uint8_t function_key_play_next(uint8_t cur)
{
uint8_t i;
for (i = 0; i < 7; i++) {
if (s_key_play_seq[i] == cur) {
return s_key_play_seq[(i + 1) % 7];
}
}
return 0;
}
/**
* @brief 初始化功能模块状态
* @return 无
@@ -366,7 +389,7 @@ static void function_hand_poll(void)
}
/**
* @brief 短按:自动模式 0→1→…→6→0(闪灯提示交给 function_play_mode_apply
* @brief 短按:按 s_key_play_seq 切自动模式(闪灯提示交给 function_play_mode_apply
* @return 无
*/
static void function_on_click(void)
@@ -375,7 +398,7 @@ static void function_on_click(void)
log_info("key click ignored, hand busy\n");
return;
}
function_play_mode_apply((uint8_t)((s_func.play_mode + 1) % 7));
function_play_mode_apply(function_key_play_next(s_func.play_mode));
log_info("key click play_mode=%d\n", s_func.play_mode);
}