Commit Graph

5184 Commits

Author SHA1 Message Date
Leonard Hall 5c47f3f9e5 Copter: add acro throttle and yaw expo and smoother manual pilot throttle 2016-10-15 11:27:53 +09:00
Randy Mackay 0aab175051 Copter: move proximity to g2 2016-10-14 14:02:29 +09:00
Randy Mackay fa36b563bc Copter: add advanced failsafe enable to APM_Config
No functional change
2016-10-14 14:00:59 +09:00
murata f705bd0d83 Copter: reduce intermediate storage of arming_check results 2016-10-14 11:39:18 +09:00
Jonathan Challinger 7cb9ad6e2b Copter: descend normally from 35cm 2016-10-14 10:46:11 +09:00
Jonathan Challinger f2ef8eec8c Copter: use velocity output from AC_PrecLand 2016-10-14 10:46:08 +09:00
Randy Mackay ccc99c772f Copter: remove union from aux_con for switch state 2016-10-14 10:31:05 +09:00
murata b23823a934 Copter: delete unused variable from aux switch structure 2016-10-14 10:30:41 +09:00
Andrew Tridgell ebbcabcb5f Copter: fixed comment 2016-10-14 11:40:09 +11:00
Randy Mackay 89c660eab5 Copter: add pre-arm check for proximity sensor 2016-10-13 20:21:07 +09:00
Randy Mackay 1665f4d416 Copter: report altitude and position control of new modes in sys-status message 2016-10-13 20:21:07 +09:00
Randy Mackay 4afa49eebe Copter: report proximity health in system-status 2016-10-13 20:21:07 +09:00
Randy Mackay a07ecfe2b3 Copter: log proximity sensor at 10hz
This is current in the Copter vehicle code but we can move to the dataflash library when other vehicles start using this type of sensor.  Until then adding it to common will just increase the dependencies unnecessarily for other vehicles.
2016-10-13 20:21:07 +09:00
Randy Mackay bba7369e9a Copter: pass AP_Proximity to AC_Avoid 2016-10-13 20:21:07 +09:00
Randy Mackay fcc2a1b378 Copter: integrate AP_Proximity into main vehicle 2016-10-13 20:21:07 +09:00
Randy Mackay 5f749a0597 Copter: add AP_Proximity to build 2016-10-13 20:21:07 +09:00
Andrew Tridgell 652b6b7564 Copter: deprecate RC_CHANNELS_RAW 2016-10-13 21:24:02 +11:00
Randy Mackay 26c3295042 Copter: ignore first ekf core switch
The ekf core is initialised to -1 but after initialisation changes to zero.  Ignore this first change.
2016-10-13 15:20:16 +09:00
murata f3a035694a Copter: fix ekf check to always call mode_requires_gps 2016-10-12 10:16:55 +09:00
Michael du Breuil ea45e5e6f1 Copter: Support GPS_RTCM_DATA 2016-10-11 11:00:36 +11:00
Randy Mackay 263f685683 Copter: ekf failsafe can trigger in LAND
Thanks to John Ingersoll for the report and detailed fix
Resolves issue #4827
2016-10-10 17:36:36 +09:00
Randy Mackay d74ae535d1 Copter: log EKF lane switch 2016-10-10 16:40:08 +09:00
Randy Mackay 35864c6226 Copter: move check_ekf_reset to ekf_check.cpp
No functional change
2016-10-10 16:40:08 +09:00
murata f135ca5ae7 Copter: reduce repeated string constants 2016-10-10 12:17:12 +09:00
Randy Mackay 3b6e56d1a0 Copter: minor formatting fixes
No functional change
2016-10-10 12:11:14 +09:00
murata 61fa73f25d Copter: remove return after the Switch statement 2016-10-10 12:07:24 +09:00
Randy Mackay 337461c16c Copter: pre-arm check of GPS configuration 2016-10-10 10:52:54 +09:00
murata 57c61ace62 Copter: To remove a break after the return statement. 2016-10-08 13:55:18 -03:00
murata 7148cc6239 Copter: Return value is changed to Enum Value. 2016-10-05 08:25:15 -03:00
murata 60137e0f0b Copter: replace if statement with switch statement 2016-10-05 16:32:57 +09:00
Jonathan Challinger a393bd26d7 Copter: add stick gesture to begin compass calibration 2016-10-05 16:29:02 +09:00
Lucas De Marchi b24d850695 ArduCopter: Fix use of logical op instead of bitwise op
../../ArduCopter/GCS_Mavlink.cpp: In member function 'void Copter::send_extended_status1(mavlink_channel_t)':
../../ArduCopter/GCS_Mavlink.cpp:281:37: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
     uint32_t sensors_error_flags = !control_sensors_health & control_sensors_enabled & control_sensors_present;
                                     ^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors

Thanks to Ralph Campbell <ralphcampbell1@gmail.com> for the bug report.
2016-09-29 11:36:23 -03:00
Pierre Kancir 6f79a8c37c Arducopter: simply invalid cmd msg 2016-09-27 07:45:48 -07:00
Pierre Kancir 94e42e870e ArduCopter: uniformize verify_command
Add better gcs message,
Add all handle message,
Reformate comments,

Fix do_roi comment
2016-09-27 07:45:48 -07:00
Tom Pittenger 748beb094d Copter: log to dataflash statustext messages from my_gcs 2016-09-26 00:13:30 -07:00
Randy Mackay 7091daa1cf Copter: remove out of date comment regarding autotune
no functional change
2016-09-23 20:48:03 +09:00
Peter Barker b81074d83a Copter: simplify auxsw duplicates check 2016-09-23 18:12:19 +09:00
floaledm 5910c94b65 Copter: change sensor health check to prevent false positive 2016-09-22 13:56:49 -05:00
John deVere d89b82b69f Copter: fixed parameter description typos 2016-09-14 14:05:47 -07:00
Randy Mackay 9b8b45b218 Copter: 3.4-rc5 release notes 2016-09-14 13:04:39 +09:00
Randy Mackay 9b1b18b15b Copter: add sprayer to aux switch options 2016-09-13 17:34:15 +09:00
Randy Mackay f37c17bd80 Copter: include spray in build by default 2016-09-13 15:16:13 +09:00
Randy Mackay a8f0291711 Copter: parameter conversion only for matrix multicopters
Single, Coax and Tri copter rate parameter conversions were incorrect
2016-09-13 09:44:38 +09:00
Andrew Tridgell d0dd10aeea Copter: added DEV_OPTIONS parameter
this is for little used options to allow standard firmware builds to
enable those options for development purposes

First option is for MAVLink based ADSB avoidance
2016-09-12 16:24:34 +10:00
Randy Mackay f22f10460a Copter: 3.4-rc4 release notes 2016-09-06 11:18:07 +09:00
floaledm 85a3fda879 Copter: removed reliance on home_distance and home_bearing which are only in copter 2016-09-06 11:42:33 +10:00
Leonard Hall 1f2d17e8e7 Copter: increase chance that parachute will deploy
Previously a single moment where the vehicle was within 30deg of the target could cause the parachute release counter to reset to zero.  This change makes the parachute release if it is spending at least half it's time with more than a 30degree angle error.
2016-09-06 09:43:31 +09:00
Michael du Breuil bec4bfa2ba Copter: Return RESULT_FAILED for GET_CMD_HOME if home is unset 2016-09-03 16:54:16 +09:00
Randy Mackay 4832ba4bf0 Copter: call attitude control parameter check 2016-09-02 09:27:17 +09:00
Randy Mackay 42cca17df4 Copter: update 3.4-rc3 release notes 2016-09-01 11:45:46 +09:00
Randy Mackay f6f3718e80 Copter: 3.4-rc3 release notes 2016-08-31 15:01:23 +09:00
Randy Mackay a8a31b1c24 Copter: fix health reporting to GCS for optical flow and precision landing
Includes slight restructuring to logic for other sensors but these should not have any functional effect
2016-08-31 13:59:16 +09:00
Randy Mackay cba480d02b Copter: add auto calibration to ESC_CAL parameter description
No functional change
2016-08-31 11:53:53 +09:00
Randy Mackay e17c8ac851 Copter: remove non-working reset-to-armed-yaw
Arguably we should make this work, but until that happens we should not present the option on the auxiliary switches
2016-08-29 16:34:24 +09:00
Randy Mackay eded2dee23 Copter: TELEM_DELAY parameter range to 30sec
No functional change
2016-08-29 15:29:05 +09:00
Andrew Tridgell d186e1c648 Copter: improve the reliability of ESC calibration with OneShot ESCs
run at higher rate and make sure we're always giving output
2016-08-29 15:52:21 +10:00
khancyr 733786830d Copter: config.h fix typo 2016-08-26 14:28:35 +09:00
khancyr 1a1c749501 Copter: fix typo in parameters.cpp 2016-08-26 14:28:35 +09:00
Andrew Tridgell f18e0dadc9 Copter: added optional AdvancedFailsafe for copter and heli 2016-08-25 14:14:18 +10:00
Grant Morphett 28552d5cc9 Copter: Supports COMMAND_INT in the code so added it to capabilites. 2016-08-25 12:56:32 +10:00
Andrew Tridgell ea7e62df17 Copter: use a constant string for frsky_telemetry init 2016-08-25 11:00:31 +10:00
floaledm 893614897e Copter: moved MAV_TYPE to Copter.h 2016-08-25 10:16:20 +10:00
Andrew Tridgell 96de005591 Copter: moved MAV_TYPE define to defines.h 2016-08-25 10:16:20 +10:00
Andrew Tridgell a14ff8ac77 Copter: fixes for Frsky_Telem API changes 2016-08-25 10:16:20 +10:00
Andrew Tridgell 0bcc9c4cb0 Copter: fix for AP_FrSky_Telem API change 2016-08-25 10:16:19 +10:00
floaledm baa3357b21 Copter: changed init for SPort passthrough protocol compatibility 2016-08-25 10:16:18 +10:00
floaledm 157db51b9d Copter: make control_sensor vars available outside of send_extended_status1 2016-08-25 10:16:18 +10:00
floaledm c0bd21d9f2 Copter: compatibility with revised AP_Frsky_Telem class 2016-08-25 10:16:18 +10:00
floaledm f73fa1fc80 Copter: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
murata 97613ef961 Copter: By multiple bit synthetic, can this method once access. 2016-08-24 11:30:23 -03:00
Gustavo Jose de Sousa b8e518a533 waf: use ap_library tool
That way we avoid recompiling source files that don't depend on vehicles.
Change notes:
- UTILITY_SOURCE_EXTS: moved to ap_library
- Task generators indexes: ap_library handles that now and in a better way
- Use of AP_STLIB_FEATURES: it doesn't make sense anymore, since the stlib
  taskgen has empty source list
- Flags and defines: passed down to ap_library through AP_LIBRARIES_OBJECTS_KW
- Set use='mavlink' in AP_LIBRARIES_OBJECTS_KW instead of calls to
  bld.ap_stlib().
2016-08-24 10:46:23 -03:00
Tom Pittenger e9d34c07d2 Copter: reduce scheduler max-time for avoid-adsb from 400 to 100 2016-08-17 22:38:54 -07:00
Tom Pittenger 5c1d49b985 Copter: add new avoidance recovery modes 2016-08-17 22:38:54 -07:00
Tom Pittenger a1bf791529 Copter: do not report collision warning when action is COLLISION_ACTION_NONE: 2016-08-17 22:38:54 -07:00
Tom Pittenger 06b64000e1 Copter: move mavlink msg handling into library 2016-08-16 16:33:36 -07:00
Tom Pittenger d04a5d58fd Copter: decode correct ADSB packet 2016-08-16 16:33:36 -07:00
Peter Barker f67d247a46 Copter: factor pre-arm checks, continue testing after a failure
The functional change here is that we continue to run later checks
when a check fails.

The user-visible effect of that is that your GCS will tell you about
all pre-arm failures, not just the first.

This makes things work a little more like Plane, in preparation for
using AP_Arming.
2016-08-16 11:37:18 -03:00
murata ec4c17e630 Copter: Delete a comparison that does not become a true forever. 2016-08-16 21:04:25 +09:00
Andrew Tridgell 06154fc4ab Copter: use rangefinder to prevent auto-disarm in the air
only consider the vehicle to be landed if either no rangefinder or
rangefinder shows an altitude below 2m
2016-08-16 15:14:10 +10:00
Andrew Tridgell e4564de837 Copter: fixed heli criterion for unsetting land_complete
in order to honor H_LAND_COL_MIN we need to check if we have reached
the throttle lower limit
2016-08-16 11:30:37 +10:00
Andrew Tridgell a67b9372fd Copter: check that climb rate is low in landing detector
this fixes an issue where a vehicle may still be descending rapidly
and trigger the landing detector. See the log for Robs heli.
2016-08-16 11:29:15 +10:00
Andrew Tridgell 3041a75798 Copter: limit attitude on landing using WP_NAVALT_MIN 2016-08-16 11:26:56 +10:00
Andrew Tridgell 89c10a2db9 Copter: rename WP_TKOFF_NAV_ALT to WP_NAVALT_MIN
this is in preparation for using the same parameter for landing as
well
2016-08-16 11:26:56 +10:00
Tom Pittenger dbdd86ad46 Copter: set SYS_STATUS and HB_Flag Guided bits when in AVOID_ADSB 2016-08-12 14:46:44 -07:00
Tom Pittenger 4cd66d54d1 Copter: fixed adsb pre-arm error text. "Arm" and "PreArm" were swapped 2016-08-12 12:56:44 -07:00
Jonathan Challinger 0051ecb288 Copter: fix LAND_SPEED_HIGH 2016-08-11 19:17:17 -07:00
Peter Barker 4371223738 Copter: add dataflash as a bit for the mavlink SYS_STATUS message 2016-08-11 17:48:44 -03:00
Andrew Tridgell ba7d0d6cd8 Copter: changed startup order
this allows BoardConfig to report errors in a way that allows for
BRD_TYPE to be changed by the user
2016-08-10 19:54:01 +10:00
murata 4eee3b1317 Copter: fix underflow in scheduler
If fast_loop method executed time is over MAIN_LOOP_MICROS,
scheduler.run method set value is  0.
2016-08-09 22:54:27 -03:00
Randy Mackay 0ed5665193 Copter: change parameter order of guided_set_angle
I thought it might be slightly better to put the optional parameters at the end
No functional change
2016-08-10 10:03:54 +09:00
Allan Matthew 6dd4e1a2aa Copter: accept yaw rate commands in Guided atttude controller 2016-08-10 10:03:37 +09:00
Randy Mackay 9842840346 Copter: GND_EFFECT_COMP parameter to enable ground effect compensation 2016-08-09 13:31:36 +09:00
Peter Barker 68630a86fe Copter: fix logging after log download
Downloading a log causes DataFlash to stop logging.

Restart logging when we are not downloading and start_logging is called.
2016-08-09 09:06:14 +09:00
Randy Mackay 728e8f8f56 Copter: land_state uses enum
This resolves a Covarity warning related to initialisation (that was not really a problem) but it is better form anyway
2016-08-08 13:31:29 +09:00
Randy Mackay 575795fa84 Copter: CTUN logging checks return value of height_above_terrain
This resolves a Covarity warning but it was actually safe before
No functional change
2016-08-08 13:31:27 +09:00
Randy Mackay 542677f1d5 Copter: land vertical control uses current_loc.alt instead of get_alt_cm
This resolves a warning from Covarity that we were not checking the return
value of Location_Class::get_alt_cm.  It was not actually a problem.
No functional change
2016-08-08 13:30:53 +09:00
Randy Mackay 3be76743bf Copter: precland checks get_alt_cm return value
This makes it easier for Covarity to recognise that we don't have an error by checking the return value of get_alt_cm
No functional change
2016-08-08 13:30:19 +09:00
Randy Mackay 83c3659acc Copter: report version print fix
Found by Covarity
2016-08-08 12:15:14 +09:00
Randy Mackay f4fee69f29 Copter: add div-by-zero check to get_pilot_desired_throttle
This divide by zero is only possible if there was a coding error in the setup of the throttle channel but added to make Covarity happy
2016-08-08 12:14:02 +09:00
Randy Mackay 8bb536b366 Copter: 3.4-rc2 release notes 2016-08-08 11:24:43 +09:00
Leonard Hall 3349e24492 Copter: fix autotune unit conversions for step sizes 2016-08-08 11:24:42 +09:00
Randy Mackay 5255f55cc3 Copter: add comments to RTL's compute return target 2016-08-06 14:01:39 +09:00
Randy Mackay 68d3655195 Copter: fix rtl's use of rally point alt
Thanks to OXINARF for spotting this
2016-08-06 14:01:38 +09:00
Randy Mackay 57977e2d76 Copter: ensure RTL to rally point does not breach the altitude fence
Previously we added the rally-point altitude to the calculated return altitude on the final line of this function meaning the fence's altitude check was not performed on the final value.  This change adds the rally-point altitude as the first step so it is included before the fence altitude check.
This change also converts the return alt to an alt-above-home so that it can correctly be compared to the fence (previously a terrain-altitude might have been compared to an alt-above home)
2016-08-06 14:01:31 +09:00
Francisco Ferreira 43ad1f372d Copter: change function from computing return altitude to computing return target
Also fix altitude for rally points
2016-08-06 13:50:53 +09:00
Francisco Ferreira e732cda577 Copter: when calculating RTL return alt use rtl_path directly
At the same time, fix bug: check return point for terrain and not origin twice
2016-08-06 13:50:50 +09:00
Randy Mackay 5b5385715e Copter: manual modes set_land_complete to false 2016-08-05 13:36:39 +09:00
Randy Mackay c3d71f733c Copter: remove get_takeoff_trigger_throttle
get_pilot_desired_climbrate can be used instead.
2016-08-05 12:40:37 +09:00
Randy Mackay ac4f36a992 Copter: remove LAND_REQUIRE_MIN_THROTTLE_TO_DISARM feature
This definition has been false for over a year and we have not heard of any users wanting to delay the disarming until the pilot's throttle goes to zero.  Removing this feature removes a small bit of complexity from the code.
2016-08-05 12:40:37 +09:00
Randy Mackay d1e257d5b6 Copter: remove unused get_throttle_pre_takeoff 2016-08-05 12:40:37 +09:00
Randy Mackay cb5d3238cb Copter: poshold provides throttle feedback from mid-stick when landed 2016-08-05 12:40:37 +09:00
Randy Mackay 6d9d3c1458 Copter: autotune provides throttle feedback from mid-stick when landed 2016-08-05 12:40:37 +09:00
Randy Mackay 88da5bd453 Copter: sport mode restructured to match althold and feedback from mid-stick
This modifies sport mode to be structured like althold and loiter flight modes so that ongoing maintenance of the modes is hopefully easier.
Also changes throttle feedback to occur from mid-stick
2016-08-05 12:40:37 +09:00
Randy Mackay 53f0216269 Copter: sport - fix call to relax_alt_hold_controller 2016-08-05 12:40:37 +09:00
Randy Mackay 5061b29031 Copter: poshold - fix call to relax_alt_hold_controller 2016-08-05 12:40:37 +09:00
Randy Mackay aa4661835e Copter: brake - fix call to relax_alt_hold_controller 2016-08-05 12:40:37 +09:00
Leonard Hall 5b277f4fb5 Copter: autotune - fix call to relax_alt_hold_controllers 2016-08-05 12:40:37 +09:00
Leonard Hall 205bac91a1 Copter: loiter spin-up to throttle min (and remove a state) 2016-08-05 12:40:37 +09:00
Leonard Hall d9deab9e8e Copter: AltHold pilot feedback only spins up to min throttle 2016-08-05 12:40:37 +09:00
Leonard Hall 22422bd7b3 Copter: autotune bug fix to autotune_updating_p_up_d_down
This resolves an issue in which the D term could be reduced far lower than
it should have been.
2016-08-04 21:46:30 +09:00
Jonathan Challinger 80f3541933 Copter: add configurable arming delay 2016-08-04 15:19:22 +09:00
Jonathan Challinger 4a6cc75ebb Copter: whitespace change 2016-08-04 15:17:38 +09:00
Randy Mackay 595aea236a Copter: consolidate throw mode state into structure 2016-08-02 20:25:52 +09:00
Randy Mackay 381397c7bd Copter: set throw mode stage on init 2016-08-02 20:25:52 +09:00
Randy Mackay 807e930251 Copter: throw uses motor spooling instead of interlock 2016-08-02 20:25:52 +09:00
Randy Mackay f4f13bbe6b Copter: add throw mode logging 2016-08-02 20:25:52 +09:00
Randy Mackay 8c5c8eec44 Copter: minor throw mode comment fix
No functional change
2016-08-02 20:25:52 +09:00
Randy Mackay 8e58ea9277 Copter: add throw mode defines for required speed
No functional change
2016-08-02 20:25:52 +09:00
chambana 25940c8e0f Copter: add THROW_TYPE and allow dropping vehicle to trigger motors 2016-08-02 20:25:52 +09:00
Randy Mackay f0f87a2f0c Copter: add throw_nextmode
vehicle switches to mode specified in THROW_NEXTMODE parameter after the
throw is completed.
2016-08-02 20:25:52 +09:00
Randy Mackay 64ac18da6c Copter: move throw state into structure
This makes it easier to add more state which is required for the follow throw_nextmode change
2016-08-02 20:25:52 +09:00
Randy Mackay 40db19549e Copter: allow taking off in Guided mode's attitude control sub mode 2016-08-02 18:26:05 +09:00
Randy Mackay 4e92f08bf1 Copter: only accept attitude targets in Guided mode 2016-08-02 18:26:04 +09:00
Randy Mackay 1161417d7f Copter: add GUIDED_NOGPS flight mode
This mode is a cut down version of Guided mode that only accepts attitude commands.
This mode does not require a GPS lock
2016-08-02 18:25:59 +09:00
Gustavo Jose de Sousa f2dec971e7 waf: add "ap_" prefix to keywords "libraries" and "vehicle"
As an effort to keep things specific to ardupilot API in the build system
consistent and easy way to identify.
2016-08-01 22:04:16 -03:00
Jonathan Challinger 2c41459fe9 Copter: loosen accelerometer consistency check in z-axis 2016-07-29 14:08:14 +09:00
murata b1f204e2a6 Copter: use constrain_float for target_roll assignment 2016-07-29 13:35:27 +09:00
Lucas De Marchi c0b49f6aeb ArduCopter: Remove i2c lockup count
This was returned only for a single bus and on all supported platforms
this is hardcoded to 0.
2016-07-28 18:03:09 -03:00
mirkix e3934fac80 ArduCopter: Delete (wrong) filename out of header 2016-07-25 17:13:41 -03:00
Randy Mackay 49674abb21 Copter: guided mode's velocity controller stops before fence 2016-07-25 20:24:37 +09:00
Randy Mackay 7a6e0a981b Copter: simplify guided mode's velocity controller's accel limit calcs 2016-07-25 20:24:37 +09:00
Randy Mackay dc52f3b2df Copter: guided mode applies acceleration limits to velocity controller 2016-07-25 20:24:37 +09:00
Randy Mackay 866487608e Copter: rename guided mode's posvel controller target variables
We will re-use these targets for the guided velocity controller
2016-07-25 20:24:37 +09:00
Randy Mackay 6118bf1b14 Copter: remove adsb sensor library based avoidance
adsb based avoidance has been moved to AP_Avoidance library
2016-07-25 20:24:37 +09:00
Randy Mackay d50987f976 Copter: avoidance_adsb implements copter avoidance using ADSB 2016-07-25 20:24:37 +09:00
Randy Mackay df55704875 Copter: pre-arm check includes adsb failsafe 2016-07-25 20:24:37 +09:00
Randy Mackay 68899ed921 Copter: add adsb to failsafe structure and report in heartbeat to GCS 2016-07-25 20:24:37 +09:00
Randy Mackay f4db4bdb08 Copter: GCS_MAVLink passes packets to AP_Avoidance
This allows treating GLOBAL_POSITION_INT packets from other vehicles in the same way as ADSB packets
2016-07-25 20:24:37 +09:00
Randy Mackay 61844b3062 Copter: add AP_Avoidance to build 2016-07-25 20:24:37 +09:00
Andrew Tridgell 387da40fc5 ArduCopter: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Tom Pittenger 07a838937e Copter: handle ADSB-Out packets 2016-07-22 13:38:37 -07:00
Andrew Tridgell cb5ca713a9 Copter: added AP_Button support 2016-07-22 15:01:20 +10:00
Andrew Tridgell e943a48eba Copter: added PLAY_TUNE message 2016-07-22 15:00:17 +10:00
Francisco Ferreira 90a4b36263 Copter: remove pre-arm check for rally points 2016-07-22 09:00:23 +09:00
Francisco Ferreira 25fefe77b7 Copter: add AP_Rally_Copter
override default is_valid method so we can check if rally point is inside the fence, if it isn't we ignore it
2016-07-22 09:00:18 +09:00
Tom Pittenger d136737c87 Copter: add ADSB-out support for copter 2016-07-20 22:46:54 -07:00
Randy Mackay 8681911a0b Copter: small fix to precision land descent rate 2016-07-12 18:40:25 +09:00
Jonathan Challinger a4827aff53 Copter: slow down precision landing descent based on position error 2016-07-12 18:40:25 +09:00
Jonathan Challinger e22220ab62 Copter: refactor landing to reduce duplication, use vertical vel ff 2016-07-12 18:40:25 +09:00
Jonathan Challinger e311139a21 Copter: use terrain alt for precland if rangefinder is unavailable 2016-07-12 18:40:25 +09:00
Jonathan Challinger 0f4367744f Copter: update precland at 400hz, log at 25hz 2016-07-12 18:40:25 +09:00
Allan Matthew 860773260f Copter: support GPS_INPUT mavlink message 2016-07-12 15:34:51 +09:00
Andrew Tridgell 3a8ed06267 Copter: added TKOFF_NAV_ALT parameter
this adds TKOFF_NAV_ALT which controls the altitude above takeoff that
navigation can begin. It is meant for unstable vehicles such as helis
to prevent blade strike during initial takeoff.

