Andrew Tridgell
ae96a48efc
Plane: use location_path_proportion()
...
this should produce better glide slopes when the aircraft is off
course
2015-01-01 15:17:45 +11:00
Andrew Tridgell
d18c00d6fc
Plane: split up altitude handling
...
this creates altitude.pde for altitude handling, getting ready to add
terrain following
2014-07-24 21:50:19 +10:00
Andrew Tridgell
55e7f9b1d6
Plane: calculate next_turn_angle to prevent early WP completion
...
this should help for ball drop and camera trigger with straight line
runs
2014-06-05 09:35:09 +10:00
Andrew Tridgell
69b5f352f6
Plane: prevent a bad glide slope when first entering auto
...
we need to ensure that prev_WP_loc is not used as it could be
completely different from current_loc. As a precuation, this also sets
up next_WP_loc so that when the set_next_WP() is first called that
prev_WP_loc is set to current_loc
2014-05-18 16:14:11 +10:00
Andrew Tridgell
0991af86f3
Plane: removed some usused code
...
setting up flight modes by CLI is not used any more
2014-05-08 11:10:50 +10:00
Andrew Tridgell
f51478ee1d
Plane: fixed LOITER_TURNS counter for counter-clockwise loiter
...
thanks to Iskess for finding this bug!
2014-05-01 20:45:34 +10:00
Andrew Tridgell
12012c9530
Plane: fixed a potential numerical error close to waypoints
2014-04-21 18:49:30 +10:00
Andrew Tridgell
e19341ca32
Plane: convert to new GPS driver API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
861523a00a
Plane: use TECS get_target_airspeed()
2014-03-20 17:34:33 +11:00
Andrew Tridgell
4bf140aeac
Plane: make next_WP and prev_WP be locations
...
having a command ID in them doesn't really make sense
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-03-19 12:12:39 +09:00
Randy Mackay
9446e9fd2e
Plane: integrate AP_Mission library
2014-03-19 12:10:58 +09:00
Andrew Tridgell
57e0eb4db5
Plane: use a const reference for home
2014-02-15 05:48:15 +11:00
Andrew Tridgell
11337ab2df
Plane: updates for AHRS holding home position
2014-02-15 05:29:47 +11:00
Andrew Tridgell
035ac3800a
Plane: use G_Dt for acro angle integration
...
also cleanup some other uses of performance timing
2013-10-12 13:30:27 +11:00
Andrew Tridgell
a33573352e
Plane: fixes for updated AP_Math and AHRS APIs
...
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:30:04 +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
965dc228c2
Plane: fixed GUIDED mode change of altitude down
2013-07-22 12:50:02 +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
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
73928b82a6
Plane: fixed FBWB airspeed control
...
thanks to Gabor for reporting this!
2013-07-11 11:58:54 +10:00
Andrew Tridgell
7aa360b176
Plane: added relative_altitude helper functions
...
prevents some code duplication
2013-07-10 14:04:22 +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
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
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
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
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
Andrew Tridgell
75f4a43e2d
Plane: fixed LOITER_TURNS command
...
and cleanup more loiter variables
2013-04-15 21:31:11 +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
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
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
a165f0d138
Plane: removed old angle wrap code
2013-03-29 13:13:50 +11:00
Randy Mackay
c2055557f5
Plane: add support for GPS fix type 2D
2013-03-27 11:41:51 +09: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
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
Andrew Tridgell
ebb7f27962
Plane: minor signed/type fixups
2013-01-27 13:16:26 +11: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
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
cf18534163
Plane: use new functions
2012-12-20 14:53:22 +11:00
Andrew Tridgell
84300c85d6
APM: make it possible to run the CLI on any serial port
2012-11-21 21:41:34 +11:00
Andrew Tridgell
2324997e16
APM: added ALT_OFFSET parameter
...
useful to adjust for barometric pressure changes during a long flight
2012-09-19 16:23:25 +10:00
Andrew Tridgell
7e672628ea
APM: removed the GPS_enabled flag
...
this fixes using GPS_PROTOCOL to specify a specific GPS with a GPS
that takes a few updates before it works (eg. needing baud rate
changes).
This makes it easier to use an APM1-1280 with more features enabled
2012-09-11 13:37:34 +10:00
Andrew Tridgell
96ea350143
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
c9cf483822
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
uncrustify
909e39d667
uncrustify ArduPlane/navigation.pde
2012-08-21 18:58:17 -07:00
Andrew Tridgell
e26e8b3b67
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
92bdc23ab6
APM: minor formatting fix
2012-08-15 12:39:34 +10:00
Andrew Tridgell
d9b09d2c93
APM: allow for navigation by dead-reckoning
...
we now ask AHRS if we have a position estimate, and use that if
available
2012-08-11 12:01:08 +10:00
Andrew Tridgell
5bfd1200d6
APM: change variables to use _cm, _cd and _ms suffix for units
...
this makes it less likely that we mix up units
2012-08-08 12:12:30 +10:00
Andrew Tridgell
d6e370886f
APM: rename airspeed_cruise to airspeed_cruise_cm to make the units clearer
...
it is in cm/s, not m/s
2012-07-19 11:50:41 +10:00