Skip to content

Commit

Permalink
mpu6500 Fixed 'test' function causes register checking to find a fals…
Browse files Browse the repository at this point in the history
…e faults

      Added hold off of testing for register faults from the duration
      of the test.
  • Loading branch information
David Sidrane committed Apr 11, 2017
1 parent 14cc4bf commit 985a396
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/drivers/mpu6500/mpu6500.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand All @@ -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;
}
Expand Down

0 comments on commit 985a396

Please sign in to comment.