Commit Graph

1157 Commits

Author SHA1 Message Date
Andrew Tridgell 5e1f5ffb7f Plane: removed some old defines 2013-10-14 14:40:30 +11:00
Andrew Tridgell 7f6eecd9d5 Plane: cleanup cruft in Makefile 2013-10-13 21:41:01 +11:00
Andrew Tridgell a3168bcbaa Plane: fixes for AP_Mount API 2013-10-13 11:03:31 +09: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 05115684c1 Plane: pass FlightStage to TECS
this will allow for better throttle and pitch control on landing
2013-10-12 13:14:30 +11:00
Andrew Tridgell 0ec322ee47 Plane: support MAV_CMD_DO_SET_CAM_TRIGG_DIST 2013-10-11 21:37:27 +11:00
Andrew Tridgell 72505cf4e5 Plane: release 2.75beta3 2013-10-11 16:29:08 +11:00
Andrew Tridgell 8e5d1430da Plane: use ins.wait_for_sample() 2013-10-08 17:31:15 +11:00
Andrew Tridgell 2bb497703c Plane: avoid delay_microseconds() until fixed on PX4 2013-10-08 14:55:38 +11:00
Andrew Tridgell 48ed480d59 Plane: improved latency of main loop
use a 500usec delay
2013-10-08 11:50:54 +11:00
Andrew Tridgell e6af7dad3d Plane: switched to L3G4200D driver for Linux 2013-10-08 11:50:54 +11:00
Andrew Tridgell a4604ab317 Plane: honor zero RALLY_LIMIT_KM 2013-10-06 14:54:50 +11:00
Andrew Tridgell 5bf1463e7a Plane: added RALLY_LIMIT_KM
this will prevent an embarressing use of a rally point from the wrong
airfield
2013-10-06 14:51:13 +11:00
Andrew Tridgell 365e82aecb Plane: use a rally point when out of mission items 2013-10-05 23:07:32 +10:00
Andrew Tridgell 61dd04ccb5 Plane: auto-update home and baro calibration when disarmed
this takes advantage of the PX4 arming state to ensure position and
baro calibration is updated
2013-10-05 18:45:45 +10:00
Andrew Tridgell 536fbb4a30 Plane: if pilot gives aileron input then disable ground steering
otherwise it would be very tricky to do a low pass!
2013-10-05 07:46:27 +10:00
Andrew Tridgell d32e58db84 Plane: split out the channel stick mixing
makes code a bit clearer
2013-10-05 07:46:27 +10:00
Andrew Tridgell 3be939eb03 Plane: give manual steering when still
useful for servo testing
2013-10-05 07:46:27 +10:00
Andrew Tridgell d275f50539 Plane: added GROUND_STEER_ALT and GROUND_STEER_DPS
this uses the new AP_SteerController steering controller developed for
the rover code to allow for ground steering of planes
2013-10-05 07:46:27 +10:00
Andrew Tridgell 081510d37a Plane: added ACRO_LOCKING parameter
this enables/disables the attitude locking in acro mode, allowing acro
to be a pure rate controller
2013-10-05 07:45:12 +10:00
Randy Mackay 6e2b1093fc Plane: mavlink ext status to use SYS_STATUS_SENSOR enum 2013-10-04 13:21:01 +09:00
Andrew Tridgell 011915eb1c Plane: added error checking to rally load save
sanity check the rally points
2013-10-03 12:21:08 +10:00
Michael Day 497c95de8e Plane: Add support for rally points.
Added parameter RALLY_TOTAL.

Added handlers for new MAVLink messages RALLY_POINT and
RALLY_FETCH_POINT.

defines.h modified to make room in EEPROM to store rally points.

rally.pde added and is responsible for ensuring rally points get
stored in the correct spot in EEPROM.

Multiple Rally/RTL point support now done.  If rally points have
been defined, then when RTL mode is entered, the closest Rally
point is chosend and the plane loiters at that point.

