From ed47566fe1778f19af4d8017dac65f8154ff68b7 Mon Sep 17 00:00:00 2001 From: jhchun Date: Mon, 31 Aug 2026 11:28:12 +0900 Subject: [PATCH] =?UTF-8?q?Ver=202.0.5=20-=20BLE=20CI=20=EB=B0=8F=20TX=20P?= =?UTF-8?q?ower=20Boost=20=EC=A1=B0=EA=B1=B4=20=EB=B3=80=EA=B2=BD(?= =?UTF-8?q?=EB=B0=B0=ED=84=B0=EB=A6=AC=20=EC=A7=80=EC=86=8D=20=EC=8B=9C?= =?UTF-8?q?=EA=B0=84=20=EA=B0=9C=EC=84=A0=EC=9D=84=20=EC=9C=84=ED=95=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BLE CI: 15ms~30ms에서 30ms~60ms로 변경 - TX Power Boost * 송신 시작에서 완료 시간이 50 ms 이상(연속 3회) → 100 ms 이상 * 송신 시작에서 완료 시간이 100 ms 이상(1회) → 200 ms 이상 * 송신 시작 후 완료 콜백 stuck 판정 시간 200 ms(1회) → 500 ms --- prj.conf | 10 +++++----- src/ble/ble_service.c | 2 +- src/ble/ble_service.h | 4 ++-- src/ble/ble_tx_power.c | 6 +++--- src/main.h | 3 ++- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/prj.conf b/prj.conf index bd0fc6e..e93626c 100644 --- a/prj.conf +++ b/prj.conf @@ -70,11 +70,11 @@ CONFIG_BT_BUF_ACL_TX_SIZE=251 CONFIG_BT_BUF_ACL_RX_SIZE=251 # Connection parameters -# Preferred minimum connection interval: 12 x 1.25ms = 15ms. -CONFIG_BT_PERIPHERAL_PREF_MIN_INT=12 -# Preferred maximum connection interval: 12 x 1.25ms = 15ms. -CONFIG_BT_PERIPHERAL_PREF_MAX_INT=12 -# Slave latency 0: do not skip connection events. +# Preferred minimum connection interval: 24 x 1.25ms = 30ms +CONFIG_BT_PERIPHERAL_PREF_MIN_INT=24 +# Preferred maximum connection interval: 48 x 1.25ms = 60ms +CONFIG_BT_PERIPHERAL_PREF_MAX_INT=48 +# Slave latency 0: do not skip connection events CONFIG_BT_PERIPHERAL_PREF_LATENCY=0 # Supervision timeout: 1000 x 10ms = 10s. CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=1000 diff --git a/src/ble/ble_service.c b/src/ble/ble_service.c index b5cec68..e6b54c9 100644 --- a/src/ble/ble_service.c +++ b/src/ble/ble_service.c @@ -661,7 +661,7 @@ static void le_param_updated(struct bt_conn *conn, uint16_t interval, uint16_t l { ARG_UNUSED(conn); - DBG_PRINTF("[BLE] Params: interval=%u(%u.%01ums) latency=%u timeout=%u(%ums)\r\n", + DBG_PRINTF("[BLE] Conn param updated: interval=%u(%u.%01ums) latency=%u timeout=%u(%ums)\r\n", interval, (interval * 125U) / 100U, ((interval * 125U) % 100U) / 10U, diff --git a/src/ble/ble_service.h b/src/ble/ble_service.h index 16ec9b4..168a199 100644 --- a/src/ble/ble_service.h +++ b/src/ble/ble_service.h @@ -14,8 +14,8 @@ #define APP_ADV_INTERVAL 64 // 64 x 0.625ms = 40ms #define APP_ADV_DURATION 60000 // 60000 x 10ms = 600s (10 min) -#define BLE_MIN_CONN_INTERVAL 12 // 15ms / 1.25ms = 12 -#define BLE_MAX_CONN_INTERVAL 24 // 24ms / 1.25ms = 24 +#define BLE_MIN_CONN_INTERVAL 24 // 30ms / 1.25ms = 24 +#define BLE_MAX_CONN_INTERVAL 48 // 60ms / 1.25ms = 48 #define BLE_SLAVE_LATENCY 0 #define BLE_CONN_SUP_TIMEOUT 1000 // 10000ms / 10ms = 1000 diff --git a/src/ble/ble_tx_power.c b/src/ble/ble_tx_power.c index 09e9c3f..20229ff 100644 --- a/src/ble/ble_tx_power.c +++ b/src/ble/ble_tx_power.c @@ -18,9 +18,9 @@ #define BLE_RSSI_STRESS_DBM (-80) #define BLE_RSSI_STRESS_COUNT 3 #define BLE_RSSI_MONITOR_INTERVAL_MS 2000 -#define BLE_TX_SLOW_MS 50 -#define BLE_TX_CRITICAL_MS 100 -#define BLE_TX_STUCK_MS 200 +#define BLE_TX_SLOW_MS 100 +#define BLE_TX_CRITICAL_MS 200 +#define BLE_TX_STUCK_MS 500 #define BLE_TX_SLOW_COUNT 3 #define BLE_TX_BUSY_STRESS_RETRY 4 #define BLE_TX_RECOVER_HOLD_MS 10000 diff --git a/src/main.h b/src/main.h index 0f50d2e..df4c81b 100644 --- a/src/main.h +++ b/src/main.h @@ -18,7 +18,7 @@ #define HARDWARE_VERSION "VB0HW0000" #define SERIAL_NUMBER "VBT2608000Z" #define DEFAULT_PASSKEY "123456" -#define FIRMWARE_VERSION "VBTFW0204" +#define FIRMWARE_VERSION "VBTFW0205" /* * Firmware Version History @@ -28,6 +28,7 @@ * 2026-08-05 | VBTFW0202 | 2.0.2+0 | Added production command(mpd?) * 2026-08-25 | VBTFW0203 | 2.0.3+0 | Fixed piezo power on/off timing, piezo sweep timing, and BLE settings * 2026-08-28 | VBTFW0204 | 2.0.4+0 | Align IMU direct read(mbb?) FSR with FIFO scale + * 2026-08-28 | VBTFW0205 | 2.0.5+0 | Fixed BLE connection interval(15~30ms -> 30~60ms) for battery life improvement */ /*==============================================================================