EEPROM 레거시 코드 정리
- EEP_WP, eeprom_control, power_gpio_init 삭제
This commit is contained in:
@@ -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 (항상 성공)
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user