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

535 Commits

Author SHA1 Message Date
Alessio Morale
634ba79dcb OP-1141: allow to input a barometer bias model.
It uses a 3rd degree polynomial to model pressure bias as a function of temperature.
2013-12-10 01:46:28 +01:00
Corvus Corax
95d52c6b08 fixed signs in control loop 2013-12-08 14:00:18 +01:00
Corvus Corax
84af4b7651 fixes to barofilter 2013-12-08 14:00:09 +01:00
Corvus Corax
66b0ffd682 small fix to baro state filter - more init cycles 2013-12-08 13:35:00 +01:00
Corvus Corax
5cc8dedadf uncrustify changed things 2013-12-08 13:07:26 +01:00
Corvus Corax
3cea14a809 added missing object, added more debug output 2013-12-08 13:06:28 +01:00
Corvus Corax
4ad0e730da added status uavobject for easier debugging 2013-12-08 12:23:16 +01:00
Corvus Corax
90f689cfa1 throttle does not accelerate downwards but upwards - switched sign 2013-12-08 10:44:17 +01:00
Corvus Corax
8832ea24f5 proper uncrustification 2013-12-07 23:31:26 +01:00
Corvus Corax
623c25aa99 new design of altitude hold - warning not tested yet! 2013-12-07 23:16:22 +01:00
Corvus Corax
ff5927bc43 some changes to altitudehold, hope i get that done today... 2013-12-07 17:28:01 +01:00
Corvus Corax
3e1b0fd114 Merge branch 'next' into corvuscorax/OP-1022_AH_improvements_amorale 2013-12-07 16:33:57 +01:00
Corvus Corax
9c6abef89b fixed enabled and disabled messages for logging in all cases 2013-12-01 00:03:24 +01:00
Corvus Corax
be9faabe92 Merge branch 'next' into corvuscorax/onboardlogging 2013-11-26 00:34:01 +01:00
Corvus Corax
1c83d3ee28 BUGFIX to OpLinkMini: oplinkmod needs to initialize the Callback Scheduler
OPLMini does not use Systemmod but its own system module called
oplinkmod - which did not initialize the callback scheduler. Making the
event dispatcher a callback caused it to no longer run due to the
missing callback scheduler initialization
2013-11-24 21:24:55 +01:00
Corvus Corax
77b7ba3089 Added new setting 'OnlyWhenArmed' to debuglogsettings 2013-11-19 19:29:24 +01:00
Corvus Corax
d235a24e23 Merge branch 'next' into corvuscorax/onboardlogging 2013-11-19 18:49:58 +01:00
Corvus Corax
7a6c0b61e8 Merge branch 'next' into corvuscorax/callbackeventdispatcher2 2013-11-19 18:36:20 +01:00
Corvus Corax
951c7bfea0 removed redundant code from Telemetry 2013-11-17 22:20:19 +01:00
Corvus Corax
0e502d3734 Modified queue creation for telemetry and logging
event queues are now created for all uavobjects for both telemetry and
logging, so later modifications from manual to periodic are possible
2013-11-17 22:10:03 +01:00
Corvus Corax
fcc479f5cb more intelligent log interfacing, including flash formatting option 2013-11-17 20:14:50 +01:00
Corvus Corax
243e261411 UAVObject logging through telemetry module and uavobjectmanager 2013-11-17 17:15:23 +01:00
Corvus Corax
a0746d87fa Logging facility: logs debug data to logfs and exports it through container UAVObject 2013-11-17 02:54:26 +01:00
Corvus Corax
b3ebb91ceb uncrustification 2013-10-19 21:59:07 +02:00
Alessio Morale
c0cfd3dffe Merge branch 'amorale/OP-1058_uavo_named_accessors' into next 2013-09-10 21:20:12 +02:00
Alessio Morale
db7ea48675 Merge remote-tracking branch 'origin/cyr/OP-1076' into next 2013-09-10 20:26:53 +02:00
Alessio Morale
0db9a9bf8d OP-1058 Add xxxGet and xxxSet functions to handle multielement fields as struct
for example:
EKFStateVariancePSet(EKFStateVariancePData *NewP);
EKFStateVariancePGet(EKFStateVariancePData *NewP);
Also in this case array accessors are renamed as xxxArrayGet/Set:
EKFStateVariancePArraySet(float *NewP);
EKFStateVariancePArrayGet(float *NewP);

Nothing changes for anonymous items as default functions continues to deal with arrays

+review OPReview-552
2013-09-01 13:23:20 +02:00
Alessio Morale
e91bc28667 OP-1058 Get rid of Unions.
They caused stack usage increase with -fstrict-aliasing as stack slots are not reused when dealing with unions.
It has now been added the cast_struct_to_array macro in pios_struct_helper.h to handle such case where it is useful to access those homogeneous structs as arrays

