BLE 연결 해제 후 재광고 타임아웃

- 수동으로 연결을 해제한 경우 10분간 광고 후 연결되지 않는 경우 전원 OFF
- 비정상 연결 해제 시(거리가 멀어져서 연결이 끊어진 경우 등) 무제한 광고하며 재연결 대기
This commit is contained in:
2026-07-14 14:21:02 +09:00
parent 9a7bfcd9f3
commit 113ee0ee25
+8 -6
View File
@@ -385,18 +385,20 @@ static void adv_restart_handler(struct k_work *work)
led_set_state(LED_STATE_ADVERTISING);
}
/*
* 연결 해제 후 재광고 정책
* - 앱이 연결을 정상 종료(0x13)한 경우만 10분 타임아웃 후 자동 전원 OFF
* - 그 외(거리 이탈, 링크 타임아웃, 폰 전원 OFF, 페어링/보안 실패 등)는 재연결 대기를 위해 무제한 광고
*/
static bool ble_disconnect_reason_uses_unlimited_adv(uint8_t reason)
{
switch (reason)
{
case BT_HCI_ERR_CONN_TIMEOUT:
case BT_HCI_ERR_LL_RESP_TIMEOUT:
case BT_HCI_ERR_TERM_DUE_TO_MIC_FAIL:
case BT_HCI_ERR_CONN_FAIL_TO_ESTAB:
return true;
case BT_HCI_ERR_REMOTE_USER_TERM_CONN: // 0x13 앱이 연결을 정상 종료
return false; // → 10분 타임아웃 후 전원 OFF
default:
return false;
return true; // 그 외 전부 → 무제한 광고
}
}