diff --git a/project/ble_peripheral/ble_app_bladder_patch/main.c b/project/ble_peripheral/ble_app_bladder_patch/main.c index 7fbcb21..82360e3 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/main.c +++ b/project/ble_peripheral/ble_app_bladder_patch/main.c @@ -115,8 +115,6 @@ #include "dr_piezo.h" /* Piezo ultrasound driver */ #include "led_control.h" /* LED direct control driver */ - - /*============================================================================== * Build Configuration *============================================================================*/ @@ -157,7 +155,6 @@ #define POWER_ON_DELAY 5 /* Power button polling interval (5ms) */ #define POWER_OFF_DELAY 3000 /* Power-off delay: 3s after LED indication */ #define POWER_RESET_DELAY 2000 /* Reset delay: 2s */ -#define LED_NUM 24 /* LED pin number */ /*============================================================================== * BLE Instances (statically allocated via SoftDevice macros) @@ -195,6 +192,9 @@ static char * roles_str[] = {"INVALID_ROLE", "CENTRAL", "PERIPHERAL"}; bool power_off_duble_prohibit = false; /* Power-off double prevention flag */ +/*============================================================================== + * Extern Variables and Functions + *============================================================================*/ /* -- External module flags (defined in main_timer/power_control) -- */ extern bool go_device_power_off; /* Power-off request flag */ extern bool go_sleep_mode_enter; /* Sleep mode entry request flag */ @@ -206,6 +206,14 @@ extern bool info4; /* Device info transmission complete flag extern uint8_t add_cycle; /* Additional measurement cycle counter */ extern bool motion_raw_data_enabled; /* Motion raw data streaming enabled */ +/* -- External module functions (used in DFU prepare / disconnect cleanup) -- */ +extern void maa_async_abort(void); +extern bool maa_async_on_tx_ready(void); +extern bool maa_async_is_busy(void); +extern void dr_piezo_power_off(void); +extern void battery_timer_stop(void); +extern void main_timer_stop(void); + uint16_t cnt_s; /* Power button polling counter (5ms units, 150=0.75s) */ char ble_tx_buffer[BLE_NUS_MAX_DATA_LEN] = {0}; /* BLE text transmission buffer */ uint8_t ble_bin_buffer[BLE_NUS_MAX_DATA_LEN] = {0}; /* BLE binary response buffer */ @@ -492,7 +500,6 @@ static void ble_dfu_evt_handler(ble_dfu_buttonless_evt_type_t event) break; case BLE_DFU_EVT_RESPONSE_SEND_ERROR: DBG_PRINTF("[DFU] Error\r\n"); - APP_ERROR_CHECK(false); break; default: break; @@ -551,10 +558,6 @@ static void nrf_qwr_error_handler(uint32_t nrf_error) APP_ERROR_HANDLER(nrf_error); } -/* Async MAA TX complete handler (forward declarations) */ -extern bool maa_async_on_tx_ready(void); -extern bool maa_async_is_busy(void); -extern void maa_async_abort(void); /* 2026-03-17: Prevent blocking in BLE callback -- buffer command for main loop processing */ static volatile uint8_t pending_cmd_buf[BLE_NUS_MAX_DATA_LEN] = {0};