Commit Graph

923 Commits

Author SHA1 Message Date
Randy Mackay d2bda8c235 Copter: split up medium loop 2013-10-13 11:03:15 +09:00
Randy Mackay e9cefbafd1 Copter: higher priority for throttle loop, lower telemetry 2013-10-13 11:03:10 +09:00
Randy Mackay fc47e05105 Copter: update firmware version to AC3.1-rc3 2013-10-09 11:13:15 +09:00
Andrew Tridgell 450323f4ae Copter: enable logging on Linux 2013-10-08 19:20:35 +11:00
Andrew Tridgell 4b68dd48f7 Copter: use ins.wait_for_sample() for main loop
this takes advantage of the INS specific method to wait for a sample
2013-10-08 19:20:34 +11:00
Randy Mackay 9435eb4a15 Copter: remove unused flags and consolidate ap and ap_system 2013-10-08 15:25:14 +09:00
Andrew Tridgell 6145924481 Copter: switch Linux to L3G4200D ins driver 2013-10-08 11:50:54 +11: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 ba92c4891a Copter: make AutoTune a compile-time option 2013-10-04 15:50:50 +09:00
Randy Mackay 31cea0140d Copter: Leonard's AutoTuning for Roll and Pitch 2013-10-04 15:50:47 +09:00
Randy Mackay dab4f032f9 Copter: integrate BattMonitor 2013-10-03 11:16:28 +09:00
Andrew Tridgell 3665bec26d Copter: fixed build for Linux 2013-09-28 22:04:16 +10:00
Andrew Tridgell 9e42e536a7 Copter: make the scheduling a bit more multi-tasking OS friendly
we can afford to sleep a bit in the main loop
2013-09-28 22:04:16 +10:00
Andrew Tridgell 234eaceb14 Copter: update for Stub -> HIL 2013-09-28 22:04:15 +10:00
Randy Mackay c3f7146f03 Copter: improve check of frame type to catch spelling errors 2013-09-27 14:35:16 +09:00
Randy Mackay a53d28e018 Copter: remove support for dmp ahrs 2013-09-27 10:42:49 +09:00
Andrew Tridgell 394645560a Copter: update for new INS API 2013-09-27 10:49:00 +10:00
Andrew Tridgell a0b6481dfd Copter: removed SMACCM support 2013-09-26 22:38:31 +10:00
Randy Mackay fd2e87b710 Copter: disable tuning during radio failsafe 2013-09-26 20:05:25 +09:00
Randy Mackay 7cc8a9038f Copter: move failsafe flags into structure 2013-09-26 19:37:15 +09:00
Randy Mackay 8a886c0e19 Copter: remove err msg for undefined throttle mode
Printing errors like this to the console are unlikely to ever be seen
2013-09-24 21:45:51 +09:00
Randy Mackay e5535e35b3 Copter: remove unused reset_stability_I 2013-09-24 21:42:05 +09:00
Randy Mackay c596b27719 Copter: add dataflash error for GPS glitch 2013-09-24 21:41:48 +09:00
Randy Mackay 4c8227c050 Copter: update AP_Notify for gps failsafe and glitching 2013-09-24 21:41:28 +09:00
Randy Mackay 2f5b32bada Copter: integrate GPS_Glitch's check_position 2013-09-24 21:41:16 +09:00
Andrew Tridgell 3378c7901a Copter: added support for the flymaple board 2013-09-24 13:51:28 +10:00
Andrew Tridgell 754bdbd25f Copter: use new usb_connected() HAL function 2013-09-19 16:24:23 +10:00
Randy Mackay 79399e4fb4 Copter: AC3.1-rc2 version and release notes 2013-09-18 13:30:26 +09:00
Randy Mackay daa0cb7914 Copter: enable motor slow start in auto mode 2013-09-13 14:32:19 +09:00
Andrew Tridgell 3720efc7c9 Copter: changed to AP_Vehicle.h 2013-09-13 11:47:03 +10:00
Randy Mackay 43c4ba304d Copter: update Release Notes for AC3.1-rc1 2013-09-09 20:04:30 +09: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 4842335a24 Copter: add #include for AC_Sprayer 2013-09-09 10:18:06 +09:00
Andrew Tridgell 52f5b1e5a7 Copter: update to GPLv3 license headers 2013-08-30 13:01:39 +10:00
Andrew Tridgell e1e32fcf08 Copter: fixed build with AP_AHRS changes 2013-08-30 13:01:35 +10:00
Andrew Tridgell 25d517f5d6 Copter: updates for new notify API 2013-08-30 13:01:35 +10:00
Randy Mackay 4aef49a006 Copter: re-order #defines of AP_Notify 2013-08-30 13:01:35 +10:00
Randy Mackay 52ef77393c Copter: integrate Toshiba_LED_PX4 2013-08-30 13:01:35 +10:00
Randy Mackay 46c24fdf39 Copter: integrate ToshibaLED 2013-08-30 13:01:35 +10:00
Randy Mackay e985253f1a Copter: integrate notify 2013-08-30 13:01:35 +10:00
Randy Mackay 45aeb1a921 Copter: split up loiter into 4 steps
Reduces disruption to the main loop but also introduces a delay of 30ms
to navigation output
2013-08-28 11:33:10 +09:00
Randy Mackay 2696e160e6 Copter: surface tracking improvement
Separate correction speeds for pilot input vs altitude-above-ground
errors to allow slower correction to sonar signals.
Change SONAR_GAIN parameter to be altitude error -> desired speed.  This
means it should be set 10x larger than before.
Replace hard-coded sonar cut-off percentage of 70% with
SONAR_RELIABLE_DISTANCE_PCT.
Reduce sonar cut-off percentage to 60%.
Add desired sonar altitude to dataflash log's CTUN message.
2013-08-19 09:52:59 +09:00
Randy Mackay 88332b4acb Copter: revert to 3 element sonar's mode filter 2013-08-19 09:47:48 +09:00
Randy Mackay 3a5a15a15f Copter: allow CH6 tuning of sonar gain 2013-08-18 15:44:54 +09:00
Randy Mackay 6a2daf1a33 Copter: reduce sonar sensitivity to spikes 2013-08-15 16:04:17 +09:00
Randy Mackay 6969ab573d Copter: configurable max lean angle
ANGLE_MAX parameter allows limiting the roll and pitch angles during
manual and auto flight modes to anywhere from 10 to 80 degrees
2013-08-11 12:53:22 +09:00
Randy Mackay 74fb500efe Copter: integrate AC_Sprayer 2013-08-05 21:12:23 +09:00
Randy Mackay 49dbdce89c Copter: split ACRO_P into ACRO_RP_P and ACRO_YAW_P 2013-08-05 21:05:00 +09:00
Randy Mackay 82082e044c Copter: remove ACRO's axis enabled parameter
Acro is now body frame (with earth frame leveling) while Sport is earth
frame acro
2013-08-05 21:04:57 +09:00
Randy Mackay e32342163d Copter: rename ACRO variables 2013-08-05 21:04:50 +09:00
Leonard Hall d2deaaa686 Copter: Acro add rate constrain and combine limit calc 2013-08-05 21:04:47 +09:00
Randy Mackay 39ab4f62ef Copter: add SPORT mode 2013-08-05 21:04:41 +09:00
Randy Mackay a18d55a9d3 Copter: update version to 3.1-dev 2013-08-05 14:26:52 +09:00
Andrew Tridgell 2690edfc5f Copter: ask for IMU samples at 100Hz
this produces the same result, but makes things simpler in the driver
2013-08-02 21:37:15 +10:00
Andrew Tridgell 01e19a32fe Copter: use the new scheduler load_average() call
this also simplifies the main loop
2013-08-02 18:46:34 +10:00
Randy Mackay 0f8f5bc048 Copter: remove unused ap.gps_status flag 2013-07-29 16:46:05 +09:00
Olivier-ADLER 87d062905e Copter: 3 positions switch support for CH7 and CH8 - new 3 positions SIMPLE / SUPERSIMPLE mode
3 positions modes must use mode number >= 100
pre-arm check correction for CH7 - CH8 check
2013-07-29 15:12:10 +09:00
Randy Mackay 3b59cde1b8 Copter: deactivate accel throttle controller when landed 2013-07-28 18:19:01 +09:00
Randy Mackay da37089dc2 Copter: remove landing checks in loiter controller 2013-07-28 18:18:57 +09:00
Randy Mackay 8eefbdce44 Copter: turn off stability patch when landed in Loiter 2013-07-28 18:18:54 +09:00
Randy Mackay 9a1a999fba Copter: landing check changes 2013-07-28 18:18:50 +09:00
Randy Mackay 24d15517ff Copter: clear thr accel I term on take-off 2013-07-28 18:18:45 +09:00
Randy Mackay 05248738e2 Copter: bug fix for take-off in loiter 2013-07-28 18:18:43 +09:00
Randy Mackay c3daf78340 Copter: reset loiter target when landed 2013-07-28 18:18:41 +09:00
Robert Lefebvre 2a9f4bbbad TradHeli: Creating new unified roll/pitch rate controller. 2013-07-19 16:16:12 +09:00
Robert Lefebvre 23ea151ca5 TradHeli: Fix Heli rate controller filter rates. 2013-07-19 16:16:10 +09:00
Robert Lefebvre b4863dc997 TradHeli: Change to throttle controller to allow swash plate collective to move, even if disarmed, if we are in Acro or Stab. This is slightly dangerous... as a user could cause a problem if they do not follow the proper usage procedures. If they do not route the ESC through the APM, but instead direct to Rx. And then if they do not Arm, they could take off in Stab mode while disarmed, but then when they switch to Alt_Hold, it will drop the collective to the bottom and they will fall. This can be saved by switching back to Stab. And it requires operation outside of the normal operating procedure.
This change is being made because most heli users expect to be able to check the swash plate operation before arming and taking off.
2013-07-19 16:16:04 +09:00
Andrew Tridgell 9a159a5e23 Copter: make wp_distance static
removed hack with AP_Camera library
2013-07-15 09:56:45 +10:00
Leonard Hall 64ce9b017d Copter: Body frame ACRO upgrade 2013-07-11 17:53:25 +09:00
Randy Mackay 6dd446ac79 Copter: firmware version to 3.0.1 2013-07-11 16:45:05 +09:00
Andrew Tridgell 5ae62f4f04 Copter: fixed build with specified GPS driver 2013-07-11 14:27:42 +10:00
Randy Mackay 8cb7bd628e Copter: change firmware version to 3.0.1-rc2 2013-07-10 15:52:21 +09:00
Andrew Tridgell da4137b731 Copter: changes for GPS field changes 2013-07-10 14:04:22 +10:00
Craig@3DR bbd4fbd2fb Copter: trigger + logging on camera update_location() 2013-07-10 08:39:59 +10:00
Randy Mackay 79d2fe6271 Copter: double flash arming light when pre-arm checks fail
Hardly my finest work but it's temporary because we're going to replace
all the led, buzzer etc with a library called AP_Notify in the near
future.
2013-07-04 16:26:22 -10:00
Randy Mackay 404cd5f3da Copter: rename g.pid_throttle to g.pid_throttle_rate
Small code clean-up to make throttle rate controller's pid more obvious
2013-06-30 00:04:21 -10:00
Randy Mackay b3da8a462f Copter: CH6 tuning definition clean-up
Renamed and reorganised the CH6 #defines and parameter definitions
2013-06-29 23:51:43 -10:00
Randy Mackay 0592475959 Copter: change firmware version to 3.0.0-rc1 2013-06-26 14:03:28 +09:00
Randy Mackay 45dfbecaba Copter: update 3.0.1 version and release notes 2013-06-26 00:09:36 +09:00
Andrew Tridgell 3e82f644ea Copter: enabled CAM_TRIGG_DIST parameter 2013-06-25 12:52:44 +10:00
Randy Mackay 245bc3d3fd Copter: show pilot input in dataflash ATT message even when in AUTO
AUTO mode ignores pilot input but we still want to be able to see the
pilot's input in the Roll-In and Pitch-In columns of the dataflash's ATT
message
2013-06-19 12:37:13 +09:00
Randy Mackay b1a014e12e Copter: update firmware version to 3.0.0 2013-06-18 10:03:40 +09:00
Randy Mackay b1e089fe29 Copter: update AC3.0-rc6 version and release notes 2013-06-16 11:48:03 +09:00
Randy Mackay dd92a2ba07 Copter: AC3.0-rc5 version and release notes 2013-06-04 15:25:56 +09:00
Andrew Tridgell ba959fd594 Copter: remove unused define 2013-06-04 10:36:34 +10:00
Andrew Tridgell 595d3c694a Copter: make it possible to change board orientation at runtime 2013-06-03 16:52:52 +10:00
Randy Mackay 213eaa8db6 Copter: integrate draft RCMapper 2013-06-03 16:23:47 +10:00
Randy Mackay 9e91def774 Copter: update firmware version and release notes 2013-06-02 12:19:36 +09:00
Dr Gareth Owen 4c6d6ea96e changed yaw reset to when armed to not use initial_simple_bearing 2013-06-02 11:29:30 +09:00
Randy Mackay 99f5462a03 Copter: circle mode fixes 2013-06-01 18:21:30 +09:00
Randy Mackay 1722e438d8 Copter: pass alt hold gain to WP_Nav library 2013-05-31 21:04:10 +09:00
Randy Mackay 838fb3f4e2 Copter: don't spin motors in ALTHOLD with zero throttle 2013-05-27 10:42:22 +09:00
Dr Gareth Owen 1aca66460e 7 yaw when armed option changed so overridable by user 2013-05-24 11:14:06 +09:00
Randy Mackay 22e9b95c3c Copter: version update to 3.0.0-rc3 2013-05-22 17:46:28 +09:00
Randy Mackay 00bd1bf8ea Copter: RESETTOARMEDYAW order and comments
We should keep the order in the case statement the same as the #define
order.
2013-05-21 10:58:34 +09:00
Dr Gareth Owen f646b79e5f indent correct again 2013-05-21 10:40:36 +09:00
Dr Gareth Owen d9fc37c01c indent correct 2013-05-21 10:40:34 +09:00
Dr Gareth Owen e9d640ced8 added ch7 option to reset yaw back to what it was when quad was armed 2013-05-21 10:40:30 +09:00
Randy Mackay 6efdabb104 Copter: move auto disarm into a separate function 2013-05-20 14:05:50 +09:00
Randy Mackay 1dbe98b566 Copter: display reason for pre-arm-check failures in GCS 2013-05-20 13:03:18 +09:00
Randy Mackay 55f1b3b2ae Copter: reorganise medium loop
Shifted compass logging to happen when compass is read.
Updated comments.
2013-05-20 11:18:51 +09:00
Randy Mackay c840e2a8c2 Copter: code clean-up move 10hz loop after 50hz loop 2013-05-20 11:05:14 +09:00
Randy Mackay 38239c652a Copter: ch8 aux switch
Ch8 can be used as an aux switch like ch7.  Has all the same options as
ch7 and there is a safety check to ensure both switches aren't set to
the same function so as to avoid interfering with each other
2013-05-17 14:42:28 +09:00
Randy Mackay 19394918dd Copter: simplify APM_Config.h
Remove items that can be more easily set with parameters
2013-05-17 12:01:39 +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 33d1129904 Copter: remove unused TB_RATIO parameter 2013-05-14 16:56:55 +09:00
Randy Mackay 319f3ef560 Copter: flexible CH6 declination tuning range 2013-05-13 23:37:30 +09:00
Randy Mackay 6ba9431be4 Copter: update firmware version and release notes ahead of -rc2 2013-05-13 22:16:25 +09:00
Andrew Tridgell c44fd42349 Copter: fixed RSSI reading on PX4
needed for different analog input scaling
2013-05-13 15:19:05 +10:00
Randy Mackay ad656c7e8a Copter: allow lat/lon to be specified for land 2013-05-10 22:37:15 +09:00
Randy Mackay b65d714675 Copter: set yaw-mode in do_loiter mission command 2013-05-10 10:51:46 +09:00
Randy Mackay ed5ddfd9db WPNav: initialise desired roll, pitch
bug-fix to resolve 1/10th second twitch when loiter or waypoint
controller are first engaged
2013-05-09 18:32:02 +09:00
Randy Mackay 0a148cce19 Copter: log target alt in meters 2013-05-08 16:41:16 +09:00
Randy Mackay ae2ad8e819 Copter: remove unused radius_of_earth constant 2013-05-05 13:13:48 +09:00
Randy Mackay 647a93e78e Copter: remove jerk when entering RTL or AUTO
Loiter target position was not being initialised properly.
Add a few more comments
2013-05-03 16:58:00 +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
Andrew Tridgell 55da049c69 Copter: fixes for AP_Baro_HIL 2013-05-02 15:09:16 +10:00
Andrew Tridgell 25c576cad7 Copter: replaced constrain() with constrain_float() 2013-05-02 10:26:49 +10:00
Randy Mackay d9601916ee Copter: update firmware version and release notes for 3.0.0-rc1 2013-05-01 17:53:11 +09:00
Randy Mackay 3aca35777f Copter: use mavlink fence message
Note: we should consider moving this send via mavlink into the fence
library
2013-05-01 17:06:58 +09:00
Randy Mackay bab9fa25e5 Copter: add GCS failsafe 2013-04-29 21:30:22 +09:00
Randy Mackay 76d0f7f74d Copter: fix compiler warning re unused float_int 2013-04-28 17:22:58 +09:00
Randy Mackay d146d6aaa6 Copter: restore update_altitude to run at 10hz 2013-04-28 17:15:13 +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 300a8d2bbc Copter: support all 12 channels on PX4
last 4 channels are on the FMU pins
2013-04-25 20:10:53 +10:00
Randy Mackay 74dca6da22 Copter: move update_commands to run_autopilot fn
update_commands was being run in the medium_loop counter but it is
easier to understand the flow of the code if it is consolidated along
with other autopilot calls.
2013-04-24 20:59:49 +09:00
Andrew Tridgell 5ad9deecfb Copter: cleanup some bit if tests to be clearer
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-04-23 23:03:34 +10:00
Randy Mackay 63a48f76e2 Copter: add pre-arm check of radio and accel
Only checks throttle channel and accelerometer scaling
2013-04-23 00:01:20 +09:00
Andrew Tridgell d5875676b1 Copter: use a reference to DCM matrix 2013-04-22 13:26:49 +10:00
Randy Mackay 2fc25da4c3 Copter: Leonard's fix for get_loiter_accel_to_lean_angle 2013-04-21 16:27:50 +09:00
Andrew Tridgell c53ede506d Copter: make if statement clearer 2013-04-21 07:25:52 +10:00
Andrew Tridgell 8b31f276a2 Copter: switch to block based logs for SITL 2013-04-20 20:45:51 +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 67484a2ea1 Copter: make copter code compatible with the new logging system
not fully converted yet
2013-04-20 13:52:36 +10:00
Randy Mackay 37abfdc65a Copter: make CIRCLE_RATE a tunable parameter
Also bug fix to check of how many time it has rotated during a loiter
turns mission command
2013-04-20 12:03:55 +09:00
Randy Mackay f5955d8915 Copter: auto climb and descent params removed
These params now reside in the AC_WPNav library
2013-04-18 14:52:21 +09:00
Randy Mackay 2b4a7d60a9 Copter: remove unused throttle modes
These were useful for testing the alt-hold when it was first introduced
but now they just add complexity
2013-04-17 22:14:22 +09:00
Randy Mackay 56809a9df2 Copter: remove unused nav_ok and alt_sensor_flag 2013-04-17 21:57:57 +09: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
Andrew Tridgell 501eb4f0b4 Copter: made more variables static 2013-04-17 21:35:11 +10:00
Randy Mackay a185fa950c Copter: Jason's fix to auto disarming
Added check so that it only starts counting down when motors are armed.
This removes the issue in which the copter sometimes disarms shortly
aftering being armed.
2013-04-15 23:36:45 +09:00
Randy Mackay b48864e1ad Copter: allow CH6 tuning of compass declination 2013-04-15 21:50:44 +09:00
Randy Mackay 629d23b7e2 Copter: remove WP_SPEED and WP_RADIUS parameters
AC_WPNav library has equivalent params with very similar names
2013-04-14 13:27:37 +09:00
Randy Mackay bffe4fa412 Copter: remove NAV_LAT and NAV_LON
Loiter and navigation controllers now combined
2013-04-14 12:09:45 +09:00
Randy Mackay 1ee825ee9a Copter: move alt and wp checking to AC_WPNAV
RTL fix so that if it starts rtl-ing from above 80m it returns home
while descending instead of descending at initial position.
add get and set_target_alt_for_reporting
2013-04-14 10:39:23 +09:00
Randy Mackay bc87118062 AC_WPNav: add get_target_alt method 2013-04-14 10:39:00 +09:00
Randy Mackay 6dbcbdcb43 AC_WPNav: limit max loiter position error
move interpretation of pilot input to wpnav lib
2013-04-14 10:38:58 +09:00
Randy Mackay 926c404994 AC_WPNav: Leonard's loiter target smoothing 2013-04-14 10:38:39 +09:00
Randy Mackay 553f40a99c Copter: bug fix to loiter delay
change delay to seconds to allow delays longer than 65seconds
2013-04-14 10:38:30 +09:00
Randy Mackay 4de5f67a91 Copter: replace wp_nav.get_target_alt with get_destination_alt 2013-04-14 10:38:17 +09:00
Randy Mackay 5b93990e41 Copter: removed next_WP
Use the wp_nav.get_target_alt or controller_desired_alt in it's place
2013-04-14 10:38:07 +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 3bf847f675 Copter: Jason's faster cos_yaw, sin_yaw 2013-04-02 15:50:29 +09:00
Randy Mackay 7ccb14344c Copter: update version to 2.9.1b-dev 2013-04-01 11:47:56 +09:00
Michael Oborne 59f80410d5 Add ability to compile sensor hil with sitl 2013-03-31 16:35:23 +08:00
Andrew Tridgell b280857025 Copter: use common angle wrap code 2013-03-29 13:14:31 +11:00
Randy Mackay f7d977fe37 Copter: add support for GPS fix type 2D 2013-03-27 11:41:47 +09:00
Randy Mackay 597a4b912a Copter: fix to allow building HIL_MODE_SENSORS 2013-03-18 13:41:52 +09:00
Randy Mackay 61e29173e3 Copter: remove unused crosstrack variables and parameters
Cross track is still calculated internally to the wpnav controller so we
should move this to a library and still report it to the ground station
2013-03-17 16:46:31 +09:00
Randy Mackay fdcb78ccf7 Copter: leonard's smoother alt-hold transition
Target altitude when entering alt-hold is based on a projection from
current alt and climb rate
2013-03-17 13:24:49 +09:00
Randy Mackay 150046f2b8 Copter: GPS Failsafe implemented
Switches to LAND mode 5 seconds after losing GPS if you're in a flight
mode that requires a GPS
2013-03-16 17:27:46 +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 f263e81ed7 Copter: remove unused GPS and baro filters
Saves 24bytes of RAM
Removing the baro filter leads to noisier Baro Alt appearing in the log
so we should make the inertial nav altitude appear in the CTUN message
2013-03-16 00:20:15 +09:00
Randy Mackay cb84ec9d9b Copter: add current based compass compensation 2013-03-03 23:02:36 +09:00
Randy Mackay e0506bd622 Copter: inav circle initial implementation 2013-02-26 11:35:35 +09:00
Randy Mackay d6ff5ae261 Copter: add roll-pitch slew for auto modes
Added reporting of roll, pitch inputs for ACRO, AUTO
2013-02-24 14:42:04 +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 609676e26c Copter: add logging of compass values
Removed rarely used ITERM because we didn't have enough bits in the log
mask
2013-02-24 14:41:48 +09:00
Randy Mackay 1410063a14 Copter: new ROLL_PITCH_WP_INAV roll-pitch mode
small corrections to allow waypoints to work with new inertial nav wp
controller
2013-02-24 14:41:40 +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 fcf102b2cf Copter: inertial nav waypoint controller
#define added to allow compile time selection of traditional or inav
based loiter and wp controllers
2013-02-24 14:41:09 +09:00
Jason Short 7d5b975da2 AC: Flip code fix
Flight tested it today and made some flips. Throttle adjusted in Manual throttle modes. Not tested in AP throttle modes such as alt hold.
2013-02-23 13:14:11 +09:00
Jason Short abd0fb9099 AC : global static variables should not be initialized to zero 2013-02-22 17:34:18 +09:00
Randy Mackay 9904e9f4db Copter: update firmware version to 2.9.1-rc1 2013-02-19 13:43:36 +09:00
Randy Mackay a0b65a262b Copter: use scaled throttle for accel-throttle's I term
Accel throttle's I term is taken from scaled manual throttle
2013-02-01 22:37:25 +09:00
Randy Mackay 06a71af12f Copter: THR_MID used to scale manual throttle 2013-02-01 22:37:16 +09:00
rmackay9 9c3b9907dd Copter: bug fix to set sonar_alt_health to zero when disabled 2013-01-31 17:00:28 +09:00
Randy Mackay ce370bab0c Copter: rename CUR and CURR to CURRENT for logging
Based on user complaint that enable/disable was using CUR while message
was appearing as CURR
2013-01-26 17:20:41 +09:00
Randy Mackay d2767b911c AP_Math: switch get_distance_cm to return uint32_t
Includes changes required on ArduCopter and ArduPlane side as well
2013-01-26 17:04:12 +09:00
Randy Mackay 0056bfadd7 Copter: rename ROLL_PITCH_LOITER
new name ROLL_PITCH_LOITER_INAV makes it more clear that it should only
be used with the new inertial nav loiter controllers
2013-01-25 23:27:31 +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 9a09f086d2 Copter: Leonard Hall's inertial nav ver 2 2013-01-23 12:34:49 +09:00
rmackay9 ab1978ad50 Copter: Leonard Hall's inertial nav based loiter 2013-01-22 18:38:00 +09:00
Robert Lefebvre dde713aaa5 Arducopter: Backing out my changes for a new Loiter Repositioning mode. Leonard and Jonathan's work will trump this. 2013-01-20 21:32:00 +09:00
Randy Mackay 577bf865b3 Copter: update firmware version to 2.9-dev
The -dev extension indicates that we are post 2.9 release
2013-01-17 13:03:33 +09:00
James Bielman 5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Randy Mackay 148c227d73 Copter: update firmware version to rc5 2013-01-15 12:17:41 +09:00
Randy Mackay c1fa850d10 ArduCopter: update firmware version to 2.9-rc4 2013-01-13 20:01:09 +11:00
Randy Mackay 175f69a64f ArduCopter: smooth throttle when switching from manual throttle to alt hold
new set_accel_throttle_I_from_pilot_throttle function copies the
difference between the pilot's throttle and hover throttle to the
accelerometer based throttle controller's I term.
2013-01-13 20:00:59 +11:00
Randy Mackay fbed8b8861 ArduCopter: alphabetized the contributors list
Jonathan Challinger added
2013-01-13 20:00:28 +11:00
Randy Mackay 5965914039 ArduCopter: increase firmware version to 2.9-rc3 2013-01-13 20:00:25 +11:00
Andrew Tridgell b0c710b67f Copter: move read_AHRS() before run_rate_controllers()
this ensures the rate controllers use the latest data
2013-01-13 20:00:14 +11:00
rmackay9 f25f1cb3bf ArduCopter: changed alt hold to use the sonar if enabled and healthy 2013-01-13 19:56:19 +11:00
rmackay9 21b6c78d12 ArduCopter: added get_throttle_althold_with_slew to allow slower altitude target changes
Improved surface tracking by using slewed althold controller
Reduced sonar mode filter to just 3 elements to reduce lag but at the possible consequence of allowing sonar noise to creep through for people with margin sonar set-ups.
2013-01-13 19:51:47 +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 af478d52bc Copter: use the new logging methods for 2 packet types
the rest still need to be converted
2013-01-12 18:15:23 +11:00
Andrew Tridgell 0fe7901422 Copter: only print perf data when SCHED_DEBUG is non-zero 2013-01-12 12:06:40 +11:00
Andrew Tridgell dcb181d2d8 Copter: use new AP_Scheduler library 2013-01-12 12:02:57 +11:00
Andrew Tridgell 2e57720444 Copter: move memcheck_init() earlier in setup 2013-01-11 10:24:21 +11:00
James Bielman 7374e5d84e ArduCopter: Use 16-bit arithmetic when comparing event tick counters.
- On the ARM, once the tick counter wrapped, we stopped running events
  because the wraparound case wasn't being handled correctly.  Make
  sure the comparison is 16 bits to prevent this.