+review OPReview-552
2013-09-01 12:10:55 +02:00
Alessio Morale
11b269f898 Merge remote-tracking branch 'origin/next' into amorale/OP-1058_uavo_named_accessors 2013-08-31 16:03:30 +02:00
Mathieu Rondonneau
e973740b8b OP-1067 run uncrustify 2013-08-28 19:47:44 -07:00
Mathieu Rondonneau
fc6d544476 OP-1067 Force oplonk to report disabled if rfm22b is not initialized. 2013-08-28 19:45:50 -07:00
Erik Gustavsson
e39c3f897e Use xTaskGetTickCount() to time long intervals rather than PIOS_DELAY_GetRaw(), because of wrap-around issues. 2013-08-26 19:14:47 +02:00
Corvus Corax
0db395b4a2 uncrustify 2013-08-11 15:33:59 +02:00
Corvus Corax
0f31368c64 Merge branch 'corvuscorax/OP-1036_fixed-wing-improvements' into next 2013-08-11 15:13:23 +02:00
Corvus Corax
0724fca32a refactored pid_apply_scaled back into pid_apply (rename only) 2013-08-11 15:12:17 +02:00
Mathieu Rondonneau
114e353acb OP-1067 Invalid value for "LinkState"
Do not retrieve status from rfm22b if not initialized.
2013-08-09 20:14:13 -07:00
Mathieu Rondonneau
40b0682048 OP-667: This is not an issue since the 2 callers already check for NULL pointer but for consistency, this should be done in the function itself. 2013-08-03 09:39:44 -07:00
Alessio Morale
8dd3c45ccf OP-1058 change some missing occurrencies to .field.XXX notation
+review OPReview-552
2013-08-01 11:44:12 +02:00
Alessio Morale
01d963affd OP-1058 uncrustify 2013-08-01 01:28:50 +02:00
Alessio Morale
f226b23c24 OP-1058: fix needed for fw_osd code compilation 2013-08-01 01:19:02 +02:00
Alessio Morale
8351e97faa OP-1058: fix needed for fw_revoproto code compilation 2013-08-01 01:18:53 +02:00
Alessio Morale
df90a13558 OP-1058: fix needed for fw_coptercontrol code compilation 2013-08-01 01:18:26 +02:00
Alessio Morale
9e1acc3165 OP-1058: fix needed for fw_revolution code compilation 2013-07-31 15:24:26 +02:00
Oleg Semyonov
77a6db3007 Merge remote-tracking branch 'origin/os/baro-offset-lpf' into next 2013-07-30 23:41:37 +02:00
Alessio Morale
b4d2423680 OP-1048 fix CF stateestimation bug using AccelTau.
move *_filtered to stateestimator data struct and initialize them at init.
they were previously used uninitialized thus causing estimation to fail validations, restarting the filter continously

+review OPReview
2013-07-30 23:41:21 +02:00
Corvus Corax
5206c1f195 uncrustification 2013-07-30 22:14:36 +02:00
Corvus Corax
4d9f7a72db Start CallbackScheduler last (after other modules) to reduce risk of race conditions during bootup 2013-07-28 20:31:31 +02:00
Oleg Semyonov
1bfa66c2b6 Change settings for baro altitude offset correction 2013-07-26 21:14:44 +02:00
Corvus Corax
ae1db5058e uncrustification 2013-07-20 16:59:00 +02:00
Corvus Corax
4f6c3c98e3 some small fixes to airspeed compensation in Stabilization 2013-07-20 14:52:22 +02:00
Corvus Corax
2ecbf4a846 add code to scale stabilization PID coefficients by 1/airspeed^2 if the user wishes to do so 2013-07-20 13:52:45 +02:00
Corvus Corax
b3cbb57a2b made low pass filter alpha a setting 2013-07-20 10:40:29 +02:00
Corvus Corax
1049f483a5 added low pass filter and a few safety checks to gps airspeed estimation 2013-07-20 09:09:44 +02:00
Corvus Corax
72e33a11e4 uncrustification, changed ekf glitch recognition to warning, since its now benign 2013-07-19 15:40:57 +02:00
Corvus Corax
b9ae8844a1 return error if ekf has not inited to prevent arming without proper state estimation 2013-07-19 15:37:50 +02:00
Corvus Corax
be583dd8bf fixes to gps airspeed sensor 2013-07-19 15:30:33 +02:00
Corvus Corax
842b4e361b moved airspeed sensor code to correct location 2013-07-19 15:29:04 +02:00
Alessio Morale
6b27ff1e27 OP-1022 add position lowpass, rework setting uavo, cleanup 2013-07-19 11:28:48 +00:00
Alessio Morale
e2a7c6cb25 OP-1022 Reset altitude and velocity when stick goes to deadband 2013-07-19 07:57:24 +00:00
Oleg Semyonov
aa560653d4 Make baro altitude offset (relative to GPS alt) filter configurable 2013-07-19 09:53:44 +03:00
Corvus Corax
ea8373b0f7 re-enabled wind estimation absed on groundspeed 2013-07-18 20:01:02 +02:00
Corvus Corax
2ab92f09a5 fix for the fix 2013-07-18 14:15:23 +02:00
Corvus Corax
9ba1fbdccc fixed safety check for throttle low, needed for arming on switch, too, but not for disarming 2013-07-18 14:10:33 +02:00
Corvus Corax
7b5bf53200 fixed channel reversals 2013-07-18 13:46:58 +02:00
Corvus Corax
50561bfb5f made arming/disarming sequence time configurable - useful for heli pilots that like almost-instant disarm 2013-07-18 13:13:23 +02:00
Corvus Corax
114e25ff5d cleaned up code for armin/disarming and got rid of a bunch of assumptions 2013-07-18 13:05:37 +02:00
Corvus Corax
658b2fc804 cherry-pick of Sambas Arm-On-A-Switch capability implementation 2013-07-18 10:45:36 +02:00
Corvus Corax
6c88184b32 Merge branch 'corvuscorax/OP-1036_fixed-wing-improvements' into next 2013-07-18 09:46:23 +02:00
Corvus Corax
bffe119214 made safety checks in fixed wing path follower configurable 2013-07-17 14:50:23 +02:00
Alessio Morale
005a68826d OP-1022 Converted to a plain Altitude PID + Velocity PI implementation 2013-07-17 08:38:44 +00:00
Alessio Morale
8c70e64544 OP-1022 reset velocity when changing flight mode 2013-07-17 08:37:56 +00:00
Werner Backes
45cebda628 Add a configurable lowpass filter to smooth throttle commands in
AltitudeHold mode.

Conflicts:
	flight/modules/AltitudeHold/altitudehold.c
	shared/uavobjectdefinition/altitudeholdsettings.xml
2013-07-16 21:21:21 +00:00
Werner Backes
7708aab313 Added vertical velocity as a control loop input to improve dynamics during
commanded ascend/decent.

Conflicts:
	flight/modules/AltitudeHold/altitudehold.c
	flight/modules/ManualControl/manualcontrol.c
	shared/uavobjectdefinition/altitudeholdsettings.xml
