Files
PX4-Autopilot/boards/ark
Alex Klimaj d05e3a4a26 feat(boards/ark_fpv): add FMUID 1 LSM6DSV32X (#28512)
* feat(boards/ark_fpv): add FMUID 1 LSM6DSV32X

Rev 1 increments FMUID and replaces the IIM-42653 with an LSM6DSV32X
on the same SPI1 pads. Configure the 32X at ±32 g / ±4000 dps.

Assisted-by: Grok:grok-4.6
Signed-off-by: alexklimaj <alex@arkelectron.com>

* feat(drivers/lsm6dsv): run 32X at 7.68 kHz with PX4-owned filtering

Match IIM-42653-style raw data: HAODR 7680 Hz, disable accel LPF2,
10 MHz SPI (device max), and exact FS/32768 accel plus 140 mdps/LSB
gyro scales. Periodically re-check config registers like the TDK
drivers.

Assisted-by: Grok:grok-4.6
Signed-off-by: alexklimaj <alex@arkelectron.com>

* fix(drivers/lsm6dsv): keep the accel LPF2 at ODR/10

PX4 has no anti-alias stage of its own: the FIFO is decimated to the
publish rate with a plain mean and the software cutoffs run after that,
so with LPF2 off the accel is flat to ODR/2 (3840 Hz on the 32X) and
that content folds into the published stream. ODR/10 is the nearest
match to the 585 Hz AAF the Invensense drivers use, and to what the
rev 0 ARK FPV IIM-42653 flies with. The gyro is unchanged: its LPF2 is
fixed by ODR at 537 Hz.

* fix(drivers/lsm6dsv): validate complete register fields

Runtime checks must detect changes to zero-valued rate, range, and filter bits. Include register faults in the published IMU error counts so health reporting retains the fault history after recovery.

Assisted-by: Codex:gpt-6
Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>

---------

Signed-off-by: alexklimaj <alex@arkelectron.com>
Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2026-09-08 22:02:09 -06:00
..