Commit Graph

1201 Commits

Author SHA1 Message Date
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
Andrew Tridgell 02ed37e750 Plane: fixed APM1-1280 build 2013-04-20 18:21:19 +10:00
Andrew Tridgell 2e5834cc7f Plane: print flight mode as string in logs 2013-04-20 15:18:10 +10:00
Andrew Tridgell 3b90c6c386 Plane: log parameter changes 2013-04-20 13:52:36 +10:00
Andrew Tridgell 991d6598ef Plane: log board voltage 2013-04-20 13:52:36 +10:00
Andrew Tridgell 5c553852ed Plane: when logging is disabled don't include DataFlash at all 2013-04-20 13:52:36 +10:00
Andrew Tridgell 0c5b393919 Plane: added compass logging 2013-04-20 13:52:36 +10:00
Andrew Tridgell c56f338fe0 Plane: convert to new logging system 2013-04-20 13:52:36 +10:00
Andrew Tridgell c8af70a18d Plane: make the plane code compatible with the new logging system
not actually converted yet
2013-04-20 13:52:36 +10:00
Andrew Tridgell a329e32ccb Plane: added gps status to flashlog 2013-04-19 10:24:20 +10:00
Andrew Tridgell abe4dba871 Plane: added PX4 flash logging 2013-04-17 21:35:27 +10:00
Andrew Tridgell a12323c9fd Plane: fixed logging for new API 2013-04-17 21:34:56 +10:00
Andrew Tridgell 42344455c9 Plane: fixed structure init for arduino compiler 2013-04-15 21:59:07 +10:00
Andrew Tridgell 9f0f482dd7 Plane: fixed LOITER_TIME to start when loiter starts
thanks to Paul Riseborough for finding this bug!
2013-04-15 21:39:14 +10:00
Andrew Tridgell 75f4a43e2d Plane: fixed LOITER_TURNS command
and cleanup more loiter variables
2013-04-15 21:31:11 +10:00
Andrew Tridgell 82cd391cf8 Plane: use RADIUS_OF_EARTH define 2013-04-15 14:55:58 +10:00
Andrew Tridgell 8f091e70c8 Plane: move elevon variables into a structure 2013-04-15 14:53:56 +10:00
Andrew Tridgell 79c6f32400 Plane: made variables static and remove initial rc overrides
minor code size savings
2013-04-15 14:46:01 +10:00
Andrew Tridgell e918293e86 Plane: explain verify_*() commands 2013-04-15 14:41:15 +10:00
Andrew Tridgell 19b92b5bd8 Plane: removed "circle waypoint" completion test
this is redundent with the location_passed_point() test
2013-04-15 14:39:18 +10:00
Andrew Tridgell 994d8e354a Plane: allow for negative WP_LOITER_RAD for conter-clockwise loiter
this follows the same convention as missions
2013-04-15 10:52:32 +10:00
Andrew Tridgell 78538d0543 Plane: removed old HDNG2RLL PID control
not used with L1
2013-04-15 10:52:32 +10:00
Andrew Tridgell b2ad43f625 Plane: removed ahrs.set_barometer() 2013-04-15 10:52:32 +10:00
Andrew Tridgell 8d2cf6f3e5 Plane: update author list 2013-04-12 22:01:41 +10:00
priseborough 70a186464b Plane: added LEVEL_ROLL_LIMIT parameter
this replaces both TKOFF_HEAD_HOLD and RUDDER_STEER, allowing users to
instead select a roll limit for takeoff and landing
2013-04-12 21:59:52 +10:00
Andrew Tridgell 575f346e85 Plane: removed HIL_MODE_ATTITUDE
we really need full sensors for HIL with the L1 controller. The flight
is also _much_ better with sensors HIL.
2013-04-12 17:44:40 +10:00
Andrew Tridgell 11eb0cfce1 Plane: update for new AP_Navigation controller class
this switches ArduPlane over to use the L1 navigation controller, via
a generic nav_controller object pointer.

