Skip to content

Commit

Permalink
Merge pull request PX4#2260 from Terabee/master
Browse files Browse the repository at this point in the history
fixed timming issued in I2C whoami communication
  • Loading branch information
LorenzMeier committed Jun 2, 2015
2 parents c49f902 + 70bfb42 commit 6a35887
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions src/drivers/trone/trone.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -319,10 +319,16 @@ TRONE::probe()
uint8_t who_am_i=0;

const uint8_t cmd = TRONE_WHO_AM_I_REG;
if (transfer(&cmd, 1, &who_am_i, 1) == OK && who_am_i == TRONE_WHO_AM_I_REG_VAL) {
// it is responding correctly to a WHO_AM_I
return measure();
}

// set the I2C bus address
set_address(TRONE_BASEADDR);

// can't use a single transfer as TROne need a bit of time for internal processing
if (transfer(&cmd, 1, nullptr, 0) == OK) {
if ( transfer(nullptr, 0, &who_am_i, 1) == OK && who_am_i == TRONE_WHO_AM_I_REG_VAL){
return measure();
}
}

debug("WHO_AM_I byte mismatch 0x%02x should be 0x%02x\n",
(unsigned)who_am_i,
Expand Down

0 comments on commit 6a35887

Please sign in to comment.