Note only 10 rally points can be defined; this is to save space in
the APM's EEPROM.
2013-10-03 12:21:08 +10:00
Randy Mackay 21360aeebf Plane: sent current as -1 to GCS when can't be monitored 2013-10-03 11:16:33 +09:00
Randy Mackay 9722276827 Plane: batt curr and remaining should be int16 2013-10-03 11:16:26 +09:00
Randy Mackay cb91440c63 Plane: remove test_battery from CLI 2013-10-03 11:16:22 +09:00
Randy Mackay 9388ea3848 Plane: integrate BattMonitor exhausted method
BatteryMonitor object made static
Removed unused macros for battery voltage and current monitoring
2013-10-03 11:16:21 +09:00
Andrew Tridgell 74c8c8aafa Plane: auto-upgrade battery variables in EEPROM 2013-10-03 11:16:12 +09:00
Randy Mackay c64d444b5a Plane: integrate BattMonitor 2013-10-03 11:16:08 +09:00
Andrew Tridgell 65976831e2 Plane: moved Linux logs to logs directory 2013-10-01 13:05:18 +10:00
Andrew Tridgell eef693f243 Plane: removed some compat code
fixes warnings
2013-09-30 21:06:43 +10:00
Andrew Tridgell 24099a520d Plane: updates for AP_HAL::MemberProc 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 f68778d453 Plane: be friendly to multi-tasking OSes 2013-09-28 22:04:15 +10:00
Andrew Tridgell 287db19119 Plane: updates for Stub -> HIL 2013-09-28 22:04:15 +10:00
Andrew Tridgell 88959004d7 Plane: use new scheduler API 2013-09-28 21:24:03 +10:00
Andrew Tridgell 1fd0f73e3f Plane: use DataFlash_File on Linux 2013-09-28 21:24:02 +10:00
Andrew Tridgell c3d0b315cf Plane: added HAL_LINUX includes 2013-09-28 21:24:02 +10:00
Andrew Tridgell 650ff258db Plane: update for new INS API 2013-09-27 10:49:00 +10:00
Mike McCauley 6a8c1a0c36 Plane: Added flymaple to ArduPlane 2013-09-24 13:51:28 +10:00
Mike McCauley aa800472be Plane: defines.h added Flymaple INS 2013-09-24 13:51:28 +10:00
Mike McCauley 3ddcdba659 Plane: Parameters BATTERY_MONITORING for Flymaple 2013-09-24 13:51:28 +10:00
Mike McCauley 18c6b00b5b Plane: Added definitions for Flymaple 2013-09-24 13:51:28 +10:00
Andrew Tridgell 4f310aaec8 Plane: fixed build with print() base change 2013-09-23 18:10:22 +10:00
Mike McCauley 767884b7f1 Plane: workaround conflicts between wirish and APM compatibility 2013-09-23 18:10:21 +10:00
Kevin Hester 996eda0080 Plane: Report MAV_STATE_ACTIVE if flying, MAV_STATE_STANDBY otherwise
(There are also various error states MAV_STATE_CRITICAL that are unchanged
by this check in).

The is_flying() check is similar to the code in suppress_throttle, but
I wanted to make it very optimistic on thinking we are flying - which is
not what you want for set_throttle...

