Commit Graph

1065 Commits

Author SHA1 Message Date
Andrew Tridgell
c3b5f20a45 Plane: run TECS 50Hz code when throttle suppressed
this fixes auto-launch detection using TECS
2013-08-02 18:46:48 +10:00
Andrew Tridgell
8428779558 Plane: make it easier to find task numbers 2013-08-02 18:46:42 +10:00
Andrew Tridgell
62cc84aba3 Plane: use new scheduler load_average() function
this also simplifies the main loop
2013-08-02 18:46:28 +10:00
Andrew Tridgell
233b033e8c Plane: removed old speed/altitude control algorithms
Use TECS only. This makes the code a lot simpler and easier to
properly document
2013-07-22 13:28:11 +10:00
Andrew Tridgell
c0697d0a2d Plane: mark 2.75beta1 2013-07-22 12:50:30 +10:00
Andrew Tridgell
965dc228c2 Plane: fixed GUIDED mode change of altitude down 2013-07-22 12:50:02 +10:00
Andrew Tridgell
b8fa83ff54 Plane: change default slewrate to 100%/second 2013-07-22 12:50:02 +10:00
Andrew Tridgell
29c854e676 Plane: remove unused function 2013-07-22 12:50:02 +10:00
Andrew Tridgell
6e288551ab Plane: fixed reversion to pre-failsafe mode
if AUTO was entered using GCS, we need to switch back to the old mode,
not control channel
2013-07-22 12:50:02 +10:00
Andrew Tridgell
74dabad1f3 Plane: added SKIP_GYRO_CAL parameter
useful for starting the sim at high altitudes, and for starting planes
without having to hold them still
2013-07-22 12:50:01 +10:00
Andrew Tridgell
c8a83e17d0 Plane: remove old AIR_START code
this was never used or tested
2013-07-22 12:50:01 +10:00
Andrew Tridgell
7673ca0bac Plane: updates for new EAS2TAS scaling 2013-07-22 12:50:01 +10:00
Andrew Tridgell
9bbe6c1967 Plane: update to new license boilerplate for GPLv3
we had LGPLv2 in some places, despite the fw being GPLv3
2013-07-22 12:50:01 +10:00
Andrew Tridgell
882aa68c16 Plane: use new airspeed calibration code
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell
53b1b9b575 Plane: added note on type of airspeed in docs 2013-07-22 12:50:01 +10:00
Andrew Tridgell
2d5deddd30 Plane: set mode CIRCLE on short failsafe in AUTO
this makes the code match the docs
2013-07-22 12:50:00 +10:00
Andrew Tridgell
9b70675b12 Plane: check the control switch a bit more often
faster response to mode changes
2013-07-22 12:50:00 +10:00
Andrew Tridgell
6ed78c89ac Plane: don't read control switch when ch3 is in failsafe
use ch3_counter not just the final flag
2013-07-22 12:50:00 +10:00
Andrew Tridgell
51b9cf3e76 Plane: move failsafe variables into a structure
this makes the logic a bit easier to follow
2013-07-22 12:50:00 +10:00
Andrew Tridgell
608345415b Plane: pass aircraft parameters to attitude controllers
also cope with rename of airspeed min/max variables

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-18 14:53:37 +10:00
Andrew Tridgell
a4f49a28fb Plane: prepare for 2.74b release 2013-07-16 09:45:32 +10:00
Andrew Tridgell
e27dd14bcc Plane: fixed FBWB aileron control 2013-07-16 09:44:23 +10:00
Andrew Tridgell
e8355905dd Plane: prepare for 2.74 release 2013-07-15 11:19:38 +10:00
Andrew Tridgell
dbd47b2a30 Plane: make TECS the default speed/height controller 2013-07-15 11:12:24 +10:00
Andrew Tridgell
ec21922233 Plane: make wp_distance static
removed hack in AP_Camera library
2013-07-15 09:56:28 +10:00
Andrew Tridgell
3ba713352f Plane: use update_aux() for setting up extra channels 2013-07-15 09:56:12 +10:00
Andrew Tridgell
ed20c4cbc8 Plane: fixed initial reporting of battery remaining
we were not showing battery remaining 100% until we used some battery
2013-07-14 21:59:15 +10:00
Andrew Tridgell
e80d73df93 Plane: expand docs for TRIM_AUTO 2013-07-14 21:23:15 +10:00
Andrew Tridgell
4087fde140 Plane: enable CTUN log message by default 2013-07-14 21:10:12 +10:00
Andrew Tridgell
e79023ceee Plane: fixed problem with slow ground station connects
don't trigger the "scheduler out of time" code when in the delay
callback

