dd442f0f22
完成 Rust/egui 上位机主流程:BLE/USB 传输、协议编解码、控制/实时/统计/CSV、UI 与验证脚本。\n\n保留真实设备联调和长稳实测清单,避免把未验证的硬件结果当成交付完成。
3.5 KiB
3.5 KiB
Hardware Validation Checklist
Use this checklist with a real YRobot motor and USB Dongle before marking the project fully complete.
Environment
- Windows 10+ machine.
- Built executable:
target/x86_64-pc-windows-gnu/release/yrobot-motor-control-panel.exe. - One YRobot BLE motor.
- One USB Dongle and matching serial driver, if USB mode is being validated.
Record:
- App version/build time:
- Windows version:
- Motor identifier:
- USB Dongle port:
- Tester:
- Date/time:
BLE Direct Mode
- Start the app and select
BLE. - Select
Left,Right, orNeutral. - Click
Scan / Refresh. - Confirm target device appears with name/ref/RSSI and preferred marker when applicable.
- Click
Stop Scanand confirm discovery stops. - Select the device and click
Connect BLE. - Confirm status becomes
Connectedonly after BLE notify is ready. - Keep the session open for at least 30 seconds and confirm no heartbeat error appears.
- Send:
- Query Current
- Query Mode
- Set Params
- Enable Realtime
- Disable Realtime
- Confirm TX events and RX events appear in the event log.
- Confirm realtime samples appear in chart/status when debug stream is enabled.
- Click
Disconnectand confirm connection closes and heartbeat stops.
Pass criteria:
- No app crash.
- No stale scanning after stop/disconnect.
- Commands are logged.
- Realtime data parses without blocking valid fields.
- Latest error is empty or explains any hardware/protocol issue.
USB Dongle Mode
- Start the app and select
USB Dongle. - Refresh ports and select the Dongle serial port.
- Click
Open USB. - Confirm status becomes
Connectedwith115200 8N1. - Keep the session open for at least 30 seconds and confirm heartbeat starts only after serial open.
- Send:
- Query Current
- Query Mode
- Set Params
- Enable Realtime
- Disable Realtime
- Confirm USB RX events include
DEV,LEN,seq_id, anddt_ms. - Confirm USB statistics show:
- seq gaps
- out-of-order count
- USB dt avg/max
- host interval avg/max
- Disconnect and confirm serial resources are released.
Pass criteria:
- No app crash.
- Serial open failure is shown as a recoverable error.
- Downlink uses
DEV=0x31. - Uplink strips
seq_id/dt_msbefore motor parser. - USB metadata is visible in event log/status/CSV.
CSV Recording
- Connect through BLE or USB.
- Set a writable CSV path.
- Start recording.
- Enable realtime debug and collect at least 100 samples.
- Stop recording.
- Open the CSV and confirm it contains:
- timestamp
- connection mode
- target id
- side
- raw debug string
- parsed current/velocity/position/voltage/temperature
- USB
seq_id/dt_msfor USB mode
- Repeat with recording active, then disconnect. Confirm CSV is flushed and readable.
Pass criteria:
- CSV is not created before recording starts.
- CSV write errors are shown and recording stops.
- Session end closes the file cleanly.
Stability
Run one session for at least 1 hour before release, and 8 hours for final acceptance.
Record every 15 minutes:
- sample count
- app memory usage
- latest error
- drop rate
- USB seq gaps/out-of-order, if USB mode
Pass criteria:
- UI remains responsive.
- Control, display, CSV, and statistics work concurrently.
- No obvious memory growth above 100 MB over the acceptance run.
- Disconnect closes scan/session/CSV resources.
Result
- BLE Direct: Pass / Fail
- USB Dongle: Pass / Fail
- CSV Recording: Pass / Fail
- Stability: Pass / Fail
Notes: