EEPROM 레거시 코드 정리

- EEP_WP, eeprom_control, power_gpio_init 삭제
This commit is contained in:
jhChun
2026-03-26 11:39:12 +09:00
parent dd3bce4f94
commit af7afff117
3 changed files with 38 additions and 59 deletions

View File

@@ -8,23 +8,17 @@
*
* [전원 켜기 흐름]
* device_activated()
* → p_order=0으로 초기화, power_loop 타이머 시작
* → power_loop() 상태머신이 20ms 간격으로 Step 0→1→2 순서대로 실행
* - Step 0: I2C 초기화 (sw_i2c_init_once)
* - Step 1: 예약 (현재 미사용)
* - Step 2: 전원 시퀀스 완료
* → power_loop 타이머 시작 → 즉시 완료 (센서 초기화 불필요)
* → 센서(IMU)는 측정 명령 시 imu_read_direct()가 자체 처리
*
* [슬립 모드]
* device_sleep_mode()
* → EEPROM OFF → processing 플래그 해제
* → processing 플래그 해제
*
* [재활성화]
* device_reactivated()
* → I2C 재초기화 후 전원 시퀀스를 처음부터 다시 시작
*
* [EEPROM 쓰기 보호 핀]
* EEP_WP = P0.24 (레거시, 현재는 FDS를 사용하므로 실질적으로 미사용)
*
* [타이머]
* 싱글샷 모드 app_timer, 20ms 간격으로 power_loop 호출
*
@@ -43,8 +37,6 @@
#include "debug_print.h"
#include "i2c_manager.h"
/* EEPROM 쓰기 보호 핀 (P0.24) - 레거시, 현재는 FDS 사용 */
#define EEP_WP NRF_GPIO_PIN_MAP(0, 24)
/* 전원 시퀀스용 싱글샷 타이머 인스턴스 */
APP_TIMER_DEF(m_power_timer_id);
@@ -53,9 +45,6 @@ APP_TIMER_DEF(m_power_timer_id);
// 2025-12-08 change to #define POWER_LOOP_INTERVAL 30 -> 20
#define POWER_LOOP_INTERVAL 20
/* 전원 시퀀스 현재 단계 (0: I2C 초기화, 1: 예약, 2: 완료) */
static uint8_t p_order;
@@ -65,36 +54,10 @@ extern volatile bool processing;
/* 전원 시퀀스 잠금 플래그 (true = 전원 시퀀스 진행 중) */
bool lock_check = false;
/**
* @brief 전원 관련 GPIO 핀 초기화
*
* EEP_WP 핀을 출력 모드로 설정한다.
*/
void power_gpio_init(void)
{
nrf_gpio_cfg_output(EEP_WP);
}
/**
* @brief EEPROM 전원 제어 (ON/OFF)
*
* @param eeprom_st ON: EEP_WP 핀 HIGH (쓰기 허용), OFF: LOW (쓰기 보호)
* 레거시 기능으로, 현재는 FDS(Flash Data Storage)를 사용하여 실질적으로 미사용.
*/
void eeprom_control(on_off_cont_t eeprom_st)
{
if(eeprom_st == OFF) {
nrf_gpio_pin_clear(EEP_WP); /* LOW: EEPROM 쓰기 보호 활성화 */
}else if(eeprom_st == ON){
nrf_gpio_pin_set(EEP_WP); /* HIGH: EEPROM 쓰기 허용 */
}
}
/**
* @brief 디바이스 슬립 모드 진입
*
* EEPROM을 OFF하고, 데이터 처리 플래그(processing)를 해제하여
* 데이터 처리 플래그(processing)를 해제하여
* 메인 루프가 더 이상 센서 데이터를 처리하지 않도록 한다.
*
* @return 0 (항상 성공)
@@ -114,7 +77,6 @@ int device_sleep_mode(void){
*
* 전원 시퀀스 단계를 0으로 초기화하고, 잠금 플래그를 설정한 뒤
* 타이머를 시작하여 power_loop() 상태머신을 구동한다.
* EEPROM은 OFF 상태로 시작한다.
*
* @return 0 (항상 성공)
*/