2013-07-16 21:17:32 +00:00
Alessio Morale
ed233efde2 OP-1022 Uncrustify 2013-07-16 20:02:03 +00:00
Alessio Morale
0203e2c6e2 OP-1022 Adding a proportional term on the square of the altitude error. 2013-07-16 20:01:16 +00:00
Alessio Morale
5b4d46819e OP-1022 Fix problem with EventSystem due to too high update rate 2013-07-16 12:25:58 +00:00
Alessio Morale
e975e4d9b7 OP-1022: replace old KF in alitude hold with status from filters 2013-07-16 12:25:57 +00:00
Alessio Morale
a57f8913ba OP-1022: replace old KF in alitude hold with status from filters 2013-07-16 12:25:57 +00:00
Alessio Morale
133ad414f8 OP-1022: Added a velocity loop in AH module, used when throttle is not in central position. 2013-07-16 12:25:57 +00:00
Werner Backes
23b5b37480 Scale down initial throttle when AH is engaged based on roll/pitch angle.
This improves AH behaviour when switching to AH while being in fast
forward flight.
2013-07-16 12:25:57 +00:00
Werner Backes
513d509865 Initialize altitude before switching to "running". Not doing this could
cause glitches during the very first switch to AH.
2013-07-16 12:25:57 +00:00
Werner Backes
1da68cda9a Scale up desired throttle in AH mode to compensate for roll/pitch 2013-07-16 12:25:57 +00:00
Werner Backes
73aa4df431 Missing " 2013-07-16 12:25:57 +00:00
Werner Backes
723f308ac7 Removed obsolete (unused) code 2013-07-16 12:25:57 +00:00
Werner Backes
45ed66414f Changed AH to work with absolute instead of relative altitude 2013-07-16 12:25:56 +00:00
Werner Backes
aecc8543a5 Corrected throttle stick exponentional function in AH mode 2013-07-16 12:25:56 +00:00
Alessio Morale
11bc7804d0 Merge branch 'amorale/OP-994_adc_cleanup' into next 2013-07-16 12:23:25 +00:00
Corvus Corax
81e691f2d6 fixed stack size for manualcontrol, fixed acking behaviour for waypoints 2013-07-16 10:12:16 +02:00
Alessio Morale
104bae01e8 OP-994 Exclude alarm for estimated flight time if Capacity setting is 0
+review OPReview-506
2013-07-15 20:35:26 +00:00
Corvus Corax
8b6510da4f Made AltitudeOffset for ReturnToHome configurable, Made Failsafe-FlightMode configurable. 2013-07-15 09:14:09 +02:00
Alessio Morale
402c84c003 OP-994 Added zero calibration settings
+review OPReview-506
2013-07-14 20:26:07 +00:00
Corvus Corax
4d28052dd8 update configuration check prior to arming control, just in case. Allthough the configuration didn't change, other parameters like the list of running tasks can, which alters the alarms. 2013-07-14 06:20:22 +02:00
Corvus Corax
f3a96e5620 Bugfixed in fixed wing path follower, high wind situation now succesfully detected 2013-07-11 16:22:24 +02:00
Corvus Corax
0ffb2dee02 bugfix in pathplanner - 3d distance not calculated correctly 2013-07-11 14:35:37 +02:00
Corvus Corax
c1f32e9beb OP-1036: rename some settings and move them in the right place
tags: de-kenzification
2013-07-10 15:55:12 +02:00
Corvus Corax
27eadc200b Merge branch 'corvuscorax/lla2nedfilter' into next
Conflicts:
	flight/modules/StateEstimation/stateestimation.c
2013-07-10 14:38:12 +02:00
Corvus Corax
551780c74b Merge branch 'corvuscorax/complementary_altitude_filter' into next
Conflicts:
	flight/targets/boards/revolution/firmware/UAVObjects.inc
2013-07-10 14:27:25 +02:00
Brian Webb
c2df59498b Merge remote-tracking branch 'origin/master' into next 2013-07-06 07:08:30 -07:00
Brian Webb
6dbecca7a5 OP-932 Fixes erasing settings on OPLink and blocks OPLinkSettings objects from being transmitted over the radio. 2013-07-05 18:25:52 -07:00
Corvus Corax
0107432e45 Added a low pass filter for accels to the altitude filter 2013-07-02 23:17:08 +02:00
Corvus Corax
ba87f32812 typo fix 2013-06-30 19:46:28 +02:00
Corvus Corax
51a4b16af5 New Filter to calculate NED from LLA as part of StateEstimation 2013-06-30 18:49:29 +02:00
Corvus Corax
2a16c0dbd7 removed GPS module ability to calculate NED coordinate (not its job) 2013-06-30 16:31:19 +02:00
Corvus Corax
7745f93935 changed default coefficients and exposed them to a settings uavobject as they should be 2013-06-29 01:16:02 +02:00
Corvus Corax
2621b087a2 fixed filter in first bench test tries, works surprisingly well... 2013-06-28 21:27:05 +02:00
Corvus Corax
2fb0c0a3ce some uncrustification 2013-06-28 19:52:09 +02:00
Corvus Corax
b9038e5ed6 new simple complementary filter to calculate current altitude and vertical speed 2013-06-28 17:22:16 +02:00
Brian Webb
6386b12026 OP-932 Fixes raw serial on UART and USB VCP. 2013-06-27 19:16:01 -07:00
Brian Webb
2aea2342ab OP-932 Adds a direct PPM channel on each Tx packet when in PPM mode, and adds a PPM only mode that uses a 9600 bps air datarate. Also updates the OPLink configuration tab and moves all OPLink configuration to the OPLink configuration tab on the Revo, and customizes the OPLink configuration tab for the Revo. 2013-06-26 18:01:54 -07:00
Brian Webb
f8d60e6dee OP-932 Adds additional thread and UAVTalk connection to the telemetry module that reads from the uart/radio link on the Revo. This allows the Revo to read OAVObjects over both the uart/radio link and the USB link at the same time. Unfortunately, there's no way to know which link to send UAVObjects out on, so all UAVObjects go to the USB port if USB is connected. This allows UAVObjects to be received from the OPLink radio, even when USB is connected. 2013-06-26 17:58:02 -07:00
Brian Webb
774a74884a OP-932 Replaces the RFM22B PPM/receiver code with an OPLinkReceiver UAVObject. This object is generated on a coordinator OPLink, and is used by both the OPLink to generate PPM output, and the OPLinkReceiver on the Revo. 2013-06-26 17:57:11 -07:00
Brian Webb
8c370df319 OP-932 A significant re-work of the OPLink and configuration of the OPLink. Auto-configuration is removed, and remote modems are bound the coordinator, rather than the other way around. Timing of the radio link is also significantly changed. The rfm22b code is also simplified so that it only sends packet, and has no notion about what those packets are, so the rfm22b is converteded to simply a com type device. 2013-06-26 17:56:56 -07:00
Corvus Corax
f2abe1f5c7 StateEstimation: removed (not yet implemented) 16 state EKF support for now 2013-06-25 19:30:21 +02:00
Alessio Morale
0b8d18ae49 OP-994 Move common defines to architecture specific header
+review OPReview-506
2013-06-24 18:50:44 +02:00
Corvus Corax
5bdfad4bdb removed redundant check as suggested in review 2013-06-23 19:39:00 +02:00
Corvus Corax
e916902c9e changed alarm return states, so cf initialisation will cause visible LED blinks... 2013-06-23 19:26:17 +02:00
Corvus Corax
407817f959 backport of complementary filter bugfix 2013-06-23 18:37:43 +02:00
Corvus Corax
4bf934ae69 prevent positionSensor updates if GPS lock is low quality. Sometimes bad updates are worse than no updates. 2013-06-22 23:15:10 +02:00
Corvus Corax
3392622d2b backporting change on next to modified Attitude module 2013-06-22 23:07:53 +02:00
Corvus Corax
6163c5f53a Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
Conflicts:
	flight/modules/AltitudeHold/altitudehold.c
	ground/openpilotgcs/share/openpilotgcs/pfd/default/AltitudeScale.qml
	ground/openpilotgcs/share/openpilotgcs/pfd/default/PfdIndicators.qml
	ground/openpilotgcs/share/openpilotgcs/pfd/default/SpeedScale.qml
	ground/openpilotgcs/src/plugins/pfd/pfdgadgetwidget.cpp
