주석 및 로그 정리
This commit is contained in:
+2
-11
@@ -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
@@ -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
@@ -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
@@ -17,7 +17,7 @@
|
||||
*============================================================================*/
|
||||
#define FIRMWARE_VERSION "TSTFW042"
|
||||
#define HARDWARE_VERSION "VB0HW0000"
|
||||
#define SERIAL_NUMBER "VB0260300ZZ" // 앱이 실제로 쓰는 시리얼/광고 이름
|
||||
#define SERIAL_NUMBER "VB0260300ZZ"
|
||||
#define DEFAULT_PASSKEY "123456"
|
||||
|
||||
/*==============================================================================
|
||||
|
||||
Reference in New Issue
Block a user