Andrew Tridgell
511e8beaed
Plane: updates for new GCS_MAVLink API
2014-05-21 12:45:25 +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
bd09d8551d
Plane: use setup_uart()
2014-05-16 11:44:53 +10:00
Andrew Tridgell
ccc8a6a6ed
Plane: use MIS_AUTORESET when entering AUTO mode
2014-04-29 11:46:06 +10:00
Andrew Tridgell
0de41f0ce1
Plane: set AHRS vehicle class
2014-04-21 18:13:12 +10:00
Andrew Tridgell
1bce4239a3
Plane: added AUTOTUNE flight mode
...
this is just like FBWA, but with automatic roll/pitch tuning
2014-04-12 14:12:14 +10:00
Andrew Tridgell
e19341ca32
Plane: convert to new GPS driver API
2014-04-01 06:38:24 +11:00
Michael Day
25f23cf16c
Plane: Sends MAV_SYS_STATUS_GEOFENCE and also allows GCS to enable/disable fence.
2014-03-27 09:26:20 +11:00
Andrew Tridgell
e8b9f22b01
Plane: updates for GPS changes
2014-03-24 12:04:31 +11:00
Andrew Tridgell
0d39f354b0
Plane: use new common MAVLink code
2014-03-19 12:13:38 +09: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
982ce56d2b
Plane: bug fix to set_current_cmd
...
When set_current_cmd mavlink message is received, resume mission only if
the mission has completed.
Stop mission when vehicle leaves AUTO mode.
2014-03-19 12:12:28 +09:00
Andrew Tridgell
4992e2e2cf
Plane: use mission.resume() not mission.start()
2014-03-19 12:12:19 +09:00
Randy Mackay
36a5287de5
Plane: call mission.init during startup
2014-03-19 12:11:49 +09:00
Randy Mackay
9446e9fd2e
Plane: integrate AP_Mission library
2014-03-19 12:10:58 +09:00
Andrew Tridgell
65ae9663d4
Plane: set 2nd GPS as secondary
2014-03-08 21:48:12 +11:00
Andrew Tridgell
07826096a2
Plane: support a 2nd GPS
2014-02-26 09:24:23 +11:00
Andrew Tridgell
8a4289b56f
Plane: remove unused variables
...
thanks to Mike McCauley
2014-02-24 18:49:14 +11:00
Andrew Tridgell
33851030a4
Plane: use ahrs.get_armed()
2014-02-19 10:53:26 +11:00
Andrew Tridgell
11337ab2df
Plane: updates for AHRS holding home position
2014-02-15 05:29:47 +11:00
Andrew Tridgell
043c80dbe6
Plane: use new board_voltage() method
2014-02-14 21:50:59 +11:00
Andrew Tridgell
e42a10a764
Plane: allow printing of GUIDED mode in logs
2014-02-02 14:04:36 +11:00
Andrew Tridgell
cdd36b2c41
Plane: use AP_ServoRelayEvents library
2014-01-20 17:06:29 +11:00
Andrew Tridgell
d3adf4c32c
Plane: enable AP_BoardConfig
2014-01-20 17:06:28 +11:00
Andrew Tridgell
cf09fef1db
Plane: prevent log corruption when new log started
2014-01-14 14:29:14 +11:00
Andrew Tridgell
a15336079e
Plane: start logging when first needed
2014-01-14 13:51:49 +11:00
Andrew Tridgell
8755747da0
Plane: only log when armed by default
...
use safety switch if arming not enabled
2014-01-14 13:07:43 +11:00
Andrew Tridgell
72473e4317
Plane: use AP_HAL available_memory() call
2013-12-28 14:51:37 +11:00
Andrew Tridgell
7ffbed24cc
Plane: initialise scheduler callback after logging
...
this could cause log corruption otherwise
2013-12-28 10:24:46 +11:00
Andrew Tridgell
263f3b116b
Plane: added FS_GCS_ENABL==2 option
...
this allows GCS failsafe when the GCS isn't getting updates from the
aircraft
2013-12-20 11:39:00 +11:00
Andrew Tridgell
8b7fe3cf50
Plane: changes for new DataFlash API
2013-12-17 11:51:36 +11:00
Andrew Tridgell
5a0cb5dea4
Plane: added sonar logging to dataflash
2013-11-28 21:49:27 +11:00
Andrew Tridgell
8383abc1fe
Plane: added SERIAL2_BAUD and rename SERIAL3_BAUD to SERIAL1_BAUD
2013-11-26 13:00:03 +11:00
Andrew Tridgell
457183b6f5
Plane: cope with uartD being NULL
2013-11-23 21:44:45 +11:00
Andrew Tridgell
2fa5e6310d
Plane: added 3rd telemetry stream on platforms that have it
...
this generalises the gcs object usage
2013-11-23 19:29:22 +11:00
Andrew Tridgell
7e10811673
Plane: send firmware and git version in tlog
2013-11-09 10:09:20 +11:00
Andrew Tridgell
fe3943e686
Plane: faster startup
...
make it less likely to send wrong INS_PRODUCT_ID, plus don't waste as
much time
2013-11-02 21:41:11 +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
eef693f243
Plane: removed some compat code
...
fixes warnings
2013-09-30 21:06:43 +10:00
Andrew Tridgell
444d053dc2
Plane: enable Oilpan and BMP085 on Linux
2013-09-29 01:02:05 +10:00
Andrew Tridgell
b28a4f21f2
Plane: fixed uartA baud rates for APM1
2013-09-21 09:30:29 +10:00
Andrew Tridgell
21a4da0d29
Plane: removed flash_leds() calls
2013-09-19 18:38:28 +10:00
Andrew Tridgell
4bd6b2f428
Plane: use new usb_connected() function
2013-09-19 16:23:58 +10:00
Andrew Tridgell
fe5a4ab710
Plane: fixed Vcc
2013-09-12 13:26:27 +10:00
Andrew Tridgell
f6688582a6
Plane: added FENCE_ACTION=3 behaviour
...
this makes it safer to enable the geofence as a receiver failsafe
mode. It retains manual throttle control, so if it triggers on the
ground due to the receiver losing signal from the transmitter then the
throttle can be kept low, preventing an unexpected takeoff.
2013-09-08 07:31:10 +10:00
Andrew Tridgell
4a8c9a7765
Plane: support reboot to bootloader
2013-09-04 11:59:16 +10:00
Andrew Tridgell
a93f7c39a9
Plane: updates for new notify API
2013-08-30 13:01:35 +10:00
Randy Mackay
ad8bd16725
Plane: integrate AP_Notify
2013-08-30 13:01:35 +10:00
Andrew Tridgell
accfd46633
Plane: update for new APM_Control API
2013-08-14 14:57:41 +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
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
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
826ad6c086
Plane: unlock roll and pitch when we enter ACRO mode
2013-07-13 12:34:34 +10: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
608007361b
Plane: added initial implementation of ACRO mode
...
rate based control with attitude locking
2013-07-11 09:10:41 +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
4a0c90246e
Plane: make GPS UART blocking again
2013-06-11 18:50:23 +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
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
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
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
a22f5e3bc4
Plane: enable wind estimation
2013-05-24 11:21:42 +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
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
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
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
2e5834cc7f
Plane: print flight mode as string in logs
2013-04-20 15:18:10 +10:00
Andrew Tridgell
c56f338fe0
Plane: convert to new logging system
2013-04-20 13:52:36 +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
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
dfb14d760b
Plane: added HIL_SERVOS option
...
this allows for real servo output in HIL
2013-03-30 14:38:43 +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
c2055557f5
Plane: add support for GPS fix type 2D
2013-03-27 11:41:51 +09: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
0a0b51cc63
Plane: reset AHRS trim after a level operation
2013-02-20 11:56:02 +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
28352b3548
Plane: ensure ahrs.init() is called
2013-01-13 17:32:48 +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
9e0096ddb5
Plane: fix handling of sensors HIL startup
2013-01-04 12:34:35 +11:00
Andrew Tridgell
b6295c12e1
Plane: fixes for new AP_Relay interface
2013-01-02 10:18:45 +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
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
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
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
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
Andrew Tridgell
1104287aa2
Plane: use enum FlightMode in more places
2012-12-01 08:15:48 +11:00
Andrew Tridgell
a6d8dbeac2
Plane: update ArduPlane for new ins interface
2012-11-30 07:15:18 +11:00
Andrew Tridgell
a87394fff2
Plane: don't do accel calibration in HIL mode
...
this should fix the hang on startup
2012-11-25 21:53:37 +11:00
Andrew Tridgell
56e4cbfb1d
Plane: allow reboot on APM1, and add reboot to main CLI menu
2012-11-24 18:20:37 +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
Michael Oborne
a5e3ce4655
remove cli planner mode - no longer used
2012-11-21 07:45:45 +08:00