Commit Graph

601 Commits

Author SHA1 Message Date
Andrew Tridgell d08bd4214b APM: added support for MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN
this allows for remote reboot of APM
2012-09-10 11:42:30 +10:00
Andrew Tridgell 57ac3f59f2 APM: fixed fetch of relative altitude waypoints
when we fetch relative altitude waypoints from APM to a file, we need
to preserve the altitude
2012-09-10 09:40:29 +10:00
Andrew Tridgell b374f604d6 APM: simplify radio_trim code
this removes the duplicate code. Throttle trim is not changed.
2012-09-09 19:39:09 +10:00
Andrew Tridgell a90182b9d8 APM: fixed throttle nudging
The nudge value depended on RC3_TRIM, which is not a reliable
value. It tried to only take effect when the throttle stick was above
50%, but if RC3_TRIM was high for some reason (say 1500) then it would
actually depress the throttle by a large amount, which could cause the
plane to stall.

This also adds a boolean option THROTTLE_NUDGE to allow disabling of
throttle nudging
2012-09-09 19:39:04 +10:00
Andrew Tridgell 966c1988c3 APM: preparing for 2.61 release 2012-09-08 18:36:17 +10:00
Andrew Tridgell 95e4316c72 APM: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +10:00
Andrew Tridgell c50103ac35 APM: added mtk and mtk16 build targets
useful for testing non-auto gps detection
2012-09-08 12:43:36 +10:00
Andrew Tridgell 39346eac32 APM: prevent crosstrack from takeoff point after takeoff completion 2012-09-08 11:37:14 +10:00
Andrew Tridgell 4219cb55ce APM: use ahrs.airspeed_estimate() in two more places
this applies the wind constraint
2012-09-08 11:37:11 +10:00
Andrew Tridgell 9ffeecdf2f APM: fixed some compiler warnings 2012-09-08 10:14:32 +10:00
Andrew Tridgell 63ca982f21 APM: tidy up an if() statement 2012-09-08 10:14:20 +10:00
Andrew Tridgell b2a74951d1 APM: added RUDDER_STEER option
when enabled, this uses only the rudder to steer during takeoff and
landing, using aileron only for levelling
2012-09-08 10:07:03 +10:00
Andrew Tridgell 9b2a2b2c2e APM: support DO_SET_SERVO command 2012-09-08 10:06:53 +10:00
Andrew Tridgell 12c5e00db9 APM: added XTRK_MIN_DIST option
this allows you to disable crosstrack correction on short legs
2012-09-08 10:06:44 +10:00
Andrew Tridgell 88f4a3bc4a APM: allow serial buffer size to be configured
very useful for packet forwarding setups
2012-09-08 10:06:35 +10:00
Andrew Tridgell 880404d062 APM: added forwarding of unknown MAVLink types 2012-09-08 10:06:15 +10:00
Andrew Tridgell a71cee4579 APM: accumulate mag readings during spare cycles in ArduPlane
With this change we average over 100 mag readings per compass.read()
call, which means we are reading the compass at over 1kHz instead of
10Hz. The noise reduction is huge.
2012-09-08 10:05:58 +10:00
Michael Oborne 35a8bf961c AP fix takeoff alt issue
issue 733
2012-09-06 20:19:12 +08:00
Pat Hickey b52738662a APM_Config.h for ArduCopter/ArduPlane: better descr of APM2_BETA_HARDWARE 2012-09-05 15:36:57 -07:00
Andrew Tridgell 0be8349678 APM: obey pitch limits in FBWA as well
this means pitch limits are constrained by LIM_PITCH_MIN and
LIM_PITCH_MAX
2012-08-30 20:15:42 +10:00
Andrew Tridgell ae74db15e1 APM: fixed docs for LIM_PITCH_MIN 2012-08-30 14:55:08 +10:00
Michael Oborne 188cc69008 AP fix attitude hil.
we where waiting on new_data that had no way of getting there.
2012-08-30 07:54:20 +08:00
Andrew Tridgell 332ad921cc APM: added new TELEM_DELAY parameter
number of seconds to delay telemetry
2012-08-30 08:59:39 +10:00
Craig Elder 3403e1b78d Arducopter: increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Arduplane:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Ardurover:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
2012-08-28 20:09:10 -07:00
Andrew Tridgell 7ab7770c3d APM: added the ability to forcibly crash the plane on OBC failsafe breach
this allows a user to setup the OBC failsafe system to forcibly crash
the plane (surfaces at limits, zero throttle) when the failsafe system
triggers. This is to allow APM to be used in the Outback Challenge. In
the OBC an external failsafe board also does this using the heartbeat
control pin, so this is an extra safety mechanism.