2013-01-09 11:19:52 -08:00
James Bielman 7827a4a54a ArduCopter: Add AP_HAL_SMACCM support.
- Added default configuration to "config.h".
- Added main function to run under FreeRTOS with HWF4.
2013-01-09 11:19:51 -08:00
James Bielman ab37f833db MS5611: Fix CONFIG_MS5611_SERIAL definitions.
- Make sure the values are defined as integers.  We were always using
  SPI rather than using I2C when desired.
2013-01-09 11:19:51 -08:00
Andrew Tridgell e575c5eba0 Copter: read baro at 50Hz 2013-01-09 23:46:05 +11:00
Andrew Tridgell 269804e866 Copter: use barometer.accumulate()
this gives us more consistent timing and faster baro reads on APM1
2013-01-09 23:08:19 +11:00
Andrew Tridgell 860f4b2605 Copter: merge the latest 2.9 changes into master 2013-01-08 14:37:40 -08:00
Andrew Tridgell d11dde578f Copter: a useful bit of timing debug code
enable when looking at main loop timing
2013-01-07 11:07:44 +11:00
Andrew Tridgell d952ccf968 Copter: added main_loop_ready() function
this tells us when the main loop is ready to run. MAVLink won't send a
message if the main loop could run.
2013-01-07 11:07:34 +11:00
Andrew Tridgell c48714be16 Copter: enabled PX4 sensors 2013-01-05 20:39:31 +11:00
James Bielman 264db3670e AP_Baro: Add CONFIG_MS5611_SERIAL option to choose between SPI and I2C.
- Update ArduCopter and ArduPlane modules to pass the correct serial
  driver to the MS5611 driver.
