Commit Graph

83 Commits

Author SHA1 Message Date
jh.chun abb8d6078a 전원 버튼 ON/OFF 임계 카운트 분리
- 버튼 감지 타이밍이 초기화 등으로 런타임과 달라서 체감상 3초로 맞추기 위해 분리
2026-07-21 15:51:25 +09:00
jh.chun 0fc578fb50 주석 정리 2026-07-21 14:41:33 +09:00
jh.chun 14fba03b62 NVS 모듈 경로 정리
- app_nvs.c/h를 src/nvs/로 이동
- 기기 정보, 패스키, piezo 측정 파라미터 저장/로드 담당
2026-07-21 14:31:35 +09:00
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 1a4dec297b 빌드 설정으로 디버그 로그 출력 제어 2026-07-20 18:00:20 +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 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 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 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 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 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 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
jh.chun 6c7fa6d0e6 ADC 최대 샘플 수 118개로 수정 2026-06-26 17:19:56 +09:00
jh.chun 571df7df05 BLE connection disconnect(reason)에 따른 Advertising Timeout
- 비정상 연결 해제 시 무제한 광고
- 그 외 10분 광고 후 전원 OFF
2026-06-26 11:00:18 +09:00
jh.chun c247c54e79 reb: 패킷 ADC 데이터 샘플 수 80~117 정의 및 검증 2026-06-25 18:08:48 +09:00
jh.chun 42f745e39b 명령 오류 응답(rxs:, rxn:) 추가 2026-06-25 17:45:09 +09:00
jh.chun dba33baf1c msr? 명령 수신 시 본딩 즉시 삭제 후 재부팅
- 재부팅 로직 추가
2026-06-25 17:43:13 +09:00
jh.chun c835513727 정렬모드(IMU FIFO) 중에는 배터리/온도 보호 체크 스킵 2026-06-25 17:03:41 +09:00
jh.chun 4c5e624830 전원 OFF 시 2초 후 종료
- LED도 2초간 점등 후 종료
2026-06-25 16:21:15 +09:00
jh.chun f679050087 전원 버튼 누르는 시간 줄임
- 초기화(MCU 부팅 + main 초기화 + BLE init) 후 버튼 카운트 시작
2026-06-25 14:23:18 +09:00