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
rmackay9
a5bb54e36e
ArduCopter: RTL clean-up and slightly improved landing sensor
...
Consolidated RTL state to be captured by rtl_state variable.
Combined update_RTL_Nav and verify_RTL functions which performed the same function but one was for missions, the other for the RTL flight mode.
Renamed some RTL parameters and global variables to have RTL at the front.
Landing detector now checks accel-throttle's I term and/or a very low throttle value
2012-12-06 10:31:52 +09:00
rmackay9
a94826f182
ArduCopter: add set_throttle_mode to better control initialisation of variables
2012-12-06 10:31:04 +09:00
rmackay9
3cbef57c64
ArduCopter: first merge of leonard's accel based altitude controller plus other changes from Randy
...
Changes include:
New low-level get_throttle_accel function takes target acceleration and compares vs earth-frame Z accelerometer values to produce output to motors.
Higher level throttle controllers modified to call new get_throttle_accel controller
Throttle_rate_stabilized controller added which maintains a desired climb/descent rate
Throttle_land controller added - descends using normal auto throttle controller to 10m then descends at 50cm/s
Multiple throttle modes added including landing mode
Land flight mode no longer needs GPS
Throttle cruise maintenance moved to update_throttle_cruise function
2012-12-06 10:30:49 +09:00
Andrew Tridgell
6fbf5ec8f2
Copter: update ArduCopter for new ins interface
2012-11-30 07:15:18 +11:00
Robert Lefebvre
07d7d90882
ACM: TradHeli
...
Bringing in Low Pass Filter for Rate Controllers
2012-11-26 21:51:23 -05:00
Robert Lefebvre
3f0e8dd358
ACM: TradHeli
...
Bringing in Low Pas Filter
Commented out because it does not build.
Needs updates to Low Pass Filter Lib
2012-11-26 21:21:12 -05:00
Andrew Tridgell
f6ec932d63
Copter: added reboot in CLI and over MAVLink
...
useful for getting out of CLI
2012-11-24 18:20:37 +11:00
Andrew Tridgell
bcae83c4f6
ACM: make it possible to run CLI on radio port in ArduCopter
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
rmackay9
07a7a1acd8
ArduCopter: replaced digitalRead and digitalWrite with faster calls
...
improved performance logging to dataflash
2012-11-19 01:16:07 +09:00
rmackay9
bcb9519fd7
ArduCopter: renamed system bitmap to ap_system to resolve desktop compile issues
2012-11-11 22:42:10 +09:00
Jason Short
d2a5928c06
Ap state updates
2012-11-09 22:15:15 -08:00
rmackay9
1f801714e8
ArduCopter: incorporate new version of inertial navigation
...
Moved several navigation functions from ArduCopter.pde to navigation.pde
2012-11-07 19:21:31 +09:00
rmackay9
a1b4ec6d0e
ArduCopter: move to use new INS library instead of IMU library
2012-11-07 19:21:09 +09:00
Jason Short
e138b0a1d7
ACM: Added simple mode bearing logging for bug hunting
2012-10-28 12:12:38 -07:00