(AC has similar MAV_STATE_ACTIVE vs MAV_STATE_STANDBY behavior now)
2013-09-21 21:57:07 +10:00
Andrew Tridgell bcce2e4fc5 Plane: use new Baro API 2013-09-21 21:31:03 +10:00
Andrew Tridgell 36466e91ed Plane: run SENSOR_OFFSETS message at 1/10 of the requested rate
this message wastes bandwidth, as the values change very slowly
2013-09-21 09:35:45 +10:00
Andrew Tridgell c4dcdcf5a2 Plane: only send RC_CHANNELS_SCALED in HIL
saves a bit of telemetry bandwidth
2013-09-21 09:30:29 +10:00
Andrew Tridgell b28a4f21f2 Plane: fixed uartA baud rates for APM1 2013-09-21 09:30:29 +10:00
Andrew Tridgell e455ee0a94 Plane: fixed throttle suppression for AUTO_FBW_STEER=1 2013-09-20 17:20:06 +10:00
Andrew Tridgell 1869cd52e1 Plane: fixed AUTO_FBW_STEER stick mixing 2013-09-20 17:20:06 +10:00
Andrew Tridgell 328e900364 Plane: changed TKOFF_THR_DELAY default to 2
this makes it safer for hand launch with pusher props
2013-09-19 21:42:21 +10:00
Paul Riseborough 43cf0736a3 Plane: Auto Takeoff Check updates
Adds additional launch angle protection and protection against early
exit from auto causing unexpected motor start on re-entry
2013-09-19 21:37:31 +10:00
Randy Mackay ab4274aa8d Plane: disable battery failsafe when usb connected 2013-09-19 17:43:08 +09: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 8a76d82de4 Plane: set failsafe_radio AP_Notify bits 2013-09-18 11:58:54 +10:00
Andrew Tridgell 150e7a3f16 Plane: prevent arming tone on startup 2013-09-18 10:56:06 +10:00
Andrew Tridgell 95a696ea36 Plane: enable failsafe battery reporting 2013-09-18 10:50:34 +10:00
Andrew Tridgell ec0c894306 Plane: use the projected position for geofencing and waypoints 2013-09-17 21:05:25 +10:00
Andrew Tridgell 43ffe91546 Plane: added FS_ACTION of 2 for glide
this allows people without specified settings in their receiver for
failsafe to choose FBWA zero throttle glide on throttle failsafe. That
can be a better choice when flying at a R/C club field
2013-09-15 15:05:39 +10:00
Andrew Tridgell dd6a69f588 Plane: added WP_MAX_RADIUS parameter
useful when using AUTO_FBW_STEER for manual steering in competitions
2013-09-13 17:43:08 +10:00
Andrew Tridgell cc6acac1dd Plane: added AUTO_FBW_STEER option
this is an unusual option that gives FBWA flight control in AUTO
mode. It is being added to support use of APM in an aerial robotics
competition where students need to pilot the plane, but they still
need waypoint triggering of payloads
2013-09-13 14:38:09 +10:00
Andrew Tridgell de7b42e323 Plane: changed to AP_Vehicle.h 2013-09-13 11:46:54 +10:00
Andrew Tridgell 8010d7fd78 Plane: update battery pin docs 2013-09-12 13:43:22 +10:00
Andrew Tridgell fe5a4ab710 Plane: fixed Vcc 2013-09-12 13:26:27 +10:00
Andrew Tridgell 0c8d56632e Plane: fixed SR0 and SR3 autodocs 2013-09-12 09:53:24 +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
Craig3DRobotics 630095adaa Revert "Copter: Corrected SR0 & SR3 parameter descriptions"
This reverts commit 6568234018.
2013-09-06 09:58:19 -07:00
Craig3DRobotics 2b726abe0e Plane: Correction on SR0 & SR3 parameter description. 2013-09-05 22:29:10 -07:00
Andrew Tridgell 4a8c9a7765 Plane: support reboot to bootloader 2013-09-04 11:59:16 +10:00
Andrew Tridgell a00e4a1e83 Plane: send GCS message on relay change
makes it easier to debug
2013-08-30 15:05:16 +10:00
Andrew Tridgell 45cf82ba15 Plane: removed CONFIG_RELAY check
relay is always available
2013-08-30 14:40:47 +10:00
Andrew Tridgell 4762b3e7c6 Plane: change to 2.75beta2 2013-08-30 14:02:21 +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 2ba9ce60e3 Plane: fixed comment 2013-08-30 13:01:34 +10:00
Andrew Tridgell 8733391315 Plane: call airspeed MAVLink logging function 2013-08-30 13:01:34 +10:00
Andrew Tridgell 5cec9b65c9 Plane: constrain calibration to roll/pitch limits 2013-08-30 13:01:34 +10:00
Andrew Tridgell 364790414c Plane: support new RADIO_STATUS msg 2013-08-24 17:59:13 +10:00
Andrew Tridgell b16e3e4c85 Plane: changed FBW min to 9 m/s
6 m/s is too dangerous for widely used planes
2013-08-18 11:42:23 +10:00
Andrew Tridgell 8dd0aa12ed Plane: prevent GPS speed spikes at startup from breaking airspeed cal
the filter can be affected by a huge GPS velocity spike
2013-08-18 11:42:22 +10:00
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 5cfdf52381 Plane: change default modes to FBWA not STABILIZE 2013-08-13 13:42:27 +10:00
Andrew Tridgell d4ca3ebf65 Plane: check for parameter send at default of 10Hz
50Hz can cause overruns, especially on PX4 which can drain the tx
buffer very rapidly
2013-08-13 13:42:25 +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 890b77447a Plane: allow integrator in stabilize mode when no stick input
fixes issue #472
2013-08-02 21:55:34 +10:00
Andrew Tridgell c083c15240 Plane: use a larger serial buffer
this makes higher rate MAVLink possible again
2013-08-02 18:46:54 +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 965dc228c2 Plane: fixed GUIDED mode change of altitude down 2013-07-22 12:50:02 +10:00
Andrew Tridgell b8fa83ff54 Plane: change default slewrate to 100%/second 2013-07-22 12:50:02 +10:00
Andrew Tridgell 29c854e676 Plane: remove unused function 2013-07-22 12:50:02 +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 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 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 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