Andrew Tridgell
4425b6af7c
Plane: update for new TECS API
2013-08-14 14:59:01 +10:00
Andrew Tridgell
accfd46633
Plane: update for new APM_Control API
2013-08-14 14:57:41 +10:00
Andrew Tridgell
8378dc9779
Plane: use reference to AHRS
2013-08-13 13:49:34 +10: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
e22f58c9fc
Plane: fixed build with OBC failsafe
2013-08-03 09:18:01 +10:00
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
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
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
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
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
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
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
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
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
1d04290eab
Plane: change to 2.74beta3
2013-07-11 11:58:54 +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
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
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
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
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
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
056e0ca40d
Plane: APM2 doesn't have channel 9 PWM output
2013-06-24 13:06:54 +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
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
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
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
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
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
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
dd633fcf3f
Plane: make voltage and battery capacity failsafe settable at runtime
...
this also fixes issue #292
2013-05-22 20:33:57 +10: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
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
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
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
3cd52a9689
Plane: fixes for AP_Baro_HIL
2013-05-02 15:09:27 +10:00
Andrew Tridgell
855277fa85
Plane: get ready for 2.72 release
2013-04-28 15:56:30 +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
0b8c2da4df
Plane: support 12 output channels on PX4
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
2e5834cc7f
Plane: print flight mode as string in logs
2013-04-20 15:18:10 +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
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
abe4dba871
Plane: added PX4 flash logging
2013-04-17 21:35:27 +10:00
Andrew Tridgell
42344455c9
Plane: fixed structure init for arduino compiler
2013-04-15 21:59:07 +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
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
dcbe144c7e
Plane: prepare for release of 2.71
2013-04-06 17:27:21 +11:00
Andrew Tridgell
c5e2cfcc3e
Plane: preparing for 2.71-beta
2013-04-02 09:25:24 +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
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
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
1ebaa14a99
Plane: prepare for 2.70 release
2013-02-21 09:49:15 +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
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
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