mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-06 14:56:51 +08:00
mpu6500 Fixed 'test' function causes register checking to find a false faults
Added hold off of testing for register faults from the duration
of the test.
This commit is contained in:
committed by
Lorenz Meier
parent
c3c5be3881
commit
ff3994da1b
@@ -700,11 +700,14 @@ int MPU6500::reset()
|
||||
// frequenctly comes up in a bad state where all transfers
|
||||
// come as zero
|
||||
uint8_t tries = 5;
|
||||
irqstate_t state;
|
||||
|
||||
while (--tries != 0) {
|
||||
irqstate_t state;
|
||||
state = px4_enter_critical_section();
|
||||
|
||||
// Hold off sampling for 60 ms
|
||||
_reset_wait = hrt_absolute_time() + 60000;
|
||||
|
||||
write_reg(MPUREG_PWR_MGMT_1, BIT_H_RESET);
|
||||
up_udelay(10000);
|
||||
|
||||
@@ -726,6 +729,12 @@ int MPU6500::reset()
|
||||
usleep(2000);
|
||||
}
|
||||
|
||||
// Hold off sampling for 30 ms
|
||||
|
||||
state = px4_enter_critical_section();
|
||||
_reset_wait = hrt_absolute_time() + 30000;
|
||||
px4_leave_critical_section(state);
|
||||
|
||||
if (read_reg(MPUREG_PWR_MGMT_1) != MPU_CLK_SEL_PLLGYROZ) {
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user