주석 및 로그 정리

This commit is contained in:
2026-06-19 14:21:59 +09:00
parent b64b4d08a2
commit 08b8d3001e
4 changed files with 31 additions and 44 deletions
+2 -11
View File
@@ -8,18 +8,9 @@
#include <zephyr/logging/log.h>
/*
* 로그를 3단계로 나눠 쓴다.
*
* - DBG_PRINTF: 상세 흐름용
* 평소에는 가장 많이 쏟아지는 로그라서, RTT가 잘리거나 너무 시끄러울 때
* 이 매크로만 잠깐 꺼두면 된다.
*
* - DBG_CORE: 부팅/상태 전환처럼 "항상 보고 싶은 핵심 로그"
*
* - DBG_PRINTF: 상세 흐름 및 디버그용 로그
* - DBG_CORE: 부팅/상태 전환 등 핵심 로그
* - DBG_ERR: 실패/이상 상황 로그
*
* 지금은 RTT 로그가 중간에 끊기는 문제를 줄이기 위해
* DBG_PRINTF만 잠깐 비활성화한 상태다.
*/
#include <zephyr/sys/printk.h>
+10 -15
View File
@@ -396,13 +396,11 @@ int imu_init(void)
}
if (who_am_i != ICM_WHOAMI) {
DBG_PRINTF("[IMU] FAIL — WHOAMI mismatch (got=0x%02X, expected=0x%02X)\r\n",
who_am_i, ICM_WHOAMI);
DBG_PRINTF("[IMU] FAIL — WHOAMI mismatch (got=0x%02X, expected=0x%02X)\r\n", who_am_i, ICM_WHOAMI);
return -3;
}
DBG_PRINTF("[IMU] OK — ICM42670P detected (WHOAMI=0x%02X, addr=0x%02X)\r\n",
who_am_i, IMU_I2C_ADDR);
//DBG_PRINTF("[IMU] OK — ICM42670P detected (WHOAMI=0x%02X, addr=0x%02X)\r\n", who_am_i, IMU_I2C_ADDR);
return 0;
}
@@ -443,9 +441,7 @@ int imu_read(int16_t accel[3], int16_t gyro[3])
gyro[1] = (int16_t)((raw[8] << 8) | raw[9]);
gyro[2] = (int16_t)((raw[10] << 8) | raw[11]);
DBG_PRINTF("[IMU] msp: A=(%6d,%6d,%6d) G=(%6d,%6d,%6d)\r\n",
accel[0], accel[1], accel[2],
gyro[0], gyro[1], gyro[2]);
//DBG_PRINTF("[IMU] msp: A=(%6d,%6d,%6d) G=(%6d,%6d,%6d)\r\n", accel[0], accel[1], accel[2], gyro[0], gyro[1], gyro[2]);
/* 슬립 모드: 전력 절감 */
imu_write_reg(REG_PWR_MGMT0, 0x00);
@@ -509,6 +505,7 @@ int imu_read_with_temperature(int16_t accel[3], int16_t gyro[3], int16_t *temp_c
gyro[1] = (int16_t)((raw[10] << 8) | raw[11]);
gyro[2] = (int16_t)((raw[12] << 8) | raw[13]);
/*
DBG_PRINTF("[IMU] mbb: A=(%6d,%6d,%6d) G=(%6d,%6d,%6d) T=%d.%02d C temp_raw=%d/%d/%d/%d avg=%d first=0x%02X%02X\r\n",
accel[0], accel[1], accel[2],
gyro[0], gyro[1], gyro[2],
@@ -520,7 +517,7 @@ int imu_read_with_temperature(int16_t accel[3], int16_t gyro[3], int16_t *temp_c
temp_samples[3],
temp_raw,
raw[0], raw[1]);
*/
imu_write_reg(REG_PWR_MGMT0, 0x00);
return 0;
}
@@ -574,11 +571,12 @@ int imu_read_temperature_cdeg(int16_t *temp_cdeg)
temp_raw = (int16_t)(temp_sum / (int32_t)IMU_TEMP_AVG_SAMPLES);
cdeg = imu_temp_raw_to_cdeg(temp_raw);
*temp_cdeg = (int16_t)cdeg;
/*
DBG_PRINTF("[IMU] temp=%d.%02d C raw=%d\r\n",
*temp_cdeg / 100,
(*temp_cdeg < 0 ? -*temp_cdeg : *temp_cdeg) % 100,
temp_raw);
*/
if (!was_fifo_active)
{
(void)imu_write_reg(REG_PWR_MGMT0, 0x00);
@@ -653,14 +651,11 @@ int imu_fifo_read_latest(uint8_t *sample_bytes,
}
ret = imu_fifo_read_count(&record_count);
DBG_PRINTF("[IMU FIFO] raw count=%u ret=%d target=%u\r\n",
record_count,
ret,
max_samples);
//DBG_PRINTF("[IMU FIFO] raw count=%u ret=%d target=%u\r\n", record_count, ret, max_samples);
if ((ret == 0) && (record_count > 0U))
{
ret = imu_fifo_read_records(record_count);
DBG_PRINTF("[IMU FIFO] read records ret=%d\r\n", ret);
//DBG_PRINTF("[IMU FIFO] read records ret=%d\r\n", ret);
}
if (ret)
@@ -690,7 +685,7 @@ int imu_fifo_read_latest(uint8_t *sample_bytes,
}
*out_count = record_count;
DBG_PRINTF("[IMU FIFO] drained samples=%u\r\n", record_count);
//DBG_PRINTF("[IMU FIFO] drained samples=%u\r\n", record_count);
return 0;
}
+18 -17
View File
@@ -365,7 +365,7 @@ static void load_default_config(void)
memset(SERIAL_NO, 0, sizeof(SERIAL_NO));
memcpy(SERIAL_NO, SERIAL_NUMBER, serial_len);
/* 기본 HW 버전 복사 */
/* 기본 HW Version 복사 */
memset(HW_NO, 0, sizeof(HW_NO));
memcpy(HW_NO, HARDWARE_VERSION, hw_len);
@@ -441,7 +441,7 @@ void device_power_keep_on(void)
void power_button_suspend(bool suspend)
{
/*
* maa?/mbb?처럼 측정 시간이 길 때 전원 버튼 상태머신이 끼어들지 않게 잠깐 멈춘다.
* mbb?처럼 측정 시간이 길 때 전원 버튼 상태머신이 끼어들지 않게 잠깐 멈춘다.
*
* 이 함수는 "부팅을 막는 함수"가 아니다.
* 이미 켜진 뒤, 특정 커맨드 처리 중에만 버튼 폴링 판단을 잠깐 쉬게 하는 역할이다.
@@ -506,7 +506,8 @@ static void main_s(struct k_timer *timer)
}
}
}
else /* ── 전원 OFF 시퀀스 (ON → OFF) ── */
/* 전원 OFF 시퀀스 (ON → OFF) */
else
{
if (!boot_btn_released) /* 부팅 시 눌렀던 버튼을 아직 안 놓음 → 대기 */
{
@@ -679,7 +680,7 @@ static void resume_device_after_soft_reset(void)
return;
}
/* 전원 래치 상태 복구 */
/* 리셋 복귀나 DFU test 부팅은 버튼 없이도 ON 상태 복구 */
device_on = true;
cnt_s = 0;
boot_btn_released = (gpio_pin_get_dt(&power_btn) != 1);
@@ -697,7 +698,7 @@ static void resume_device_after_soft_reset(void)
static void confirm_running_image(void)
{
#if defined(CONFIG_BOOTLOADER_MCUBOOT)
/* MCUboot revert 방지 */
/* 기본 초기화와 BLE 준비가 끝난 뒤 MCUboot revert 방지 */
if (!boot_is_img_confirmed())
{
int err = boot_write_img_confirmed();
@@ -722,18 +723,18 @@ static const char *swap_type_to_str(int swap_type)
/* MCUboot swap 상태 문자열 */
switch (swap_type)
{
case BOOT_SWAP_TYPE_NONE:
return "none";
case BOOT_SWAP_TYPE_TEST:
return "test";
case BOOT_SWAP_TYPE_PERM:
return "perm";
case BOOT_SWAP_TYPE_REVERT:
return "revert";
case BOOT_SWAP_TYPE_FAIL:
return "fail";
default:
return "unknown";
case BOOT_SWAP_TYPE_NONE:
return "none";
case BOOT_SWAP_TYPE_TEST:
return "test";
case BOOT_SWAP_TYPE_PERM:
return "perm";
case BOOT_SWAP_TYPE_REVERT:
return "revert";
case BOOT_SWAP_TYPE_FAIL:
return "fail";
default:
return "unknown";
}
}
+1 -1
View File
@@ -17,7 +17,7 @@
*============================================================================*/
#define FIRMWARE_VERSION "TSTFW042"
#define HARDWARE_VERSION "VB0HW0000"
#define SERIAL_NUMBER "VB0260300ZZ" // 앱이 실제로 쓰는 시리얼/광고 이름
#define SERIAL_NUMBER "VB0260300ZZ"
#define DEFAULT_PASSKEY "123456"
/*==============================================================================