Note that the nav_controller controls all types of navigation now,
including level flight and heading hold. This provides a cleaner
abstraction than the old method of special case navigation handling

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-04-12 12:48:09 +10:00
Andrew Tridgell c47bc09a3c Plane: avoid doing radio trim if less than 20% of travel available
this prevents problems with awful trim on bootup due to RC TX being
off
2013-04-12 12:47:59 +10:00
tobias 217b8d7a59 cleanup: use const for struct Location pointers and references
this allows the compiler to generate more efficient code
2013-04-09 12:10:32 +10:00
Andrew Tridgell 71f6287388 Plane: fixed spelling 2013-04-06 17:42:20 +11:00
Andrew Tridgell dcbe144c7e Plane: prepare for release of 2.71 2013-04-06 17:27:21 +11:00
Andrew Tridgell e58f49aeaf Plane: copy rudder out in TRAINING mode
we were doing rudder mixing in training mode, which shouldn't be done
2013-04-05 19:38:43 +11:00
Andrew Tridgell 993154ea59 Plane: expand the VTAIL_OUTPUT docs for APM1 2013-04-05 16:38:46 +11:00
Andrew Tridgell bd2b9fbe9d Plane: simplify the VTail mixer to be more like a hardware mixer
this should make it easier to trim the vtail
2013-04-05 15:47:51 +11:00
Andrew Tridgell 17cbcd1bf6 Plane: fixed failsafe with VTAIL_OUTPUT 2013-04-05 15:35:26 +11:00
Andrew Tridgell 406921faf1 Plane: added VTAIL_OUTPUT option
this allows for software vtail mixing
2013-04-05 15:22:11 +11:00
Randy Mackay 21a51c8333 Plane: update GCS_Mavlink parameter documentation 2013-04-03 22:58:25 +09:00
Andrew Tridgell a69c9ff674 Plane: added logging of DIGICAM events 2013-04-02 13:08:38 +11:00
Andrew Tridgell ddfcafe80f Plane: fixed DIGICAM camera trigger 2013-04-02 13:08:38 +11:00
Andrew Tridgell 683a2919d1 Plane: prevent stick mixing when throttle is below failsafe threshold
this fixes issue #40
2013-04-02 10:42:56 +11:00
Andrew Tridgell c5e2cfcc3e Plane: preparing for 2.71-beta 2013-04-02 09:25:24 +11:00
Andrew Tridgell 2506c216dd Plane: added a second type of stick mixing
this changes STICK_MIXING from a boolean to a tri-state. With
STICK_MIXING=1 it now uses FBW style mixing. With STICK_MIXING=2 it
uses the old style of direct stick mixing.
2013-04-02 08:52:56 +11:00
Andrew Tridgell 5d54215221 Plane: use int16_t() not int() to ensure simulator matches AVR 2013-04-01 22:17:05 +11:00
Andrew Tridgell e390726bdd Plane: prevent overflow on large PID gains
this uses get_pid_4500() to prevent overflow of servo_out on large PID gains
2013-04-01 22:17:04 +11:00
Andrew Tridgell 624ebced38 Plane: document INVERTEDFLT_CH 2013-04-01 22:17:04 +11:00
Andrew Tridgell dfb14d760b Plane: added HIL_SERVOS option
this allows for real servo output in HIL
2013-03-30 14:38:43 +11:00
Andrew Tridgell 6cc4aadc06 Plane: report compass health in SYS_STATUS 2013-03-29 13:48:40 +11:00
Andrew Tridgell a165f0d138 Plane: removed old angle wrap code 2013-03-29 13:13:50 +11:00
Andrew Tridgell 7db7d7db77 Plane: change FBWB altitude control algorithm
this makes FBWB much less sensitive to airframe tuning. When the
elevator stick first goes neutral it locks in the current altitude as
the target altitude. When the elevator stick is off neutral, it moves
the target altitude in proportion to the elevator, at a rate goverened
by the new FBWB_CLIMB_RATE parameter

This prevents the aircraft from slowly drifting in altitude in FBWB,
and gives a more intuitive control mechanism for altitude.

Thanks to Chris Miser from Falcon UAV for help in designing this
change
2013-03-28 10:27:25 +11:00
Andrew Tridgell fcde3ceb24 Plane: also avoid rudder on takeoff with TOFF_HEAD_HOLD==0 2013-03-27 16:36:39 +11:00
Randy Mackay a49fe272ad Plane: replace gps fix with status
Required to ensure 3d fix is used for initialising home
2013-03-27 11:42:02 +09:00
Randy Mackay c2055557f5 Plane: add support for GPS fix type 2D 2013-03-27 11:41:51 +09:00
Andrew Tridgell f077f54e6a Plane: added TKOFF_HEAD_HOLD option
this allows control over whether ArduPlane tries to hold heading
during auto takeoff. For hand launches it can be better to hold the
wings level and not attempt to hold heading during takeoff to prevent
the possibility of a stall during the climb out.