Thanks to Marijm Slootweg for noticing this!
2013-07-14 17:28:34 +10:00
Andrew Tridgell
d4db2231d4 Plane: change to 2.73beta4 2013-07-13 21:47:22 +10:00
Andrew Tridgell
dc024d425a Plane: re-do roll hanging in ACRO mode
this avoids the euler angle zeros of the previous method by using a
gyro integrator on the roll axis

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-13 21:45:58 +10:00
Andrew Tridgell
b37f79d307 Plane: update for new APM_Control API 2013-07-13 21:45:58 +10:00
Andrew Tridgell
113bc20f8a Plane: added a new CRUISE flight mode
See
http://diydrones.com/group/apmusergroup/forum/topics/feature-request-hold-heading-mode

this fixes issue #438
2013-07-13 21:45:58 +10:00
Andrew Tridgell
399970e76f Plane: fixed default deadzone for the throttle channel
this is the 2nd half of the fix for issue #303
2013-07-13 13:19:25 +10:00
Andrew Tridgell
826ad6c086 Plane: unlock roll and pitch when we enter ACRO mode 2013-07-13 12:34:34 +10:00
Randy Mackay
1772a62415 Plane: fix to gps present check in mavlink extended status 1 msg 2013-07-13 10:27:39 +09:00
Andrew Tridgell
ea9ae31a7a Plane: fixed a bug with altitude drift in FBWB mode
not taking account of deadzone correctly
2013-07-12 21:17:09 +10:00
Andrew Tridgell
cc57bfcf12 Plane: fixed handling of deadzone in ACRO mode
RC_Channel norm_input() does not take account of the dead zone
2013-07-12 17:54:51 +10:00
Randy Mackay
9df93881fb Plane: set_dead_zone renamed to set_default_dead_zone
Change in use of parameter means value passed in should be 1/2 what it
was previously
2013-07-12 11:44:18 +09:00
Andrew Tridgell
f300df5fd1 Plane: added FS_LONG_TIMEOUT and FS_SHORT_TIMEOUT parameters
this is to address the issue raised here:

http://diydrones.com/forum/topics/ardupilot-circle-mode
2013-07-12 11:56:04 +10:00
Andrew Tridgell
73928b82a6 Plane: fixed FBWB airspeed control
thanks to Gabor for reporting this!
2013-07-11 11:58:54 +10:00
Andrew Tridgell
1d04290eab Plane: change to 2.74beta3 2013-07-11 11:58:54 +10:00
Andrew Tridgell
11a4628409 Plane: added ACRO mode to mode choices 2013-07-11 09:10:41 +10:00
Andrew Tridgell
fc67f51901 Plane: added ACRO_ROLL_RATE and ACRO_PITCH_RATE parameters
default to 180 degrees/second, which seems reasonable
2013-07-11 09:10:41 +10:00
Andrew Tridgell
608007361b Plane: added initial implementation of ACRO mode
rate based control with attitude locking
2013-07-11 09:10:41 +10:00
Andrew Tridgell
2005d5642a Plane: fixed a documentation string
GND_ALT_OFFSET is now for barometric corrections
2013-07-10 14:46:22 +10:00
Andrew Tridgell
3c97fad2ec Plane: changes for GPS field changes 2013-07-10 14:04:22 +10:00
Andrew Tridgell
7aa360b176 Plane: added relative_altitude helper functions
prevents some code duplication
2013-07-10 14:04:22 +10:00
Paul Riseborough
971d36f06b Plane: added height to 10Hz TECS call 2013-07-10 14:04:22 +10:00
Andrew Tridgell
3c177867a4 Plane: allow enable/disable of camera log messages in CLI 2013-07-10 12:23:36 +10:00
Andrew Tridgell
f7c8d1e1ee Plane: use current_loc.alt for altitude to TECS 2013-07-10 11:55:35 +10:00
Craig@3DR
7f4336430a Plane: trigger picture + logging on camera update_location() 2013-07-10 08:40:01 +10:00
Paul Riseborough
a4f3180e2a Plane: added support for throttle nudging with TECS 2013-07-09 20:51:03 +10:00
Paul Riseborough
c34803db13 Plane: pass in adjusted height above field to TECS 2013-07-09 09:25:55 +10:00
Andrew Tridgell
9f612f6f78 Plane: only call TECS when throttle is not suppressed
this helps prevent integrator buildup on the ground
2013-07-08 12:07:50 +10:00
Andrew Tridgell
1355b6d89d Plane: break-up scheduling into smaller pieces
ensure mavlink sends don't push us over a scheduling boundary
2013-07-05 18:05:27 +10:00
Andrew Tridgell
1d6748cf3f Plane: use a glide slope in RTL when descending
when above the target altitude in RTL come down slowly, when below
climb rapidly

This fixes issue #39
2013-07-05 14:56:58 +10:00
Andrew Tridgell
d30dd7c3f1 Plane: only run TECS when in an auto-throttle mode
this prevents integrator buildup in user controlled modes
2013-07-05 14:55:22 +10:00
Andrew Tridgell
dd330885b8 Plane: added compass and baro accumulate functions 2013-07-05 12:59:15 +10:00
Andrew Tridgell
84299c3747 Plane: document ALT_CTRL_ALG=2 2013-07-04 17:00:04 +10:00
Andrew Tridgell
6c7d160ee6 Plane: fixed TECS takeoff detection 2013-07-04 16:56:57 +10:00
Andrew Tridgell
a5bda3ffef Plane: changed to using a "aircraft parameters" structure
this structure can be passed to libraries to give them easy access to
critical user parameters
2013-07-04 16:56:57 +10:00
Paul Riseborough
d62636d309 Plane: added new TECS altitude controller
Includes improvements to takeoff/launch detect logic to support hand
launching for X-8 flight
2013-07-04 16:56:57 +10:00
Andrew Tridgell
f3237b9e5d Plane: update FS_LONG_ACTN and FS_SHORT_ACTN docs
thanks to Craig for noticing this
2013-07-02 14:50:04 +10:00
Andrew Tridgell
75ef7c26e1 Plane: update takeoff course when conditions met
This allows for change of heading before the final takeoff conditions
are met