2013-06-22 18:44:03 +02:00
Corvus Corax
ee1465fd9a OP-1018: Fix ETASv3 Airspeed sensor autocalibration 2013-06-22 12:53:23 +02:00
Alessio Morale
57c8cd7872 Merge branch 'amorale/OP-1019_simple_altitudehold' into next 2013-06-21 17:16:24 +02:00
Alessio Morale
d2893fd32b OP-1019 fix sanitychecks and other uavo definition sanity checks for the newly defined altitudevario mode 2013-06-20 19:39:19 +02:00
Werner Backes
e5b68382e0 Keep TODO comment. 2013-06-20 14:35:40 +02:00
Werner Backes
0f5e354f99 Removed first occurance of accel_err scaling. We don't want to do this
twice.
2013-06-20 12:42:22 +02:00
Alessio Morale
5318c20de6 OP-1019 add a simple altitude hold 2013-06-20 11:27:45 +02:00
Alessio Morale
54af41765e OP-1009 missing initialization on a previously static variable.
+review OPReview-516
2013-06-17 21:42:30 +02:00
Alessio Morale
b012d55f26 OP-1009 fix comments and fixes review
+review OPReview-516
2013-06-17 21:01:24 +02:00
Alessio Morale
840e6aa4f7 OP-994 Move temp calculation to a macro defined in pios_board.h as it is achitecture dependant
+review OPReview-506
2013-06-15 18:47:33 +02:00
Alessio Morale
d5a77fb525 OP-1009 prevent gyro zeroing from raise an alarm when arming 2013-06-15 17:28:30 +02:00
Alessio Morale
517c331dd4 OP-1012 fixed speeds to make easy to distinguish flash rates 2013-06-15 17:27:48 +02:00
Alessio Morale
f2431b2868 GPS module is builtin so there is no way to shut the gps alarm when gps is not used.
This change does remove any alarm when no port is configured for gps.
Things depending on GPS will continue to raise their own alarm when no gps data are feed.
2013-06-15 16:39:29 +02:00
Alessio Morale
354fdf4bdf OP-1012 implement several messages for alarm led 2013-06-15 16:38:53 +02:00
Alessio Morale
49da1aca86 OP-1009 Redo gyro zero in Complementary after calibration parameters changes 2013-06-15 16:22:24 +02:00
Corvus Corax
1d17d08cca Merge branch 'next' into corvuscorax/OP-947_stateestimator-module 2013-06-12 18:32:01 +02:00
Alessio Morale
3c39b049d6 Fixed wrong deadband range for AH 2013-06-11 21:17:17 +02:00
Alessio Morale
04326e2386 Merge remote-tracking branch 'origin/amorale/OP-999_ah_failsafe' into next 2013-06-11 15:39:43 +02:00
Alessio Morale
c1a1c04ad8 OP-999 trigger a failsafe condition in AH module when throttle is below 0 for more than 200ms
+review OPReview
2013-06-10 23:48:08 +02:00
Corvus Corax
47523bfe15 update PositionSensor whenever there is a 3d fix position update, even if its not good quality... 2013-06-09 22:42:14 +02:00
Corvus Corax
d8f9f839f2 startup grace time for filter initialisation 2013-06-09 21:49:04 +02:00
Alessio Morale
e9b3ee52f3 OP-997: add fields to SystemStatsUavo to monitor storage status 2013-06-09 19:20:00 +02:00
Corvus Corax
a99255a36a allow smaller nonzero variances during runtime 2013-06-09 13:57:36 +02:00
Corvus Corax
022f1a1ac0 Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
Conflicts:
	flight/modules/Attitude/revolution/attitude.c
