apply latest local changes

This commit is contained in:
jhChun
2026-03-23 16:22:25 +09:00
parent 35d6956de2
commit be3ebc9a63
16 changed files with 252 additions and 395 deletions

View File

@@ -257,7 +257,7 @@ void battery_event_handler( nrf_drv_saadc_evt_t const * p_event )
{
low_battery_check = false;
/* 배터리 전압이 LOW_BATTERY_VOLTAGE(3100mV) 이하인지 확인 */
/* 배터리 전압이 LOW_BATTERY_VOLTAGE(3500mV) 이하인지 확인 */
if(batt_lvl_in_milli_volt_1 <= LOW_BATTERY_VOLTAGE)
{
/* 10회 연속 저전압 감지 시 전원 OFF 시퀀스 시작 */
@@ -278,14 +278,13 @@ void battery_event_handler( nrf_drv_saadc_evt_t const * p_event )
}
}
/* === info4 모드: 전체 센서 수집 중 배터리 값 저장 === */
/* === info4 모드: 전체 센서 수집(mbb) 중 배터리 값 저장 === */
else if (info4 == true)
{
info_batt = batt_lvl_in_milli_volt_1;
DBG_PRINTF("INFOTn%d\r\n\r\n", batt_lvl_in_milli_volt_1);
}
/* === 일반 모드: 단독 배터리 측정 요청에 대한 응답 전송 === */
/* === 일반 모드: 단독 배터리 측정 요청(msn)에 대한 응답 전송 === */
else
{
if (cmd_type_t == CMD_UART)
@@ -301,7 +300,6 @@ void battery_event_handler( nrf_drv_saadc_evt_t const * p_event )
}
}
}
}
@@ -399,20 +397,22 @@ void battery_level_meas(void)
}
/**
* @brief 압력센서 2채널 1회 측정 시작
* @brief 압력센서 2채널 1회 측정 시작 - 압력센서 미탑재
*
* SAADC를 압력센서 2채널용으로 설정 후 샘플링을 트리거한다.
* 결과는 pressure_all_event_handler 콜백에서 비동기로 처리된다.
*/
/*
void pressure_all_level_meas(void) //add cj add 25/11/19
{
ret_code_t err_code;
pressure_all_configure(); /* SAADC 압력센서 2채널 초기화 */
pressure_all_configure();
err_code = nrf_drv_saadc_sample(); /* ADC 샘플링 트리거 (비동기) */
err_code = nrf_drv_saadc_sample();
APP_ERROR_CHECK(err_code);
}
*/
/**
* @brief 배터리 모니터링 타이머 콜백 (5초 주기)

View File

@@ -24,13 +24,13 @@
#define _BATTERY_SAADC_H_
/* 저전압 판정 임계값 (mV) — 이 값 이하가 10회 연속이면 자동 전원 OFF */
#define LOW_BATTERY_VOLTAGE 3100 /* Low Battery 임계값 */
#define LOW_BATTERY_VOLTAGE 3500 /* Low Battery 임계값 */
/** @brief 배터리 전압 1회 측정 시작 (비동기, 결과는 콜백에서 처리) */
void battery_level_meas(void);
/** @brief 압력센서 2채널(AIN7, AIN4) 1회 측정 시작 (비동기) */
void pressure_all_level_meas(void);
//void pressure_all_level_meas(void); // 압력센서 미탑재
/** @brief 배터리 모니터링 5초 반복 타이머 시작 */
void battery_timer_start(void);
/** @brief 배터리 모니터링 타이머 정지 */

View File

