Commit Graph

39 Commits

Author SHA1 Message Date
jhChun
79a6a890bd 배터리, 온도 SAADC 해상도 12bit 전환 및 float 연산 적용
- SAADC 해상도 10bit -> 12bit
- int 연산 -> float 연산 -> BLE 전송 시 int
2026-03-27 16:12:31 +09:00
jhChun
7ef17825dc 배터리 전압 TACQ 조정 및 콜백 대기 조건 변경
- 배터리, 온도 모두 오버샘플링 X4 및 TACQ=10us 적용
- 배터리 측정 시 SAADC 콜백 완료 최대 100ms 대기, 콜백 오면 즉시 탈출(온도 측정 시와 동일)
- 전체 측정 시 SAADC 점유 및 충돌 방지
2026-03-27 13:54:39 +09:00
jhChun
da581f16e7 Firmware 버전 식별 코드 정의를 main.h로 이동
- parser.c: DR_DEVICE_VERSION 제거
2026-03-27 10:52:26 +09:00
jhChun
074b9c4c9d cpd_eraseALL.bat 추가: 전체 erase 개발용 플래싱 스크립트 2026-03-27 10:50:56 +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
1ca16dcb75 FDS 영역 보존 erase 옵션 추가
- cpd.bat: 기존 erase 옵션 설정 x, DEFAULT=ERASE_ALL(칩 전체 삭제)
2026-03-27 08:53:27 +09:00
jhChun
ec88eca8bb 배터리, 온도 전압 오버샘플링 및 TACQ 조정
- 배터리: 샘플링 4, TACQ 20us
- 온도: 샘플링 4, TACQ 10us(기본값)
2026-03-26 16:59:38 +09:00
jhChun
4762dd6224 배터리 전압 SAADC 오버샘플링 X4
- battery_saadc.c: 기존 1회 샘플링 -> 4회 샘플링 및 평균
- 배터리 전압 ADC 노이즈에 의한 측정값 흔들림 개선
2026-03-26 14:52:40 +09:00
jhChun
d2b2cc05f1 압력센서 관련 코드 정리
- battery_saadc.c/.h: 압력센서 미탑재로 관련 코드 제거
2026-03-26 12:23: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
ea595f87b7 현재 IMU 센서는 폴링 방식 적용
- app_raw_main.c: 인터럽트 방식 적용을 위한 레거시 파일
2026-03-26 11:06:52 +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
42bac676b0 디버그 로그 통일(UART -> RTT)
- app_raw.c: printf() -> DBG_PRINTF(RTT)
- 전력 소모 방지: CPU 문자열 포맷팅 실행 제거
2026-03-25 16:07:28 +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
d30e33444e 내부 전압 변환 방식 변경 LDO -> DC-DC
- sdk_config.h: NRFX_POWER_CONFIG_DEFAULT_DCDCEN 1
- sdk_config.h: POWER_CONFIG_DEFAULT_DCDCEN 1
- 전력 소모 방지
2026-03-25 15:46:22 +09:00
jhChun
4fb463769e Piezo 측정 평균화를 위한 반복 횟수 기본값 3회로 변경
- fstorage.c: 5 -> 3
2026-03-25 15:44:19 +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
007c267d64 FDS write 콜백 무한 대기 조건 변경
- fstorage.c: FDS write 콜백 무한 대기 -> 3초 타임아웃
2026-03-24 18:25:50 +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
4e880bca86 온도 센서 콜백 대기 조건 변경
- parser.c: 콜백 완료 플래그 무한대기 -> 최대 100ms 대기, 콜백 오면 즉시 탈출
2026-03-24 17:59:58 +09:00
jhChun
880f1838ae 온도 센서 콜백 완료 플래그 추가
- tmp235_q1.c: SAADC 완료 플래그(tmp235_saadc_done) 추가
- parser.c: all_sensors()에서 고정 1ms 대기 -> 콜백 완료 플래그 대기로 변경
2026-03-24 17:26:36 +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
1f1c4b0b25 Bit-bang SPI(8MHz)에서 HW SPI(SPIM3, 16MHz)로 변경
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 18:04:04 +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
e7f3c5b02b cmd_parse.c에서 parser.c로 통합 준비: spz? / sqz? / sxz? / syz? -> mpz? / mqz? / mxz? / myz?
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 17:58:17 +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
836ebe5878 IMU gyro/accel config fix and README piezo frequency table correction
- Add GYRO_CONFIG0/ACCEL_CONFIG0 register setup in imu_read_direct() to fix gyro always returning -32768
- Increase sensor startup delay from 2ms to 80ms for reliable first read
- Put IMU back to sleep after msp? read to save power
- Fix piezo frequency table: swap freq 0/1 values, remove unused freq 5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:27:17 +09:00
9dd1e5387c Add new parser commands and FDS reliability fix
- HW Number Read/Write (mwh?, mrh?)
- Serial Number Read/Write (mws?, mrs?)
- FW Version Read (mfv?)
- Piezo TX/RX Deactivate (mpb?)
- Fix config_save() to wait for previous FDS operation instead of skipping
- Disable legacy s-prefix commands (ssz, srz, siz, shz, ssv) in cmd_parse.c

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 15:05:58 +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