Thanks to Chris Miser from Falcon UAV for the feedback that led to
this option.
2013-03-27 10:27:14 +11:00
Andrew Tridgell 1d983b3f2e Plane: fixed X accel triggering of auto 2013-03-22 11:53:45 +11:00
Andrew Tridgell 1a36c3684b Plane: fixed GPS test (detection of uBlox needs 10Hz poll) 2013-03-21 22:45:17 +11:00
Andrew Tridgell 6948e0c473 Plane: only enter CLI is link is idle when 3 enters are hit
this will prevent binary contents of RADIO packets being interpreted
as CLI enter line-feeds
2013-03-21 21:57:54 +11:00
Andrew Tridgell 0e37ae4400 Plane: change CLI timeout to 20s 2013-03-21 17:34:34 +11:00
John Stäck c9576e59f9 Add set command to setup menu (and changed show command), same as for ArduCopter. Not included when building for 1280. 2013-03-19 11:40:25 +09:00
Randy Mackay 36834e77b5 Copter: remove support for CLI Slider 2013-03-18 14:07:04 +09:00
Andrew Tridgell 36ff950b12 Plane: fixed MAVLink target IDs in fence point message
thanks to Kevin Hester for finding this
2013-03-12 15:04:48 +11:00
Andrew Tridgell 0a385cc0ff Plane: added TKOFF_THR_MINACC option
this is used for triggering auto takeoff with a hand launched plane
2013-03-09 14:41:04 +11:00
Michael Warren 9697ff5d6d Plane: Added extra parameter to specify at what speed in auto-takeoff throttle should engage
This adds TKOFF_THR_MINSPD in m/s
2013-03-09 14:19:48 +11:00
Andrew Tridgell 87c6545ac6 Plane: don't trigger GCS failsafe if GCS never connected
The we have never received a heartbeat message from the GCS then don't
use the lack of heartbeat to trigger a failsafe event
2013-03-09 13:48:39 +11:00
Andrew Tridgell e93888dee9 Plane: make a throttle_cruise of 0 mean always zero throttle
this can be used for parachute landing missions

Thanks to Chris Miser for the suggestion
2013-03-09 13:48:39 +11:00
Andrew Tridgell e0e22b63a7 Plane: removed INPUT_VOLTS parameter
no longer needed
2013-03-08 10:01:33 +11:00
Andrew Tridgell 2331c84423 Plane: use voltage_average() to not depend on INPUT_VOLTS 2013-03-03 16:16:01 +11:00
Andrew Tridgell de55e19eec Plane: updates for new dataflash API 2013-03-01 07:18:26 +11:00
Andrew Tridgell b3213b7113 Plane: fixes for new DataFlash API 2013-03-01 07:18:25 +11:00
Andrew Tridgell 5f4c5f8201 Plane: update SERIAL0_BAUD parameter description 2013-02-22 08:39:02 +11:00
Andrew Tridgell 139acc0530 Plane: ignore control mode changes when in throttle failsafe
this prevents the receiver causing a temporary mode change
2013-02-21 11:21:39 +11:00
Andrew Tridgell 1ebaa14a99 Plane: prepare for 2.70 release 2013-02-21 09:49:15 +11:00
Andrew Tridgell 0a0b51cc63 Plane: reset AHRS trim after a level operation 2013-02-20 11:56:02 +11:00
Andrew Tridgell 24826c0c74 Plane: default the stream rates to 1Hz 2013-02-20 10:08:49 +11:00
Andrew Tridgell 1007f2ef07 Plane: fixed a bug with setting stream rates
this is what caused the "no sensors" problem in the 2.69 release
2013-02-20 09:32:01 +11:00
Randy Mackay 9c984b18db Plane: integrate automatic roll and pitch trims 2013-02-19 13:30:51 +09:00
Andrew Tridgell c989099665 Plane: enable PX4IO dual telemetry devices 2013-02-18 13:56:21 +11:00
Andrew Tridgell e8806b14ec Plane: enable MAV_CMD_DO_DIGICAM_CONTROL 2013-02-14 09:35:56 +11:00
Andrew Tridgell 8c0f065ee4 Plane: fixed an integer multiply error that caused poor altitude on landing
the control of altitude between waypoints was broken due to an integer
overflow
2013-02-13 19:32:44 +11:00
Andrew Tridgell 2f677acf3b Plane: update firmware version to 2.69 2013-02-11 15:02:08 +11:00
Andrew Tridgell 9f70c6c70d Plane: make CIRCLE mode hold altitude
this will prevent us losing a lot of altitude during the initial
failsafe phase
2013-02-11 13:52:25 +11:00
Andrew Tridgell 9d3224ef34 Plane: fixed target speed reload on landing
thanks to Doug for this fix!
2013-02-11 11:40:36 +11:00
Michael Oborne 88840eb759 Send FS state to gcs for AP 2013-02-09 10:11:26 +08:00
Andrew Tridgell c41b927a15 Plane: added shell command for px4
used to launch nsh for PX4IO firmware upgrades
2013-02-07 15:04:33 +11:00
Andrew Tridgell 3913c42183 Plane: fixed bit combination
bitwise, not arithmetic
2013-02-05 10:33:10 +11:00
Jochen Tuchbreiter c5f19f5df8 Plane: Implement issue 80: counterclockwise loiter
- libraries/AP_Common/AP_Common.h: Use bit 2 of Location.options to store
  loiter direction
