From d53cfc78a68bc80374b5c60933b593a299c81fd2 Mon Sep 17 00:00:00 2001 From: jhChun Date: Thu, 9 Apr 2026 11:12:22 +0900 Subject: [PATCH] =?UTF-8?q?P0.11=20=ED=95=80=20=ED=99=9C=EC=84=B1=ED=99=94?= =?UTF-8?q?:=20ADA2200(Lock-in=20Amp.)=20=EC=A0=84=EC=9B=90=20=EA=B3=B5?= =?UTF-8?q?=EA=B8=89(LDO)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Flash Memory(W25Q31) 전용으로 보고 IR 제어 비활성화 -> GPIO 제어 가능하도록 복원 --- project/ble_peripheral/ble_app_vivaMayo/main.c | 2 +- .../ble_app_vivaMayo/power_control.c | 15 +++++++++++++-- .../ble_app_vivaMayo/power_control.h | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/project/ble_peripheral/ble_app_vivaMayo/main.c b/project/ble_peripheral/ble_app_vivaMayo/main.c index f64cd1c..714cde8 100644 --- a/project/ble_peripheral/ble_app_vivaMayo/main.c +++ b/project/ble_peripheral/ble_app_vivaMayo/main.c @@ -342,7 +342,7 @@ int main(void) LOG_PRINTF("\r\n\r\n"); LOG_PRINTF("========================================\r\n"); - LOG_PRINTF(" vivaMayo UART OK\r\n"); + LOG_PRINTF(" VivaMayo UART OK\r\n"); LOG_PRINTF("========================================\r\n"); #if DEBUG_MINIMAL_BOOT diff --git a/project/ble_peripheral/ble_app_vivaMayo/power_control.c b/project/ble_peripheral/ble_app_vivaMayo/power_control.c index 2b6ce2d..ed7cf43 100644 --- a/project/ble_peripheral/ble_app_vivaMayo/power_control.c +++ b/project/ble_peripheral/ble_app_vivaMayo/power_control.c @@ -32,6 +32,7 @@ APP_TIMER_DEF(m_w25q_test_timer_id); #define POWER_LOOP_INTERVAL 30 static uint8_t p_order; +static volatile bool power_up_done = false; extern uint8_t simple_samples_in_buffer; extern volatile bool processing; bool lock_check = false; @@ -45,8 +46,14 @@ void power_gpio_init(void) void ir_power_control(on_off_cont_t ir_power_st) { - /* Removed: P0.11 now W25Q32 power, IR power control no longer available */ - (void)ir_power_st; + /* P0.11 = PWR_I/R_EN = U6 LDO EN (+3.3V_R for ADA2200) + * Shared with W25Q32 power (W25Q_PWR_PIN2) - both need HIGH */ + nrf_gpio_cfg_output(NRF_GPIO_PIN_MAP(0, 11)); + if (ir_power_st == OFF) { + nrf_gpio_pin_clear(NRF_GPIO_PIN_MAP(0, 11)); + } else if (ir_power_st == ON) { + nrf_gpio_pin_set(NRF_GPIO_PIN_MAP(0, 11)); + } } @@ -99,9 +106,12 @@ int device_sleep_mode(void){ } +bool is_power_up_done(void) { return power_up_done; } + int device_activated(void){ int rc = 0; p_order = 0; + power_up_done = false; lock_check =true; power_timer_start(); eeprom_control(OFF); @@ -249,6 +259,7 @@ void power_loop(void *p_context) p_order++; power_timer_start(); } else { + power_up_done = true; DBG_PRINTF("[PWR] Device Activated OK!\r\n"); } } diff --git a/project/ble_peripheral/ble_app_vivaMayo/power_control.h b/project/ble_peripheral/ble_app_vivaMayo/power_control.h index 9f0eb71..2aab52d 100644 --- a/project/ble_peripheral/ble_app_vivaMayo/power_control.h +++ b/project/ble_peripheral/ble_app_vivaMayo/power_control.h @@ -17,6 +17,7 @@ void rcv_power_control(on_off_cont_t rcv_power_st); void eeprom_control(on_off_cont_t rcv_power_st); int device_sleep_mode(void); int device_activated(void); +bool is_power_up_done(void); int device_reactivated(void); void power_loop(void * p_context); /* For x ms */ void power_timer_start(void);