thanks to Greg Fletcher for suggesting this
2013-07-01 17:05:13 +10:00
Andrew Tridgell
570ecea6c6 Plane: added secondary rudder support 2013-06-29 17:31:03 +10:00
Andrew Tridgell
0d3faeda90 Plane: update_mount assumes 50Hz, for camera trigger 2013-06-25 12:44:26 +10:00
Andrew Tridgell
bb47029564 Plane: enable CAM_TRIGG_DIST parameter 2013-06-25 12:44:26 +10:00
Andrew Tridgell
45f5d05bd2 Plane: enabled RELAY_* parameters 2013-06-25 12:44:26 +10:00
Andrew Tridgell
056e0ca40d Plane: APM2 doesn't have channel 9 PWM output 2013-06-24 13:06:54 +10:00
Paul Riseborough
2204b30e66 Plane: Added APM_Control integrator limits to table used to covert old PID values 2013-06-22 21:59:47 +10:00
Randy Mackay
6ea568d72a Plane: param description change for RC5 ~ RC11
Reversing the order may avoid duplication of param descriptions in the
auto generated parameter web page
2013-06-21 09:58:02 +09:00
Randy Mackay
75bcd7cdab Plane: update THR_FS_VALUE parameter description 2013-06-18 15:57:29 +09:00
Andrew Tridgell
4a0c90246e Plane: make GPS UART blocking again 2013-06-11 18:50:23 +10:00
Andrew Tridgell
641ad6bc63 Plane: increase time allowed for update_alt()
the altitude tracking code can be quite expensive with TECS
2013-06-07 08:41:09 +10:00
Andrew Tridgell
b0c87b8a61 Plane: fix VOLT_DIVIDER docs 2013-06-07 08:40:28 +10:00
Andrew Tridgell
b27ffdd087 Plane: new plane beta 2.74beta2 2013-06-04 15:10:11 +10:00
Andrew Tridgell
c008fa764c Plane: update_commands() can take 7ms if it needs to write a waypoint 2013-06-04 13:42:25 +10:00
Andrew Tridgell
93cd0f9a31 Plane: switch to new AP_Scheduler
this gives us more accurate task scheduling in ArduPlane, plus better
monitoring of task timing (via SCHED_DEBUG)
2013-06-04 13:34:58 +10:00
Andrew Tridgell
6bac13f9e2 Plane: fixed RCMAP_* to fix channel ranges for no-reboot changes 2013-06-03 21:20:39 +10:00
Andrew Tridgell
02d72ffcba Plane: make it possible to change board orientation at runtime 2013-06-03 16:52:44 +10:00
Andrew Tridgell
4c9bc30f58 Plane: make it possible to change control channel ordering without reboot
this makes configuration a bit easier
2013-06-03 16:42:38 +10:00
Andrew Tridgell
27bc0cdc2c Plane: rename old channel_* globals
prevent the old "g." names from being used
2013-06-03 16:37:51 +10:00
Andrew Tridgell
a1f64d606a Plane: fixed remaining places where primary channel ordering was assumed
should now use rcmap for all inputs
2013-06-03 16:23:48 +10:00
Andrew Tridgell
fb9bf21522 Plane: allow channel mapping of first 4 channels
this makes it easier to support DSM and SBUS radios
2013-06-03 16:23:48 +10:00
Andrew Tridgell
515d726ee0 Plane: use RC_Channel::rc_channel() instead of rc_ch[] 2013-06-03 16:23:48 +10:00
Andrew Tridgell
f7697574db Plane: use the new airspeed driver interface
the choice of analog source is now in the airspeed driver
2013-06-03 11:51:09 +10:00
Andrew Tridgell
d9bcfd913a Plane: reset attitude integrators on mode change 2013-06-01 22:29:38 +10:00
Andrew Tridgell
bb3171ab5f Plane: zero attitude integrators on the ground 2013-06-01 22:29:38 +10:00
Andrew Tridgell
cd55ed45e2 Plane: removed the old roll/pitch/yaw PID controllers
use the new controllers, with auto parameter conversion
2013-05-31 14:06:56 +10:00
Andrew Tridgell
91a04ab654 Plane: fixed headers for mode logging 2013-05-31 14:04:03 +10:00
Andrew Tridgell
cae1079747 Plane: auto-convert the old RLL2SRV* parameters to the new CTL_RLL_* parameters 2013-05-31 07:58:29 +10:00
Andrew Tridgell
e48b8c7b4a Plane: improve RTL altitude docs 2013-05-31 07:58:29 +10:00
Andrew Tridgell
6e0f1f56de Plane: update docs on volt/current pin 2013-05-31 07:57:15 +10:00
Andrew Tridgell
fa9eb84542 Plane: added more parameter docs (flaps and GCS control) 2013-05-30 09:44:09 +10:00
Andrew Tridgell
de904468b2 Plane: added BATT_MONITOR and VOLT_DIVIDER docs 2013-05-30 09:06:36 +10:00
Andrew Tridgell
eba7d6da9a Plane: removed the old crash_timer code
This code is less relevent with the new L1 navigation, and could cause
issues with the pilot not having control after a long dive.

Thanks to Soren for pointing out the issues