To prevent users accidentially triggering a crash, this code only
activates if FS_TERM_ACTION is set to to the magic value 42.
2012-08-28 20:18:24 +10:00
Andrew Tridgell 3f54b83238 APM: added ALT_CTRL_ALG parameter
this allows you to select different altitude control algorithms. The
current choices are for the default (automatic based on if airspeed is
available), or to force a non-airspeed algorithm

The idea is to make it possible to use airspeed for some things (like
wind speed, speed scaling) but not for alt control
2012-08-28 20:18:24 +10:00
Andrew Tridgell 16dd911547 APM: fixed another problem with DO_JUMP
off by one error!
2012-08-28 20:18:24 +10:00
Andrew Tridgell 4945d66c80 APM: check for geofence fence total of 0 2012-08-28 20:18:24 +10:00
Andrew Tridgell fc942b2ff9 APM: removed reset_I() and instead auto-reset integrator in PID library
this prevents us resetting key integrators on waypoint change, while
still preventing old integrators being used when a PID starts to be
used again
2012-08-28 20:18:23 +10:00
Andrew Tridgell ac2ad44c3c APM: cleanup throttle suppression code and don't use airspeed to unsupress
this removes the throttle suppression when any of the conditions are
met once, as otherwise flying slow below 10m could zero the throttle.

It also removes the use of airspeed for disabling throttle
supression. Otherwise a strong gust of wind can cause ArduPlane to
try to takeoff!
2012-08-28 20:18:23 +10:00
Amilcar Lucas 90aa5f2004 ArduPlane: Fix 1280 builds
Added fine-granular features in the AP_Mount class to reduce code size on 1280 chips
Remove camera trigger support on 1280 chips
2012-08-27 01:33:45 +02:00
Amilcar Lucas 25916e9a92 Improve comments, no functional changes 2012-08-27 01:32:27 +02:00
Andrew Tridgell a6a583650c APM: report estimated airspeed if airspeed not available 2012-08-25 17:49:26 +10:00
Andrew Tridgell 2b30561171 APM: use airspeed estimate for speed scaling if available 2012-08-25 17:49:26 +10:00
Andrew Tridgell 9cf8cc590f APM: added XTRK_USE_WIND parameter
when enabled this will use the wind estimation code to adjust the
navigation bearing, allowing the navigation code to cope with much
higher levels of wind while using a compass
2012-08-25 17:49:26 +10:00
Andrew Tridgell f1ba9c08e5 APM: support forcing MANUAL of FBWA mode over MAVLink 2012-08-24 15:18:22 +10:00
Andrew Tridgell 1e6ce649ad APM: ensure fence_total is positive
thanks to David Buzz for the suggestion
2012-08-24 14:56:46 +10:00
Andrew Tridgell fbbd94118f APM: fixed wheeled takeoff with Jons new controllers 2012-08-22 17:34:01 +10:00
Andrew Tridgell 517e6b2b9d APM: prepare for ArduPlane 2.60 2012-08-22 16:28:38 +10:00
Andrew Tridgell d091311196 APM: removed factor of 0.5 in non-airspeed takeoff pitch
this limited the pitch far below the specified target pitch
2012-08-22 16:28:38 +10:00
Andrew Tridgell 487b909189 APM: ensure takeoff_complete is reset 2012-08-22 16:17:55 +10:00
Andrew Tridgell cf432c0ae0 APM: fixed bug in do_jump() navigation
this avoids a problem where the jump can cause the next command to be
reset to 0
2012-08-22 15:29:46 +10:00
Andrew Tridgell 56ada1a69c APM: added RSSI to RC_CHANNELS_RAW as well
and prevent double read
2012-08-22 13:58:25 +10:00
Andrew Tridgell 279e942581 APM: added RSSI in raw message too 2012-08-22 13:48:09 +10:00
Andrew Tridgell e74dab122a APM: added RECEIVER_RSSI_PIN option
this allows for the receiver RSSI to be sent over MAVLink

