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>
This commit is contained in:
jhChun
2026-03-17 18:03:04 +09:00
parent 39b4ffe66a
commit 96a46a26dd
29 changed files with 1474 additions and 501 deletions

View File

@@ -165,6 +165,75 @@ cat_interface.c 삭제(EEPROM/AES 코드 전체 삭제). TWI 인스턴스(m_twi)
| c_addr[6] | main.c:187 | 삭제 | **미완료** |
| led_pd_dac_v[LED_NUM] | 참조 다수 | 삭제 | 확인 필요 |
### 2.3.1 cmd_parse.c → parser.c 통합 현황
현재 구조: main.c → `received_command_process()` [cmd_parse.c] → `dr_cmd_parser()` [parser.c] → 실패 시 레거시 if-else 체인 [cmd_parse.c]
#### parser.c 명령어 테이블 (g_cmd_table)
| 태그 | 핸들러 | enabled | 기능 | 비고 |
|------|--------|---------|------|------|
| `cmd?` | Cmd_cmd | true | 핀 테스트 (sudo) | parser.c 신규 |
| `mpa?` | Cmd_mpa | true | Piezo 활성화 | parser.c 신규 |
| `mpb?` | Cmd_mpb | true | Piezo 비활성화 | parser.c 신규 |
| `mpc?` | Cmd_mpc | true | Piezo Cycles 제어 | parser.c 신규 |
| `mdc?` | Cmd_mdc | true | Piezo burst + Echo (12-bit) | parser.c 신규 |
| `mec?` | Cmd_mec | true | Piezo burst + Echo (16-bit) | parser.c 신규 |
| `maa?` | Cmd_maa | true | 8채널 전체 캡처 | parser.c 신규 |
| `msp?` | Cmd_msp | true | IMU 6축 raw data | parser.c 신규 |
| `mwh?` | Cmd_mwh | true | HW번호 쓰기 (FDS) | shz? 대체 |
| `mws?` | Cmd_mws | true | 시리얼번호 쓰기 (FDS) | ssz? 대체 |
| `mrh?` | Cmd_mrh | true | HW번호 읽기 (FDS) | siz? 대체 |
| `mrs?` | Cmd_mrs | true | 시리얼번호 읽기 (FDS) | srz? 대체 |
| `mpz?` | Cmd_mpz | true | 패스키 쓰기 (FDS) | **신규 추가** (spz? 대체) |
| `mqz?` | Cmd_mqz | true | 패스키 읽기 | **신규 추가** (sqz? 대체) |
| `mxz?` | Cmd_mxz | true | life_cycle 쓰기 (FDS) | **신규 추가** (sxz? 대체) |
| `myz?` | Cmd_myz | true | life_cycle 읽기 | **신규 추가** (syz? 대체) |
| `mta?` | Cmd_mta | true | 디바이스 상태 | sta? 리네이밍 |
| `sta?` | Cmd_sta | true | 디바이스 활성화/슬립 | 레거시 호환 |
| `str?` | Cmd_str | false | 디바이스 상태 읽기 | 미완성 (TODO) |
| `mcj?` | Cmd_mcj | true | PD-ADC 풀 측정 | parser.c 신규 |
| `scj?` | Cmd_mcj | true | mcj 호환 | 레거시 호환 |
| `sej?` | Cmd_sej | true | PD-ADC 측정 | 레거시 호환 |
| `ssj?` | Cmd_ssj | false | PD-ADC 측정 | 비활성 |
| `msn?` | Cmd_msn | true | 배터리 측정 | ssn? 리네이밍 |
| `ssn?` | Cmd_msn | true | 배터리 측정 | 레거시 호환 |
| `spn?` | Cmd_spn | false | 압력 센서 측정 | 비활성 |
| `sso?` | Cmd_sso | false | 온도 센서 측정 | 비활성 |
| `ssp?` | Cmd_ssp | true | 모션 센서 raw data | 레거시 호환 |
| `ssq?` | Cmd_ssq | false | 전원 OFF | 비활성 |
| `ssr?` | Cmd_ssr | false | 본딩 삭제+리셋 | 비활성 |
| `sss?` | Cmd_sss | false | 디바이스 리셋 | 비활성 |
| `sst?` | Cmd_sst | false | Ready 응답 | 비활성 |
| `mfv?` | Cmd_mfv | true | 펌웨어 버전 읽기 | ssv? 대체 |
#### cmd_parse.c 레거시 명령어 (parser.c에 없는 것)
| 태그 | 상태 | 기능 | 비고 |
|------|------|------|------|
| `spz?` | 활성 | 패스키 쓰기 | → parser.c `mpz?`로 대체 완료 |
| `sqz?` | 활성 | 패스키 읽기 | → parser.c `mqz?`로 대체 완료 |
| `sxz?` | 활성 | life_cycle 쓰기 | → parser.c `mxz?`로 대체 완료 |
| `syz?` | 활성 | life_cycle 읽기 | → parser.c `myz?`로 대체 완료 |
| `sez?` | 활성 (stub) | AGC gain — HW 제거됨 | param_error만 응답 |
| `sfz?` | 활성 (stub) | AGC gain — HW 제거됨 | param_error만 응답 |
| `ssv?` | `if(0&&)` 비활성 | 펌웨어 버전 | → parser.c `mfv?`로 대체됨 |
| `ssz?` | `if(0&&)` 비활성 | 시리얼번호 쓰기 | → parser.c `mws?`로 대체됨 |
| `srz?` | `if(0&&)` 비활성 | 시리얼번호 읽기 | → parser.c `mrs?`로 대체됨 |
| `siz?` | `if(0&&)` 비활성 | HW번호 읽기 | → parser.c `mrh?`로 대체됨 |
| `shz?` | `if(0&&)` 비활성 | HW번호 쓰기 | → parser.c `mwh?`로 대체됨 |
#### 통합 남은 작업
| # | 작업 | 현재 상태 |
|---|------|----------|
| 1 | parser.c에 누락 명령어 추가 (mpz/mqz/mxz/myz) | **완료** |
| 2 | received_command_process() 래퍼를 main.c로 이동 | **미완료** |
| 3 | 전역 변수 (SERIAL_NO, m_static_passkey 등) main.c로 이동 | **미완료** |
| 4 | cmd_parse.h include 정리 (7개 파일) | **미완료** |
| 5 | cmd_parse.c / cmd_parse.h 삭제 | **미완료** |
| 6 | Keil 프로젝트 파일 업데이트 | **미완료** |
### 2.4 주석 처리된 코드
| 위치 | 내용 | 판정 | 현재 상태 |
@@ -448,10 +517,11 @@ BLE_GAP_EVT_CONNECTED/DISCONNECTED 핸들러에 IMU 타이머 start/stop 로직
| 5 | 미사용 HW 드라이버 삭제 (1.2절) | **완료** |
| 6 | cat_interface.c EEPROM 기능 삭제 + TWI를 i2c_manager.c로 통합 (1.5절) | **완료** |
| 7 | cmd_parse.c EEPROM 호출 -> FDS 전환 (1.5.4절) | **완료** |
| 8 | 미사용 전역변수 + HW_NO 삭제 (2.2-2.3절) | **미완료** |
| 9 | DEBUG_MINIMAL_BOOT 조건 제거 (3절) | **미완료** |
| 10 | Keil uvprojx 소스 참조 제거 (4절) | 확인 필요 |
| 11 | 주석 처리된 코드 삭제 (2.4절) | **미완료** |
| 8 | cmd_parse.c → parser.c 통합 (2.3.1절) | **진행 중** (명령어 이전 완료, 파일 삭제 미완료) |
| 9 | 미사용 전역변수 + HW_NO 삭제 (2.2-2.3절) | **미완료** |
| 10 | DEBUG_MINIMAL_BOOT 조건 제거 (3절) | **미완료** |
| 11 | Keil uvprojx 소스 참조 제거 (4절) | 확인 필요 |
| 12 | 주석 처리된 코드 삭제 (2.4절) | **미완료** |
### 2차 정리 (저전력 최적화)