- ArduPlane/defines.h: New bitmask MASK_OPTIONS_LOITER_DIRECTION for struct
  Location bit 2
- ArduPlane/ArduPlane.pde: New variable loiter_direction
- ArduPlane/GCS_Mavlink.pde: For mavlink loiter-commands use sign of param3 to
  detemine direction. Set Location.option flag accordingly
- ArduPlane/commands.pde: Make sure loiter-directions get saved into EEPROM
  correctly
- ArduPlane/commands_logic.pde: Set loiter_direction on all loiter-actions
  as well as RTL/instant loiter
- ArduPlane/navigation.pde: Yield loiter_direction in update_loiter
2013-02-05 10:29:31 +11:00
Brandon Jones fa7839941f After Plane: cleanup driver declaration 4d9a74d, HIL_MODE_ATTITUDE with MAG_ENABLE=1 set results in continuous reboot/APM crash. Added define for AP_COMPASS_HIL when HIL_MODE_ATTITUDE is enabled. 2013-02-05 09:04:34 +11:00
Michael b9a5be6c8b Plane: added secondary elevator support 2013-02-05 08:57:58 +11:00
Andrew Tridgell e762c43312 Plane: switch to an array for stream rates
this saves a couple of hundred bytes of flash.
2013-02-05 08:20:41 +11:00
Pat Hickey 85d783d5a9 ArduPlane: fixed memory unsafe member access in GCS_MAVLINK 2013-02-02 22:43:59 -08:00
Andrew Tridgell ebb7f27962 Plane: minor signed/type fixups 2013-01-27 13:16:26 +11:00
Andrew Tridgell 3caaa27526 Plane: fixed build errors in logging 2013-01-27 12:58:50 +11:00
Randy Mackay 7297a1ff83 Plane: renamed RAW dataflash message to IMU 2013-01-26 17:29:29 +09:00
Randy Mackay e674626fd6 Plane: rename CUR and CURR to CURRENT for logging
Based on user complaint that log was enabled/disabled using CUR while
message that appeared in log was CURR.
2013-01-26 17:19:42 +09:00
Randy Mackay 6f46f4a7d0 Plane: logging changes to use new faster packet method
also RAW message renamed to IMU
2013-01-26 17:07:21 +09:00
Randy Mackay d2767b911c AP_Math: switch get_distance_cm to return uint32_t
Includes changes required on ArduCopter and ArduPlane side as well
2013-01-26 17:04:12 +09:00
Andrew Tridgell 9178022a73 Plane: don't change trims if radio_in is zero 2013-01-25 20:44:36 +11:00
Andrew Tridgell 7ab3d93ed4 Plane: fixed typo 2013-01-23 10:06:22 +11:00
Andrew Tridgell 49356b790b Plane: limit number of bytes read per GCS check 2013-01-23 09:35:06 +11:00
Andrew Tridgell 9813468640 Plane: fixed mavlink fetch of 16 character parameter 2013-01-21 16:52:08 +11:00
Andrew Tridgell 4d9a74d742 Plane: cleanup driver declaration
remove a lot of the #if nesting
2013-01-21 16:08:55 +11:00
Andrew Tridgell 4deee014d6 Plane: setup PX4 airspeed analog port 2013-01-21 13:56:28 +11:00
Andrew Tridgell 96b87e3b44 Plane: fixed test baro printout 2013-01-20 22:13:21 +11:00
Andrew Tridgell 2e04d4827a Plane: run PX4 console at 57600 2013-01-20 22:13:21 +11:00
Andrew Tridgell f9cb9e08ae Plane: fixed orientation of PX4 compass 2013-01-17 17:23:34 +11:00
Andrew Tridgell 9058949558 Plane: fixed some warnings 2013-01-16 14:19:25 +11:00
James Bielman 5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell fa3a4c68b6 Plane: use common log reading function 2013-01-15 14:03:51 +11:00
Andrew Tridgell 28352b3548 Plane: ensure ahrs.init() is called 2013-01-13 17:32:48 +11:00
Andrew Tridgell 92c9a4c1ce Plane: start update logging for new API 2013-01-13 17:31:42 +11:00
Andrew Tridgell bfaf91affe Plane: use an enum for flash log message types 2013-01-13 17:31:42 +11:00
Andrew Tridgell 86f667f6cc Plane: added new SERIAL0_BAUD parameter
this is useful on PX4
2013-01-13 07:39:40 +11:00
Andrew Tridgell bea9a9d558 Plane: move memcheck_init() earlier in setup() 2013-01-11 10:25:09 +11:00
James Bielman ab37f833db MS5611: Fix CONFIG_MS5611_SERIAL definitions.
- Make sure the values are defined as integers.  We were always using
  SPI rather than using I2C when desired.
