From 2ad78c55717b307a4ba4d35d5ee0f0054b6e09f7 Mon Sep 17 00:00:00 2001 From: mjs1441 Date: Wed, 9 Jul 2025 18:18:58 +0100 Subject: [PATCH] accgyro_mpu initialise gyro->segments. (#14528) --- src/main/drivers/accgyro/accgyro_mpu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/drivers/accgyro/accgyro_mpu.c b/src/main/drivers/accgyro/accgyro_mpu.c index f2a43ca6b6..4da174f5c6 100644 --- a/src/main/drivers/accgyro/accgyro_mpu.c +++ b/src/main/drivers/accgyro/accgyro_mpu.c @@ -491,6 +491,12 @@ bool mpuDetect(gyroDev_t *gyro, const gyroDeviceConfig_t *config) void mpuGyroInit(gyroDev_t *gyro) { + // Initialise both segments of gyro->segments. + // Gyro code only sets the first segment. The second segment stays as + // an end segment with negateCS false, which enforces DMA whenever possible. + busSegment_t nullSegment = {.u.link = {NULL, NULL}, 0, false, NULL}; + gyro->segments[0] = nullSegment; + gyro->segments[1] = nullSegment; gyro->accDataReg = MPU_RA_ACCEL_XOUT_H; gyro->gyroDataReg = MPU_RA_GYRO_XOUT_H; mpuIntExtiInit(gyro);