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);
+19
View File
@@ -43,12 +43,31 @@ void usr_clear_pair_info(void);
*/
uint8_t usr_get_pair_flag(void);
/**
* @brief 查询 BLE 是否已连接
* @return 1=已连接,0=未连接
*/
uint8_t usr_ble_is_connected(void);
/**
* @brief 启动应用侧 OTA 流程
* @note 置位 usr_goto_updata,并创建 1s 周期定时器驱动断连与 OTA 广播切换
*/
void usr_app_ota_init(void);
/**
* @brief 暂停/恢复广播发送(扫描分时射频仲裁,见 app_th_scan
* @note 仅门控发送,不断开连接;恢复后按注册数据续发,无需重新编码
* @param pause 1=暂停(扫描期让出射频),0=恢复
*/
void usr_le_set_adv_pause(uint8_t pause);
/**
* @brief 查询广播是否处于暂停态
* @return 1=暂停中(扫描期),0=正常广播
*/
uint8_t usr_le_adv_is_paused(void);
#ifdef __cplusplus
}
#endif