Commit Graph

45 Commits

Author SHA1 Message Date
790e3a1b82 미사용 변수 삭제 2026-04-21 09:56:24 +09:00
50a8e68cf4 BLE 인증 전 NUS 명령 실행 방지
- GAP 연결 시 PROD 모드에서 ble_connection_st 조기 활성화 제거(보안 인증 후 활성화)
- nus_data_handler()에 인증 상태 검증 가드 추가(ble_connection_st가 0인 경우 받지 않고 즉시 리턴)
2026-04-21 09:41:12 +09:00
93a11b7519 전원 버튼 부팅 판정 시간을 실측 기준으로 보정
- 버튼 카운터가 초기화 후부터 증가하기 때문에 체감 2초 부팅에 맞게 부팅 판정 tick을 400(2s) -> 250(1.25s)로 변경
2026-04-20 12:12:51 +09:00
0294cdb428 사용하지 않는 매크로 삭제: LESC 및 Static Passkey 관련
- ble 관련이 ble_quick_security 파일로 가면서 정의만 남은 매크로
2026-04-17 13:48:02 +09:00
80c846fd25 미사용 AES 버퍼 삭제 2026-04-17 12:22:28 +09:00
143e22c2d8 전원 버튼을 통한 본딩 삭제 10초 -> 15초로 변경
- 전원이 꺼진 상태에서 전원 버튼을 15초 이상 누르는 경우 전원 켜짐 + 본딩 삭제 + 전원 꺼짐
2026-04-16 17:39:13 +09:00
24a4be94df 전원 버튼 BSP 제거, GPIO 제어로 전환
- 전원 OFF 로직 추가(main_s)
- processing 변수 삭제
2026-04-16 16:55:59 +09:00
742681554e 전원 버튼 BSP 제거, GPIO 제어로 전환
- 모든 led 및 버튼이 bsp를 사용하지 않음
- BSP 관련 include, 이벤트 등 삭제
- sdk_config.h: BSP_BTN_BLE_ENABLED=0으로 변경하여 빌드에서도 삭제
2026-04-16 16:25:19 +09:00
01bdbf7cfe 버퍼 초기화 추가 2026-04-16 14:06:29 +09:00
2861cb9815 코드 정리
- 주석 영문으로 변경
- Allman 스타일로 통일
2026-04-16 12:01:51 +09:00
c98d9ae14e parser 분리
- 파서 인프라/커맨드 핸들러로 분리
- 커맨드 핸들러는 기기 제어/기기 정보/센서/Piezo로 분리
2026-04-16 01:28:11 +09:00
16acb34bf0 양산 모드인 경우 부팅 시 본딩 유지
- bond_data_delete 플래시 기본값 1→0 으로 변경
- advertising_start(erase)에서 플래시 플래그까지 클리어하여 1회성 삭제 요청이 영구 상태로 남지 않도록 수정
- 전원 버튼으로 부팅되는 구조상 BSP startup event가 항상 CLEAR_BONDING_DATA로 해석되던 문제를 무력화(추후 전원 버튼 BSP -> GPIO 직접 제어로 교체 예정)
2026-04-15 18:31:31 +09:00
87fbccf650 BLE 연결 해제 원인에 따른 광고 지속시간 분기 적용
- 의도치 않은 연결 해제: 광고 무한 지속
- 부팅 후 첫 광고 및 그외: 10분
2026-04-15 17:50:33 +09:00
8171d50a2e BLE 송신 출력(TX power) 8 -> 4 테스트 2026-04-15 10:59:45 +09:00
e659db6dbf 기타 2026-04-14 19:59:36 +09:00
jhChun
69fd39a30d Slave Latency 4 -> 0 변경 2026-04-02 11:17:06 +09:00
jhChun
d0e34823c4 dev 모드 BLE 연결 수정
- dev 모드인 경우 보안 x
2026-03-31 17:58:33 +09:00
jhChun
430f978c2e BLE 보안 실패 시 자동 재페어링 및 버그 3건 수정
- 앱과 기기 사이 키가 불일치하는 경우 새로운 키 생성 요청(재페어링 허용)
- main.c: PM_EVT_CONN_SEC_CONFIG_REQ 중복 핸들러 제거
- main.c: DEV 모드에서 pm_peers_delete() 이중 호출 방지
- main.c: 활성 연결 중 advertising 재시작 방지(m_conn_handle 체크)
- ble_quick_security: 보안 실패 시 bond 삭제 + 자동 재페어링 시도
- ble_quick_security: allow_repairing = true (항상 재페어링 허용)
2026-03-31 14:17:35 +09:00
jhChun
29fa5fa3e6 Connection Interval 30ms로 변경
- 기존: MIN=20, MAX=75
- 변경: MIN=30, MAX=30
- GAP Event Length=24(30ms)에 맞춰 변경함
- Piezo 6채널 ADC 데이터 7패킷 송신 시 3~4패킷/CI로, ~60ms 소요
2026-03-31 09:55:47 +09:00
jhChun
a2bc921383 LED 직접 제어 모듈 추가(BSP 대체)
- 전원 ON/OFF, 블루투스 스캐닝 초록 LED 적용 완료
2026-03-30 18:00:38 +09:00
jhChun
5fda5f6d80 BLE 명령 수신 시 Connection interval 재협상 요청 추가
- Windows BLE 스택이 장시간 연결 시 CI를 수초까지 늘려 응답이 지연되는 문제 대응
- 30초에 1회 20~75ms로 돌려달라고 요청
2026-03-30 15:27:22 +09:00
jhChun
5a7b1fcbd0 2M PHY 능동 요청 추가
- BLE 5.0 2M PHY는 심볼 레이트를 1Msps -> 2Msps로 높여 동일 패킷을 절반 시간에 전송- 연결 즉시 Peripheral에서 2M PHY를 능동 요청- 2M PHY 미지원 Central인 경우 1M 유지
2026-03-30 14:49:34 +09:00
jhChun
0b3f845ebd 양산 모드인 경우 BLE 보안 실패 처리 개선
- PM 핸들러 중복 호출 제거
- conn_sec_failed 재페어링 로직 일원화
- NRF_ERROR_BUSY 크래시 수정: 보안 실패 시 보드 리셋되는 현상 개선
2026-03-27 16:47:46 +09:00
jhChun
bb5e6b3b4a DEFAULT_PASSKEY 매크로 통합 + advertising_start 조건 변경
- 본딩 삭제가 실행되지 않는 버그 개선
2026-03-27 16:17:09 +09:00
jhChun
71c6e23cf0 Firmware 버전 식별 코드 정의를 main.h로 이동
- parser.c: DR_DEVICE_VERSION 제거
2026-03-27 10:05:46 +09:00
jhChun
6071b7c699 기본 버전 정보 및 패스키 기본값을 fstorage.h 매크로로 통합 2026-03-27 09:43:50 +09:00
jhChun
4762dd6224 배터리 전압 SAADC 오버샘플링 X4
- battery_saadc.c: 기존 1회 샘플링 -> 4회 샘플링 및 평균
- 배터리 전압 ADC 노이즈에 의한 측정값 흔들림 개선
2026-03-26 14:52:40 +09:00
jhChun
7f03cf8019 GPIO 초기화 POWER_HOLD(P0.8) 중복 설정 제거
- main.c: power_hold_init()에서 전원버튼(P0.8) 설정 후 gpio_init()에서 중복 설정
- gpio_init()에서 중복 설정 부분 제거
2026-03-26 11:42:26 +09:00
jhChun
5ddabdd1a8 EEPROM 레거시 코드 정리
- EEP_WP, eeprom_control, power_gpio_init 삭제
2026-03-26 11:39:12 +09:00
jhChun
d9e83392f2 부트 로그 수정 2026-03-26 11:24:13 +09:00
jhChun
4378fd7ef2 DEBUG_MINIMAL_BOOT 삭제
- main.c: DEBUG_MINIMAL_BOOT 삭제 및 분기문 정리
- main.c: minimal_gpio_init() + full_gpio_init() → gpio_init() 하나로 통합
- main.c: icm42670_init() 분기 제거, advertising_start()만 남김
- power_control.c: SW I2C/센서 전원 시퀀스 제거, p_order = 2로 즉시 완료
2026-03-26 11:12:26 +09:00
jhChun
f1de268f26 BLE TX 재시도 대기 시간 단축
- main.c: dr_binary_tx_safe 함수 nrf_delay_ms(5) × 최대 100회 -> nrf_delay_ms(2) × 최대 20회
- 전력 소모 방지
2026-03-25 16:47:48 +09:00
jhChun
ead9c00e26 BLE Slave Latency 적용
- main.c: SLAVE_LATENCY 0 -> 4
- 1초 기준 연결 간격 75ms 마다 폴링이 오는데 데이터가 없는 경우 4번 건너뛰어 Radio On 횟수 줄임
- 전력 소모 방지: BLE 연결 중 Radio 절전
2026-03-25 15:53:56 +09:00
jhChun
6e3dbb3ab1 전원 켜질 때 Piezo TX/RX Active 제거
- main.c: main문의 Piezo 드라이버 초기화 + 전원 -> 초기화만 진행, 측정 시에만 Piezo TX/RX Active
- 전력 소모 방지
2026-03-25 14:26:12 +09:00
jhChun
01e7393816 UART 비활성화
- main.c: main문의 uart_init(); 주석 처리
- 전력 소모 방지(약 1mA)
2026-03-25 11:25:55 +09:00
jhChun
3f07065de2 BLE 연결이 끊어지는 경우 비동기 측정 상태로 인한 먹통 현상 방지
- main.c: BLE disconnected -> maa_async_abort() 함수 호출
- dr_adc121s051c: maa_async_abort() 함수에서 상태를 IDLE로 초기화 및 정리
2026-03-24 18:18:52 +09:00
jhChun
1cf688a296 apply latest local changes 2026-03-23 16:22:25 +09:00
jhChun
310ca152cf 타이밍 최적화
- 온도 측정, Piezo 측정 사이 딜레이 줄이기
- Piezo 한 채널에서 평균화를 위한 반복 측정 사이 딜레이 줄이기

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 10:43:59 +09:00
jhChun
ce81cd949f - FDS 피에조 파라미터 구조체 변경 (pd_adc_cnt/pd_delay_us 삭제, piezo 5개 필드 추가)
- maa/mbb 앱 파라미터 수신 → FDS 저장 기능 추가
- magic_number 변경 (0x20260319), cycles 범위 3~7로 제한

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:20:52 +09:00
jhChun
4881c7f937 - Piezo 6ch 측정 + 센서(배터리, IMU, 온도) 측정: mbb 명령어 추가
- Flash Memory Piezo 측정 파라미터 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:54:06 +09:00
jhChun
a0c96c6677 maa samples 140->100 변경, mec/maa 수신 시 Piezo 자동 Active/Sleep
- MAA_NUM_SAMPLES 140에서 100으로 변경 (DR_ADC_ECHO_SAMPLES_MAX 제한)
- 단일(mec) 및 모든 채널(maa) 에코 캡처 명령 수신 시 Piezo 자동 Active, 응답 송신 후 Sleep
- Cmd_mpa 중복 호출 정리 (dr_piezo_system_init 내부에 power_on 포함)
- 채널별 디버그 로그 추가
- 코드 리뷰 주석 정리 및 기타 파일 업데이트

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 18:03:04 +09:00
jhChun
36c17d79c6 레거시 cmd_parse.c 제거 및 dr_cmd_parser 직접 호출 구조로 전환
- main.c에서 received_command_process() 대신 dr_cmd_parser() 직접 호출
- cmd_parse.c 전역변수/함수(SERIAL_NO, HW_NO, param_error 등) main.c로 이동
- g_plat 초기화를 main.c 초기화 구간으로 이동, log를 RTT 출력으로 연결
- 미사용 명령 삭제: mta, mtr, mst, mxz, myz, mpn, mdc
- cmd_parse.c/h 삭제, 참조하던 5개 파일 include 정리

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 15:45:33 +09:00
a1ad2a4b5b fix: BLE TX 먹통 해결 및 메모리 안전성 개선
- binary_tx_handler를 dr_binary_tx_safe로 전체 교체 (APP_ERROR_CHECK 제거)
- data_tx_handler APP_ERROR_CHECK → DBG_PRINTF 교체
- memset/memcpy 하드코딩 크기를 define 상수로 교체 (버퍼 오버런 수정)
- SERIAL_NO_LENGTH, HW_NO_LENGTH, PASSKEY_LENGTH를 main.h로 통합
- 미사용 HW 드라이버/EEPROM 코드 삭제, TWI를 i2c_manager.c로 통합
- EEPROM → FDS 전환, 코드 리뷰 현황 문서 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 16:39:26 +09:00
Charles Kwon
8129f55216 VesiScan BASIC origin: Piezo + IMU firmware initial code
- nRF52840 + SoftDevice S140 BLE firmware
- Piezo ultrasound TX driver (2MHz, 8ch MUX)
- ICM42670P IMU 6-axis driver
- Echo AFE chain (ADA2200 + ADC121S051)
- BLE NUS command parser (mpa/mpc/mdc/mec/maa/msp)
- FDS flash config storage
- pc_firm parser and ADC driver included

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 10:40:20 +09:00
Charles Kwon
72f5eb3cd9 Initial commit: MT firmware project
- BLE peripheral applications
- dr_piezo and bladder_patch projects

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 17:26:39 +09:00