1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-04 12:24:11 +01:00
Commit Graph

156 Commits

Author SHA1 Message Date
vassilis
1e78cc7a30 Flight/FlightPlan: First release of flight plan scripting. The scripting engine is based on the PyMite Python VM. The released code is able to execute a simple python script on the target. However it is currently disabled from the makefile due to a few issues with more complex scripts. When the library is enabled in the makefile a python interpreter will be needed to compile the firmware since some intermediate code is generated by PyMite.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2364 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-09 22:36:15 +00:00
vassilis
407e660c97 Flight/TaskMonitor: Create TaskMonitor library, used to monitor the remaining task size of all running tasks.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2349 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-08 23:43:34 +00:00
corvus
a59d08b7af AHRS: Support for Linear Temperature Compensation Factors for Gyroscope X,Y,Z
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2327 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-04 00:54:31 +00:00
andrew
eda227ec8b Added BatterySettings UAVObject in preparation for updates to PowerSensor code.
As this changes UAVObjects both flight and GCS software will need to be recompiled to stay in sync.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2303 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-28 05:13:19 +00:00
andrew
76be2b991b Update to FlightBatteryState UAVObject in preparation for updates to PowerSensor code.
As this changes UAVObjects both flight and GCS software will need to be recompiled to stay in sync.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2302 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-28 04:28:39 +00:00
andrew
39cb30d56f Update to SystemAlarms UAVObject.
Added:
Battery
Flight Time
I2C
GPS
Also added new alarm state of "Uninitialised"

no code to set these alarms yet.

As this changes UAVObjects both flight and GCS software will need to be recompiled to stay in sync.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2294 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-27 07:25:52 +00:00
pip
d072c30ba1 Settings additions.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2274 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-22 22:16:44 +00:00
pip
e84b222272 PipX modem settings update .. note that they do not yet function.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2248 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-18 13:54:35 +00:00
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
zedamota
c034a35d2c 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.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2238 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-15 19:06:28 +00:00
edouard
4be34fdb0f Modified all channel naming internally to use Channel 1 to Channel 8, instead of the previous convention of Channel0 to Channel7.
BEWARE: I have not flown my quad with this code, so please be careful, test, and report!



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2234 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-13 23:54:30 +00:00
pip
9ceda82fba Updated UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2227 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-12 18:26:51 +00:00
pip
d5f6504aa2 Updated UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2224 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-12 18:16:24 +00:00
pip
8b2e1c32d7 Adding PipX modem settings/status UAVObjects
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2218 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-11 10:56:33 +00:00
pip
5e91f46633 Added more telemetry baudrate options
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2198 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-06 08:31:24 +00:00
pip
49e99ea180 Added more telemetry baudrate options
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2195 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-06 08:23:20 +00:00
peabody124
6f1e7b4e41 AHRS: Add a configuration to export the sensor data either with or without INS
bias correction.  This is useful for stabilization to get rid of the gyro bias.
Making it an option is important for calibration.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2189 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-04 17:34:25 +00:00
peabody124
a04e33ccc6 OP-192 Flight/ManualControl: Add an ArmedTimeout field to the
ManualControlSettings so that planes can disable the timeout
feature for gliding (holding roll on a plane not so good).