See issue #305
2013-05-28 11:19:28 +10:00
Andrew Tridgell
f9a1b4f0e3 Plane: improve ALT_MIX docs 2013-05-28 10:10:22 +10:00
Andrew Tridgell
767d9d0eb5 Plane: fixed stick mixing in AUTO modes
the mixing was asymmetric. Many thanks to Soren Kuula for noticing this!
2013-05-27 08:24:35 +10:00
Andrew Tridgell
c481ac8745 Plane: use a default mixing gain of 0.5
this ensures compatibility with existing configs
2013-05-25 19:15:47 +10:00
Andrew Tridgell
c81421e275 Plane: added MIXING_GAIN parameter
this allows for the full range of output on both channels, but can
saturate
2013-05-25 18:28:13 +10:00
Andrew Tridgell
a22f5e3bc4 Plane: enable wind estimation 2013-05-24 11:21:42 +10:00
Andrew Tridgell
dd633fcf3f Plane: make voltage and battery capacity failsafe settable at runtime
this also fixes issue #292
2013-05-22 20:33:57 +10:00
Randy Mackay
4c08e32bf6 Plane: param update for AP_Baro 2013-05-21 14:22:23 +09:00
Randy Mackay
84909ee56a Plane: add parameter description for LOG_BITMASK 2013-05-21 11:22:11 +09:00
Randy Mackay
c7961a72fc Plane: send_text_P bug fix for short messages 2013-05-20 12:51:16 +09:00
Andrew Tridgell
bd4b7d136f Plane: mark ArduPlane 2.74beta 2013-05-13 17:32:33 +10:00
Andrew Tridgell
001d18b51d Plane: removed scaling of pitot source 2013-05-13 15:19:05 +10:00
Andrew Tridgell
97b6aaac77 Plane: use voltage_average() for RSSI
this fixes it on PX4
2013-05-13 15:19:05 +10:00
Andrew Tridgell
b940c4b28e Plane: use library gcs_severity 2013-05-09 09:28:57 +10:00
Andrew Tridgell
635b3fabda Plane: fixed APM1-1280 build 2013-05-08 21:44:45 +10:00
Andrew Tridgell
81c1fd5fc4 Plane: support 3D accel calibration over MAVLink 2013-05-08 16:25:35 +10:00
Andrew Tridgell
c5f1570f32 Plane: fixed flash logging of ATT
fixed types to be int16
2013-05-08 14:21:32 +10:00
priseborough
854c50501d Plane: Added a constraint to demanded bank angle during FBW-A mode to prevent roll limits being exceeded 2013-05-07 11:01:05 +10:00
Andrew Tridgell
fdd509a7c1 Plane: move baro init earlier in startup
this ensures it is initialised when CLI takeover by MP happens

