Initial Commit
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
# VesiScan BASIC - Zephyr
|
||||
|
||||
- nRF52840 기반 VesiScan BASIC 펌웨어의 Zephyr/nRF Connect SDK 포팅 프로젝트
|
||||
- 현재 빌드 대상은 `nrf52840dk_nrf52840` 기준이며, MCUboot + BLE MCUmgr DFU, BLE NUS 명령, 배터리/IMU/피에조/echo ADC 측정 기능 포함
|
||||
- nRF52840 기반 VesiScan BASIC 펌웨어의 Zephyr/nRF Connect SDK 프로젝트
|
||||
- 현재 빌드 대상은 `nrf52840dk_nrf52840` 기준
|
||||
- MCUboot + BLE MCUmgr DFU, BLE NUS 명령, 배터리/IMU/Piezo/echo ADC capture 등 포함
|
||||
|
||||
## 프로젝트 구조
|
||||
|
||||
@@ -42,7 +43,7 @@ VesiScan-Basic_Zephyr/
|
||||
|
||||
## 빌드
|
||||
|
||||
권장 빌드 (nRF Connect SDK / west 사용):
|
||||
nRF Connect SDK / west 사용:
|
||||
|
||||
```powershell
|
||||
west build -b nrf52840dk_nrf52840 -p auto
|
||||
@@ -83,7 +84,7 @@ west flash
|
||||
| `ECHO_MISO` | P0.15 | ADC121S051 MISO |
|
||||
| `ECHO_CS` | P0.19 | ADC121S051 CS |
|
||||
|
||||
`CONFIG_SERIAL=n`으로 UART0를 비활성화하여 P0.08 충돌 피함
|
||||
`CONFIG_SERIAL=n`으로 UART0를 비활성화하여 P0.08 충돌 회피
|
||||
|
||||
## 전원 동작
|
||||
|
||||
@@ -102,7 +103,6 @@ west flash
|
||||
- Normal advertising timeout: 10분
|
||||
- DFU advertising: SMP UUID, timeout 미적용
|
||||
- NUS UUID 광고 포함
|
||||
- 연결 시 LED 광고 패턴 OFF
|
||||
- 연결 파라미터 선호값: 15ms / latency 0 / supervision timeout 10s
|
||||
- NUS TX는 mutex + completion semaphore로 순차 전송
|
||||
- BLE RX는 별도 work queue에서 명령 처리
|
||||
@@ -118,7 +118,6 @@ west flash
|
||||
- DATA: 명령별 payload
|
||||
- CRC16: CRC-CCITT, initial `0xFFFF`
|
||||
- 응답 TAG: 보통 요청의 `m`을 `r`로 바꾼 형태, 예: `msn?` -> `rsn:`
|
||||
- 알 수 없는 명령은 `rxn:` 응답
|
||||
|
||||
## 구현된 명령
|
||||
|
||||
@@ -131,15 +130,15 @@ west flash
|
||||
| `msn?` | `rsn:` | 배터리 전압 측정 | 구현 완료 |
|
||||
| `mls?` | `rls:` | LED 상태 변경 | 구현 완료 |
|
||||
| `msp?` | `rsp:` | IMU accel/gyro 단발 측정 | 구현 완료 |
|
||||
| `mst?` | `rso:` | IMU internal temperature | 구현 완료 |
|
||||
| `mpa?` | `rpa:` | 피에조 전원 ON | 구현 완료 |
|
||||
| `mpb?` | `rpb:` | 피에조 전원 OFF | 구현 완료 |
|
||||
| `mpc?` | `rpc:` | 피에조 burst 테스트 | 구현 완료, 주파수 옵션은 제한적 |
|
||||
| `mec?` | `reb:` -> `raa:` | 단일 채널 burst + echo capture | 구현 완료 |
|
||||
| `mad?` | `reb:` -> `raa:` | ADC only capture | 구현 완료 |
|
||||
| `maa?` | `reb:` x6 -> `raa:` | 6채널 echo sweep | 구현 완료 |
|
||||
| `mst?` | `rst:` | IMU internal temperature | 구현 완료 |
|
||||
| `mpa?` | `rpa:` | Piezo 전원 ON | 구현 완료, 테스트용 |
|
||||
| `mpb?` | `rpb:` | Piezo 전원 OFF | 구현 완료, 테스트용 |
|
||||
| `mpc?` | `rpc:` | Piezo burst only | 구현 완료, 테스트용 |
|
||||
| `mec?` | `reb:` -> `raa:` | 단일 채널 burst + echo capture | 구현 완료, 테스트용 |
|
||||
| `mad?` | `reb:` -> `raa:` | ADC only capture | 구현 완료, 테스트용 |
|
||||
| `maa?` | `reb:` x6 -> `raa:` | 6채널 echo sweep | 구현 완료, 테스트용 |
|
||||
| `mbb?` | `rbb:` -> `reb:` x6 -> `raa:` | 배터리 + IMU + 온도 + 6채널 echo | 구현 완료 |
|
||||
| `mtb?` | `reb:` x6 + `rim:` -> `raa:` | 피에조 sweep + IMU FIFO | 구현 완료, 실측 검증 필요 |
|
||||
| `mtb?` | `reb:` x6 + `rim:` -> `raa:` | Piezo sweep + IMU FIFO | 구현 완료 |
|
||||
| `mcf?` | `rcf:` | 측정 파라미터 읽기 | 구현 완료 |
|
||||
| `mcs?` | `rcs:` | 측정 파라미터 쓰기 | 구현 완료, NVS 저장 |
|
||||
| `mid?` | `rid:` | HW/SN/FW identity 읽기 | 구현 완료 |
|
||||
@@ -149,7 +148,8 @@ west flash
|
||||
| `mws?` | `rws:` | Serial number 쓰기 | 구현 완료, NVS 저장 |
|
||||
| `mrs?` | `rrs:` | Serial number 읽기 | 구현 완료 |
|
||||
| `mpz?` | `rpz:` | Passkey 쓰기 | 구현 완료, NVS 저장, 최초 1회만 가능 |
|
||||
| `mqz?` | `rqz:` | Passkey 읽기 | 구현 완료 |
|
||||
| `mqz?` | `rqz:` | Passkey 읽기 | 구현 완료, 삭제 예정 |
|
||||
| `mim?` | `rim:` | IMU FIFO | 구현 완료 |
|
||||
|
||||
## 저장되는 설정
|
||||
|
||||
|
||||
Reference in New Issue
Block a user