Commit Graph

1175 Commits

Author SHA1 Message Date
Andrew Tridgell
231b5ab793 Plane: prevent too large combined pitch/roll angles
this reduces the roll limit by cos(pitch) and pitch minimum by
cos(roll). This prevents unreasonable attitudes in all stabilised
modes

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-11-04 21:21:42 +11:00
Andrew Tridgell
ff5f2ceae5 Plane: update for API changes 2013-11-04 21:21:42 +11:00
Andrew Tridgell
b1c9b57c73 Plane: mark 2.76beta1 2013-11-02 21:48:17 +11:00
Andrew Tridgell
26a3860af2 Plane: fixed PM message 2013-11-02 21:41:30 +11:00
Andrew Tridgell
5a92ce4af6 Plane: added altitude and ground speed to NTUN logs 2013-11-02 21:41:11 +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
Randy Mackay
328de5fc7b Plane: add @Increment to battery failsafe descriptions 2013-10-29 11:23:54 +09:00
Andrew Tridgell
bcb0deb888 Plane: ready for 2.75 release 2013-10-28 18:22:25 +11:00
Andrew Tridgell
3ff407cb75 Plane: improved perf monitoring with SCHED_DEBUG 2013-10-28 17:10:00 +11:00
Andrew Tridgell
cfa38df528 Plane: allow parameters to download at full speed 2013-10-28 10:34:32 +11:00
Andrew Tridgell
a407609dbe Plane: tag 2.75beta5 2013-10-26 07:57:35 +11:00
Andrew Tridgell
b897285737 Plane: set system time on GPS lock 2013-10-24 14:22:48 +11:00
Andrew Tridgell
3289041428 Plane: added MAVLink SYSTEM_TIME message 2013-10-24 14:22:47 +11:00
Andrew Tridgell
6f3458eb25 Plane: fixed setting of waypoint when not in AUTO
this fixes a bug where the next waypoint is set incorrectly if set via
MAVLink when not in AUTO
2013-10-23 09:40:41 +11:00
Andrew Tridgell
210ca08abd Plane: changed to 2.75beta4 2013-10-18 11:53:51 +11:00
Andrew Tridgell
4239498b62 Plane: moved fast_loop() into main scheduler table 2013-10-15 09:52:23 +11:00
Andrew Tridgell
294b669948 Plane: fixed rally altitude to be in meters
this matches the docs
2013-10-14 16:38:40 +11:00
Andrew Tridgell
5adf4e1706 Plane: improve THROTTLE_NUDGE docs 2013-10-14 15:40:26 +11:00
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