Thanks to Burt Green for the suggestion
2012-08-22 13:33:12 +10:00
Andrew Tridgell 703ca469fe APM: added optional use of new APM_Control library
thanks to Jon Challinger for the new controllers!
2012-08-22 12:45:14 +10:00
Andrew Tridgell 2bc2460c07 APM: optional build with new controller libs 2012-08-22 12:39:07 +10:00
uncrustify 56b7f1b031 uncrustify ArduPlane/Parameters.h 2012-08-21 19:19:51 -07:00
uncrustify e4badcccab uncrustify ArduPlane/config.h 2012-08-21 19:19:51 -07:00
uncrustify a165644d1a uncrustify ArduPlane/planner.pde 2012-08-21 19:19:51 -07:00
uncrustify 09d5af6920 uncrustify ArduPlane/system.pde 2012-08-21 19:19:51 -07:00
uncrustify e73834d6eb uncrustify ArduPlane/test.pde 2012-08-21 19:19:51 -07:00
uncrustify fb727f65ac uncrustify ArduPlane/setup.pde 2012-08-21 19:19:51 -07:00
uncrustify 5e8e33f0d7 uncrustify ArduPlane/GCS_Mavlink.pde 2012-08-21 19:19:51 -07:00
uncrustify 5e913c72c4 uncrustify ArduPlane/ArduPlane.pde 2012-08-21 19:19:51 -07:00
uncrustify 57f1bd123f uncrustify ArduPlane/commands.pde 2012-08-21 19:19:51 -07:00
uncrustify f2c523b6f0 uncrustify ArduPlane/radio.pde 2012-08-21 19:19:50 -07:00
uncrustify e5ac3bdc65 uncrustify ArduPlane/Attitude.pde 2012-08-21 19:19:50 -07:00
uncrustify ce04d62815 uncrustify ArduPlane/Parameters.pde 2012-08-21 19:19:50 -07:00
uncrustify 4a44a67180 uncrustify ArduPlane/Log.pde 2012-08-21 19:19:50 -07:00
uncrustify 8ecd6c4dc1 uncrustify ArduPlane/defines.h 2012-08-21 18:59:05 -07:00
uncrustify 321e7c96c4 uncrustify ArduPlane/APM_Config.h 2012-08-21 18:59:05 -07:00
uncrustify 11ad3c3d58 uncrustify ArduPlane/GCS.h 2012-08-21 18:58:53 -07:00
uncrustify 944dffc50a uncrustify ArduPlane/sensors.pde 2012-08-21 18:58:40 -07:00
uncrustify 956b101189 uncrustify ArduPlane/geofence.pde 2012-08-21 18:58:31 -07:00
uncrustify 4517ca8124 uncrustify ArduPlane/failsafe.pde 2012-08-21 18:58:24 -07:00
uncrustify a7ffcfd037 uncrustify ArduPlane/commands_process.pde 2012-08-21 18:58:17 -07:00
uncrustify 6fd4a68c5c uncrustify ArduPlane/navigation.pde 2012-08-21 18:58:17 -07:00
uncrustify 8e3fe50338 uncrustify ArduPlane/commands_logic.pde 2012-08-21 18:58:11 -07:00
uncrustify 58381e0d8e uncrustify ArduPlane/events.pde 2012-08-21 18:57:59 -07:00
uncrustify 3f54fb67d1 uncrustify ArduPlane/climb_rate.pde 2012-08-21 18:57:21 -07:00
uncrustify 3938011f39 uncrustify ArduPlane/control_modes.pde 2012-08-21 18:57:21 -07:00
Andrew Tridgell 5d29d5e5a1 APM: removed DMP support from ArduPlane
Without centripetal correction the DMP code will almost certainly
crash a plane
2012-08-22 11:46:35 +10:00
Andrew Tridgell bd6581c523 AHRS: removed Quaternion build support from APM/ACM/rover 2012-08-22 10:42:21 +10:00
Andrew Tridgell 1ec772f69c AHRS: fixed reference to AHRS var_info for APM and ACM 2012-08-21 15:58:32 +10:00
Andrew Tridgell 9fbdcdcf84 APM: reset steering PID integrator in reset_I() 2012-08-21 15:01:01 +10:00
rmackay9 b80a3943aa ArduCopter, ArduPilot: revert mavlink delay callback to be "unsigned long" 2012-08-18 20:34:41 +09:00
rmackay9 ac240dffd3 ArduPlane: more "int" to "int16_t" and added cast to (int) in printf statements.
Also modified dump_log function's last_log_num to be int16_t which matches return type from DataFlash's find_last_log method.
2012-08-18 18:55:14 +09:00
rmackay9 e5d8efdb7e ArduPlane: replaced many "int" with "int16_t", "long" with "int32_t" 2012-08-18 18:26:13 +09:00
rmackay9 e52e22bcab ArduPlane: commented out two unused variables to remove compiler warning 2012-08-18 13:20:34 +09:00
Andrew Tridgell 8853a104f0 APM: fixed SITL build 2012-08-17 16:28:45 +10:00
Andrew Tridgell 2fb8a13ac6 APM: added parameter FBWB_ELEV_REV
this fixes issue 343
2012-08-17 15:04:53 +10:00
Andrew Tridgell 50e2458df0 math: more abs() fixes
abs() is 16 bit
2012-08-16 15:17:42 +10:00
Andrew Tridgell 9c3c1c4f54 APM: fixed hil build 2012-08-16 12:53:37 +10:00
Andrew Tridgell 5ebcf425cf APM: allow telemetry send during parameter and waypoint fetch
this slows down telemetry by a factor of 4 during parameter or
waypoint transmit. That ensures that mode changes and gps position are
still updated during a long parameter fetch
2012-08-16 10:50:12 +10:00
Andrew Tridgell 0a7d8a4933 MAVLink: enable fetching of single parameters
this makes it possible for the GCS to fetch a single parameter by
name, which is useful for parameters that change in flight
2012-08-16 10:14:46 +10:00
Andrew Tridgell a1107602e9 APM: allow for separate calibration of airspeed/barometer
this is useful just before takeoff, to account for temperature changes
2012-08-15 19:49:09 +10:00
Andrew Tridgell efee2b1557 APM: added LAND_FLARE_ALT and LAND_FLARE_SEC
these allow you to configure the altitude and time before touchdown to
flare the plane and lock the heading. Useful on larger planes.
2012-08-15 18:11:16 +10:00
Andrew Tridgell 455e088c9f APM: rename RDRSTEER to WHEELSTEER
thanks to Jon for the suggestion
2012-08-15 16:28:59 +10:00
Andrew Tridgell c652538516 APM: use AHRS position for geo-fence
this allows it to take account of dead-reckoning
2012-08-15 14:31:10 +10:00
Andrew Tridgell 20be77ab32 APM: when land_complete is true, use land_pitch
this gives a flare on final landing
2012-08-15 12:39:35 +10:00
Andrew Tridgell b8521ff9ae APM: reload airspeed and throttle after landing
this allows for restarting a mission after landing with reasonable
airspeed values
2012-08-15 12:39:35 +10:00
Andrew Tridgell f4023d1b44 AP_Airspeed: remove airspeed filter and run at 10Hz
this saves on the filter memory, and gives just as good a result
2012-08-15 12:39:35 +10:00
Andrew Tridgell 4b5d98e65b APM: added RDRSTEER_ PID for steering on ground
this allows for rolling takeoff with steering, and use of rudder in
landing
2012-08-15 12:39:35 +10:00
Andrew Tridgell ce5f3dcfe2 APM: report speed changes via MAVLink 2012-08-15 12:39:35 +10:00
Andrew Tridgell 1b152ef9e0 APM: implement FENCE_ACTION_REPORT
when FENCE_ACTION is set to FENCE_ACTION_REPORT a fence breach is
reported, but the flight mode is not changed
2012-08-15 12:39:35 +10:00
Andrew Tridgell 8c3b6f471f APM: keep the time of the last heartbeat message
this will be used for failsafe processing
2012-08-15 12:39:34 +10:00
Andrew Tridgell b54ab2d72a APM: expose change_command() and geofence_breached() to libraries
this makes a failsafe library easier
2012-08-15 12:39:34 +10:00
Andrew Tridgell dd17302def APM: show waypoint number in jump message 2012-08-15 12:39:34 +10:00
Andrew Tridgell c525b6b997 APM: minor formatting fix 2012-08-15 12:39:34 +10:00