Commit Graph

317 Commits

Author SHA1 Message Date
Randy Mackay
7ef04bb73b Copter: rename nav_yaw to control_yaw 2013-11-27 22:48:20 +09:00
Andrew Tridgell
9c812d5028 Copter: added SERIAL2_BAUD and rename SERIAL3_BAUD to SERIAL1_BAUD 2013-11-26 13:05:32 +11:00
Andrew Tridgell
a49710f20e Copter: added uartD support
this also brings GCS_Mavlink.pde closer to the plane implementation
2013-11-26 13:05:32 +11:00
Randy Mackay
a812ef4660 Copter: minor comment update for set_mode 2013-11-16 13:56:15 +09:00
Randy Mackay
8c9ab50ba2 TradHeli: restore CC_COMP and PIRO_COMP 2013-11-15 22:58:43 +09:00
Randy Mackay
527f05ddec Copter: remove unused init_rate_controllers 2013-11-15 22:58:22 +09:00
Randy Mackay
633e91b7d4 Copter: initialise roll, pitch, yaw modes to stabilize
This fixes a bug in which the stabilize throttle controller would be
non-tilt compensated until the user switched to another flight mode and
back again
2013-11-15 22:57:56 +09:00
Randy Mackay
ae87759e6d TradHeli: add THROTTLE_MANUAL_HELI
Move check_dynamic_flight to run as scheduled task
2013-11-15 22:57:53 +09:00
Randy Mackay
46118b59d7 TradHeli: integrate motor lib changes 2013-11-15 22:57:43 +09:00
Robert Lefebvre
c5b119288d TradHeli: Add Motor Runup check to the auto_arming check. 2013-11-15 22:57:31 +09:00
Jason Short
371dc8c616 Copter: Drift Mode
Changes Toy mode declarations to Drift mode.
Requires GPS, Mode 2 transmitter
Drift mode mixes Roll, Pitch and Yaw into a single stick on mode two transmitters.
2013-11-14 14:43:15 +09:00
Randy Mackay
03831cdd28 Copter: GPS ok only when not glitching
Removed redundant checks to GPS_ok before setting flight mode to RTL
(this check is already performed inside the set_mode function)
Removed reset of home distance and bearing when GPS lock is lost, it now
remains at the last known value
2013-11-11 22:24:18 +09:00
Randy Mackay
e4d8c673f3 Copter: force gyro calibration on start-up 2013-11-10 21:51:54 +09:00
Andrew Tridgell
6b1f59372c Copter: show git and firmware version in tlog 2013-11-09 10:09:20 +11:00
Jason Short
520a535c21 Copter: TOY mode updates 2013-11-02 21:34:48 +09:00
Andrew Tridgell
f6f6caafc8 Copter: int gyros on arm, not on first boot
this makes first boot much faster
2013-11-02 21:41:11 +11:00
Randy Mackay
7c7f235a97 Copter: ignore flight mode change requests if we're already in the desired mode 2013-10-15 11:53:56 +09:00
Andrew Tridgell
b69f08c03e Copter: reduce timer speed to 500 on APM2
this reduces the cost of timer interrupts
2013-10-13 11:03:41 +09:00
Andrew Tridgell
64d34dc125 Copter: give UARTA 512 bytes
this reduces load by allowing more contiguous writes to the serial
buffers
2013-10-13 11:02:55 +09:00
Randy Mackay
9435eb4a15 Copter: remove unused flags and consolidate ap and ap_system 2013-10-08 15:25:14 +09:00
Randy Mackay
0c0de7c53e Copter: simple mode speedup
super simple and simple mode headings separated
g.super_simple converted into a bitmap by flight mode switch position
2013-10-05 18:26:56 +09:00
Randy Mackay
a53d28e018 Copter: remove support for dmp ahrs 2013-09-27 10:42:49 +09:00
Randy Mackay
7cc8a9038f Copter: move failsafe flags into structure 2013-09-26 19:37:15 +09:00
Randy Mackay
77b5cb5d3f Copter: correct typo in error #define 2013-09-24 21:45:52 +09:00
Randy Mackay
284aa2217f Copter: remove old comments 2013-09-24 21:45:43 +09:00
Andrew Tridgell
faddef69e6 Copter: fixed baud rates on APM1 2013-09-21 09:30:29 +10:00
Andrew Tridgell
46688454c4 Copter: removed flash_leds() calls 2013-09-19 18:38:28 +10:00
Andrew Tridgell
754bdbd25f Copter: use new usb_connected() HAL function 2013-09-19 16:24:23 +10:00
Randy Mackay
98a2ffd65c Copter: remove redundant reset_i_all from startup 2013-09-13 12:30:25 +09:00
Andrew Tridgell
7c62736e59 Copter: fixed Vcc 2013-09-12 13:26:19 +10:00
Randy Mackay
1abb439051 Copter: move acro's var initialisation to roll-pitch and yaw controller initialisation 2013-09-09 10:54:13 +09:00
Randy Mackay
942ba0476b Copter: remove manual_attitude and throttle flags 2013-09-09 10:44:53 +09:00
Randy Mackay
b7579bb028 Copter: move init of global nav variables to set_nav_mode 2013-09-09 10:37:44 +09:00
Andrew Tridgell
979636936d Copter: support reboot to bootloader 2013-09-04 11:59:02 +10:00
Randy Mackay
e985253f1a Copter: integrate notify 2013-08-30 13:01:35 +10:00
Randy Mackay
7159c539e6 Copter: skip mode change checks when disarmed
Note: there will be a follow up commit to move the checks into a
separate function so they can be called just before arming
2013-08-22 13:25:27 +09:00
Randy Mackay
e32342163d Copter: rename ACRO variables 2013-08-05 21:04:50 +09:00
Randy Mackay
39ab4f62ef Copter: add SPORT mode 2013-08-05 21:04:41 +09:00
Randy Mackay
12da2d160a Copter: set landing_complete flag to false on start-up 2013-07-28 18:19:03 +09:00
Randy Mackay
c3daf78340 Copter: reset loiter target when landed 2013-07-28 18:18:41 +09:00
Randy Mackay
7ea971d948 Copter: check set_mode for failure
Previously if set_mode failed it would return the copter to stabilize
mode.  With this commit set_mode returns a true/false indicating whether
it succeeded or not so the caller can make the decision as to the
appropriate response which could be to stay in the current flight mode
or try another flight mode.
2013-07-20 11:01:10 +09:00
Randy Mackay
41ba4a1ed2 Copter: initialise ch7 and ch8 aux switches
This ensures that if you have simple mode or sonar attached to an
auxiliary switch it will be enabled or disabled according to the switch
immediately after start-up
2013-07-16 22:05:59 +09:00
Leonard Hall
64ce9b017d Copter: Body frame ACRO upgrade 2013-07-11 17:53:25 +09:00
Randy Mackay
345924ddec WPNav: replace LOITER_ACCEL_MAX with parameter
Also removed unused _lean_angle_max variable
2013-07-10 20:00:32 +09:00
Randy Mackay
022148ec0d Copter: LAND only control horizontal position if we have GPS lock 2013-06-25 22:34:58 +09:00
Randy Mackay
993bccc60e Copter: point nose at landing point if specified 2013-06-03 15:20:37 +09:00
Olivier-ADLER
68470c9176 Copter : Land submode - Check for GPS 3D Fix instead of checking for available home position 2013-06-02 11:49:12 +09:00
Dr Gareth Owen
f175111243 added GPS check before mode change. New mode_requires_gps() function. 2013-05-30 20:33:15 +09:00
Randy Mackay
d1791bab76 Copter: fix barometer cli test 2013-05-25 12:21:29 +09:00
Randy Mackay
885ce7db03 Copter: remove DigitalReadFast
With APHal all reads are fast
2013-05-20 11:29:34 +09:00
Randy Mackay
9d0f40b432 Copter: add pre_arm_rc_check
Motors are not be enabled unless we have passed rc checks which include
checking the radio in calibration has been performed.
2013-05-16 16:32:00 +09:00
Randy Mackay
98732ae4e8 Copter: remove redundant init of controllers when auto is started
individual do_* commands are responsible for setting roll-pitch, yaw and
throttle modes.  Removing this redundant setting of the controllers
removes the short period (10th second max) where loiter and waypoint
controller's desired roll and pitch were used even before the
controllers have been run once.
2013-05-10 10:51:13 +09:00
Randy Mackay
cca05ee8ae Copter: start dataflash logging when arming
Stop nearly empty logs from being produced.
Removed redundant armed bit from ap state.
2013-05-03 14:49:55 +09:00
Randy Mackay
58d1da2d80 Copter: integrate AC_Fence in place of limits
Lesser functionality than limits but saves more than 150 bytes and it
works
2013-04-27 11:14:07 +09:00
Andrew Tridgell
82c604dd67 Copter: more constrain fixes 2013-04-22 13:26:49 +10:00
Randy Mackay
a53e5f747b Copter: add fourth yaw behaviour, look-at-home
Added get_wp_yaw_mode to remove duplication of checks of the
WP_YAW_BEHAVIOR parameter
2013-04-20 15:36:24 +09:00
Andrew Tridgell
02c3083f60 Copter: print flight mode as string 2013-04-20 15:18:22 +10:00
Andrew Tridgell
a0708460a4 Copter: convert to new logging system 2013-04-20 13:52:37 +10:00
Randy Mackay
d2bd818b2d Copter: bug fix for auto_armed logic
Zero throttle when switching into an auto flight mode would cause the
motors to stop.
2013-04-17 21:28:42 +09:00
Randy Mackay
f82ce449d7 AC_WPNav: add angle limits and set from AC's throttle controller 2013-04-14 10:38:34 +09:00
Randy Mackay
1516972eaa Copter: add panorama to CIRCLE mode
Yaw will slowly rotate if CIRCLE_RADIUS is set to zero
Circle center is projected forward CIRCLE_RADIUS from current position
and heading
2013-04-14 10:38:01 +09:00
Randy Mackay
58ed8cd544 Copter: replace set_next_WP with direct call to wp_nav 2013-04-14 10:37:55 +09:00
Randy Mackay
49828eba7d Copter: integrate AC_WPNav 2013-04-14 10:37:48 +09:00
Randy Mackay
d1afd2fb9b Copter: make guided mode start at current location 2013-04-03 23:06:46 +09:00
Randy Mackay
7cf2255822 Copter LEDs: replace bitRead with bitmask
Consolidate all checks of led_mode to leds.pde
Add #defines for bitmasks comparisons
Some formatting changes
2013-04-01 13:10:12 +09:00
Randy Mackay
80bd593814 Copter: disarm motors when entering CLI 2013-03-21 12:07:00 +09:00
Randy Mackay
dcf21eee8f Copter: only allow entering the CLI within 30 seconds of start-up 2013-03-21 11:54:04 +09:00
Andrew Tridgell
952c56e990 Copter: fixed barometer init in HIL sensors mode 2013-03-18 16:20:25 +11:00
Randy Mackay
36834e77b5 Copter: remove support for CLI Slider 2013-03-18 14:07:04 +09:00
Randy Mackay
f9539384a1 Copter: rename failsafe to failsafe_radio
Makes way for separation of failsafes for throttle, gps and gcs
2013-03-16 17:14:21 +09:00
Randy Mackay
0d5e731a65 Copter: add compassmot to cli
Allows user to setup compensation for motor's interference on the
compass
2013-03-02 17:54:18 +09:00
Randy Mackay
cbde042ec5 Copter: remove non-inav loiter and wp controllers
lon_speed, lat_speed changed to float
do_takeoff, do_land now set roll-pitch, yaw and nav modes specifically
removed fast_corners functionality (may need to be reimplemented with
new inertial nav controllers)
2013-02-24 14:41:52 +09:00
Randy Mackay
67c69a19ee Copter: remove baro-only alt hold
Saves 8 bytes of memory and more importantly simplifies the alt hold
calculations
2013-02-24 14:41:29 +09:00
Randy Mackay
b74fe10aa9 Copter: set each flight mode's nav_mode
Allow ACRO flight mode's roll, pitch, yaw, throttle and nav mode to be
overwritten
2013-01-25 15:57:55 +09:00
Randy Mackay
aaecc25ac7 Copter: leonard's inav2
Moved loiter controller to navigation.pde
2013-01-25 15:16:35 +09:00
Randy Mackay
fd02cfe706 Copter: added set_nav_mode to control initialisation of nav controllers
Renamed run_navigation_controllers() to run_autopilot()
Renamed update_nav_wp() to update_nav_mode()
Renamed wp_control to nav_mode to be more consistent with roll-pitch,
yaw and throttle controllers
2013-01-25 15:16:29 +09:00
Randy Mackay
911e090e07 Copter: typo fixed for trad heli config 2013-01-23 12:35:10 +09:00
Randy Mackay
08dc730d40 ArduCopter: bug fix to LAND flight mode not actually landing if initiated from failsafe
An hidden bit of failsafe functionality in the set_mode function was
switching the throttle mode back to THROTTLE_AUTO instead of
THROTTLE_LAND
2013-01-13 20:01:03 +11:00
Andrew Tridgell
36e38eeef7 Copter: ensure ahrs.init() is called 2013-01-13 17:32:48 +11:00
Randy Mackay
87627d883b ArduCopter: use new logging method for remaining packet types
Additional changes include renaming RAW dataflash type to IMU
2013-01-13 00:17:44 +09:00
Andrew Tridgell
585459ece9 Copter: tweak the serial buffer sizes
we only need the large buffers for HIL
2013-01-11 10:31:55 +11:00
Andrew Tridgell
17a63dc76a Copter: fixes for AP_HAL merge 2013-01-02 09:55:55 +11:00
rmackay9
68b62abd38 ArduCopter with the new Camera and Relay classes for APM1 and APM2.
All changes by Sandro Benigno
2013-01-02 09:55:37 +11:00
rmackay9
e77b54c7dc ArduCopter: bug fix to GUIDED mode. Now checks that desired altitude was reached before deciding the waypoint is complete. 2013-01-02 09:24:31 +11:00
Robert Lefebvre
6e64b1b357 ACM: Precision Loiter RePositioning code.
Protected behind a #define
2013-01-02 09:19:39 +11:00
rmackay9
6da68c53a5 ArduCopter: bug fix so AP_Limits does not use up memory if it is disabled 2013-01-02 09:13:42 +11:00
rmackay9
50d46898fb ArduCopter: allow GUIDED mode roll-pitch, yaw and throttle control modes to be overridden 2013-01-02 09:12:17 +11:00
Andrew Tridgell
cf8e648558 CLI: fixed accel setup
disable mavlink callback in CLI
2012-12-24 08:51:33 +11:00
Andrew Tridgell
9e986801c9 Copter: fixed SITL for ArduCopter 2012-12-20 14:52:34 +11:00
Andrew Tridgell
08b1c2d590 Copter: fixed GPS init 2012-12-20 14:52:33 +11:00
Pat Hickey
2aa4657315 ArduCopter: changes to use CONFIG_HIL_BOARD 2012-12-20 14:52:28 +11:00
Pat Hickey
5bd7046a95 ArduCopter: sketch cpp builds! 2012-12-20 14:52:28 +11:00
Pat Hickey
4b84e99f85 remove dumb user hooks comments 2012-12-20 14:52:28 +11:00
Pat Hickey
901c692ee3 arducopter: type fix 2012-12-20 14:52:28 +11:00
Pat Hickey
d9e0bbbbab ArduCopter: first pass at AP_HAL porting
* changed all the byte types to uint8_t
* fixed up much of the serial stuff
2012-12-20 14:52:27 +11:00
Jason Short
19ae5c30eb ACM : Formatting 2012-12-13 20:12:39 -08:00
rmackay9
b36eb406d4 ArduCopter: allow alt hold to be engaged with alt < 1m because sometimes we get baro drift.
Also initialisation of target altitude is done in set_throttle_mode function.
2012-12-09 14:48:01 +09:00
Robert Lefebvre
aa4d4f8c24 ACM: Adding Pre-Compiler Define for Stabilize Throttle Mode. 2012-12-08 20:41:05 -05:00
rmackay9
9dd978576b ArduCopter: auto yaw changes to allow pilot override of yaw during missions
Added set_yaw_mode to better control of yaw controller changes and variable initialisation.
Replaced AUTO_YAW mode with separate yaw controllers YAW_LOOK_AT_NEXT_WP, YAW_LOOK_AT_LOCATION, YAW_LOOK_AT_HEADING.
Pilot manual override of yaw causes yaw to change to YAW_HOLD (i.e. manual yaw) until next waypoint is reached.
Added get_yaw_slew function to control how quickly autopilot turns copter
Changed YAW_LOOK_AHEAD to use GPS heading and moved to new get_look_ahead_yaw function in Attitude.pde
Renamed variables: target_bearing->wp_bearing, original_target_bearing->original_wp_bearing.
Removed auto_yaw_tracking and auto_yaw variables and update_auto_yaw function as they are no longer needed.
Simplified MAV_CMD_CONDITION_YAW handling (do_yaw).  We lose ability to control direction of turn and ability to do long panorama shots but it now works between waypoints and save 20bytes.
2012-12-08 14:23:32 +09:00
rmackay9
269e02ee93 ArduCopter: bug fix - initialise inertial nav 2012-12-06 10:32:07 +09:00