forked from Archive/PX4-Autopilot
Remove spurious I2C clock frequency resets.
This commit is contained in:
parent
d12c09cc86
commit
d55dd67d77
|
@ -73,11 +73,8 @@ I2C::init()
|
|||
{
|
||||
int ret = OK;
|
||||
|
||||
// attach to the i2c bus
|
||||
/* attach to the i2c bus */
|
||||
_dev = up_i2cinitialize(_bus);
|
||||
// set the bus speed again to a reasonable number of 400 KHz
|
||||
I2C_SETFREQUENCY(_dev, 400000);
|
||||
|
||||
|
||||
if (_dev == nullptr) {
|
||||
debug("failed to init I2C");
|
||||
|
@ -147,8 +144,12 @@ I2C::transfer(uint8_t *send, unsigned send_len, uint8_t *recv, unsigned recv_len
|
|||
if (msgs == 0)
|
||||
return -EINVAL;
|
||||
|
||||
// set the bus speed again to a reasonable number of 400 KHz
|
||||
I2C_SETFREQUENCY(_dev, 400000);
|
||||
/*
|
||||
* I2C architecture means there is an unavoidable race here
|
||||
* if there are any devices on the bus with a different frequency
|
||||
* preference. Really, this is pointless.
|
||||
*/
|
||||
I2C_SETFREQUENCY(_dev, _frequency);
|
||||
ret = I2C_TRANSFER(_dev, &msgv[0], msgs);
|
||||
|
||||
if (ret == OK)
|
||||
|
|
|
@ -84,8 +84,6 @@ int i2ccmd_bus(FAR struct i2ctool_s *i2ctool, int argc, char **argv)
|
|||
for (i = CONFIG_I2CTOOL_MINBUS; i <= CONFIG_I2CTOOL_MAXBUS; i++)
|
||||
{
|
||||
dev = up_i2cinitialize(i);
|
||||
// set the bus speed again to a reasonable number of 400 KHz
|
||||
I2C_SETFREQUENCY(_dev, 400000);
|
||||
if (dev)
|
||||
{
|
||||
i2ctool_printf(i2ctool, "Bus %d: YES\n", i);
|
||||
|
|
Loading…
Reference in New Issue