mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-10-31 22:41:08 +08:00
- Send EXPRESS_SCAN command (Dense capsule mode) for S2 only - Per-packet checksum validation (sync nibbles + XOR) - 672-byte stream buffer and read cap (8 Dense blocks each, sized for 200 Hz AP_Proximity update) with overflow and underflow protection - 1 ms time guard to prevent blocking the main loop - Direct processing in get_readings() to bypass the generic UART buffer path - Each Dense block (40 cabins) is pushed once at the angle of its shortest valid cabin (start + min_k * 0.1125 deg); ignore_reading() is applied at the winner, with a per-cabin rescan fallback when the winner lands inside an ignore zone - Existing devices (A1/A2/A2M12/C1/S1) are unaffected: _use_dense_express is false for all non-S2 models - Add AP_PROXIMITY_RPLIDAR_EXPRESSSCAN_ENABLED