2013-01-09 11:19:51 -08:00
Andrew Tridgell e0f052dd9a Plane: update for new AP_Param API 2013-01-09 13:30:55 +11:00
Andrew Tridgell 38f56be2c4 Plane: enable hardware sensors on PX4 2013-01-04 21:07:56 +11:00
Andrew Tridgell 2e2f96d721 Plane: cope with a HIL_STATE packet before GPS init 2013-01-04 12:47:08 +11:00
Andrew Tridgell 9e0096ddb5 Plane: fix handling of sensors HIL startup 2013-01-04 12:34:35 +11:00
James Bielman 264db3670e AP_Baro: Add CONFIG_MS5611_SERIAL option to choose between SPI and I2C.
- Update ArduCopter and ArduPlane modules to pass the correct serial
  driver to the MS5611 driver.
- Update barometer examples, assuming SPI.
2013-01-03 13:48:06 -08:00
Andrew Tridgell 868269e037 Plane: switch PX4 to attitude HIL for now
a bit easier to debug
2013-01-03 13:38:54 +11:00
Andrew Tridgell e8075b1657 Plane: for HIL_SENSORS for PX4 for now
until we have sensor drivers
2013-01-03 11:03:24 +11:00
Andrew Tridgell 07eed60ae4 Plane: use new apm.mk 2013-01-02 17:28:21 +11:00
Andrew Tridgell 2fe77fa6fa Plane: check for APPDIR to pull in px4 build logic 2013-01-02 17:06:44 +11:00
Andrew Tridgell 4cdb3cd390 Plane: use GRAVITY_MSS 2013-01-02 14:45:08 +11:00
Andrew Tridgell 1a49549e3e Plane: start port of main ArduPlane code to AP_HAL_PX4 2013-01-02 14:45:08 +11:00
Andrew Tridgell b6295c12e1 Plane: fixes for new AP_Relay interface 2013-01-02 10:18:45 +11:00
Craig@3DR 0ed25cf719 Global change all references from
GPS_PROTOCOL_MTK16
to
GPS_PROTOCOL_MTK19
2013-01-02 09:24:31 +11:00
Andrew Tridgell edad43611d Plane: reset last heartbeat time on startup completion
this gives more time for the GCS to send its first heartbeat
2012-12-26 08:46:36 +11:00
Andrew Tridgell 85e4f67e68 Plane: added a note about the dangers of the FS_GCS_ENABL option 2012-12-25 21:18:39 +11:00
Andrew Tridgell cf8e648558 CLI: fixed accel setup
disable mavlink callback in CLI
2012-12-24 08:51:33 +11:00
Andrew Tridgell d54c6989ab Plane: fixed the last build warnings
we now build with no warnings for APM1, APM2 and SITL. Yay!
2012-12-20 22:46:48 +11:00
Andrew Tridgell dc2b11704f Plane: fixed a build warning 2012-12-20 22:42:44 +11:00
Andrew Tridgell feca411943 Plane: added new TRAINING mode
this mode gives manual control when the roll or pitch is within the
set limits (the same limits as FBW mode), and prevents the pilot from
flying beyond those limits, essentially a "attitude limited manual"
mode
2012-12-20 22:41:58 +11:00
Andrew Tridgell 1cb4724b7f Plane: fixes for 1280 build 2012-12-20 14:53:24 +11:00
Andrew Tridgell 9a2e77b797 Plane: fully disable relay and mount code on APM1-1280
this saves some more flash space
2012-12-20 14:53:23 +11:00
Andrew Tridgell 772f93ea10 Plane: fixed config for 1280 2012-12-20 14:53:23 +11:00
Pat Hickey 5231e5a959 ArduPlane: fixes for AP_InertialSensor_UserInteract 2012-12-20 14:53:23 +11:00
Andrew Tridgell 3c0440b0b4 Math: use common degrees() and radians() functions 2012-12-20 14:53:22 +11:00
Andrew Tridgell c63c4f22e2 Plane: fixed formatting 2012-12-20 14:53:22 +11:00
Andrew Tridgell cf18534163 Plane: use new functions 2012-12-20 14:53:22 +11:00
Pat Hickey 2ad4fed8cd Rover/Copter/Plane: change from vsnprintf to vsnprintf_P 2012-12-20 14:52:38 +11:00
Pat Hickey edb076a6c5 ArduPlane: use hal's vsnprintf 2012-12-20 14:52:38 +11:00
Andrew Tridgell 62d7fd1a26 Plane: fixed HIL builds 2012-12-20 14:52:37 +11:00
Andrew Tridgell 940cbc900f Plane: use targets.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell 4913aff8cd Plane: remove unused send_text() function 2012-12-20 14:52:35 +11:00
Pat Hickey eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell c20481dc94 Plane: SITL has a I2C driver now 2012-12-20 14:52:34 +11:00
Andrew Tridgell 761ab5c3e8 Plane: use AP_HAL_BOARD_DRIVER 2012-12-20 14:52:33 +11:00
Andrew Tridgell a3e20324ac Plane: added CONFIG_INS_STUB 2012-12-20 14:52:32 +11:00
Andrew Tridgell 41272614ce Plane: simplify board config defines 2012-12-20 14:52:32 +11:00
Andrew Tridgell 73f70cc596 Plane: moved to new GPS init syntax 2012-12-20 14:52:32 +11:00
Andrew Tridgell 18db7b2efd GPS: move _port setting to init()
this is needed to avoid constructor ordering dependencies
2012-12-20 14:52:32 +11:00
Pat Hickey a70a299c49 ArduPlane: refactor Makefile targets in terms of Arduino.mk targets 2012-12-20 14:52:31 +11:00
Andrew Tridgell 7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell d473203737 Build: added global board targets 2012-12-20 14:52:30 +11:00
Andrew Tridgell 678947c65d Plane: more fixes for SITL and new AP_Param startup 2012-12-20 14:52:29 +11:00
Pat Hickey 1e48d0fc69 Makefile Targets rewritten to use per-target extension style 2012-12-20 14:52:29 +11:00
Andrew Tridgell e82deca305 Plane: updates to support AP_HAL SITL 2012-12-20 14:51:40 +11:00
Andrew Tridgell a78699113d Plane: fixed Makefile for new AP_HAL build approach 2012-12-20 14:51:39 +11:00
Andrew Tridgell 7046fc05e2 Plane: change to send_text_P() for progmem strings 2012-12-20 14:51:39 +11:00
Andrew Tridgell 7c6dd0736e Plane: use hal.storage for eeprom access 2012-12-20 14:51:39 +11:00
Andrew Tridgell 81d77d2bf4 Plane: fixed Makefile targets for AP_HAL 2012-12-20 14:51:38 +11:00
Pat Hickey f8dec9ae4a ArduPlane: fixes to use CONFIG_HAL_BOARD instead of CONFIG_APM_HARDWARE 2012-12-20 14:51:37 +11:00
Pat Hickey c441f02426 ArduPlane: init DataFlash obj 2012-12-20 14:51:37 +11:00
Pat Hickey a14621534c ArduPlane: port from hal.dataflash to old DataFlash api 2012-12-20 14:51:36 +11:00
Pat Hickey 92b0c302f2 ArduPlane: Ported to AP_HAL 2012-12-20 14:51:36 +11:00