This also adds a new parameter class ParametersG2 which can hold 64
parameters. This is to avoid running out of parameters in the first
256 block
2016-07-07 14:21:47 +09:00
Randy Mackay 877a144dea Copter: pre-arm check that rally points are within fence 2016-07-04 18:25:03 +09:00
Randy Mackay 2647bed484 Copter: guided mode uses modified check_destination_within_fence 2016-07-04 18:25:03 +09:00
Jonathan Challinger 91a5b26725 Copter: use simplified precland interface 2016-07-04 16:57:06 +09:00
Derek Ma 7fddf20f0b Copter: enable precision landing in auto mode 2016-07-04 16:57:06 +09:00
Randy Mackay 543d5701e7 Copter: remove unused log_write_startup 2016-07-04 11:17:16 +09:00
Randy Mackay 5d5a85c38e Copter: log rally points on startup 2016-07-04 11:17:14 +09:00
Andrew Tridgell 6737bc21b9 Copter: fixed typo 2016-07-01 15:34:48 +10:00
Andrew Tridgell b5ccd458d3 Copter: added 10Hz logging of controller RMS values
as discussed with Leonard
2016-06-29 14:43:44 +10:00
Randy Mackay 7edb6e76f0 Copter: set terrain capabilities only if terrain code is compiled in
Thanks to OXINARF for finding this
2016-06-27 17:11:06 +09:00
Randy Mackay 52d81f630f Copter: pass polygon fence mavlink messages to fence 2016-06-25 15:55:55 +09:00
Randy Mackay b61ae1a4a1 Copter: log EKF yaw reset event 2016-06-24 18:12:30 +09:00
Leonard Hall 07cadc7ddd Copter: rename limit_angle_to_rate_request to use_input_shaping 2016-06-24 17:17:18 +09:00
Leonard Hall 3b7658c502 Copter: land and crash detector use thrust angle error
The thrust angle error is the difference between our desired thrust vector
and the actual thrust vector

Also some changes to use definitions in place of constants in the checks
2016-06-24 17:17:18 +09:00
Leonard Hall 7d54c268f6 Copter: consolidate input_euler_angle calls to use smoothing gain
Previously we had _smooth and non-smooth methods in the attitude
controller but as part of the move to quaternions these have been replaced
by a single call which always takes a smoothing gain
2016-06-24 17:17:17 +09:00
Leonard Hall 75c4367cfc Copter: Change fabs to fabsf 2016-06-24 15:03:14 +09:00
Peter Barker 043b1d321d Copter: remove paths for documenation for non-multi frame
Our current documentation system only emits one XML document (apm.pdef.xml)
for ArduCopter.

Since there is a conflict between parameters in the MOT_ namespace in Copter,
we only emit the documentation for the first parameter defining the MOT_ namespace.

This patch removes the documentation lines for frame types other than multicopter, meaning the documentation will reflect mutlictopter usage - the most common case.