2013-06-09 13:49:52 +02:00
Alessio Morale
6d71d92860 Merge remote-tracking branch 'origin/amorale/OP-990_revo_bias_with_shaken_startup' into next 2013-06-09 09:10:33 +02:00
Alessio Morale
0f28920e5f Merge remote-tracking branch 'origin/amorale/OP-988_gps_not_configured_alarm' into next 2013-06-09 09:09:44 +02:00
Alessio Morale
59eaf01089 OP-990 Change initial delay before calibration to 4 seconds to allow to put the craft on the ground after battery connection
+review OPReview-505
2013-06-09 08:59:35 +02:00
Alessio Morale
cea6496866 OP-995: Cleanup of Battery Module 2013-06-08 13:53:19 +02:00
Alessio Morale
51a7f27b99 OP-994 Add an API to PIOS_ADC to get directly the Voltage value 2013-06-08 13:36:54 +02:00
Alessio Morale
6671a404ca OP-994 Refactor/Cleanup of cpu temp measurement 2013-06-08 13:36:18 +02:00
Alessio Morale
7a6b5c5681 OP-990 Fixed the main cause of wrong bias calculation:
The initial bias calculation done between 1 and 7 seconds
since power on was completely skipped due to a wrong condition.
2013-06-08 13:10:23 +02:00
Alessio Morale
3ad123718e Revert "OP-990 zeroed the rollpitch bias rate at startup and incremented at arming."
This reverts commit c0b926a2d5.
2013-06-08 13:10:23 +02:00
Corvus Corax
6fdf554d4a Merge branch 'next' into corvuscorax/OP-947_stateestimator-module
Conflicts:
	flight/modules/Attitude/revolution/attitude.c
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	shared/uavobjectdefinition/attitudesettings.xml
2013-06-06 19:25:54 +02:00
Corvus Corax
fcc3f519d8 filterekf: Remember critical divergence and set error flag to prevent (re)arming so the user will notice 2013-06-06 17:59:27 +02:00
Corvus Corax
b0db191703 Divide mag variance by Be squared to cope with normalization correctly 2013-06-06 17:54:59 +02:00
Corvus Corax
bab95e7ca8 check variances for validity and reinitialize if invalid 2013-06-06 00:07:11 +02:00
Corvus Corax
f22a0d299e EKF: Averaging term for dT
- prevent scheduling jitter from screwing with the filter while keeping dT accurate
2013-06-06 00:06:12 +02:00
Alessio Morale
c0b926a2d5 OP-990 zeroed the rollpitch bias rate at startup and incremented at arming. 2013-06-05 22:19:20 +02:00
Corvus Corax
6f6ca2481e Changed CoordinateConversion to use doubles for LLA2NED conversion, so coordinates can be represented in ECEF with sufficient resolution 2013-06-05 20:40:49 +02:00
Corvus Corax
5e306250a5 Enabled simulated sensors in SimPosix for debugging of EKF behaviour including:
- SimPosix again stores and reads UAVObjects to disk (was disabled by someone)
- simulated sensors moved to allow automated module initialisation in simposix
- fixed a categorization bug in a uavobject
2013-06-05 19:34:48 +02:00
Mathieu Rondonneau
23b2907d08 OP-976: Add the ';' back
This compile successfuly with make all_flight
2013-06-03 20:37:40 -07:00
Alessio Morale
cfe057c573 OP-988 Raise SYSTEMALARMS_ALARM_CRITICAL when no gps port is configured, the same alarm as no gps case.
+review OPReview
2013-06-03 20:30:41 +02:00
Corvus Corax
6435604182 some fixes and corrections as suggested in review 2013-05-29 22:18:08 +02:00
Corvus Corax
e82a52e8ff filterekf: changed mag variance to 1/1000000 to compensate for normalization, as it was done on old AHRS 2013-05-29 22:02:39 +02:00
Alessio Morale
6b2218d1df Merge remote-tracking branch 'origin/amorale/OP-925_Cyr_patches_for_revo_cf' into next 2013-05-28 18:39:42 +02:00
Alessio Morale
a286a20cb0 OP-925 Changed dT to comply with revo sensor rate
+review OPReview-484
2013-05-27 21:05:39 +02:00
Brian Webb
16b787179c Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into next 2013-05-26 08:37:05 -07:00
Brian Webb
e9f83bcc80 Fixes a bug in the rfm22b driver that was reading past the end of the bindings list when receiving a status message. Also adds some formatting changes that came about after doing a make uncrustify_all. 2013-05-26 08:36:38 -07:00
Alessio Morale
9bfce1bcd6 Merge remote-tracking branch 'origin/amorale/OP-925_Cyr_patches_for_revo_cf' into next 2013-05-26 16:18:05 +02:00
Corvus Corax
7bf58f09c5 filterekf gyro bias adjustment bugfix 2013-05-25 16:18:18 +02:00
Brian Webb
4036e95bd5 Merge remote-tracking branch 'origin/next' into OP-932-Modularize_Radio_Driver 2013-05-25 06:56:13 -07:00
Corvus Corax
6c25e82633 fixed bugs in GPS, corrected zeroing of updated flags in stateestimation 2013-05-25 12:28:32 +02:00
Richard Flay (Hyper)
bd538703ea OP-962: Tweaked C2U_STACK_SIZE_BYTES to be a multiple of 4.
+review OPReview-480
2013-05-25 17:10:41 +09:30
Corvus Corax
87b1b4873c bugfix in baro alt filter plugin 2013-05-25 02:02:53 +02:00
Corvus Corax
902bf29c92 some small bugfixes to filterekf 2013-05-25 00:05:06 +02:00
Corvus Corax
b916df5448 ported cyr's patch to new CF 2013-05-24 23:59:12 +02:00
Corvus Corax
259eeecbbc Put Macros in StateEstimation into the file header after request in review.
Author expresses concernes about the code readability in this layout
(Commit message edited, was: "HATE THIS")
2013-05-24 19:19:40 +02:00
Corvus Corax
40864b2d3b some cleanups 2013-05-23 21:21:14 +02:00
Alessio Morale
711f1ad35b Fix indentation 2013-05-23 00:47:38 +02:00
Corvus Corax
53ba3f4b74 removed GPS check from ekf and put into GPS 2013-05-22 23:20:31 +02:00
Alessio Morale
697874b315 Port of OP-754 On Revo. Fixed signs on bias calculation. Added rate zeroing at startup to yaw 2013-05-22 23:17:09 +02:00
Corvus Corax
843db63cf6 some last issues from review 2013-05-22 23:08:48 +02:00
Corvus Corax
9b95af2006 refaktored GPS Sensor UAVObjects 2013-05-22 22:36:23 +02:00
Corvus Corax
b56de3b66b filterchain rework 2013-05-22 21:26:18 +02:00
Corvus Corax
8fe159c457 some changes... 2013-05-22 19:05:28 +02:00
Brian Webb
ac4847c8ac OP-932 Moves the configuration of the com ports on the coordinator OPLink to startup. 2013-05-21 19:48:21 -07:00
Alessio Morale
294a295510 Port CF patch from Cyr that filters accel to reduce attitude drift due to vibrations 2013-05-22 00:55:10 +02:00
Alessio Morale
0b5a28f19e Port OP-754 to Revolution attitude estimation module: subtract GyroBIAS to work on raw value
Added MagKp and MagKi to AttitudeSetting UAVO
2013-05-21 23:44:12 +02:00
a*morale
464d2be9f7 Port OP-754 to Revolution attitude estimation module 2013-05-21 22:40:35 +02:00
Corvus Corax
ecc4a529a3 some fixes to filtercf and stateestimation and filterekf - Thanks Werner for help :-) 2013-05-21 20:06:33 +02:00
Alessio Morale
8e7e7e052a OP-962 Fix Stack size for ComUSBBridge
+review OPReview
2013-05-21 00:45:45 +02:00
Corvus Corax
3dda543608 Merge branch 'corvuscorax/OP-946_refaktor_sensor_and_state' into corvuscorax/OP-947_stateestimator-module 2013-05-20 20:53:46 +02:00
Corvus Corax
fb433a97d7 Bugfix: add gyro bias to correct axis 2013-05-20 20:52:45 +02:00
Corvus Corax
3cb4f59c94 failsafe, fallback to attitude for now until StateEstimation works reliably 2013-05-20 20:49:34 +02:00
Corvus Corax
a04b76f836 some bugfixes to make it boot on revo 2013-05-20 20:25:20 +02:00
Corvus Corax
8a36959d39 OP-945: Filter refaktoring - last fixes to make it compile 2013-05-20 17:04:52 +02:00
Corvus Corax
e7c35a94f6 added EKF filter 2013-05-20 16:31:10 +02:00
Corvus Corax
a286cc6b24 update settings during initialisation only 2013-05-20 15:28:18 +02:00
Corvus Corax
a03f87efb5 Complementary filter added 2013-05-20 15:04:36 +02:00
Corvus Corax
741c70cda4 barometric bias filter added 2013-05-20 12:56:40 +02:00
Corvus Corax
7ea258a895 airspeed filter added 2013-05-20 12:45:39 +02:00
Corvus Corax
2f082dbf87 added filter for magnetometer bias drift compensation 2013-05-20 11:24:57 +02:00
Corvus Corax
1bd9cdafab added missing attitude state variable ;) 2013-05-20 10:43:40 +02:00
Corvus Corax
34294d2635 Magneto to Mag fix 2013-05-20 10:35:54 +02:00
Corvus Corax
d258caad3f Merge branch 'corvuscorax/OP-946_refaktor_sensor_and_state' into corvuscorax/OP-947_stateestimator-module 2013-05-20 10:34:40 +02:00
Corvus Corax
1236bf3ed9 renamed Magneto to Mag 2013-05-20 10:33:02 +02:00
Corvus Corax
49b8e0d699 Merge branch 'next' into corvuscorax/OP-946_refaktor_sensor_and_state 2013-05-20 10:07:55 +02:00
Corvus Corax
46e7d2121f fake filter for stationary position data added 2013-05-19 22:49:11 +02:00
Corvus Corax
bf80b3f103 readded missing header 2013-05-19 22:40:50 +02:00
Corvus Corax
bc6f06e943 first filter implemented and some bugs fixed 2013-05-19 22:24:12 +02:00
Corvus Corax
b62c758831 statefilter main file almost complete, time to start work on filter classes 2013-05-19 22:24:12 +02:00
Corvus Corax
2ab9f938c9 ongoing dev work, incomplete 2013-05-19 22:24:12 +02:00
Corvus Corax
d97934cf86 Merge branch 'next' into corvuscorax/OP-946_refaktor_sensor_and_state 2013-05-19 22:05:48 +02:00
Brian Webb
649667d338 Addes ifdef PIOS_INCLUDE_WDG around several calls to the wathdog functions for the Revolution firmware (allows you to turn off the watchdog). 2013-05-19 12:56:23 -07:00
Sexy Pony
900f643bbd Reformat source code with 'make uncrustify_all' run twice. NO CODE CHANGES 2013-05-19 17:37:30 +03:00
Corvus Corax
f630351c75 Merge branch 'next' ... 2013-05-19 12:17:40 +02:00
Corvus Corax
daf329d8f5 uncrustification (again) 2013-05-19 11:38:18 +02:00
Corvus Corax
39cde8947c removed forgotten commented out code 2013-05-18 22:19:22 +02:00
Corvus Corax
9c3a8369cd OP-946: State And Sensor Refaktoring: Moved Filtering for Magnetometers, Gyros and Accels into Attitude 2013-05-18 21:55:47 +02:00
Corvus Corax
5284195c29 Refaktored sensor and state UAVObjects consistently into XXYSensor and XXYState 2013-05-18 19:36:45 +02:00
Alessio Morale
c1f767b12d Merge remote-tracking branch 'origin/amorale/OP-954_logfs_settings_in_internal_flash' into next
Conflicts:
	flight/pios/common/pios_flashfs_logfs.c
