apply latest local changes
This commit is contained in:
@@ -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초 주기)
|
||||
|
||||
@@ -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 배터리 모니터링 타이머 정지 */
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
/*******************************************************************************
|
||||
* [헤더 개요] ICM42670P I2C 통신 인터페이스 선언
|
||||
*
|
||||
* nRF52840 TWI 하드웨어를 통해 ICM42670P IMU 센서와 통신하기 위한
|
||||
* 핀 정의, 함수 프로토타입을 선언한다.
|
||||
* nRF52840 TWI 하드웨어를 통해 ICM42670P IMU 센서와 통신하기 위한 핀 정의, 함수 프로토타입 선언
|
||||
*
|
||||
* 핀 배치:
|
||||
* - I2C SCL : P1.14
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -215,17 +215,17 @@ void TIMER2_IRQHandler(void)
|
||||
/* 피에조 전원 ON: DC/DC 컨버터 활성화 → ±20V 생성 */
|
||||
void dr_piezo_power_on(void)
|
||||
{
|
||||
nrf_delay_ms(20);
|
||||
//nrf_delay_ms(20);
|
||||
|
||||
nrf_gpio_cfg_output(DR_PIEZO_PWR_EN);
|
||||
nrf_gpio_pin_set(DR_PIEZO_PWR_EN);
|
||||
|
||||
/* Wait for power stabilization */
|
||||
nrf_delay_ms(10);
|
||||
nrf_delay_ms(3);
|
||||
|
||||
m_power_enabled = true;
|
||||
|
||||
DBG_PRINTF("[PIEZO] Power ON: +/-20V ready\r\n");
|
||||
//DBG_PRINTF("[PIEZO] TX/RX Active: +/-20V ready\r\n");
|
||||
}
|
||||
|
||||
/* 피에조 전원 OFF: TX 비활성화 → MUX 비활성화 → DC/DC 컨버터 차단 */
|
||||
@@ -243,7 +243,7 @@ void dr_piezo_power_off(void)
|
||||
|
||||
m_power_enabled = false;
|
||||
|
||||
DBG_PRINTF("[PIEZO] Power OFF\r\n");
|
||||
//DBG_PRINTF("[PIEZO] Power OFF\r\n");
|
||||
}
|
||||
|
||||
/* 피에조 전원 상태 확인 */
|
||||
@@ -272,8 +272,6 @@ static void dr_piezo_gpio_init(void)
|
||||
|
||||
/* Initialize MUX control pins */
|
||||
dr_piezo_mux_init();
|
||||
|
||||
DBG_PRINTF("[PIEZO] GPIO init done\r\n");
|
||||
}
|
||||
|
||||
/* GPIOTE 초기화: P_OUT/N_OUT을 토글 모드로 설정 (PPI 연결 대상) */
|
||||
@@ -296,8 +294,6 @@ static void dr_piezo_gpiote_init(void)
|
||||
NRF_GPIOTE_INITIAL_VALUE_LOW
|
||||
);
|
||||
nrf_gpiote_task_enable(GPIOTE_CH_N_OUT);
|
||||
|
||||
DBG_PRINTF("[PIEZO] GPIOTE init done\r\n");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -345,8 +341,6 @@ static void dr_piezo_timer_init(void)
|
||||
|
||||
NVIC_SetPriority(PIEZO_TIMER_IRQn, PIEZO_TIMER_IRQ_PRIORITY);
|
||||
NVIC_EnableIRQ(PIEZO_TIMER_IRQn);
|
||||
|
||||
DBG_PRINTF("[DR_PIEZO] Timer init done (period=%d ticks)\r\n", m_period_ticks);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -394,8 +388,6 @@ static void dr_piezo_ppi_init(void)
|
||||
(uint32_t)&NRF_GPIOTE->TASKS_OUT[GPIOTE_CH_N_OUT]
|
||||
);
|
||||
nrf_ppi_channel_enable((nrf_ppi_channel_t)PPI_CH_N_OUT_TOGGLE_1);
|
||||
|
||||
DBG_PRINTF("[DR_PIEZO] PPI init done (4 channels)\r\n");
|
||||
}
|
||||
|
||||
/*==============================================================================
|
||||
@@ -405,8 +397,6 @@ static void dr_piezo_ppi_init(void)
|
||||
/* TX 드라이버 초기화: GPIO → GPIOTE → Timer → PPI 순서로 설정 */
|
||||
void dr_piezo_init(void)
|
||||
{
|
||||
DBG_PRINTF("[DR_PIEZO] Initializing TX driver...\r\n");
|
||||
|
||||
dr_piezo_gpio_init();
|
||||
dr_piezo_gpiote_init();
|
||||
dr_piezo_timer_init();
|
||||
@@ -415,8 +405,6 @@ void dr_piezo_init(void)
|
||||
m_tx_active = false;
|
||||
m_remaining_cycles = 0;
|
||||
m_initialized = true;
|
||||
|
||||
DBG_PRINTF("[DR_PIEZO] TX driver ready (2MHz)\r\n");
|
||||
}
|
||||
|
||||
/* TX 드라이버 해제: 타이머 정지, PPI/GPIOTE 비활성화, 모든 핀 LOW */
|
||||
@@ -441,8 +429,6 @@ void dr_piezo_uninit(void)
|
||||
|
||||
m_tx_active = false;
|
||||
m_initialized = false;
|
||||
|
||||
DBG_PRINTF("[DR_PIEZO] TX driver uninitialized\r\n");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -538,7 +524,6 @@ void dr_piezo_disable(void)
|
||||
nrf_gpio_pin_clear(DR_PIEZO_PIN_PE);
|
||||
nrf_gpio_pin_clear(DR_PIEZO_PIN_P_OUT);
|
||||
nrf_gpio_pin_clear(DR_PIEZO_PIN_N_OUT);
|
||||
DBG_PRINTF("[DR_PIEZO] TX disabled\r\n");
|
||||
}
|
||||
|
||||
/* TX 송신 중 여부 확인 (인터럽트 핸들러에서 false로 전환) */
|
||||
@@ -577,16 +562,6 @@ void dr_piezo_set_frequency(uint32_t freq_hz)
|
||||
/* MUX 제어 핀 초기화: 4개 핀 모두 High Drive 출력으로 설정, 기본값 LOW */
|
||||
void dr_piezo_mux_init(void)
|
||||
{
|
||||
/* Configure MUX control pins as outputs */
|
||||
/*nrf_gpio_cfg_output(DR_PIEZO_MUX_SEL1);
|
||||
nrf_gpio_cfg_output(DR_PIEZO_MUX_SEL2);
|
||||
nrf_gpio_cfg_output(DR_PIEZO_MUX_SEL3);*/
|
||||
|
||||
/*nrf_gpio_cfg_output(DR_PIEZO_EN_MUXA);
|
||||
nrf_gpio_cfg_output(DR_PIEZO_EN_MUXB);
|
||||
nrf_gpio_cfg_output(DR_PIEZO_MUX_SEL0);
|
||||
nrf_gpio_cfg_output(DR_PIEZO_MUX_SEL1);*/
|
||||
|
||||
/* Configure pins as output with high drive strength */
|
||||
nrf_gpio_cfg(
|
||||
DR_PIEZO_MUX_SEL0,
|
||||
@@ -624,17 +599,10 @@ void dr_piezo_mux_init(void)
|
||||
NRF_GPIO_PIN_NOSENSE
|
||||
);
|
||||
|
||||
/* Set MUX selection: P1.13=HIGH, P1.12=LOW, P1.11=LOW */
|
||||
//nrf_gpio_pin_set(DR_PIEZO_MUX_SEL1); /* P1.13 = HIGH */
|
||||
//nrf_gpio_pin_clear(DR_PIEZO_MUX_SEL2); /* P1.12 = LOW */
|
||||
//nrf_gpio_pin_clear(DR_PIEZO_MUX_SEL3); /* P1.11 = LOW */
|
||||
|
||||
nrf_gpio_pin_clear(DR_PIEZO_EN_MUXA); /* P0.21 = LOW, Select Channel -> HIGH */
|
||||
nrf_gpio_pin_clear(DR_PIEZO_EN_MUXB); /* P0.23 = LOW, Select Channel -> HIGH */
|
||||
nrf_gpio_pin_clear(DR_PIEZO_MUX_SEL0); /* P1.10 = LOW */
|
||||
nrf_gpio_pin_clear(DR_PIEZO_MUX_SEL1); /* P0.28 = LOW */
|
||||
|
||||
DBG_PRINTF("[DR_PIEZO] MUX init done\r\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -687,7 +655,7 @@ void dr_piezo_select_channel(uint8_t channel)
|
||||
break;
|
||||
}
|
||||
|
||||
/* Delay for MUX settling (analog path stabilization) */
|
||||
/* 채널 변경 시 MUX 안정화 시간 필요 (> 1.2ms) */
|
||||
nrf_delay_us(DR_PIEZO_MUX_SETTLING_US);
|
||||
}
|
||||
|
||||
@@ -735,13 +703,11 @@ void dr_piezo_test_pins(void)
|
||||
* 시스템 함수 (전원 + TX 드라이버 통합 제어)
|
||||
*============================================================================*/
|
||||
|
||||
/* 시스템 전체 초기화: 전원 ON → TX 드라이버 초기화 */
|
||||
/* 시스템 전체 초기화: TX 드라이버 초기화 → 전원 ON (부팅 시 1회만 호출) */
|
||||
void dr_piezo_system_init(void)
|
||||
{
|
||||
DBG_PRINTF("[PIEZO] System init...\r\n");
|
||||
dr_piezo_power_on();
|
||||
dr_piezo_init();
|
||||
DBG_PRINTF("[PIEZO] System ready\r\n");
|
||||
dr_piezo_init(); /* GPIO/GPIOTE/Timer/PPI 먼저 안전 상태로 설정 */
|
||||
dr_piezo_power_on(); /* 그 다음 DC/DC 전원 인가 */
|
||||
}
|
||||
|
||||
/* 시스템 전체 종료: TX 드라이버 해제 → 전원 OFF */
|
||||
@@ -749,7 +715,6 @@ void dr_piezo_system_uninit(void)
|
||||
{
|
||||
dr_piezo_uninit();
|
||||
dr_piezo_power_off();
|
||||
DBG_PRINTF("[DR_PIEZO] System shutdown\r\n");
|
||||
}
|
||||
|
||||
/* 전원 확인 후 버스트 송신 (블로킹: 송신 완료까지 대기) */
|
||||
|
||||
@@ -68,9 +68,6 @@
|
||||
* 전원 제어 핀 (DC/DC 컨버터 +/-20V)
|
||||
* DR_PIEZO_PWR_EN: HIGH로 설정 시 DC/DC 컨버터가 +/-20V 고전압 생성
|
||||
*============================================================================*/
|
||||
//#define DR_PIEZO_PWR_SHDN NRF_GPIO_PIN_MAP(0, 21) /**< SHDN_VPP/VNN (LT3463) */ // P0.21 : PZT_EN_MUXA jhChun 0128
|
||||
//#define DR_PIEZO_PWR_EN_10V NRF_GPIO_PIN_MAP(0, 22) /**< EN_+10V (MCP1804) */ // P0.22 : NIRS PIN
|
||||
|
||||
#define DR_PIEZO_PWR_EN NRF_GPIO_PIN_MAP(1, 9) /** Power Enable jhChun 0128 */
|
||||
|
||||
/*==============================================================================
|
||||
@@ -81,15 +78,10 @@
|
||||
* N_OUT: Negative Output - 피에조 음극 구동 (P_OUT과 역상)
|
||||
* 주의: 이전 핀 할당(주석 처리)에서 새 보드 레이아웃으로 변경됨 (jhChun 0128)
|
||||
*============================================================================*/
|
||||
//#define DR_PIEZO_PIN_PE NRF_GPIO_PIN_MAP(1, 5) /**< Pulse Enable */
|
||||
//#define DR_PIEZO_PIN_DMP NRF_GPIO_PIN_MAP(1, 9) /**< Dump control */
|
||||
//#define DR_PIEZO_PIN_P_OUT NRF_GPIO_PIN_MAP(1, 3) /**< Positive output */
|
||||
//#define DR_PIEZO_PIN_N_OUT NRF_GPIO_PIN_MAP(1, 2) /**< Negative output */
|
||||
|
||||
#define DR_PIEZO_PIN_PE NRF_GPIO_PIN_MAP(0, 25) /**< Pulse Enable */ // P1.05 -> P0.25
|
||||
#define DR_PIEZO_PIN_DMP NRF_GPIO_PIN_MAP(1, 0) /**< Dump control */ // P1.9 -> P1.0
|
||||
#define DR_PIEZO_PIN_P_OUT NRF_GPIO_PIN_MAP(1, 7) /**< Positive output */ // P1.3 -> P1.7
|
||||
#define DR_PIEZO_PIN_N_OUT NRF_GPIO_PIN_MAP(1, 6) /**< Negative output */ // P1.2 -> P1.6 jhChun 0128
|
||||
#define DR_PIEZO_PIN_DMP NRF_GPIO_PIN_MAP(1, 0) /**< Dump control */ // P1.9 -> P1.0
|
||||
#define DR_PIEZO_PIN_P_OUT NRF_GPIO_PIN_MAP(1, 7) /**< Positive output */ // P1.3 -> P1.7
|
||||
#define DR_PIEZO_PIN_N_OUT NRF_GPIO_PIN_MAP(1, 6) /**< Negative output */ // P1.2 -> P1.6 jhChun 0128
|
||||
|
||||
/*==============================================================================
|
||||
* MUX 제어 핀 (에코 신호 경로 선택)
|
||||
@@ -98,10 +90,6 @@
|
||||
* EN_MUXA/EN_MUXB: 각 MUX 활성화 (동시에 하나만 HIGH)
|
||||
* SEL0/SEL1: MUX 내부 4채널 중 하나를 선택하는 주소 비트
|
||||
*============================================================================*/
|
||||
//#define DR_PIEZO_MUX_SEL1 NRF_GPIO_PIN_MAP(1, 13) /**< MUX Select 1 (HIGH) */
|
||||
//#define DR_PIEZO_MUX_SEL2 NRF_GPIO_PIN_MAP(1, 12) /**< MUX Select 2 (LOW) */
|
||||
//#define DR_PIEZO_MUX_SEL3 NRF_GPIO_PIN_MAP(1, 11) /**< MUX Select 3 (LOW) */
|
||||
|
||||
/* Piezo MUX pins (8ch) jhChun 0129 */
|
||||
#define DR_PIEZO_EN_MUXA NRF_GPIO_PIN_MAP(0, 21) /**< MUXA Enable */
|
||||
#define DR_PIEZO_EN_MUXB NRF_GPIO_PIN_MAP(0, 23) /**< MUXB Enable */
|
||||
@@ -123,8 +111,8 @@
|
||||
#define DR_PIEZO_FREQ_HZ 2100000 /**< Target frequency (set PIEZO_FREQ_MHZ in .c) */
|
||||
#define DR_PIEZO_DEFAULT_CYCLES 5 /**< Default burst cycles (3~5) */
|
||||
#define DR_PIEZO_MIN_CYCLES 3
|
||||
#define DR_PIEZO_MAX_CYCLES 7 /* 3 -> 7 jhChun 26.03.12 */
|
||||
#define DR_PIEZO_MUX_SETTLING_US 1300 /**< MUX settling delay (us) */
|
||||
#define DR_PIEZO_MAX_CYCLES 7
|
||||
#define DR_PIEZO_MUX_SETTLING_US 1300 /**< MUX settling delay (us) */
|
||||
|
||||
/*==============================================================================
|
||||
* 전원 제어 함수
|
||||
|
||||
Reference in New Issue
Block a user