DEBUG_MINIMAL_BOOT 삭제
- main.c: DEBUG_MINIMAL_BOOT 삭제 및 분기문 정리 - main.c: minimal_gpio_init() + full_gpio_init() → gpio_init() 하나로 통합 - main.c: icm42670_init() 분기 제거, advertising_start()만 남김 - power_control.c: SW I2C/센서 전원 시퀀스 제거, p_order = 2로 즉시 완료
This commit is contained in:
@@ -101,7 +101,6 @@ void eeprom_control(on_off_cont_t eeprom_st)
|
||||
*/
|
||||
int device_sleep_mode(void){
|
||||
int rc = 0;
|
||||
eeprom_control(OFF); /* EEPROM 쓰기 보호 활성화 */
|
||||
nrf_delay_ms(2);
|
||||
DBG_PRINTF("Device_Sleep_Mode OK!\r\n");
|
||||
nrf_delay_ms(10);
|
||||
@@ -124,7 +123,6 @@ int device_activated(void){
|
||||
p_order = 0; /* 상태머신 시작 단계 (Step 0: I2C 초기화) */
|
||||
lock_check =true; /* 전원 시퀀스 진행 중 잠금 */
|
||||
power_timer_start(); /* 20ms 후 power_loop() 첫 호출 */
|
||||
eeprom_control(OFF); /* EEPROM OFF 상태로 시작 */
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -149,8 +147,7 @@ int device_activated(void){
|
||||
* 3) p_order < 2이면 다음 단계로 진행하고 타이머 재시작
|
||||
* 4) p_order == 2이면 전원 시퀀스 완료
|
||||
*
|
||||
* [DEBUG_MINIMAL_BOOT 모드]
|
||||
* 센서 초기화를 건너뛰고 즉시 완료 단계(Step 2)로 점프
|
||||
* 센서 초기화 불필요 — imu_read_direct()가 매 측정 시 자체 처리
|
||||
*/
|
||||
void power_loop(void *p_context)
|
||||
{
|
||||
@@ -158,39 +155,9 @@ void power_loop(void *p_context)
|
||||
|
||||
power_timer_stop(); /* 현재 타이머 정지 (싱글샷 → 수동 재시작 필요) */
|
||||
|
||||
#if DEBUG_MINIMAL_BOOT
|
||||
/* Minimal Boot: Skip sensor initialization */
|
||||
/* 미니멀 부트 모드: 센서 초기화 생략하고 바로 완료 */
|
||||
DBG_PRINTF("[PWR] Minimal mode - skipping sensor init\r\n");
|
||||
p_order = 2; // Jump to complete
|
||||
#else
|
||||
/* Full Boot: Execute power sequence */
|
||||
/* 풀 부트 모드: 전원 시퀀스 단계별 실행 */
|
||||
switch (p_order) {
|
||||
/* Step 0: I2C Initialize */
|
||||
/* 단계 0: I2C 버스를 SW 모드로 초기화 (레거시 흐름) */
|
||||
case 0:
|
||||
sw_i2c_init_once(); /* SW I2C 초기화 (TWI 해제 → 비트뱅 모드) */
|
||||
nrf_delay_ms(10); /* I2C 버스 안정화 대기 */
|
||||
DBG_PRINTF("[PWR] Step %d: I2C Init\r\n", p_order);
|
||||
break;
|
||||
|
||||
/* Step 1: Reserved */
|
||||
/* 단계 1: 예약 (추후 센서 초기화 등 추가 가능) */
|
||||
case 1:
|
||||
DBG_PRINTF("[PWR] Step %d: (reserved)\r\n", p_order);
|
||||
break;
|
||||
|
||||
/* Step 2: Complete */
|
||||
/* 단계 2: 전원 시퀀스 완료 → 디바이스 사용 준비 완료 */
|
||||
case 2:
|
||||
DBG_PRINTF("[PWR] Step %d: Sequence Complete\r\n", p_order);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
/* 센서 초기화 불필요 — imu_read_direct()가 매 측정 시 자체 처리 */
|
||||
/* 추후 전원 시퀀스 단계가 필요하면 여기에 switch(p_order) 추가 */
|
||||
p_order = 2;
|
||||
|
||||
/* Advance to next step or finish */
|
||||
/* 다음 단계로 진행하거나, 시퀀스 완료 처리 */
|
||||
|
||||
Reference in New Issue
Block a user