@@ -482,8 +482,6 @@ int imu_read_direct(void)
static bool twi_ready = false;
DBG_PRINTF("[IMU] enter\r\n");
/* TWI(I2C) 초기화 — 최초 1회만 수행 (재초기화로 클린 상태 보장) */
if (!twi_ready) {
inv_i2c_master_uninitialize();
@@ -540,9 +538,6 @@ int imu_read_direct(void)
apply_mounting_matrix(icm_mounting_matrix, accel);
apply_mounting_matrix(icm_mounting_matrix, gyro);
DBG_PRINTF("[IMU] A:%d,%d,%d G:%d,%d,%d\r\n",
accel[0], accel[1], accel[2], gyro[0], gyro[1], gyro[2]);
/* 데이터 패킹 */
ssp_data[0] = (uint16_t)accel[0];
ssp_data[1] = (uint16_t)accel[1];
@@ -551,7 +546,8 @@ int imu_read_direct(void)
ssp_data[4] = (uint16_t)gyro[1];
ssp_data[5] = (uint16_t)gyro[2];
if (info4 == true) {
if (info4 == true)
{
/* info4 모드: 전역 배열에 저장 (mbb?에서 rbb: 패킷으로 일괄 전송) */
info_imu[0] = ssp_data[0];
info_imu[1] = ssp_data[1];
@@ -559,7 +555,9 @@ int imu_read_direct(void)
info_imu[3] = ssp_data[3];
info_imu[4] = ssp_data[4];
info_imu[5] = ssp_data[5];
} else {
}
else
{
/* 일반 모드: "rsp:" 태그로 BLE 즉시 전송 */
format_data(imu_bin_buffer, "rsp:", ssp_data, 12);
dr_binary_tx_safe(imu_bin_buffer, 8);
@@ -569,9 +567,7 @@ int imu_read_direct(void)
{
uint8_t pwr_off[2] = { 0x1F, 0x00 }; /* reg=PWR_MGMT0, val=0x00 */
icm42670_twi_tx(IMU_I2C_ADDR, pwr_off, 2, false);
DBG_PRINTF("[IMU] sleep\r\n");
}
DBG_PRINTF("[IMU] sent OK\r\n");
return 0;
}

View File

@@ -9,8 +9,7 @@
/*******************************************************************************
* [헤더 개요] ICM42670P I2C 통신 인터페이스 선언
*
* nRF52840 TWI 하드웨어를 통해 ICM42670P IMU 센서와 통신하기 위한
* 핀 정의, 함수 프로토타입을 선언한다.
* nRF52840 TWI 하드웨어를 통해 ICM42670P IMU 센서와 통신하기 위한 핀 정의, 함수 프로토타입 선언
*
* 핀 배치:
* - I2C SCL : P1.14

View File

@@ -14,7 +14,6 @@
* - IMU: ICM42670P 6축 가속도/자이로 (I2C, 0x68)
* - 온도: TMP235-Q1 아날로그 센서 (SAADC AIN3)
* - 배터리: 분압 회로 (SAADC AIN2, 1/3 프리스케일)
* - 압력: 2채널 압력센서 (SAADC AIN7/AIN4)
* - 전원: POWER_HOLD(P0.8) 자가유지 회로, POWER_BUTTON(P1.8) 입력
*
* [소프트웨어 부트 시퀀스 — main() 함수]
@@ -121,6 +120,7 @@
#include "parser.h" /* 새 바이너리 명령 파서 (dr_cmd_parser) */
#include "debug_print.h" /* 디버그 출력 매크로 (DBG_PRINTF) */
#include "fstorage.h" /* Flash Storage 래퍼 (FDS 초기화/저장/로드) */
#include "dr_piezo.h" /* 피에조 초음파 드라이버 */
#define HARDWARE_VERSION "VB0HW0000"
@@ -346,7 +346,7 @@ static void minimal_gpio_init(void)
nrf_gpio_cfg_output(POWER_HOLD);
nrf_gpio_pin_set(POWER_HOLD);
power_gpio_init();
DBG_PRINTF("[GPIO] Minimal OK (BTN=%d)\r\n", nrf_gpio_pin_read(POWER_BUTTON));
}
@@ -635,8 +635,7 @@ static void nus_data_handler(ble_nus_evt_t * p_evt)
{
cmd_type_t = CMD_BLE;
ble_got_new_data = true;
DBG_PRINTF("[NUS] RX len=%d\r\n", p_evt->params.rx_data.length);
/* 콜백에서는 복사만 하고, 메인 루프에서 처리 */
if (p_evt->params.rx_data.length <= BLE_NUS_MAX_DATA_LEN)
{
@@ -1783,6 +1782,10 @@ int main(void)
g_log_enable = true;
DBG_PRINTF(" parser OK\r\n");
// PHASE 7.7: 피에조 드라이버 초기화 (GPIO/GPIOTE/Timer/PPI + 전원)
dr_piezo_system_init();
DBG_PRINTF(" piezo OK\r\n");
// PHASE 8: 완료
DBG_PRINTF("\r\n========================================\r\n");
DBG_PRINTF(" READY [%s]\r\n", SERIAL_NO);

View File

@@ -152,7 +152,7 @@
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>1238</LineNumber>
<LineNumber>1306</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@@ -161,14 +161,14 @@
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>C:\jhChun\VesiScan-Basic\pc_firm\parser.c</Filename>
<Filename>..\..\..\..\..\..\pc_firm\dr_adc121s051\dr_adc121s051.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>1162</LineNumber>
<LineNumber>1238</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@@ -184,7 +184,7 @@
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>191</LineNumber>
<LineNumber>1162</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@@ -193,14 +193,14 @@
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\..\..\power_control.c</Filename>
<Filename>C:\jhChun\VesiScan-Basic\pc_firm\parser.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>188</LineNumber>
<LineNumber>191</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@@ -216,7 +216,7 @@
<Bp>
<Number>4</Number>
<Type>0</Type>
<LineNumber>692</LineNumber>
<LineNumber>188</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@@ -225,14 +225,14 @@
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c</Filename>
<Filename>..\..\..\power_control.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>5</Number>
<Type>0</Type>
<LineNumber>386</LineNumber>
<LineNumber>692</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
@@ -248,6 +248,22 @@
<Bp>
<Number>6</Number>
<Type>0</Type>
<LineNumber>386</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>C:\jhChun\VesiScan-Basic_0313\VesiScan-Basic\project\ble_peripheral\ble_app_bladder_patch\cmd_parse.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>7</Number>
<Type>0</Type>
<LineNumber>497</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
@@ -262,7 +278,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>7</Number>
<Number>8</Number>
<Type>0</Type>
<LineNumber>525</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -278,7 +294,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>8</Number>
<Number>9</Number>
<Type>0</Type>
<LineNumber>529</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -294,7 +310,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>9</Number>
<Number>10</Number>
<Type>0</Type>
<LineNumber>394</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -310,7 +326,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>10</Number>
<Number>11</Number>
<Type>0</Type>
<LineNumber>695</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -326,7 +342,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>11</Number>
<Number>12</Number>
<Type>0</Type>
<LineNumber>527</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -342,7 +358,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>12</Number>
<Number>13</Number>
<Type>0</Type>
<LineNumber>531</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -358,7 +374,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>13</Number>
<Number>14</Number>
<Type>0</Type>
<LineNumber>698</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -374,7 +390,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>14</Number>
<Number>15</Number>
<Type>0</Type>
<LineNumber>701</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -390,7 +406,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>15</Number>
<Number>16</Number>
<Type>0</Type>
<LineNumber>2168</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -406,7 +422,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>16</Number>
<Number>17</Number>
<Type>0</Type>
<LineNumber>396</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -422,7 +438,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>17</Number>
<Number>18</Number>
<Type>0</Type>
<LineNumber>404</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -438,7 +454,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>18</Number>
<Number>19</Number>
<Type>0</Type>
<LineNumber>731</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -454,7 +470,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>19</Number>
<Number>20</Number>
<Type>0</Type>
<LineNumber>734</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -470,7 +486,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>20</Number>
<Number>21</Number>
<Type>0</Type>
<LineNumber>737</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -486,7 +502,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>21</Number>
<Number>22</Number>
<Type>0</Type>
<LineNumber>740</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -502,7 +518,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>22</Number>
<Number>23</Number>
<Type>0</Type>
<LineNumber>2207</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -518,7 +534,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>23</Number>
<Number>24</Number>
<Type>0</Type>
<LineNumber>195</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -534,7 +550,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>24</Number>
<Number>25</Number>
<Type>0</Type>
<LineNumber>198</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -550,7 +566,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>25</Number>
<Number>26</Number>
<Type>0</Type>
<LineNumber>533</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -566,7 +582,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>26</Number>
<Number>27</Number>
<Type>0</Type>
<LineNumber>535</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -582,7 +598,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>27</Number>
<Number>28</Number>
<Type>0</Type>
<LineNumber>258</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -598,7 +614,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>28</Number>
<Number>29</Number>
<Type>0</Type>
<LineNumber>1165</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -614,7 +630,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>29</Number>
<Number>30</Number>
<Type>0</Type>
<LineNumber>1164</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -630,7 +646,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>30</Number>
<Number>31</Number>
<Type>0</Type>
<LineNumber>1168</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -646,7 +662,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>31</Number>
<Number>32</Number>
<Type>0</Type>
<LineNumber>1167</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -662,7 +678,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>32</Number>
<Number>33</Number>
<Type>0</Type>
<LineNumber>1171</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -678,7 +694,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>33</Number>
<Number>34</Number>
<Type>0</Type>
<LineNumber>1253</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -694,7 +710,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>34</Number>
<Number>35</Number>
<Type>0</Type>
<LineNumber>210</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -710,7 +726,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>35</Number>
<Number>36</Number>
<Type>0</Type>
<LineNumber>213</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -726,7 +742,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>36</Number>
<Number>37</Number>
<Type>0</Type>
<LineNumber>217</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -742,7 +758,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>37</Number>
<Number>38</Number>
<Type>0</Type>
<LineNumber>220</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -758,7 +774,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>38</Number>
<Number>39</Number>
<Type>0</Type>
<LineNumber>280</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -774,7 +790,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>39</Number>
<Number>40</Number>
<Type>0</Type>
<LineNumber>1166</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -790,7 +806,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>40</Number>
<Number>41</Number>
<Type>0</Type>
<LineNumber>1169</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -806,7 +822,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>41</Number>
<Number>42</Number>
<Type>0</Type>
<LineNumber>1172</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -822,7 +838,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>42</Number>
<Number>43</Number>
<Type>0</Type>
<LineNumber>1175</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -838,7 +854,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>43</Number>
<Number>44</Number>
<Type>0</Type>
<LineNumber>1242</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -854,7 +870,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>44</Number>
<Number>45</Number>
<Type>0</Type>
<LineNumber>1257</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -870,7 +886,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>45</Number>
<Number>46</Number>
<Type>0</Type>
<LineNumber>97</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -886,7 +902,7 @@
<Expression></Expression>
</Bp>
<Bp>
<Number>46</Number>
<Number>47</Number>
<Type>0</Type>
<LineNumber>96</LineNumber>
<EnabledFlag>1</EnabledFlag>
@@ -901,6 +917,22 @@
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>48</Number>
<Type>0</Type>
<LineNumber>34</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\..\..\fstorage.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<Tracepoint>
<THDelay>0</THDelay>

View File

@@ -11473,7 +11473,7 @@
// <i> or this value is actually used. It depends on which one is bigger.
#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP
#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 1024 // 512 -> 1024 jhChun 26.03.17
#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 4096 // 512 -> 1024 -> 4096 jhChun 26.03.17
#endif
// <o> SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Maximum number of upstream buffers.

View File

@@ -100,7 +100,7 @@ void tmp235_voltage_handler(nrf_drv_saadc_evt_t const * p_event) /* TMP325 Vout
/* ADC 변환 결과 읽기 */
adc_result = p_event->data.done.p_buffer[0];
DBG_PRINTF("[TMP] adc=%d\r\n", adc_result);
//DBG_PRINTF("[TMP] adc=%d\r\n", adc_result);
/* SAADC 해제 — 배터리/압력센서 측정과 하드웨어 공유 */
nrf_drv_saadc_uninit();