Thanks to Prof Avi Levi for reporting this bug
2013-05-06 10:57:57 +10:00
Andrew Tridgell
0cf49308af Plane: mark a 2.73beta release 2013-05-05 22:36:22 +10:00
Andrew Tridgell
0e6a64fc14 Plane: reset roll/pitch integrators for APM_Control in takeoff
when airspeed is below airspeed minimum. This is consistent with the
previous controllers

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-05-05 22:03:13 +10:00
Andrew Tridgell
9c6f80c42b Plane: moved some default values to Parameters.pde 2013-05-05 21:51:09 +10:00
Andrew Tridgell
6251d0510a Plane: obey pitch trim and throttle pitch feed forward in new controllers
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-05-05 21:51:09 +10:00
Andrew Tridgell
e87a6d5564 Plane: added links to new APM controller docs 2013-05-05 21:51:09 +10:00
Andrew Tridgell
11ad9d5a2d Plane: auto-invert pitch control when upside down
this helps to recover when flying inverted, for example when in manual
and hitting the lower altitude geofence
2013-05-05 21:51:09 +10:00
Andrew Tridgell
4e2b88f6e6 Plane: added ATT_CONTROLLER option to select attitude controller
set to 1 for the new APM_Control library
2013-05-05 21:51:09 +10:00
Andrew Tridgell
55f7d18979 Plane: avoid copying the DCM matrix 2013-05-05 21:51:09 +10:00
priseborough
3663426550 Plane: Fixed bug in groundspeed_undershoot that could cause a fly-away in windy conditions.
Use the component of velocity in the forward direction rather than the magnitude
2013-05-05 21:51:08 +10:00
Paul Riseborough
663951d9a7 Plane: rename APM_Control parameters
this groups the parameters more logically
2013-05-05 21:51:08 +10:00
Paul Riseborough
8c5b603848 Plane: use new APM_Control API 2013-05-05 21:51:08 +10:00
Andrew Tridgell
b43712e4d2 Plane: fixed APM1-1280 build 2013-05-03 12:40:43 +10:00
Andrew Tridgell
9f0a4dd553 Plane: log GCS text messages to flash log
useful for seeing more complex actions
2013-05-03 11:16:50 +10:00
Andrew Tridgell
bb8f9d5443 Plane: simplify setHIL for baro 2013-05-02 15:27:02 +10:00
Andrew Tridgell
3cd52a9689 Plane: fixes for AP_Baro_HIL 2013-05-02 15:09:27 +10:00
Andrew Tridgell
0d97f417ec Plane: enable compass on all boards by default
if not present, then mag init will fail and it will disable
2013-05-02 15:01:33 +10:00
Andrew Tridgell
0aa38a5bd4 Plane: use new HIL compass API 2013-05-02 15:00:59 +10:00
Andrew Tridgell
5ba171af9a Plane: fixed mavlink levelling
this was broken by a recent commit (after 2.72 was released)
2013-05-02 13:38:28 +10:00
Andrew Tridgell
a019e3740e Plane: updates for new compass API 2013-05-02 12:48:14 +10:00
Andrew Tridgell
9584aa89d9 Plane: replaced constrain() with constrain_float() 2013-05-02 10:27:10 +10:00
Randy Mackay
b0f5b9a4cf Plane: use renamed RCInput valid_channels 2013-04-29 15:06:38 +09:00
Andrew Tridgell
de3fcbc413 Plane: removed the MANUAL_LEVEL option
levelling on every startup is far too error prone. This was just
another parameter that everyone changed.
2013-04-29 14:19:53 +10:00
Andrew Tridgell
3d7a4d0e6e Plane: added ELEVON_OUTPUT option
this is like the vtail mixer, but for elevons
2013-04-29 12:13:59 +10:00
Andrew Tridgell
855277fa85 Plane: get ready for 2.72 release 2013-04-28 15:56:30 +10:00
Andrew Tridgell
bdf0a2da69 Plane: log mode number as well as mode string
this makes graphing mode changes easier
2013-04-28 14:58:13 +10:00
Andrew Tridgell
b53e3bb1fc Plane: log GPS messages as they come in
stops us logging duplicate messages
2013-04-28 14:56:31 +10:00
Andrew Tridgell
1956d9c2dc Plane: show modes as strings in log 2013-04-28 14:47:59 +10:00
Randy Mackay
f47a2e951a Plane: add I2C error count to PM message 2013-04-26 22:39:56 +09:00
Andrew Tridgell
0b8c2da4df Plane: support 12 output channels on PX4 2013-04-25 20:10:53 +10:00
Andrew Tridgell
4f225eff57 Plane: if airspeed enabled, require 5m/s to unsuppress throttle 2013-04-25 20:10:53 +10:00
Andrew Tridgell
ac7561c5d5 Plane: mark 2.72beta version 2013-04-24 16:19:18 +10:00
Andrew Tridgell
8ec1eaa8b1 build: removed obsolete cmake rules
these have not been maintained for over a year
2013-04-23 11:07:53 +10:00
Andrew Tridgell
e446f375a7 Plane: set loiter.direction for GUIDED mode 2013-04-21 23:46:35 +10:00
Bill Bonney
3ec891265f Plane: Enable CURRENT logging by default onto Dataflash 2013-04-21 07:24:02 +10:00