- Update barometer examples, assuming SPI.
2013-01-03 13:48:06 -08:00
Andrew Tridgell 94e3322e24 Copter: fixed build on px4 2013-01-02 22:09:02 +11:00
Andrew Tridgell e56a7eacec Copter: don't pass board version to motors 2013-01-02 15:28:34 +11:00
Andrew Tridgell ead38f917f Copter: use GRAVITY_MSS 2013-01-02 14:45:08 +11:00
rmackay9 228ad2198f ArduCopter: update firmware version to 2.9-rc2 2013-01-02 09:55:37 +11:00
rmackay9 677b38a48e ArduCopter: first implementation of surface tracking using sonar
Note: not yet enabled as part of any flight mode
2013-01-02 09:55:37 +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 e850ab7ccd ArduCopter: add AUTO_VELZ_MIN, AUTO_VELZ_MAX and PILOT_VELZ_MAX to allow better control of climb/descent rate in auto and manual throttle modes 2013-01-02 09:24:31 +11:00
Craig@3DR 0ed25cf719 Global change all references from
GPS_PROTOCOL_MTK16
to
GPS_PROTOCOL_MTK19
2013-01-02 09:24:31 +11:00
rmackay9 466097b383 ArduCopter: use inertial nav for current altitude and climb rate 2013-01-02 09:22:51 +11:00
rmackay9 5ba363b007 ArduCopter: move gcs_check function (which sends to ground station) to run when 50hz loop is not running
Also removed redundant heartbeat message
2013-01-02 09:21:35 +11:00
rmackay9 bd0e018ca0 ArduCopter: restore auto-trim method but now use AHRS.add_trim 2013-01-02 09:20:08 +11:00
Robert Lefebvre 6e64b1b357 ACM: Precision Loiter RePositioning code.
Protected behind a #define
2013-01-02 09:19:39 +11:00
rmackay9 e6519330f4 ArduCopter: remove unused rc_override variables to save 21 bytes 2013-01-02 09:19:17 +11:00
rmackay9 ac8af9a53f ArduCopter: Leonard Hall's changes to alt hold including adding low pass filter to climb rate
get_throttle_rate_stabilized changed to simply update the target altitude instead of talking directly to the rate controller.
get_throttle_althold changed to use sqrt of distance when calculating the desired rate towards the target altitude.
added reset of accel based throttle PID's I term.
unrelated small bug fix from Randy to allow CH6 tuning of throttle rate D term.
2013-01-02 09:19:17 +11:00
rmackay9 d926360e81 ArduCopter: move gcs updates to run only when there are 4ms of spare time before the next 100hz iteration starts 2013-01-02 09:14:31 +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 5633164fa0 ArduCopter: bug fix for compass.accumulate check in main loop (millis vs micros issue) 2013-01-02 09:12:40 +11:00
rmackay9 8e032b89ee ArduCopter: create 2.9 branch and update firmware version 2013-01-02 09:10:40 +11:00
Andrew Tridgell 06357c40f2 Copter: use new functions 2012-12-20 14:53:22 +11:00
Andrew Tridgell a02f723f3a Copter: fixed HIL builds 2012-12-20 14:52:37 +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 d5d97be837 ArduCopter: add param loader properly implement parameters
* thanks tridge!
2012-12-20 14:52:29 +11:00
Pat Hickey 5e63491994 ArduCopter: fix issues with HAL/HIL mixup and baro/compass instances 2012-12-20 14:52:29 +11:00
Pat Hickey 21d0da84a6 ArduCopter: temporarily disable AP_Param::setup_sketch_results
* rebased away tridge's AP_Param changes as they seemed possibly buggy?
2012-12-20 14:52:29 +11:00
Pat Hickey a0151aa66c ArduCopter: fix cliSerial null ptr, do AP_Param::setup_sketch_defaults
* plus make SITL DataFlash available.
2012-12-20 14:52:29 +11:00
Pat Hickey 2aa4657315 ArduCopter: changes to use CONFIG_HIL_BOARD 2012-12-20 14:52:28 +11:00
Pat Hickey ade7099d75 ArduCopter: add AP_HAL_MAIN 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 7af03127f6 ArduCopter: more work 2012-12-20 14:52:28 +11:00
Pat Hickey 70f4739522 ArduCopter: more fixes 2012-12-20 14:52:28 +11:00
Pat Hickey f281d9265e ArduCopter: reworked sonar analog source creation 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
Pat Hickey a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Pat Hickey 3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
Jason Short 19ae5c30eb ACM : Formatting 2012-12-13 20:12:39 -08:00