1、喷淋器 P1/P2功能实现

2、红灯按连接态慢闪
This commit is contained in:
2026-09-09 19:57:00 +08:00
parent 074960eb02
commit 0dd65e1552
31 changed files with 2805 additions and 258 deletions
+39
View File
@@ -78,6 +78,39 @@ uint8_t usr_ble_is_connected(void)
return (usr_get_conn_service() != 0) ? 1u : 0u;
}
/* 广播门控:扫描分时期间暂停广播发送(见 app_th_scan),仅门控不断连 */
static u8 s_adv_paused = 0;
/**
* @brief 暂停/恢复广播发送(扫描分时射频仲裁,见 app_th_scan
* @note adv data 仍注册在协议栈,恢复时续发无需重新编码;仅门控发送,
* 不动模块使能位,因此已连接时误调不会断开已有链路。
* @param pause 1=暂停(扫描期让出射频),0=恢复
* @return 无
*/
void usr_le_set_adv_pause(u8 pause)
{
extern void bt_ble_adv_enable(u8 enable);
if (pause == s_adv_paused) {
return;
}
if (pause && usr_ble_is_connected()) {
return; /* 扫描只允许断连态;已连接保持广播 */
}
s_adv_paused = pause;
bt_ble_adv_enable(pause ? 0 : 1);
}
/**
* @brief 查询广播是否处于暂停态
* @return 1=暂停中(扫描期),0=正常广播
*/
u8 usr_le_adv_is_paused(void)
{
return s_adv_paused;
}
/**
* @brief 从 VM 读取配对信息到 usr_auth_data
* @note 失败则清零,并将 paired_flag 置 0 写回
@@ -230,6 +263,12 @@ void usr_ble_adv_updata(void)
const u16 slow_ticks = (u16)((BOARD_BLE_SLOW_ADV_SEC) * (1000u / 500u));
#endif
if (usr_le_adv_is_paused()) {
/* 扫描期(app_th_scan 分时):不刷广播、不切快慢,只跑协议周期 */
usr_timer_loop();
return;
}
if (usr_var.usr_adv_flag)
{
ble_trans_module_enable(0);