Commit Graph

96 Commits

Author SHA1 Message Date
jh.chun b086b0f366 BLE RX 명령 큐 모듈 분리 2026-07-21 13:44:11 +09:00
jh.chun b8fa7831c7 DFU 모듈 분리 2026-07-21 12:33:54 +09:00
jh.chun a83c9d11fa 전원 모듈 분리 2026-07-21 12:19:43 +09:00
jh.chun ca9d3e1a03 DFU watchdog 수정
- MGMT_EVT_OP_IMG_MGMT_DFU_CHUNK_WRITE_COMPLETE 이벤트를 callback에 추가하고, flash write 완료 시마다 watchdog timer reset
2026-07-21 11:35:50 +09:00
jh.chun 8ae8f3fdb7 Piezo ADC delay 범위 수정(0 허용) 2026-07-21 11:34:44 +09:00
jh.chun 0a88cfb01c 빌드 warning 관련 수정 2026-07-21 11:34:23 +09:00
jh.chun 3c528b4c35 Kconfig 설정 변경(로그 출력, DFU/mcumgr BLE 권한) 2026-07-21 11:33:26 +09:00
jh.chun 1a4dec297b 빌드 설정으로 디버그 로그 출력 제어 2026-07-20 18:00:20 +09:00
jh.chun 7a34ea6ea9 MCUboot 로그 설정
- MCUboot 로그 필요 시 CONFIG_LOG, CONFIG_PRINTK, CONFIG_CONSOLE, CONFIG_RTT_CONSOLE, CONFIG_LOG_BACKEND_RTT = y
2026-07-20 17:56:17 +09:00
jh.chun 488223edee MTU에 따른 BLE 패킷 분할 - IMU FIFO 응답 패킷
- 협상된 MTU 기준으로 rim: 응답 패킷 크기 판단
- 기존 rim:이 MTU에 들어가지 않으면 ric: chunk 분할 전송
2026-07-20 17:47:28 +09:00
jh.chun 046919b7d9 연결 직후 FW에서 먼저 MTU Exchange 요청
- 기존: central이 MTU Exchange Request를 보내면 FW에서 응답값 전달
 → central에서 요청하지 않는 경우 기본값 23 유지됨
2026-07-20 17:45:47 +09:00
jh.chun 540c17e890 MTU에 따른 BLE 패킷 분할 - Piezo echo ADC 응답 패킷
- 협상된 MTU 기준으로 reb: 응답 패킷 크기 판단
- 기존 reb:가 MTU에 들어가지 않으면 rec: chunk 분할 전송
2026-07-20 17:09:59 +09:00
jh.chun e691b4f2b6 BLE TX power 제어 모듈 빌드에 추가 2026-07-20 17:07:54 +09:00
jh.chun 4a3e71774f BLE TX power/RSSI 모니터 로직 분리 2026-07-20 12:27:12 +09:00
jh.chun 3f2c2e774b BLE RX 단일 슬롯에서 8-depth 링버퍼로 변경
- 연결 직후 초기화 명령이 몰릴 때, 앞 명령 처리 중 도착한 명령이 drop: command busy로 버려지던 문제 해결- 큐가 가득 찰 때만 drop: queue full로 처리
2026-07-16 17:24:53 +09:00
jh.chun ba64e2bb81 BLE TX Power 동적 제어 (기본 4 dBm / Boost 8 dBm / 복귀 4 dBm)
- 광고, 연결 모두 기본 4 dBm 강제 (컨트롤러 기본이 +8이므로 명시적으로 낮춤)
- 연결 RSSI 추적 활성화(CONFIG_BT_CTLR_CONN_RSSI) + RSSI 모니터 재활성화
2026-07-16 16:53:10 +09:00
jh.chun bfe71b7e37 max tx power 정의 4 → 8 2026-07-15 18:08:46 +09:00
jh.chun e07dc99256 max tx power 정의 4 → 8 2026-07-15 17:54:36 +09:00
jh.chun 58b5243729 BLE 연결 파라미터가 이미 목표값인 경우 재요청 생략
- 요청 전 bt_conn_get_info()로 현재 체결값 조회
- Connection Interval, Supervision Timeout, Slave latency
2026-07-15 16:01:49 +09:00
jh.chun 7cccee7cf2 IMU FIFO 샘플 대기 함수 추가
- 샘플 부족 방지 안전장치
2026-07-15 15:45:08 +09:00
jh.chun 4ed23a103c 코드/주석 정리 2026-07-15 12:06:42 +09:00
jh.chun 69c4e20f34 BLE 연결 파라미터 협상 복구
- 연결 5초 후 15 ms connection interval 요청
- Latency 0, supervision timeout 10 s 설정 요청
- 목표 파라미터 미적용 시 30초 간격으로 최대 3회 재요청
- Central이 최종 적용 여부 결정
- 요청 실패 또는 미적용 시에도 연결은 유지