These lines will need to be reinstated when we change the way we produce the xml documentation.
2016-06-24 09:55:28 +09:00
Peter Barker 7742503ef3 Copter: include AC_AttitudeControl parameter documentation 2016-06-24 09:55:26 +09:00
Daniel Ricketts 87be8daf0e Copter: integrate AC_Avoidance library 2016-06-22 11:38:15 +09:00
Daniel Ricketts 5022a45495 Copter: add AC_Avoidance to build 2016-06-22 11:38:15 +09:00
Tom Pittenger 66d4caeeb0 Copter: add ADSB_streamrate 2016-06-19 11:24:33 -07:00
Leonard Hall 9864750336 Copter: rename CTUN desired_velocity to target_velocity
No functional change
2016-06-18 11:55:49 +09:00
Randy Mackay a614a17b3a Copter: log hover throttle in CTUN message 2016-06-18 11:55:49 +09:00
Randy Mackay 901e8cc23f Copter: convert THR_MIN to MOT_SPIN_MIN, THR_MID to MOT_THST_HOVER 2016-06-18 11:55:49 +09:00
Leonard Hall 48eb4cf674 Copter: remove THR_MID 2016-06-18 11:55:49 +09:00
Leonard Hall e9d8a28ec0 Copter: AP_Motor's throttle_hover replaces throttle_average 2016-06-18 11:55:49 +09:00
Leonard Hall dec9323127 Copter: remove THR_MIN
Equivalent is AP_Motors SPIN_MIN
2016-06-18 11:55:49 +09:00
Randy Mackay 6a1bdebf25 Copter: remove THR_MAX definition for changing throttle input range
We do not support changing the throttle input range from it's expected 0 ~ 1000
2016-06-18 11:55:49 +09:00
Leonard Hall e08e112c6d Copter: land detector sets att vs thr priority in att controllers 2016-06-18 11:55:49 +09:00
Andrew Tridgell 86d8450666 Copter: use loop rate for copter
this allows for SCHED_LOOP_RATE below 400 in SITL for copter
2016-06-17 15:01:18 +10:00
Peter Barker 1fc4063117 Copter: correct TERRAIN_FOLLOW parameter comments 2016-06-08 17:35:20 +09:00
Andrew Tridgell 55ad1548e4 Copter: fixed heli rotor speed control from AP_Motors refactor 2016-06-04 16:22:19 +10:00
Tom Pittenger a96abde4bf Copter: do not log CURR.Throttle because it's already logged elsewhere 2016-06-02 16:59:11 -07:00
Tom Pittenger b433250da5 Copter: sanity check gps latlng 2016-06-01 17:38:50 -07:00
Randy Mackay 2815af81ad Copter: rename RTL_CONE_SLOPE_DEFAULT definition
Also tiny formatting fix
2016-05-31 12:20:21 +09:00
Peter Barker e977d85e0c Copter: move telemetry_delayed up into base class 2016-05-31 08:46:09 +10:00
Peter Barker 3cf174c343 Copter: move adjust_rate_for_stream up 2016-05-29 19:38:49 +10:00
Peter Barker bb19c57615 Copter: subclass GCS_MAVLink in place of defining its functions for it 2016-05-29 16:21:21 +10:00
Randy Mackay 5fb6e4edae Copter: 3.4-rc1 release notes 2016-05-28 15:45:32 +09:00
Randy Mackay be3b1cb6ab Copter: convert STB_ params to ATC_ANG_ 2016-05-28 15:45:30 +09:00
Andrew Tridgell 53fc095d4c Copter: fixed motor test build on heli
pwm percent makes no sense
2016-05-26 15:05:52 +10:00
Andrew Tridgell c605f09859 Copter: fixed motor test with percentage
use motors min/max pwm, not throttle channel range
2016-05-26 14:34:27 +10:00
Andrew Tridgell 146a59eed3 Copter: fixed ESC calibration on PixRacer
we need to set the ESC scaling before we go into the calibration loop
or the outputs will never arm
2016-05-25 19:35:17 +10:00
Andrew Tridgell 045e3c179a Copter: moved EKF2 to a new parameter index
the meanings of many of the parameters have changed. Best to use a new
index to prevent old parameters from causing crashes
2016-05-25 19:35:17 +10:00
Randy Mackay cb9ca94dd1 Copter: remove unused pv_location_to_vector_with_default 2016-05-25 16:19:42 +09:00
Randy Mackay 390d06a400 Copter: add and use FLIP_COMPLETE mode reason
No need to use the original reason we entered flip mode as the reason we are exiting flip.  Instead we can use a new reason called FLIP_COMPLETE
2016-05-25 16:15:34 +09:00
Andrew Tridgell 7e1ef905d3 Copter: removed 30ms delay on arming
this is the last of the delays that can cause the EKF to get unhappy
on arming in copter. The comment says it is waiting for RC input, but
I don't think that makes any sense any more.
2016-05-24 15:42:53 +10:00
Randy Mackay c9284e5f64 Copter: fix flip after throttle changed to 0 to 1 range 2016-05-24 11:31:40 +09:00
Randy Mackay f28666e7cd Copter: pass throttle for esc calibration in 0 to 1 range 2016-05-24 10:00:25 +09:00
Lucas De Marchi 33f5fc5f38 ArduCopter: remove support for flymaple 2016-05-23 21:49:45 -03:00
Andrew Tridgell a922b98ac0 Copter: use send_heartbeat wrapper 2016-05-21 15:25:18 +10:00
Andrew Tridgell 8913dc32b0 Copter: simplify UART setup 2016-05-21 15:25:16 +10:00
Andrew Tridgell 31866c66d8 Copter: always build with MAVLink2 headers 2016-05-21 15:25:15 +10:00
Andrew Tridgell 57870cccb9 ArduCopter: update signing timestamp on GPS lock 2016-05-21 15:25:13 +10:00
Andrew Tridgell b85f129cc5 ArduCopter: handle SETUP_SIGNING message 2016-05-21 15:25:12 +10:00
Randy Mackay 5461002eea Copter: read rangefinder at 20hz 2016-05-21 10:36:53 +09:00
Randy Mackay e6b3638d84 Copter: minor change to land mode's logic to use rangefinder
No functional change
2016-05-21 10:36:53 +09:00
Randy Mackay 8171532dc5 Copter: allow rangefinder to be disabled from definition 2016-05-21 10:36:53 +09:00
Randy Mackay e489c3184c Copter: rangefinder.enabled false if no range finders are configured 2016-05-21 10:36:53 +09:00
Randy Mackay 59070653cc Copter: provide filtered range finder altitude to AC_WPNav 2016-05-21 10:36:53 +09:00
Randy Mackay e18bf3af56 Copter: remove unused definitions 2016-05-21 10:36:53 +09:00
Randy Mackay 5ac13c0355 Copter: move rangefinder variables into structure
moved in rangefinder_alt, rangefinder_alt_health and rangefinder_enabled
2016-05-21 10:36:53 +09:00
Randy Mackay 70463dc572 Copter: auto_spline_start handles triggers terrain failsafe
Also immediately exit auto_wp_start on terrain failsafe
2016-05-21 10:36:53 +09:00
Randy Mackay 3688636736 Copter: RTL ignores terrain during terrain failsafe 2016-05-21 10:36:53 +09:00
Randy Mackay 273b9acad8 Copter: prearm check that RTL_ALT is below rangefinder max alt
Only applies where terrain following is enabled and a range finder is connected
2016-05-21 10:36:53 +09:00
Randy Mackay c7f80324fa Copter: tilt correct rangefinder 2016-05-21 10:36:53 +09:00
Randy Mackay ba38b0234f Copter: use rangefinder class's valid_range_count
Also read_rangefinder directly updates rangefinder_alt variable instead of returning distance
No functional change
2016-05-21 10:36:53 +09:00
Randy Mackay 949d5f7109 Copter: add rangefinder_alt_ok
Reduces some duplicate code,no functional change.
2016-05-21 10:36:53 +09:00
Randy Mackay 7689315ba2 Copter: rename sonar to rangefinder 2016-05-21 10:36:53 +09:00
Randy Mackay 028946ae9e Copter: rename CONFIG_SONAR to RANGEFINDER_ENABLE 2016-05-21 10:36:53 +09:00
Randy Mackay e0bf08abe0 Copter: fixes to guided mode target check is within fence
guided altitude targets are converted to alt-above-home
remove unnecessary fence_status local variable from guided_set_destination methods
log failures to set guided target under a new failure code: ERROR_CODE_DEST_OUTSIDE_FENCE (5)
rename pv_get_home_destination_distance_mc to pv_distance_to_home_cm
2016-05-21 09:56:12 +09:00
Saloni Jain bc22419286 Copter : Modified set_guided_destination() to reject requests for guided waypoints outside the fence. 2016-05-21 09:56:12 +09:00
Don Gagne 97d361333d ArduCopter: SET_SENSORS_OFFSETS support for third compass 2016-05-19 18:51:17 -03:00
Randy Mackay a9d16f3373 Copter: move auto's take-off check to beginning of auto_init
This ensures there are no side-effects of a failed switch to AUTO like stopping the vehicle or affecting the yaw mode
2016-05-19 19:43:24 +09:00
Niti Rohilla 26e41fee7a Copter: prevent Auto tipovers caused by missing takeoff command 2016-05-19 19:43:19 +09:00
Randy Mackay 793e3da904 Copter: rename variables used for NAV_DELAY command 2016-05-19 16:16:03 +09:00
Niti Rohilla 55f66b7696 Copter: Add support for MAV_CMD_NAV_DELAY 2016-05-19 16:16:02 +09:00
Andrew Tridgell e4948544e7 Copter: cleanup unnecessarily complex gcs[] usage 2016-05-17 08:27:35 +10:00
dgrat 3bc97ae356 ArduCopter: Do not use is_zero() for non-float types
This function makes only sense for floating point types. However this
function was also used for ints.
2016-05-16 19:08:35 -03:00
Ricardo de Almeida Gonzaga ce241dd97a ArduCopter: Fix typos 2016-05-13 19:20:07 -03:00
Francisco Ferreira 8fb318a6e1 Copter: fix do_loiter when executed in same location 2016-05-13 12:20:22 +09:00
Francisco Ferreira 8ce8551669 Copter: fix detection of 0 values for lat, lng and alt in waypoints 2016-05-13 12:20:20 +09:00
Randy Mackay 0732ad3957 Copter: add comments to set_land_complete 2016-05-13 12:01:38 +09:00
Jonathan Challinger 747344a8ba Copter: add disarm on land detect option to PILOT_THR_BHV 2016-05-13 11:57:48 +09:00
Randy Mackay cfb2a6b2f9 Copter: update brake-timeout to work with master
We added mode-change reasons since PR was submitted
2016-05-13 11:42:25 +09:00
Randy Mackay 0a2336a5a8 Copter: update solo-buttons to work with master
Change was due to addition of reason codes since PR was first submitted
2016-05-13 11:42:25 +09:00
Jonathan Challinger 67cd2bae08 Copter: implement SOLO_BTN commands 2016-05-13 11:42:25 +09:00
Jonathan Challinger c99cac773b Copter: add brake_timeout_to_loiter_ms 2016-05-13 11:42:25 +09:00
Andrew Tridgell bd3a58a727 Copter: fixed drift mode
the throttle assistance gain also needs to be scaled by 1000x for new throttle range
2016-05-13 08:48:55 +10:00
Andrew Tridgell 75d76ac3bd Copter: fixed scaling of old heli parms 2016-05-12 17:34:36 +10:00
dgrat 41661f815f AP_Math: Replace the pythagorous* functions with a variadic template
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
dgrat 76362caee0 AP_Math: Replace wrap_* functions with template versions 2016-05-10 11:41:26 -03:00
skyscraper 4980c8bc94 ArduCopter: RC_Channel refactor
More fixing up of RC_Channel change direct access to data members
to access via member functions.
2016-05-10 16:21:16 +10:00
skyscraper 49d3410896 ArduCopter: fixup RC_Channel data member accesses to function calls 2016-05-10 16:21:16 +10:00
skyscraper 6f200fa923 ArduCopter: Fix up after refactoring RC_Channel class
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to  get and set functionsss

old public member(int16_t)   get function -> int16_t     set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in                     c.get_radio_in()           c.set_radio_in(v)
c.control_in                   c.get_control_in()         c.set_control_in(v)
c.servo_out                    c.get_servo_out()          c.set_servo_out(v)
c.pwm_out                      c.get_pwm_out()            // use existing
c.radio_out                    c.get_radio_out()          c.set_radio_out(v)
c.radio_max                    c.get_radio_max()          c.set_radio_max(v)
c.radio_min                    c.get_radio_min()          c.set_radio_min(v)
c.radio_trim                   c.get_radio_trim()         c.set_radio_trim(v);

c.min_max_configured() // return true if min and max are configured

Because data members of RC_Channels are now private and so cannot be written directly
 some overloads are provided in the Plane classes to provide the old functionality

new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);

new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;

