1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-03 11:24:10 +01:00
LibrePilot/flight/OpenPilot/UAVObjects/inc
peabody124 4b4a66c2d7 PiOS/I2C: Lots of small changes. Added a few weird bus events that are
sometimes thrown, and made errors not lock it up by default.  It works for me,
but since this has historically been associated with lots of lock ups please
check your systems carefully.

PiOS/I2C: Make the bus by default try to recover from errors instead of locking
up

PiOS/I2C: After a bus error and clocking all previous data create a STOP
condition to make sure bus is released (note, this also requires creating a
START condition first)

PiOS/I2C: If the same event hits the I2C bus twice in a row then disregard
second one, there is no situation where we should get the same event multiple
times that matters and this gets us out really quickly to catch the real
events.  I was seeing this with repeated 0x70084 which means byte transmitted.
This is related to STM32 bugs in the IRQ timings I believe.

PiOS/I2C: 1) Mask out some bits we don't care about in the event flags
2) Don't lock up if the give semaphore fails, although why it does is strange
3) Recover from bus failure through the "auto" state path instead of just
coding state

PiOS/I2C: Change the reset bus code to follow
http://www.analog.com/static/imported-files/application_notes/54305147357414AN686_0.pdf
(thanks for the reference Neontangerine).  Although this may actually NOT clear
the bus the first time through, subsequent bus errors should eventually clock
it out.  The up side is it is less likely to clock a bunch of 1s into an ESC
and make it run up.

PiOS/I2C: Some cleaned up code for getting a snippet of the history when
something strange happens

PiOS/I2C: Export logging information from I2C through a UAV object

PiOS/I2C: Improve the diagnostic information

PiOS/I2C: Need to handle the event 0x30084.  This seems to happen between a
byte transmitted and new byte started

PiOS/I2C: Handle the NACK condition by simply going to the stopping state.

PiOS/I2C: Add a new NACK state to handle sending the STOP signal after a NACK
following the STM documentation.  Other error conditions still are not dealt
with.

PiOS/I2C: Should handle the NACK condition from all the write cases.  Need to
think about read cases

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2239 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-17 07:01:58 +00:00
..
actuatorcommand.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
actuatordesired.h OP-199 Flight/Stabilization: Increment a counter in actuatorDesired whenever an 2010-11-12 04:36:04 +00:00
actuatorsettings.h Modified all channel naming internally to use Channel 1 to Channel 8, instead of the previous convention of Channel0 to Channel7. 2010-12-13 23:54:30 +00:00
ahrscalibration.h AHRS: Add a separate parameter for velocity and position variance and remove 2010-11-26 15:57:08 +00:00
ahrssettings.h AHRS: Add a configuration to export the sensor data either with or without INS 2010-12-04 17:34:25 +00:00
ahrsstatus.h AHRS: Store running time to make detect resets easier. Update OP and AHRS in 2010-10-27 14:31:32 +00:00
attitudeactual.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
attitudedesired.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
attituderaw.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
baroaltitude.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
eventdispatcher.h Flight/Alarms Implemented Alarms library, now checking for stack overflow, out of memory, event and other errors (see the SystemAlarms object). All modules will be reporting their alarms using this library. 2010-04-27 01:55:28 +00:00
firmwareiapobj.h OP-21/Bootloader - Changes to the IAPObject. Implements MB and AHRS user mode IAPObject. Added user mode reset command to the CLI. To many changes to bootloading system to write here, a Wiki page will have to be writen. 2010-12-15 19:06:28 +00:00
flightbatterystate.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
flighttelemetrystats.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
gcstelemetrystats.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
gpsposition.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
gpssatellites.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
gpstime.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
guidancesettings.h OP-163 Flight/Guidance: Add variations on position hold to try out. Only one will end 2010-11-12 16:57:13 +00:00
homelocation.h AHRS: Made an object setting to allow the downsampling rate to be changed on the 2010-10-02 03:10:01 +00:00
i2cstats.h PiOS/I2C: Lots of small changes. Added a few weird bus events that are 2010-12-17 07:01:58 +00:00
manualcontrolcommand.h Manual control: Changed 'Position' stabilization mode to 'Attitude' 2010-10-11 17:58:11 +00:00
manualcontrolsettings.h Modified all channel naming internally to use Channel 1 to Channel 8, instead of the previous convention of Channel0 to Channel7. 2010-12-13 23:54:30 +00:00
mixersettings.h Modified all channel naming internally to use Channel 1 to Channel 8, instead of the previous convention of Channel0 to Channel7. 2010-12-13 23:54:30 +00:00
mixerstatus.h Modified all channel naming internally to use Channel 1 to Channel 8, instead of the previous convention of Channel0 to Channel7. 2010-12-13 23:54:30 +00:00
objectpersistence.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
pipxtrememodemsettings.h Updated UAVObjects 2010-12-12 18:26:51 +00:00
pipxtrememodemstatus.h Updated UAVObjects 2010-12-12 18:26:51 +00:00
positionactual.h Flight/Guidance: Initial template for guidance module 2010-09-26 03:06:27 +00:00
positiondesired.h Flight/Guidance: Initial template for guidance module 2010-09-26 03:06:27 +00:00
ratedesired.h Flight/RateDesired: UAVObject for monitoring the desired rate out of 2010-10-24 20:00:02 +00:00
stabilizationsettings.h Flight: Swap to Les' code for main line 2010-10-08 15:38:23 +00:00
systemalarms.h Flight/Guidance: Initial template for guidance module 2010-09-26 03:06:27 +00:00
systemsettings.h Added the new Multirotor shapes to the SystemSettings object, as discussed on the forums. UID has not changed, but you should recompile still (sorry). 2010-10-17 14:15:47 +00:00
systemstats.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
telemetrysettings.h Added more telemetry baudrate options 2010-12-06 08:31:24 +00:00
uavobjectmanager.h OP-128 Flight Documentation: Added description to all the UAVObject (now mandatory) and changed the parser to populate this information into the autogenerated files. Also added a function to test if an object is read only for flight. 2010-08-27 00:15:42 +00:00
uavobjectsinit.h Update to headers in the flight portion of the code. Just formatting. 2010-03-10 09:12:31 +00:00
uavobjecttemplate.h flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end. 2010-09-02 23:55:24 +00:00
utlist.h Moved UAVObjects specific header file. 2010-03-04 06:03:38 +00:00
velocityactual.h Flight/Guidance: Initial template for guidance module 2010-09-26 03:06:27 +00:00
velocitydesired.h Flight/Guidance: Initial template for guidance module 2010-09-26 03:06:27 +00:00