2013-05-18 15:53:25 +02:00
Corvus Corax
80caceb984 make uncrustify_all;make uncrustify_all; 2013-05-18 14:17:26 +02:00
Richard Flay (Hyper)
031ea3e069 Merge branch 'next' into brian/code_cleanup_130514 2013-05-17 05:49:38 +09:30
Alessio Morale
c80f01dff9 OP-954 Rename the legacy PIOS_INCLUDE_FLASH_SECTOR_SETTINGS to PIOS_INCLUDE_FLASH_LOGFS_SETTINGS
+review OPReview-470
2013-05-15 23:16:34 +02:00
Richard Flay (Hyper)
ae14c13195 Merge branch 'next' into hyper/OP-951_add--Wshadow-to-flight-CFLAGS
Conflicts:
	flight/modules/ManualControl/manualcontrol.c
2013-05-16 06:28:56 +09:30
Richard Flay (Hyper)
9572a156ce Merge branch 'next' into corvuscorax/o3fixes 2013-05-16 05:56:45 +09:30
Brian Webb
1608d11416 Cleans up some compiler warnings/erros and adds missing ifdefs around some e.g. WDG calls. 2013-05-14 20:22:54 -07:00
Alessio Morale
07af6b5c80 Added LogFS support for OPLinkMini with internal flash 2013-05-14 23:00:45 +02:00
Richard Flay (Hyper)
ed68fbe68d OP-951: Adds -Wshadow to flight CFLAGS and fixes resulting compilation breakage.
+review OPReview
2013-05-14 07:01:45 +09:30
Alessio Morale
ff16dd03e7 Merge branch 'amorale/OP-938_ah_improvements' into next
Conflicts:
	flight/modules/AltitudeHold/altitudehold.c
	flight/modules/ManualControl/manualcontrol.c
