1、喷淋器 P1/P2功能实现
2、红灯按连接态慢闪
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user