Rename functions

 RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
    to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)

 RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
    to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)

 Rationale:

        RC_Channel is a complicated class, which combines
        several functionalities dealing with stick inputs
        in pwm and logical units, logical and actual actuator
        outputs, unit conversion etc, etc
        The intent of this PR is to clarify existing use of
        the class. At the basic level it should now be possible
        to grep all places where private variable is set by
        searching for the set_xx function.

        (The wider purpose is to provide a more generic and
        logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Andrew Tridgell 3c9b063eb1 Copter: removed unnecessary libs
now in common
2016-05-10 14:13:35 +10:00
Andrew Tridgell 111eb2ccc1 Copter: use DataFlash::log_while_disarmed() 2016-05-09 12:05:52 +10:00
Leandro Pereira f23bd7e09d GCS_MAVLink: Use a single stream_trigger() implementation
This has no side effects, but since all implementations were basically
the same, move the implementation to GCS_Common and the only part that
adjusts the rate based on which which stream to each individual
GCS_MAVLINK implementation.
2016-05-07 23:49:35 -03:00
Andrew Tridgell 874fae931f Copter: fix for changed API 2016-05-07 18:27:22 +10:00
Andrew Tridgell 9da3b8db60 Copter: only log baro, gps and mag if ekf not logging them 2016-05-07 18:27:19 +10:00
Andrew Tridgell b235304235 Copter: reduce IMU logging to 25Hz
leave more room for IMT logging needed for Replay
2016-05-07 18:27:17 +10:00
Randy Mackay a5c55c3fbd Copter: fix get_non_takeoff_throttle
The throttle_mid parameter (for historic reason) is interpreted as a value that includes throttle_min.  This means we must subtract the throttle_min value from it when converting it to a throttle in the 0 to 1 range.
2016-05-07 12:21:41 +09:00
Randy Mackay 2eb0484142 Copter: rename Loiter states and swap order within select statement 2016-05-07 10:08:34 +09:00
Randy Mackay 1c4db779a1 Copter: Loiter stabilizes roll and pitch while landed 2016-05-07 10:08:32 +09:00
Randy Mackay 9c12b64ba5 Copter: rename AltHold states and swap order within select statement
No functional change
2016-05-07 10:08:30 +09:00
Randy Mackay 932cd907d4 Copter: AltHold stabilizes roll and pitch while landed 2016-05-07 10:08:28 +09:00
Randy Mackay 3ead74c4be Copter: remove zero-throttle check from AltHold takeoff state
Hard to imagine a reason why we would want to turn off stabilization during takeoff
2016-05-07 10:08:26 +09:00
Lucas De Marchi fea084a596 Global: use ap_version.h
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.

For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03:00
Lucas De Marchi 352e103f1a ArduCopter: use separate header for version macro
Having the version macro in the config.h and consequently in the main
vehicle header means that whenever the version changes we need to
compiler the whole vehicle again. This would not be so bad if we weren't
also appending the git hash in the version. In this case, whenever we
commit to the repository we would need to recompile everything.

Move to a separate header that is include only by its users. Then
instead of compiling everything we will compile just a few files.
2016-05-06 13:11:28 -03:00
Allan Matthew d6012c535e Copter: remove unused dt passed to precland 2016-05-06 11:04:45 +09:00
skyscraper 6bcd9e6f65 Copter::pre_arm_rc_checks: fix logic checking that throttle min and max are configured 2016-05-06 10:56:38 +09:00
Allan Matthew 7960e3bb8f Copter: pass DISTANCE_SENSOR messages to rangefinders
This allows the MAVLink range finder driver to intercept distance measurements
2016-05-04 12:10:58 +09:00
Michael du Breuil e7974702d4 Copter: Ignore POSITION_TARGET_GLOBAL_INT 2016-05-01 07:38:24 +10:00
Michael Oborne 5848d8a5e6 ArduCopter: support MAVLINK_MSG_ID_MISSION_ITEM_INT 2016-05-01 07:13:46 +10:00
Andrew Tridgell 54d1cc7e50 Copter: only save offsets for Compass::LEARN_EKF
this means by default that one flight one affect the next one, which
makes it more robust in case of a bad flight
2016-04-30 16:43:14 +10:00
Michael du Breuil c97888f524 Copter: Remove support for CONDITION_CHANGE_ALT 2016-04-30 10:56:07 +09:00
Randy Mackay d455e2a33f Copter: fix auto-circle comment 2016-04-30 10:33:01 +09:00
Randy Mackay a6b6fb2473 Copter: fix TERRAIN_FOLLOW parameter description
Thanks OXINARF
2016-04-30 10:33:01 +09:00
Randy Mackay 3d31c3b936 Copter: log error if circle does not initialise correctly 2016-04-30 10:33:01 +09:00
Randy Mackay caf6bbc2e0 Copter: rename set_alt to set_alt_cm in control_rtl 2016-04-30 10:33:01 +09:00
Randy Mackay fac7b7c566 Copter: rename set_alt to set_alt_cm in control_guided 2016-04-30 10:33:01 +09:00
Randy Mackay f8f6c135e9 Copter: rename set_alt to set_alt_cm in control_auto 2016-04-30 10:33:01 +09:00
Randy Mackay d92154a44e Copter: rename set_alt to set_alt_cm in commands_logic 2016-04-30 10:33:01 +09:00
Randy Mackay cd97aa97a3 Copter: provide terrain reference to AC_WPNav 2016-04-30 10:33:01 +09:00
Randy Mackay cac79f297e Copter: guided can trigger terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay 9100cf605a Copter: auto can trigger terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay 43d14defd4 Copter: RTL handles terrain data failure 2016-04-30 10:33:01 +09:00
Randy Mackay 47658fe964 Copter: add terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay 8e43be1511 Copter: fixes to allow compiling without terrain support 2016-04-30 10:33:01 +09:00
Randy Mackay 74e02d2c82 Copter: rename TERRAIN_USE to TERRAIN_FOLLOW
This matches plane's parameter name
2016-04-30 10:33:01 +09:00
Randy Mackay 13c26eab67 Copter: update current_loc at 400hz 2016-04-30 10:33:01 +09:00
Randy Mackay f45c69e7ad Copter: log terrain altitude in CTUN message 2016-04-30 10:33:01 +09:00
Randy Mackay 25c676c3b4 Copter: report terrain capability to GCS 2016-04-30 10:33:01 +09:00
Randy Mackay ddffbe27aa Copter: add terrain pre-arm check 2016-04-30 10:33:01 +09:00
Randy Mackay 91f6c7b503 Copter: add TERRAIN_USE parameter
Also add terrain.cpp to hold terrain_update and terrain_logging functions
2016-04-30 10:33:01 +09:00
Randy Mackay 267c1c3934 Copter: guided mode handles terrain alt 2016-04-30 10:33:01 +09:00
Randy Mackay e8b14e59fc Copter: spline mission commands handle terrain altitudes 2016-04-30 10:33:01 +09:00
Randy Mackay 81d244c9bd Copter: do-circle accept terrain altitude 2016-04-30 10:33:01 +09:00
Randy Mackay 70630e9774 Copter: auto loiter handles terrain 2016-04-30 10:33:01 +09:00
Randy Mackay 4892446c55 Copter: do-loiter accepts terrain altitudes 2016-04-30 10:33:01 +09:00
Randy Mackay 27517004c0 Copter: slow to land-speed 10m above terrain 2016-04-30 10:33:01 +09:00
Randy Mackay 39dc2d7176 Copter: while landing use land-speed from 10m above home
Previously vehicle was switching to land-speed at 10m above the origin
2016-04-30 10:33:01 +09:00
Randy Mackay ffd86744ce Copter: do-land accepts terrain 2016-04-30 10:33:01 +09:00
Randy Mackay 352b6ae82a Copter: RTL supports terrain altitudes 2016-04-30 10:33:01 +09:00
Randy Mackay 06ee6a7bd4 Copter: auto takeoff accepts abs and terrain alts 2016-04-30 10:33:01 +09:00
Randy Mackay 9449776e3c Copter: straight line waypoints accept terrain
auto_wp_start calls AC_WPNav's new set_wp_destination which accepts a
Location class allow altitude to be set as above-terrain or even an
absolute altitude
2016-04-30 10:33:01 +09:00
Randy Mackay 2134e8bfb9 Copter: add terrain and navigation dataflash error codes 2016-04-30 10:33:01 +09:00
Randy Mackay 84fd8da944 Copter: current_loc to Location class 2016-04-30 10:33:01 +09:00
Niti Rohilla 867360c350 ArduCopter : Updated handle_guided_request() to report error. 2016-04-29 12:39:28 -03:00
Tom Pittenger afb3e94fe6 Revert "Copter: clipped param cmd float to zero"
This reverts commit 9b6de75203.
2016-04-23 23:51:41 -07:00
Tom Pittenger 9b6de75203 Copter: clipped param cmd float to zero 2016-04-23 23:45:54 -07:00
Randy Mackay 472f54ce45 Copter: initialise compass_mot interference_pct variable
resolves a compiler warning
2016-04-23 23:06:28 -07:00
Randy Mackay da443417f1 Copter: remove unnecessary abs 2016-04-23 23:06:19 -07:00
Luis Vale Gonçalves 4e594287eb Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:39 -07:00
Randy Mackay 699816400e Copter: ack DO_MOUNT_CONTROL messages 2016-04-22 21:30:49 +09:00
Randy Mackay 762c9ed4b0 Copter: remove unused FS_CLOSE_TO_HOME definition 2016-04-22 21:30:44 +09:00
Randy Mackay 554affeaf5 Copter: fix scheduler comment 2016-04-22 21:30:39 +09:00
Andrew Tridgell a39a4a6243 Copter: mark a few more log messages as critical 2016-04-21 17:05:17 +10:00
Andrew Tridgell f32b7684a0 Copter: removed unused startup log message 2016-04-21 17:05:17 +10:00
Andrew Tridgell 5149a49daa Copter: added logging of dropped log messages in PM message 2016-04-21 17:05:17 +10:00
Jonathan Challinger c9b1b02b8e Copter: loop through compasses and save offsets 2016-04-21 09:53:03 +10:00
Lucas De Marchi a310d3735e ArduCopter: fix handling of SET_HOME_POSITION
Location.altitude is stored in cm.
2016-04-18 13:07:45 +10:00
Randy Mackay 55ffee25b1 Copter: remove unnecessary control_mode_t casts
Thanks @OXINARF
2016-04-14 12:24:04 +09:00
Jonathan Challinger 8f41215569 Copter: fix warning 2016-04-14 12:24:04 +09:00
Jonathan Challinger 2a36c32cf3 Copter: add prev_control_mode and prev_control_reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger 8ded496f8b Copter: log mode change reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger 1356deab8b Copter: add control_mode_reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger 6b5ba86f21 Copter: simplify GCS failsafe 2016-04-14 12:24:04 +09:00
Jonathan Challinger a0ce8af633 Copter: use enum type for control_mode 2016-04-14 12:24:04 +09:00
Lucas De Marchi 6eac84812c ArduCopter: remove readme file
The readme file in root directory is already sufficient.
2016-04-09 08:32:22 -07:00
Ricardo de Almeida Gonzaga 5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Andrew Tridgell c035ade402 Copter: removed slow_start() from throw mode 2016-04-01 11:59:30 +09:00
Randy Mackay 5090e6f4fb Copter: init G_Dt with MAIN_LOOP_SECONDS definition 2016-04-01 11:59:30 +09:00
Leonard Hall a9cda8b384 Copter: add convert_pid_parameters to ease migration to new PID gains 2016-04-01 11:59:30 +09:00
Randy Mackay 479a789325 Copter: remove call to attitude_control.set_dt
This is now passed into the constructor
2016-04-01 11:59:30 +09:00
Randy Mackay c352e1bedf Copter: fix attitude control parameter declaration 2016-04-01 11:59:30 +09:00
Randy Mackay 1f20a5ef69 Copter: access angle and rate PIDs through attitude controller 2016-04-01 11:59:30 +09:00
Randy Mackay bde498375c Copter: remove attitude PIDs
These are now part of AC_AttitudeControl
2016-04-01 11:59:30 +09:00
Randy Mackay ef5dbae707 Copter: remove setting of heli_servo_rsc pwm range
This object is not used
2016-04-01 11:59:30 +09:00
Randy Mackay 1f37f5a0e7 Copter: remove tradheli swash, yaw and rsc servos
These are all created within the AP_MotorsSingle class now except for servo_rsc which was unused
2016-04-01 11:59:30 +09:00
Randy Mackay d2a42a7a0e Copter: remove heli_radio_passthrough
Replaced with set_radio_passthrough which can be used for all frames
2016-04-01 11:59:30 +09:00
Randy Mackay ce1fb7fb06 Copter: passthrough pilot input to motors to allow wiggling servos 2016-04-01 11:59:30 +09:00
Randy Mackay 0abea7af68 Copter: remove slow_start from stabilizing 2016-04-01 11:59:30 +09:00
Randy Mackay 1c98cd9d52 Copter: remove slow_start from althold 2016-04-01 11:59:30 +09:00
Randy Mackay f6c26ad285 Copter: remove slow start from acro 2016-04-01 11:59:30 +09:00
Randy Mackay 3c3b74adc8 Copter: remove slow_start from takeoff 2016-04-01 11:59:30 +09:00
Randy Mackay 8180fad4b4 Copter: tradheli sends radio passthrough in 0 to 1 range 2016-04-01 11:59:30 +09:00
Randy Mackay f0575de776 Copter: tradheli logs rotors speed in 0 to 1 range 2016-04-01 11:59:30 +09:00
Randy Mackay 3eaf7a4582 Copter: set tradheli rotor speed using 0 to 1 range 2016-04-01 11:59:30 +09:00
Randy Mackay 7fc37e7801 Copter: set tradheli external gyro gain in 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall be7ad2d83a Copter: loiter uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 02ac2d0e4e Copter: land uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 94b35d659e Copter: guided uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 4deb6fd39d Copter: flip uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay f91874afad Copter: drift uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 83ae78b38e Copter: circle uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 10f8e36f9b Copter: brake uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 965f3827b4 Copter: poshold uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 478b9af0f3 Copter: autotune uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 4f192d0bc7 Copter: auto uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay a927db3e6a Copter: rtl uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay d37f70f767 Copter: sport uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay f6a6b360a8 Copter: stabilize uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Leonard Hall d2642065dd Copter: althold uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Randy Mackay 668561ff0e Copter: acro uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Leonard Hall 6c40d6f774 Copter: remove single frame's servo objects 2016-04-01 11:59:30 +09:00
Leonard Hall 8d0a6765f1 Copter: removed unnecessary #define for motor declaration 2016-04-01 11:59:30 +09:00
Leonard Hall 44180e44df Copter: remove coax servo objects
servos moved to AP_MotorsCoax class
2016-04-01 11:59:30 +09:00
Leonard Hall 5dde87734c Copter: heli acro, stabilize use pilot throttle as float 2016-04-01 11:59:30 +09:00
Leonard Hall 07b311f6a8 Copter: brake sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 7366bc8a56 Copter: pos_hold uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 80a11e4d3d Copter: autotune uses throttle in 0 to 1 range and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 068fc7feac Copter: flip uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 8a49745e96 Copter: sport uses throttle in 0 to 1 range and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 263052da21 Copter: drift uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 100fcf799e Copter: land sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall f71157c508 Copter: circle sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall cce426dcb8 Copter: rtl uses throttle in 0 to 1 range and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall f8d03b58d1 Copter: loiter uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 42f5de44d4 Copter: guided sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall f221d4d757 Copter: auto sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 70433d25e3 Copter: althold uses 0 to 1 throttle range and spool logic
stabilizes even while landed
sets desired motor spool state
check for spool up before takeoff
2016-04-01 11:59:30 +09:00
Leonard Hall 2180514dde Copter: acro uses 0 to 1 throttle and sets desired spool state 2016-04-01 11:59:30 +09:00
Leonard Hall f56ff4d564 Copter: stabilize uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 76a8de8a53 Copter: CTUN logs throttle_in, angle boost in 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall 7bcdc76655 Copter: get_pilot_desired_climb_rate accepts control_in as 0 to 1000
Previously the input was expected to be throttle_min (i.e. 130) to 1000
2016-04-01 11:59:30 +09:00
Leonard Hall 20debc962a Copter: update get_throttle_pre_takeoff for 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall 37e6977813 Copter: update get_non_takeoff_throttle for 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall 74983669be Copter: set_accel_throttle_I_from_pilot_throttle uses 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall c3403a128c Copter: throttle passed to compass in 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall a44f7f650b Copter: throttle sent to GCS uses 0 to 1 range
This is probably not correct because we should be sending the throttle as a 0 to 1 number using the full possible output range.  This uses the reduced range passed in when the copter is being stabilized (i.e. between throttle-min and throttle-max)
2016-04-01 11:59:30 +09:00
Leonard Hall f8d7b677d4 Copter: update_thr_average uses 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall fd2509f6ed Copter: get_pilot_desired_throttle outputs in 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall e132ea34d9 Copter: g.rc_3.control_in range 0 to 1000
Previously the range was throttle_min (normally 130) to 1000 but we can remove this awkward range and use 0 to 1000 now that the attitude controller and motor library inputs are in the 0 to 1 range.
2016-04-01 11:59:30 +09:00
Leonard Hall a00a9601a4 Copter: AP_MotorsCoax now uses 4 servos 2016-04-01 11:59:30 +09:00
Leonard Hall a0409e4f9e TradHeli: dynamic flight check uses throttle in 0 to 1 range 2016-04-01 11:59:30 +09:00
Andrew Tridgell f19922fec5 Copter: added LAND_SPEED_HIGH parameter
this is the descent rate for the first part of a landing. Separating
this from WPNAV_SPEED_DN allows for independent tuning of fast fwd
flight from landings
2016-03-30 15:54:20 +11:00
Gustavo Jose de Sousa 6074385873 ArduCopter: waf: build all frame types 2016-03-26 15:43:08 -03:00
Gustavo Jose de Sousa 9bec8e5133 ArduCopter: waf: add missing library AC_InputManager
That is used by heli.
2016-03-26 15:43:08 -03:00
Gustavo Jose de Sousa a4c099feaa waf: create program groups for main products
Currently we need to build a different binary for each type of copter frame.
This is a preparation for setting all those binaries to a group called
"copter". We create the groups for the rest of the main products for
consistency.
2016-03-26 15:43:08 -03:00
Andrew Tridgell 224c99af72 Copter: change code URL 2016-03-25 20:46:54 +11:00
Andrew Tridgell 31000ac756 Copter: moved Log_Write_Rate() to common code 2016-03-25 12:13:59 +11:00
Lucas De Marchi 34155c09e6 ArduCopter: Update path locations for parameters
Thanks to Francisco Ferreira for noticing that.
2016-03-23 17:50:38 -03:00
Randy Mackay a8bea0af03 Copter: allow switching to throw without position estimate
The vehicle arming check will still stop the user from arming in throw mode without a good position estimate.
2016-03-22 16:21:58 +09:00
Nitay Megides f77eed8f95 Copter: add break after prec landing case clause
(And fixed indentation)
2016-03-21 09:34:55 +09:00
Don Gagne cae7ea0d13 Add @Volatile, @ReadOnly support 2016-03-17 10:58:05 +11:00
Lucas De Marchi e88ba38595 ArduCopter: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Don Gagne e9651dacfe Copter: update parameter description increments 2016-03-08 09:27:50 +09:00
Randy Mackay 2e669a35e7 Copter: deploy landing gear when parachute is released 2016-03-04 10:48:19 +09:00
Randy Mackay 0dffeec07f Copter: use ahrs.get_origin instead of ekf.getOriginLLH
This ensures we get the origin from the active EKF
2016-03-03 16:20:54 +09:00
Randy Mackay a93a0d370a Copter: add throw mode to aux switches 2016-03-03 15:30:03 +09:00
Randy Mackay dca89e7fe7 Copter: throw static variables moved to global scope 2016-03-03 12:18:27 +09:00
Randy Mackay 24cfbeebd0 Copter: add throw_exit 2016-03-03 12:18:25 +09:00
Randy Mackay 959c0eccfd Copter: reject changing to throw mode while armed 2016-03-03 12:18:23 +09:00
Randy Mackay 20b6688e77 Copter: add throw to FLTMODE param descriptions 2016-03-03 12:18:20 +09:00
Paul Riseborough 1aade494fc AP_State: enable use of motor interlock during throw mode 2016-03-03 12:18:18 +09:00
Paul Riseborough a7b69366a1 Copter: Add flight mode for throw launch
The is commit adds a new flight mode called 'Throw' to Copter that enables the copter to be thrown into the air to start motors. This mode can only be netered when the copters EKF has a valid position estimate and goes through the following states

Throw_Disarmed - The copter is disarmed and motors are off.
Throw_Detecting - The copter is armed, but motors will not spin unless THROW_MOT_START has been set to 1. The copter is waiting to detect the throw. A throw with an upwards velocity of at least 50cm/s is required to trigger the detector.
Throw_Uprighting - The throw has been detected and the copter is being uprighted with 50% throttle to maximise control authority. This state transitions when the copter is within 30 degrees of level.
Throw_HgtStabilise - The copter is kept level and height is stabilised about the target height which is 3m above the height at which the throw release was detected. This state transitions when the height is no more than 0.5m below the demanded height.
Throw_PosHold - The horizontal motion is arrested and the copter is kept at a constant position and height.
2016-03-03 12:18:13 +09:00
Randy Mackay e428abde42 Copter: enable precision landing by default 2016-02-29 19:17:20 +09:00
dgrat 5148e41c1a AP_Math: Cleaned macro definitions
Moved Definitions into a separate header. Replaced PI with M_PI and
removed the M_PI_*_F macros.
2016-02-27 02:51:33 -03:00
Randy Mackay 077999d2aa Copter: 3.3.3 release notes 2016-02-24 11:03:25 +09:00
Tom Pittenger 6568402b28 Copter: convert to using static send_statustext
- no more MSG_STATUSTEXT
- TODO: replace calls to gcs_send_text and gcs_send_text_fmt to GCS_MAVLINK::send_statustext()
2016-02-24 09:18:06 +11:00
Tom Pittenger 09dd2a1b3d Copter: use set_dataflash() for static logging 2016-02-24 09:18:05 +11:00
Lucas De Marchi 09e7cbe005 ArduCopter: remove unused CMAKE define
This is a leftover from previos cmake build system.
2016-02-19 19:15:39 -02:00
Peter Barker 44c63b8873 Copter: move use of defines after config.h and defines.h 2016-02-19 12:34:23 -02:00
Leonard Hall 8e790d3f91 Copter: autotune adjustment for large copters 2016-02-18 20:49:12 +09:00
Jonathan Challinger e09e9a313e Copter: interpret MAV_FRAME_GLOBAL_RELATIVE_ALT as MAV_FRAME_GLOBAL_RELATIVE_ALT_INT 2016-02-06 09:36:51 +09:00
Jonathan Challinger 0b8162aa0d Copter: add support for COMMAND_INT DO_SET_ROI 2016-02-06 09:36:41 +09:00
Randy Mackay a1b0a53e17 Copter: remove AP_Limits from comments 2016-02-04 09:55:07 +09:00
Randy Mackay a77dd59dc6 Copter: single and coax copters become mav_type quadrotor 2016-01-30 17:15:28 +09:00
Andrew Tridgell 5be21cc178 ArduCopter: log a picture if AP_Camera::control() returns true 2016-01-29 10:01:51 +11:00
Andrew Tridgell 4efb9bd785 ArduCopter: update for changed AP_Camera API 2016-01-29 09:19:43 +11:00
Dario Lindo Andres 90bf13279b ArduCopter: Added precise camera trigger logging
Added update_trigger and check_digital_pin functions
added camera trigger precise time mark
detect camera feedback pin status
added support for simple digital pin
included support for digital pin. Already included in
APMrover2.
added support for TRIGGER MSG
corrected according to defines.h
2016-01-29 09:19:43 +11:00
Randy Mackay 5e24443a0a Copter: 3.3.3-rc2 release notes 2016-01-28 14:19:33 +09:00
Randy Mackay 27ed9e1561 Copter: allow mount to be disabled 2016-01-23 10:35:48 +09:00
Jonathan Challinger 22c3397657 Copter: make AP_Mount calls required by AP_Mount_SoloGimbal 2016-01-23 10:35:42 +09:00
Jonathan Challinger 5f610fdcba Copter: support SET_POSITION_TARGET with WGS84 altitudes 2016-01-23 10:29:04 +09:00
Jonathan Challinger 82322144ee Copter: remove unnecessary header file 2016-01-23 09:42:08 +09:00
Gustavo Jose de Sousa c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa e9d3dc9e72 waf: vehicles and antennatracker: use methods from bld
Instead of from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa cf432e8b3e waf: ardupilotwaf: rename vehicle_stlib to ap_stlib
That function is not only for vehicles.
2016-01-22 20:10:28 -02:00
Gustavo Jose de Sousa a35c0d48b0 waf: ardupilotwaf: rename program to ap_program
Make the rename so that there is no name clashes when defining it as a taskgen
method.
2016-01-22 20:10:28 -02:00
Lucas De Marchi 7f04e0106e waf: change binary names
APMrover2 -> ardurover
AntennaTracker -> antennatracker
ArduCopter -> arducopter
ArduPlane -> arduplane
2016-01-18 16:56:08 -02:00
Gustavo Jose de Sousa 17e5d99509 waf: allow partial builds with new mavlink as submodule
The task generator for the mavlink headers is given a name 'mavlink' and is
added as a dependency to all local static libraries, because all of them use
sources that include mavlink headers. It would be nice to have a good way to
detect sources that use mavlink headers or to declare list of libraries that
use the headers, so that the dependency could be added automatically.

Additionally, there's a minor change in syntax for the task generator: using
strings directly instead of lists.
2016-01-15 07:28:48 +11:00
Randy Mackay d989cf29e2 Copter: cancelling no-gps-land switches to AltHold
Previously it could switch to Loiter
2016-01-14 15:22:02 +09:00
Randy Mackay dc2ec5db18 Copter: add Bitmask param description for PILOT_THR_BHV 2016-01-14 15:21:59 +09:00
Randy Mackay 2c5f9422d4 Copter: log event if pilot cancels land
Also add definition for throttle value that cancels land
2016-01-14 15:21:57 +09:00
Jonathan Challinger 8965185587 Copter: add "high throttle cancels landing" option 2016-01-14 15:21:54 +09:00
Randy Mackay 9e0cd7a5cf Copter: allow arming in Drift and Sport modes 2016-01-14 10:13:45 +09:00