2013-05-13 23:30:46 +02:00
Corvus Corax
336a50f7e4 dynamic is better than static 2013-05-11 02:02:04 +02:00
Corvus Corax
0a3b59ddea ManualControl: Initialize scaledChannel to 0, - required to not fail compilation with -O3 (GCC claims about potentially uninitialized use) 2013-05-10 20:23:16 +02:00
Richard Flay (Hyper)
fbc8bc698f OP-936: Merges branch 'next' into hyper/OP-936_task-monitor-rework, fixes damage/conflicts,
and brings the callback scheduler into the fold.

+review OPReview-461
2013-05-06 19:11:14 +09:30
Brian Webb
ae8286e99a OP-932: Fixes a bug that was preventing setting of Tx power on remote modem. 2013-05-06 01:03:15 +01:00
Corvus Corax
39fe6beb4b Merge branch 'corvuscorax/Attitude-fixes' into next
Conflicts:
	flight/libraries/insgps13state.c
	flight/modules/Attitude/revolution/attitude.c
2013-05-05 23:09:07 +02:00
Corvus Corax
e0a6dae46a made "fake" variances set in indoor mode and used for airspeed hack come from UAvObject 2013-05-05 18:19:43 +02:00
Corvus Corax
946105cbe3 Merge branch 'next' into corvuscorax/Attitude-fixes 2013-05-05 17:44:59 +02:00
Richard Flay (Hyper)
a2d8544931 OP-931: adds -Wextra compiler option for the flight code, and makes the bazillion code changes required
to make the flight code compile again. Needs careful review, particularly all the fixes for the
signed vs unsigned comparisons.

+review OPReview-459
2013-05-05 16:32:24 +09:30
Alessio Morale
1e5ce7a5fb OP-938 Add programmable EXP and max full throttle climb/descent rate 2013-05-04 18:50:19 +02:00
Brian Webb
dc4455ff68 OP-932: Fixes a bug that was preventing setting of Tx power on remote modem. 2013-05-04 17:24:40 +01:00
Richard Flay (Hyper)
5b61466259 OP-931: Adds -Wdouble-promotion compiler option and fixes problems that the compiler then identifies.
+review OPReview-459
2013-05-04 19:24:01 +09:30
Richard Flay (Hyper)
7f273bd9e6 Fixes recent, but broken, commit of fix for OP-754. Bunny is bad. 2013-05-04 11:30:39 +09:30
Richard Flay (Hyper)
87fcf9fa8b Merge branch 'next' into hyper/OP-931_extra_compiler_warnings and update as necessary.
Hopefully properly fixes conflicts:
	flight/modules/Attitude/attitude.c
	flight/modules/ManualControl/manualcontrol.c
	flight/modules/Osd/WavPlayer/wavplayer.c
	flight/modules/Osd/osdgen/osdgen.c
	flight/modules/System/systemmod.c
	ground/uavobjgenerator/generators/flight/uavobjectgeneratorflight.cpp
2013-05-04 11:12:44 +09:30
Richard Flay (Hyper)
576d33464a OP-754/OPReview-374: Applied a very old patch, provided by cyr, to the latest next branch. 2013-05-04 09:10:02 +09:30
Alessio Morale
c88c0e03a8 OP-938 Reduce deadband to +/-10% around 0 2013-05-03 22:32:23 +02:00
Alessio Morale
1c3fb70ab1 OP-629 Block arming on all navigation based modes
Conflicts:
	flight/modules/ManualControl/manualcontrol.c
2013-05-03 22:32:23 +02:00
Alessio Morale
976999eba0 OP-938 Add an "Exp" to throttle stick when in AH to make it useable
Conflicts:
	flight/modules/ManualControl/manualcontrol.c
2013-05-03 22:32:23 +02:00
Alessio Morale
9f65409c5a OP-938 Stop AH from running when board is not armed 2013-05-03 22:32:23 +02:00
Brian Webb
38cd0e1c46 OP-932: Fixes configuration of the remote serial connection when using VCP/raw comms. 2013-05-03 14:46:14 +01:00
Brian Webb
12e8adbdc4 OP-932: Fixes vitual com port and (not tested) raw comms over a UART on the OPLink. 2013-05-03 14:46:01 +01:00
Richard Flay (Hyper)
0178d666d5 OP-931: Fixes the mag_updated test in revo Attitude module to use the square of the Be vector magnitude.
Also fixes the dT calculation issues in a few places, one of which was as suggested in OPReview-459.

+review OPReview-459
2013-05-03 19:24:54 +09:30
Corvus Corax
5d5a3389c4 missed removal of unneeded update chec 2013-05-03 02:48:06 +02:00
Corvus Corax
25c58ff074 Put all EKF initialisation values in a separate UAVObject EKFConfiguration,
adapted insgps13state.c/.h,
modules/Attitude/revolution,
configrevowidget.cpp,
accordingly.
2013-05-03 02:17:44 +02:00
Richard Flay (Hyper)
84e1a81f8b OP-936: Moves the task monitor code out of the flight library and into PiOS.
This move and rework also breaks the dependency of the task monitor on the UAVO subsystem,
and pushes the responsibility for updating the TaskInfo UAVO into the System module.

