1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-02 10:24:11 +01:00
LibrePilot/flight/PiOS/inc
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
..
FreeRTOSConfig.h More doxygen updates 2010-07-16 05:31:11 +00:00
pios_adc.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_bmp085.h "addr" field of I2C transaction struct now takes real I2C address, and not address that is pre-shifted to accommodate the R/W bit 2010-08-18 10:04:55 +00:00
pios_com_priv.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_com.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_debug.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_delay.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_exti.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_gpio.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_hmc5843.h AHRS: Keeping magnetometer I2C address consistent with change to I2C driver. 2010-08-18 13:54:15 +00:00
pios_i2c_priv.h i2c: force bus free on warm starts 2010-08-21 16:19:02 +00:00
pios_i2c.h i2c: force bus free on warm starts 2010-08-21 16:19:02 +00:00
pios_irq.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_led.h Added extra LED's .. now up to 4 LED's .. (PipBee has 4 controllable LED's) 2010-08-04 17:32:42 +00:00
pios_opahrs_proto.h [OP-119] Flight/AHRS: Created a HomeLocation object which is updated when the GPS gets an initial 3D fix and populated with the information to convert from LLA from the GPS to NED reference frame. Also added a message for passing the MagneticNorth vector to the AHRS and removed that computation from AHRS. 2010-08-19 20:38:27 +00:00
pios_opahrs.h [OP-119] Flight/AHRS: Created a HomeLocation object which is updated when the GPS gets an initial 3D fix and populated with the information to convert from LLA from the GPS to NED reference frame. Also added a message for passing the MagneticNorth vector to the AHRS and removed that computation from AHRS. 2010-08-19 20:38:27 +00:00
pios_ppm.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_pwm.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_sdcard.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_servo.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_spektrum.h OP-22 Flight/PiOS: Spektrum reworked, input is mapped to old aux in receiver connector, works nicely with calibration plugin. Also bind works, just needs config flag to bind on powerup 2010-08-01 10:34:07 +00:00
pios_spi_priv.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_spi.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_stm32.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_sys.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_usart_priv.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_usart.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
pios_usb_hid_desc.h Got better HID report design with valid data length embedded in report 2010-07-27 17:41:56 +00:00
pios_usb_hid_istr.h Further tweaks to the HID update 2010-07-27 05:28:04 +00:00
pios_usb_hid_prop.h Deleting old USB code that I meant to delete a while ago. Also changed names of some functions to OP. Finally fixed the USB taking over PIOS telemetry. Detects the USB cable and that the configuration has been taken by the USB bus. 2010-08-05 23:43:52 +00:00
pios_usb_hid_pwr.h Further tweaks to the HID update 2010-07-27 05:28:04 +00:00
pios_usb_hid.h Updated HID code to do packet processing in OS indepdent layer. Should now work on all platforms. Please test and get back to me. Maximum object size of 62 bytes currently. 2010-07-28 18:55:04 +00:00
pios_usb.h More documentation updates, standardizing format to include addtogroup at the beginning of headers so files are associated with modules 2010-07-16 19:53:35 +00:00
stm32f10x_conf.h Added debugging port buffer handling. 2010-03-13 15:37:00 +00:00
usb_conf.h Got better HID report design with valid data length embedded in report 2010-07-27 17:41:56 +00:00