Skip to content

Commit 38da5a7

Browse files
NEXUS: fix IMU alignment to match board orientation arrow
The CW90 value was taken directly from the Rotorflight NEXUS_F7 target, but Rotorflight does not enforce arrow-forward as the board reference orientation. The Rotorflight CW90 was calibrated to an arbitrary mounting, not the case arrow. iNAV convention is arrow = forward, which requires CW180 on this hardware. Same root cause as the NEXUSX fix in #11338 / #11325. Co-Authored-By: Joshua Perry <josh@6bit.com>
1 parent 2b8d571 commit 38da5a7

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/main/target/NEXUS/target.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
*
77
* Key differences from Nexus-X/XR:
88
* - IMU EXTI on PA15 (X/XR uses PB8)
9-
* - IMU alignment CW90 (X/XR uses CW180)
9+
* - IMU alignment CW180 (Rotorflight uses CW90 with a different
10+
* board orientation reference; iNAV uses the arrow on the case)
1011
* - Flash is W25N01G 128MB (X/XR uses W25N02K 256MB)
1112
* - No internal ELRS receiver (X/XR has RP4TD-M on UART5)
1213
* - No PINIO1 receiver power gate
@@ -48,7 +49,7 @@
4849
/* ---- IMU: ICM-42688-P ---- */
4950
// iNAV uses ICM42605 driver which is register-compatible with ICM42688P
5051
#define USE_IMU_ICM42605
51-
#define IMU_ICM42605_ALIGN CW90_DEG
52+
#define IMU_ICM42605_ALIGN CW180_DEG
5253
#define ICM42605_CS_PIN PA4
5354
#define ICM42605_SPI_BUS BUS_SPI1
5455
#define ICM42605_EXTI_PIN PA15

0 commit comments

Comments
 (0)