1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-29 07:24:13 +01:00
The LibrePilot open source project was founded in July 2015. It focuses on research and development of software and hardware to be used in a variety of applications including vehicle control and stabilization, unmanned autonomous vehicles and robotics.
Go to file
stac 98822bff98 i2c: force bus free on warm starts
Since the i2c bus is bidirectional, there are certain
states (eg. part way through a read) where the slave
device is in control of driving the SDA line.

On a cold start (power on), the slave devices are all
quiescent and will not drive the bus.  However, on a warm
start (eg. watchdog or jtag restart), it is possible that as
the CPU boots, the slave device may be holding the SDA line
low.  This is a bus busy condition and will prevent the I2C
bus master in the CPU from being able to seize the bus during
init.

The fix for this is to clock the i2c bus sufficiently to ensure
that the the slave device finishes its transaction and releases
the bus.

Once the slave has released the bus, the bus master can properly
initialize and assert a STOP condition on the bus.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1349 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-21 16:19:02 +00:00
artwork git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1333 ebee16cc-31ac-478f-84a7-5cbb03baadba 2010-08-18 21:25:35 +00:00
flight i2c: force bus free on warm starts 2010-08-21 16:19:02 +00:00
ground OP-124 Flight: Missed some of the files in the previous commit for AHRS SPI error counts 2010-08-21 09:23:40 +00:00
.gitignore Merge branch 'watchdog' 2010-08-13 05:18:17 +00:00
CREDITS.txt Rename dial directory to Deluxe in prep for Matt's work. 2010-08-11 02:07:13 +00:00
Makefile Merge branch 'mac_support' 2010-08-18 14:29:53 +00:00