+review OPReview
2013-05-03 07:01:14 +09:30
Corvus Corax
48288c740e OP-931: some floating point math fixes, should make merge with other dev branch easier 2013-05-02 22:45:02 +02:00
Corvus Corax
201eed8d8f when testing variances for validity dont allow negative variances 2013-05-02 20:09:57 +02:00
Sambas
f7b9223827 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/modules/System/systemmod.c
	shared/uavobjectdefinition/taskinfo.xml
2013-05-02 09:00:12 +03:00
Corvus Corax
467b22f294 I knew I had forgotten something (cos -> cosf ...) 2013-05-01 20:40:50 +02:00
Corvus Corax
ff5fd9c7c9 Safety modification, defer any change to RevoSettings (fusionalgorithm), RevoCalibration, and EKFInitialVariance until the craft has been disarmed! 2013-05-01 20:21:46 +02:00
Corvus Corax
e7dc665c14 Reworked Variance Objects, Setting for initial EKF variance 2013-05-01 19:16:29 +02:00
Corvus Corax
3ef2693dfc use DEG2RAD and RAD2DEG everywhere 2013-05-01 18:16:22 +02:00
Corvus Corax
d77c690fe3 Merge branch 'next' into corvuscorax/Attitude-fixes
Conflicts:
	flight/modules/Attitude/revolution/attitude.c
2013-05-01 17:51:05 +02:00
Corvus Corax
a0ca66b0cd Merge branch 'corvuscorax/delayed_callbacks_with_delay' into next 2013-05-01 15:34:16 +02:00
Oleg Semyonov
7032d2a9d6 Merge remote-tracking branch 'origin/next' into os/uncrustify-config 2013-05-01 13:31:38 +02:00
Oleg Semyonov
654dd051c7 Merge remote-tracking branch 'origin/next' into os/debug-pins 2013-05-01 11:13:30 +02:00
Brian Webb
e642183dee OP-924: Any disconnect between radios causes a reset, which causes a re-configuration of I/O devices (com ports, PPM, etc). This causes problems due to certain devices (PPM in particular) not supporting re-configuration. This patch forces configuration to only happen once (on initial connection), which should fix this issue. 2013-05-01 02:48:47 +01:00
Oleg Semyonov
0394a3511c Rename template files to *.template to screen from uncrustify processing 2013-04-30 16:54:27 +02:00
Richard Flay (Hyper)
7937ae6296 OP-931: Makes flight code compile with -Wfloat-equal and -Wunsuffixed-float-constants enabled.
Also fixes warnings (and bugs) in F4 STM32_USB_OTG_Driver code, allowing -Werror to be enabled for all flight code.
Fixes all other compiler warnings that would otherwise cause the flight code to not compile with -Werror enabled.
Along the way, this also adds some uses of isnan() to various places rather than questionable tests for x != x and
x == x to check for NaNs.

+review OPReview
2013-04-30 20:36:42 +09:30
Corvus Corax
0536936d45 Safety checks for NAN and INF and invalid variance configuration to protect EKF from harm 2013-04-28 23:41:43 +02:00
Corvus Corax
c06f049e2a adjusted initial variances and defaults to be closer to the original values to reduce possibly negative impacts of the previous changesets 2013-04-28 21:17:51 +02:00
Corvus Corax
6e2c9b3c46 New EKFStateVariance UAVObject with EKF state variance information 2013-04-28 19:38:37 +02:00
Corvus Corax
14f72459c6 Changed code for attitude initialisation so it works when the board is upside down 2013-04-28 16:57:40 +02:00
Corvus Corax
63c4dc1ff0 Expose gyro bias process variance to settings UAVObject, code cleanup in revolution/attitude to make it more readable 2013-04-28 14:46:27 +02:00
Corvus Corax
dff6c2cb98 handle GyroBias more gracefully:
Its now only a dynamic offset to a static calibration. Also have to complementary filter still work with uncorrected raw values.
2013-04-28 12:25:48 +02:00
sambas
38d9d5dde3 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/modules/VtolPathFollower/vtolpathfollower.c
2013-04-28 09:46:14 +03:00
Richard Flay (Hyper)
80c917591e Cherry-pick and hand-merge of Sami's math cleanup commit from branch sambas/diffnext: 5f3e0c3e1d 2013-04-28 10:45:28 +09:30
Corvus Corax
98c90a67f5 Undo James removal of gyro_bias and gyro_scale in revocalibration
Note that the EKF can only compensate for slow temperature drift, the gyros should be bias-zeroed before flight through calibration!
2013-04-27 23:59:52 +02:00
sambas
e3b3713139 HiTL simulation solution for GPS update 2013-04-27 16:31:37 +03:00
sambas
5f3e0c3e1d Math cleanup 2013-04-27 16:30:02 +03:00
Corvus Corax
e1233c7780 Merge branch 'next' into corvuscorax/delayed_callbacks_with_delay
Conflicts:
	flight/targets/Revolution/System/inc/openpilot.h
	flight/targets/SimPosix/System/inc/openpilot.h
	flight/targets/boards/coptercontrol/firmware/inc/openpilot.h
	flight/targets/boards/oplinkmini/firmware/inc/openpilot.h
	flight/targets/boards/revolution/firmware/inc/openpilot.h
	flight/targets/boards/revoproto/firmware/inc/openpilot.h
2013-04-27 13:26:03 +02:00
sambas
9fec3f5567 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-27 13:39:58 +03:00
Brian Webb
9bb3b5870c OP-914: Reformatted the RadioComBridge module. 2013-04-27 01:45:04 +01:00
Oleg Semyonov
45f456580f Fix pios debug pin functions and defines (thanks to Mathieu for the patch) 2013-04-26 18:18:31 +03:00
Oleg Semyonov
18f7d7488b Fix directory name case for merged sambas/diffnext 2013-04-26 17:07:44 +03:00
Oleg Semyonov
e2fd821e97 Merge remote-tracking branch 'origin/next' into sambas/diffnext
Conflicts:
	make/common-defs.mk
2013-04-26 16:31:19 +03:00
Oleg Semyonov
66db978244 Rename Libraries->libraries, Modules->modules 2013-04-25 13:13:36 +03:00