Note: This will require you to reconfigure your ManualControlSettings

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2185 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-04 17:34:16 +00:00
edouard
b840c5ec40 Update ActuatorSettings to remove obsolete fields.
YOU WILL NEED TO RECONFIGURE YOUR ACTUATORS!



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2162 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-26 20:55:05 +00:00
peabody124
ebcb272da6 AHRS: Add a separate parameter for velocity and position variance and remove
indoor from the name since it's used for both indoor and outdoor mode now.
Increased default value to 0.4 to better reflect the GPS accuracy.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2156 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-26 15:57:08 +00:00
peabody124
6ebc8ccd57 OP-163 Flight/Guidance: Add variations on position hold to try out. Only one will end
up in the final code.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2110 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-12 16:57:13 +00:00
peabody124
5850c1804d OP-199 Flight/Stabilization: Increment a counter in actuatorDesired whenever an
update takes longer than 15 ms

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2109 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-12 04:36:04 +00:00
peabody124
2019edd612 AHRS: Store running time to make detect resets easier. Update OP and AHRS in
parallel for this update.  Also removed comment for rawhid

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2012 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-27 14:31:32 +00:00
peabody124
9944cdfcb0 Flight/RateDesired: UAVObject for monitoring the desired rate out of
stabilization for diagnostics

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2004 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-24 20:00:02 +00:00
edouard
82b702e239 Added the new Multirotor shapes to the SystemSettings object, as discussed on the forums. UID has not changed, but you should recompile still (sorry).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1972 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-17 14:15:47 +00:00
les
6d6ec37474 Manual control: Changed 'Position' stabilization mode to 'Attitude'
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1944 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-11 17:58:11 +00:00
peabody124
4e6f100ae5 Flight: Swap to Les' code for main line
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1920 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-08 15:38:23 +00:00
peabody124
c4cb494a22 UAVOBjects: Just ran object genearator to get things compiling again
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1913 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-07 13:09:35 +00:00
edouard
5c48c29612 Remove example objects from the flight code, not needed anymore
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1905 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 21:50:57 +00:00
peabody124
dea5c91646 AHRSCalibration: Make default values correct now Les extended
uavobjectgenerator to support multiple fields (thanks Les!).  Also
changed default scale on mag to +/-6g

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1899 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 14:26:42 +00:00
peabody124
66bf9d53d4 AHRS: Paramaterize the variance used for the indoor algorithm.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1898 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 14:26:40 +00:00
kokomojoe
946283d67e OP-185 Flight - Added FirmwareIAP to the module load list in makefile, added uavobjectsinit.c with firmware IAP init calls
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1896 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 05:30:48 +00:00
kokomojoe
2fe266650f OP-185 Flight - support files for Firmware IAP object
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1891 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-06 02:06:13 +00:00
les
7ddb0f6f80 Stabilization: Changed to new switch format. Both position and rate modes work.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1886 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-05 14:51:33 +00:00
peabody124
ba3ecada1d Flight/ManualControl: Implemented settings to change what the Mode switch does
so it can also change parameters of Stabilization.  Please check your aircraft
behavior with this patch, but default behavior should be unchanged.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1878 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-04 19:48:09 +00:00
peabody124
d71e9df8c5 Flight/UAVObjects: Add a few files that were missed earlier, and get posix
worlking again

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1869 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-04 02:01:31 +00:00
les
05a85c8c95 New stabilization module based on PI-P algorithm used in FlightOS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1864 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 20:39:23 +00:00
peabody124
a9495e2cbb UAVObjects/AttitudeSettings: Remove unused object, moving data to AHRSettings.
Added attitude bias to AHRSSettings.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1855 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 18:14:34 +00:00
peabody124
754200f9cf UAVObjects/Delete old VTOLSettings object
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1854 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-03 18:14:27 +00:00
peabody124
5c9b5f4a99 AHRS: Get calibration working again
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1842 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 03:10:04 +00:00
peabody124
0c30101f54 AHRS: Made an object setting to allow the downsampling rate to be changed on the
fly (EKF rate up to a limit).  Also, now the algorithm selects if you are
indoor or outdoor as well as if you use a mag indoor (if you do set the z
variance higher than it calibrates to).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1841 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 03:10:01 +00:00
peabody124
6d39d85b8f UAVObjects/AHRSStatus: Remove unused fields
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1838 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 02:17:29 +00:00
peabody124
2050864e59 UAVObjects/VTOLStatus: Remove unused object. Also added update time to
indicate stabilization loop time.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1837 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 02:17:26 +00:00
peabody124
ea3fb03c7f Flight/AHRS Communications: Switch to Les' very nice UAVObject communication
scheme

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1835 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-02 02:17:18 +00:00
peabody124
2a93f35807 UAVObjects/MixerSettings: Have values as int8, don't need float resolution
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1832 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 20:28:14 +00:00
les
b2d56ca34c AHRS: Added UAVObject based SPI communication between AHRS and OP.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1830 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 17:31:13 +00:00
peabody124
c076a695ce UAVObjects/ActuatorSettings: Default values are all 1000 now so that an
unconfigured motor can't turn on.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1823 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 13:45:26 +00:00
peabody124
9f4e3906e3 Flight/Actuator: Made it use the detected dT for the feedforward computation
and removed the unused field from actuator settings (old setting time and all
the aircraft specific stuff).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1820 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 12:33:33 +00:00
peabody124
2dc40d11a1 Flight/Stabilization: Use the system clock to determine time from previous
update since now drive by events.  This means StabilizationSettings object
changing so write down your settings.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1819 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-01 12:33:29 +00:00
peabody124
77b68e5169 Flight/Guidance: Initial template for guidance module
Flight: Create PositionDesired (the active waypoint) UAVObject and make the FlightSituationActual no update since it not used.
Flight: New velocity desired object that passes information between the look computing the desired velocity and the PID loop to get it (updated at different rates)
UAVObjects/PositionActual: Remove unused GPS fields
UAVObjects/PositionActual VelocityActual: Split the velocity into a separate object.  ALso make sure all the information telemetered around is in cm to avoid using floats.
UAVObject/GuidanceSettings: New guidance settings object for the guidance module
Flight/Posix: Add the new objects to the Posix sim
Flight/Guidance: Computes a desired velocity based on position error than runs a PID loop to control roll and pitch to achieve that velocity.  All distances are in cm, and updated the PositionActual fields to reflect this and use int32.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1760 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-26 03:06:27 +00:00