* 연결 직후에는 pairing/security/초기 GATT 처리 때문에 요청이 무시되거나 늦게 반영될 수 있음
* 첫 요청 타이밍에 폰 상태가 안 좋아서 preferred 값이 안 먹을 수 있음
* 일정 시간 뒤 다시 요청하면 그때는 받아질 가능성이 있음
* 실패해도 연결을 끊지 않으므로 리스크가 크지 않음
2026-07-15 10:54:30 +09:00
jh.chun ba6f0e452e 캡처 중 전원 버튼 허용 2026-07-15 10:46:09 +09:00
jh.chun 39e7895057 IMU FIFO 캡처 중 msp/mim 동시 접근 방지
- IMU FIFO 캡처 중인 경우 조용히 무시
2026-07-15 09:41:03 +09:00
jh.chun 36c8958e03 빌드 포함 전체 삭제 + APPROTECT 잠금 배치 파일 생성(양산용)
- 배치 내부에서 cmake --build로 merged.hex 갱신
- chiperase + program + verify 후 nrfjprog --rbp ALL로 SWD 디버그 포트 잠금
2026-07-14 17:41:43 +09:00
jh.chun f478815cde 전체 삭제 + APPROTECT 잠금 플래시 스크립트 추가(양산용)
- chiperase + program + verify 후 nrfjprog --rbp ALL로 SWD 디버그 포트 잠금
- VS Code Run Task에 "Flash + Lock" 항목 추가(tasks.json)
- 해제: nrfjprog --recover
2026-07-14 17:38:14 +09:00
jh.chun 281aa36f32 DFU 진행 watchdog
- 앱만 멈추고 BLE 링크가 유지되는 경우 대비
- DFU 업로드 중 30초동안 CHUNK가 오지 않는 경우 강제 disconnect 후 SMP로 재광고(초록 LED 점멸, 10분 타임아웃)
- 초록 LED 무한 점등 상황 방지
2026-07-14 16:10:45 +09:00
jh.chun 7fb01e3968 DFU(SMP) 전환 시 10분 타임아웃 추가
- SMP UUID로 광고 시 일반 NUS 스캔이 불가능
- DFU가 시작되지 못한 채 방치되는 경우 대비
2026-07-14 14:44:15 +09:00
jh.chun e39b0c1810 BLE 명령으로 본딩 정보 삭제 및 재부팅 시 본딩 정보 삭제 후 주황 LED ON 추가
- 전원 버튼 롱프레스를 통한 본딩 정보 삭제와 동일한 LED 상태
2026-07-14 14:40:14 +09:00
jh.chun 113ee0ee25 BLE 연결 해제 후 재광고 타임아웃
- 수동으로 연결을 해제한 경우 10분간 광고 후 연결되지 않는 경우 전원 OFF
- 비정상 연결 해제 시(거리가 멀어져서 연결이 끊어진 경우 등) 무제한 광고하며 재연결 대기
2026-07-14 14:21:02 +09:00
jh.chun 9a7bfcd9f3 전원 버튼 롱프레스 본드 삭제 및 재부팅
- 전원 꺼진 상태에서 15초 이상 전원 버튼 누르고 있는 경우 본드 삭제 및 재부팅
- 본드 삭제 완료 시 주황 LED ON
2026-07-14 11:39:24 +09:00
jh.chun fee9c08378 Secure Boot 무결성 보장을 위해 flash patch 비활성화(서명된 flash 코드만 실행)
- flash patch: 코드 일부를 다른 코드로 우회해서 실행 가능한 기능
- 출고용 보안
2026-07-13 13:55:16 +09:00
jh.chun f24bb7ef69 MCUboot DFU 서명 키를 기본키에서 프로젝트 개인키로 변경 2026-07-13 13:51:08 +09:00
jh.chun 8b31639477 전원 버튼 boot threshold 시간 변경 2026-07-10 16:14:48 +09:00
jh.chun f470010069 정렬모드 탐지완료 시 초록색 LED 상시 점등 2026-07-09 18:51:42 +09:00
jh.chun 8c0a5d1f49 burst 주파수 옵션 추가: 1.8 MHz ~ 2.3 MHz 2026-07-09 12:17:36 +09:00
jh.chun 7cba63c143 dummy burst ADC capture 추가 2026-07-08 09:08:54 +09:00
jh.chun 38ec75ad78 Initial Commit 2026-07-06 12:06:24 +09:00
jh.chun e55b283b39 Initial Commit 2026-07-06 11:14:35 +09:00
jh.chun e6de6e8cc3 코드정리 2026-07-01 15:44:10 +09:00
jh.chun 9b1154b9f1 burst 간 gap 500us에서 650 us로 변경
- 데이터 안정화를 위함
2026-07-01 12:16:48 +09:00
jh.chun 828687b9ac preserve flash / full erase flash
- preserve: bonding 정보 및 settings/NVS 유지, application만 다시 올리는 용도
2026-07-01 10:54:02 +09:00
jh.chun 822789ff82 주석 정리 2026-06-30 18:20:39 +09:00
jh.chun a01c0fb01b 커맨드 구조 분리 2026-06-30 15:42:18 +09:00
jh.chun 9b042dfef2 piezo_measure 파일 분리
- parser.c: BLE 커맨드 파싱/측정 함수 호출/응담 패킷 생성 및 전송
- piezo.c: Piezo 관련 GPIO 제어
- piezo_measure.c: 실제 측정 시퀀스
2026-06-30 15:38:32 +09:00
jh.chun 3207caa3bf 배터리/온도 보호 판정 정책 추가 수정 2026-06-30 15:18:22 +09:00
jh.chun d53c6cb287 Zephyr 로그 기본 출력 레벨 변경
- 3 → 2
- LOG_INF(), LOG_WRN(), LOG_ERR() 출력 / LOG_DBG() X
2026-06-29 16:51:58 +09:00
jh.chun 749e1d4e0e 배터리/온도 보호 판정 정책 변경
1. 정렬모드    - 판정하지 않음2. 연속 측정 모드    - 측정 응답에 포함되는 배터리/IMU 온도 값으로 저전압/고온 카운트 및 판정    - 배터리 3500mV 이하 또는 온도 40℃ 이상 30회 연속인 경우 약 5분 후 전원 OFF    - FW 내부 60초 주기 모니터는 skip    - 측정에 실패하는 경우 저전압/고온 카운트는 유지3. 정렬모드도 연속 측정 모드도 아닌 경우    - FW 내부 60초 주기 모니터로 저전압/고온 카운트 및 판정    - 배터리 3500mV 이하 또는 온도 40℃ 이상 5회 연속인 경우 약 5분 후 전원 OFF
2026-06-29 16:50:21 +09:00
jh.chun ad38741b46 링크 스트레시 기반 TX power 동적 제어
- 확인 필요
2026-06-29 16:15:34 +09:00
jh.chun 1a78656c8f 코드 정리 2026-06-26 17:20:45 +09:00