diff --git a/project/ble_peripheral/ble_app_bladder_patch/measurement/adc121s051/dr_adc121s051.c b/project/ble_peripheral/ble_app_bladder_patch/measurement/adc121s051/dr_adc121s051.c index f0735db..40a5d12 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/measurement/adc121s051/dr_adc121s051.c +++ b/project/ble_peripheral/ble_app_bladder_patch/measurement/adc121s051/dr_adc121s051.c @@ -566,6 +566,9 @@ extern void dr_piezo_burst_sw(uint8_t cycles); /* dr_piezo_select_channel is defined in dr_piezo.c */ extern void dr_piezo_select_channel(uint8_t channel); +/* Channel selection is split into GPIO switch and timer-backed settling wait. */ +extern void dr_piezo_select_channel_start(uint8_t channel); +extern void dr_piezo_wait_mux_settled(void); /*============================================================================== * INTEGRATED BURST + CAPTURE + TRANSMIT diff --git a/project/ble_peripheral/ble_app_bladder_patch/measurement/piezo/dr_piezo.c b/project/ble_peripheral/ble_app_bladder_patch/measurement/piezo/dr_piezo.c index a187cbe..ea24aa3 100644 --- a/project/ble_peripheral/ble_app_bladder_patch/measurement/piezo/dr_piezo.c +++ b/project/ble_peripheral/ble_app_bladder_patch/measurement/piezo/dr_piezo.c @@ -436,6 +436,7 @@ void dr_piezo_init(void) dr_piezo_gpiote_init(); dr_piezo_timer_init(); dr_piezo_ppi_init(); + dr_piezo_mux_timer_init(); m_tx_active = false; m_remaining_cycles = 0; @@ -698,8 +699,6 @@ void dr_piezo_select_channel_start(uint8_t channel) break; } - /* MUX settling time required after channel change (> 1.2ms) */ - nrf_delay_us(DR_PIEZO_MUX_SETTLING_US); /* Start one-shot timer for MUX settling (> 1.2ms). */ dr_piezo_mux_timer_start(); }