Compare commits

..

2 Commits

Author SHA1 Message Date
jhChun 91e294da5a 2M PHY 능동 요청 추가
- BLE 5.0 2M PHY는 심볼 레이트를 1Msps -> 2Msps로 높여 동일 패킷을 절반 시간에 전송- 연결 즉시 Peripheral에서 2M PHY를 능동 요청- 2M PHY 미지원 Central인 경우 1M 유지
2026-03-30 14:49:34 +09:00
jhChun 856cf084b2 GAP Event Length 확장(6 -> 24) 및 RAM 주소 조정
- GAP Event Length: BLE 통신 시 Connection interval 마다 Central과 Peripheral이 데이터를 주고 받을 수 있는 시간 슬롯으로 단위는 1.25ms
- SoftDevice RAM 사용량 증가로 시작 주소 조정(0x20002AF8 → 0x20002C00)
2026-03-30 14:48:32 +09:00
3 changed files with 27 additions and 8 deletions
@@ -121,7 +121,7 @@
* 빌드 설정 * 빌드 설정
* DEBUG_MINIMAL_BOOT 삭제 26.03.26 jhChun * DEBUG_MINIMAL_BOOT 삭제 26.03.26 jhChun
*============================================================================*/ *============================================================================*/
#define BLE_DEV_MODE 0 /* 1: 개발 모드 (보안 없음), 0: 양산 모드 (패스키 필수) */ #define BLE_DEV_MODE 1 /* 1: 개발 모드 (보안 없음), 0: 양산 모드 (패스키 필수) */
/*============================================================================== /*==============================================================================
* 하드웨어 핀 정의 * 하드웨어 핀 정의
@@ -1040,6 +1040,16 @@ static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context)
sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_CONN, m_conn_handle, 8); sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_CONN, m_conn_handle, 8);
// 2M PHY 요청 (지원 안 되면 자동으로 1M 유지)
{
ble_gap_phys_t const phys = {
.rx_phys = BLE_GAP_PHY_2MBPS,
.tx_phys = BLE_GAP_PHY_2MBPS,
};
err_code = sd_ble_gap_phy_update(m_conn_handle, &phys);
APP_ERROR_CHECK(err_code);
}
err_code = bsp_indication_set(BSP_INDICATE_CONNECTED); err_code = bsp_indication_set(BSP_INDICATE_CONNECTED);
APP_ERROR_CHECK(err_code); APP_ERROR_CHECK(err_code);
@@ -1056,6 +1066,15 @@ static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context)
} }
break; break;
case BLE_GAP_EVT_PHY_UPDATE:
{
ble_gap_evt_phy_update_t const * p_phy = &p_ble_evt->evt.gap_evt.params.phy_update;
DBG_PRINTF("[BLE] PHY updated: TX=%s, RX=%s\r\n",
p_phy->tx_phy == BLE_GAP_PHY_2MBPS ? "2M" : "1M",
p_phy->rx_phy == BLE_GAP_PHY_2MBPS ? "2M" : "1M");
}
break;
case BLE_GATTC_EVT_TIMEOUT: case BLE_GATTC_EVT_TIMEOUT:
case BLE_GATTS_EVT_TIMEOUT: case BLE_GATTS_EVT_TIMEOUT:
DBG_PRINTF("[BLE] Timeout\r\n"); DBG_PRINTF("[BLE] Timeout\r\n");
@@ -300,8 +300,8 @@
</OCR_RVCT8> </OCR_RVCT8>
<OCR_RVCT9> <OCR_RVCT9>
<Type>0</Type> <Type>0</Type>
<StartAddress>0x20002af8</StartAddress> <StartAddress>0x20002c00</StartAddress>
<Size>0x3d508</Size> <Size>0x3d400</Size>
</OCR_RVCT9> </OCR_RVCT9>
<OCR_RVCT10> <OCR_RVCT10>
<Type>0</Type> <Type>0</Type>
@@ -4503,8 +4503,8 @@
</OCR_RVCT8> </OCR_RVCT8>
<OCR_RVCT9> <OCR_RVCT9>
<Type>0</Type> <Type>0</Type>
<StartAddress>0x20002ae8</StartAddress> <StartAddress>0x20002c00</StartAddress>
<Size>0x3d518</Size> <Size>0x3d400</Size>
</OCR_RVCT9> </OCR_RVCT9>
<OCR_RVCT10> <OCR_RVCT10>
<Type>0</Type> <Type>0</Type>
@@ -11555,7 +11555,7 @@
// <i> The time set aside for this connection on every connection interval in 1.25 ms units. // <i> The time set aside for this connection on every connection interval in 1.25 ms units.
#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH #ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH
#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 #define NRF_SDH_BLE_GAP_EVENT_LENGTH 24
#endif #endif
// <o> NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. // <o> NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size.