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