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