Commit Graph

274 Commits

Author SHA1 Message Date
Peter Barker e22b29bce4 Copter: FrSky support has moved to GCS 2019-03-19 14:39:14 +11:00
Michael du Breuil cac4b91671 Copter: Allow scripting to run 2019-03-05 08:45:54 +11:00
Peter Barker f759c7ac7e Copter: GCS_MAVLink takes care of mavlink capabilities 2019-02-19 13:14:52 +11:00
Peter Barker 8de7f4a520 Copter: devo telemetry no long requires singleton classes to be passed in 2019-02-13 19:24:07 +00:00
Peter Barker a0189d6060 Copter: AP_Frsky_Telem uses singletons 2019-02-12 17:53:23 +00:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker 845f015648 Copter: adjust for Location_Class and Location unification 2019-01-16 11:45:29 +11:00
Randy Mackay 50c5ad7076 Copter: TradHelis force spool up before takeoff 2019-01-15 11:41:44 +09:00
Andrew Tridgell 89d54767b1 Copter: convert to use AC_AutoTune library
this maintains existing behaviour
2018-12-18 10:34:42 +09:00
Peter Barker 901e428d53 Copter: DataFlash uses AP_Mission singleton 2018-12-13 14:45:30 +09:00
Peter Barker 4ffd38f6bb Copter: GCS_MAVLink uses dataflash singleton 2018-12-11 08:43:47 +09:00
Peter Barker 73940df48e Copter: move mission into mode_auto 2018-11-09 13:35:40 +09:00
Michael du Breuil 0f636db159 Copter: Make capability init consistent 2018-11-05 14:04:36 +11:00
Peter Barker ec6c59faa3 Copter: move handling of disable-gcs-rc-overrides-channel-option up 2018-09-05 11:54:32 +10:00
Michael du Breuil 433f01ddf0 Copter: Remove unneeded ServoRelayEvent mask set 2018-08-20 21:31:06 -07:00
Peter Barker e7e56dde7a Copter: move handling of RC switches into RC_Channel 2018-08-01 12:11:30 +09:00
Michael du Breuil 858b51c927 Copter: Update notify initilization 2018-08-01 09:22:09 +10:00
Lucas De Marchi 1a45aa12f5 AP_Param: warn on last pass only about unknown parameters
Do not warn about unknown parameters on the first pass, i.e. when
AP_Param:load_all() is called. This is because we may still not know
about dynamically loaded parameters. When we call the second (last)
time, we expect to already know all possible parameters, so print a
warning to both console and the debug terminal.
2018-06-28 10:18:19 -07:00
Andrew Tridgell 20dea6df45 Copter: moved OSD to top level params
this gives us plenty of param depth for a complex param tree
2018-06-27 14:55:00 +10:00
Alexander Malishev f63b3c044a Copter: added OSD support 2018-06-27 14:55:00 +10:00
Peter Barker 70d159cb38 Copter: raise EKF failure even if USB is connected
This will let EKF go bad if your PixHawk is connected to your laptop.
This doesn't seem to be a problem for the other vehicles.

This also allows the EKF to go bad in-flight if you happen to have
connected (against AP's recommendations) your companion computer to your
flight controller via USB.  Since people do this, it is better to have
the checks than not.
2018-06-26 10:07:55 +10:00
Peter Barker 485cafb343 Copter: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Peter Barker 7015d42ab2 Copter: Location gets ahrs from singleton 2018-06-01 16:18:33 +01:00
Randy Mackay c85bae8d88 Copter: correct dodeca-hexa copter mav-type 2018-04-27 14:57:00 +09:00
night-ghost 51a189e906 ArduCopter: devo telemetry support (RX705/707) 2018-04-24 10:44:28 +10:00
Peter Barker c95ff96263 Copter: Baro does its own dataflash logging 2018-04-12 19:12:12 +01:00
Andrew Tridgell 1ffe75957e Copter: fixed ESC calibration for DShot 2018-04-07 09:10:29 +10:00
Randy Mackay 59e4749fd0 Copter: integrate AC_Loiter
includes param conversion
2018-04-04 10:45:10 +09:00
Peter Barker 0c8110ecb2 Copter: factor vehicle's mavlink send_heartbeat 2018-04-03 13:05:19 +01:00
Peter Barker d58e2214d2 Copter: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Peter Barker cca4d5136e Copter: move common calibration functions up 2018-04-02 23:25:05 +01:00
Dr.-Ing. Amilcar do Carmo Lucas d633ba8c46 Copter: Add option to disable RPM module 2018-03-30 09:36:48 +09:00
Michael du Breuil 291531e056 Copter: Support new battery failsafes 2018-03-27 22:12:21 +01:00
night-ghost a1797beb41 Copter: removed 1ms delay on startup
handled by GCS library now, not needed here
2018-03-20 10:08:20 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas ed36ec3c29 Copter: add option to disable THROW mode 2018-03-15 07:38:14 +09:00
Andrew Tridgell cf00bd99ea Copter: enanle RC override by default 2018-03-02 12:52:50 +11:00
night-ghost adcc309f15 Copter: allow AP_Stats to be optional 2018-03-02 07:23:35 +11:00
Peter Barker b8e1f03599 Copter: add define for disabling beacon 2018-02-27 07:43:13 +09:00
Peter Barker 5b355214fd Copter: add option to disable CIRCLE flight mode
Saves about 2.4kB of flash
2018-02-27 07:43:13 +09:00
Peter Barker 9b440d6b25 Copter: add option to disable SmartRTL mode
Saves 5.5k of Flash
2018-02-27 07:43:13 +09:00
Peter Barker b9ad2bc8db Copter: add option to disable AUTO mode
Saves ~12k of flash
2018-02-27 07:43:13 +09:00
Peter Barker 1a68979050 Copter: correct nullptr check for circle nav allocation 2018-02-22 16:14:50 +10:00
murata 6f20c6a97b Copter: Set the loop rate of G_dt as a variable. 2018-02-20 10:51:20 +11:00
Andrew Tridgell 00ec3efb48 Copter: initialise G_Dt to 1.0/400 2018-02-13 17:15:05 +11:00
Randy Mackay eefa629039 Copter: remove setting accel_z PID controller's dt
This is handled from within the pos controller
this commit can be merged with Copter: move pos-control pids to pos-control library
2018-01-23 12:00:43 +09:00
Randy Mackay 8d6f8e4d9c Copter: move pos-control pids to pos-control library 2018-01-23 12:00:43 +09:00
Randy Mackay 6546ccbb3f Copter: velocity pi moved to position control library 2018-01-23 12:00:43 +09:00
Peter Barker 996115c0d3 Copter: eliminate MAIN_LOOP_SECONDS macro 2018-01-20 15:35:58 +11:00
Peter Barker 7b637334f4 Copter: eliminate mode_has_manual_throttle 2017-12-06 10:09:58 +09:00
Peter Barker 527a536b78 Copter: FlightMode - remove function parameters
Use current control_mode in place of parameters

Once conversion is complete these functions will disappear
2017-12-06 08:24:24 +09:00
Randy Mackay 787954fa37 Copter: integrate winch library
fixes after peer review:
rename winch-disable to winch-relaxed
add DO_WINCH to do-verify
winch release-length accepts rate
2017-10-27 09:20:38 +09:00
Andrew Tridgell 18f04abfe8 Copter: added HELI_QUAD 2017-10-03 10:16:41 +11:00
Lucas De Marchi f5c2ffffb9 global: remove DataFlash from AP_Mount::init() 2017-09-26 03:01:21 +01:00
Lucas De Marchi 4ef5186733 ArduCopter: do not include version.h/ap_version.h
The interface provided by each vehicle should be used to get the
version.
2017-09-23 21:37:45 -07:00
Randy Mackay 44a436642b Copter: complete rename to SmartRTL
Also fix parameter description for CH7_OPT
2017-09-15 08:58:14 +09:00
squilter 4b57a4a231 Copter: rename SafeRTL to SmartRTL 2017-09-09 14:05:41 +09:00
Randy Mackay 6684e3de56 Copter: minor comment change for SafeRTL 2017-09-09 14:05:41 +09:00
squilter ba0e08552f Copter: add SafeRTL flight mode 2017-09-09 14:05:41 +09:00
Peter Barker 470e790117 Copter: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Peter Barker 89e6e70235 Copter: remove MAIN_LOOP_RATE in favour of parameter value 2017-08-29 08:41:07 +09:00
Peter Barker b0c7766197 Copter: continuously reevaluate rc calibration checks
Stop "latching" calibration checks - if an RC radio's calibration
changes after it passes once, these patches allow the rc calibraiton
checks to then fail.
2017-08-21 09:05:31 +09:00
Peter Barker c6b9c84d1f Copter: remove CLI 2017-08-14 10:23:50 +09:00
Randy Mackay 8dadbaa850 Copter: landing gear init on startup 2017-08-05 11:20:41 +09:00
Peter Barker e45efeb829 Copter: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Peter Barker f60389d4aa Copter: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker d9b45cc202 Copter: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01:00
Eugene Shamaev 24c390ade0 ArduCopter: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Peter Barker 37abc1b02f Copter: check dataflash to see if we should log backend gps messages 2017-06-29 15:43:38 +01:00
Peter Barker 776d691c79 Copter: use DataFlash should_log to determine raw logging 2017-06-29 15:26:27 +01:00
Peter Barker cfbde937c6 Copter: move should_log check of log bitmask into DataFlash 2017-06-29 15:26:27 +01:00
Peter Barker 8b57405143 Copter: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Andrew Tridgell ba21c1e67d Copter: set RC_SPEED default to 16kHz for brushed 2017-06-17 17:37:45 +10:00
Peter Barker 4163455d97 Copter: stop using in_mavlink_delay as a proxy for disabling logging 2017-06-16 17:07:48 +01:00
Peter Barker cb41f09d2e Copter: call dataflash should_log method 2017-06-16 17:07:48 +01:00
Peter Barker 3ee56f5475 Copter: StartUnstartedLogging replaces logging_started/start_logging 2017-06-11 20:34:12 +01:00
Peter Barker 43a16b9327 Copter: simplify should_log (NFC) 2017-06-11 20:34:12 +01:00
Randy Mackay ec491d3c6b Copter: init_compass get g.compass_enabled check
No functional change
2017-06-07 10:34:13 +09:00
murata 1a76c28655 Copter: add dodeca-hexa 2017-05-27 14:21:13 +09:00
Randy Mackay 70ed572476 Copter: minor formatting fix
This is mostly just to trigger compilation of the latest beta
2017-05-25 17:53:20 +09:00
Randy Mackay 91d4b4777b Copter: respond to param list request after motor init 2017-05-15 14:13:43 +09:00
karthik.desai d7976078a5 Copter: fix typo in comments 2017-05-08 10:08:31 +09:00
Peter Barker 069e0d1973 Copter: move init of DataFlash references into vehicle init
It is possible to start a log before the existing codepath is crossed.
2017-05-01 15:04:34 +01:00
Andrew Tridgell 10b89db498 Copter: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Randy Mackay 713c08672f Copter: integrate AP_VisualOdom 2017-04-19 11:04:40 +09:00
Randy Mackay 1bfbf0d43f Copter: enable motors at end of initialisation 2017-04-18 09:29:51 +09:00
Andrew Tridgell 6bb5c16fb8 Copter: allow for HELI_DUAL configurations 2017-03-25 16:22:10 +11:00
Andrew Tridgell 54b852ebfe Copter: fixed var table loading for heli single parms
we were not loading parameters such as the swash angle
2017-03-15 11:31:45 +11:00
Andrew Tridgell f1917dddd0 Copter: changes for AC_WPNav 2017-02-18 17:26:43 +11:00
Andrew Tridgell 92fdef5b97 Copter: changed for AP_AHRS_View on AC_AttitudeControl 2017-02-18 17:26:43 +11:00
Andrew Tridgell aad412eaef Copter: support tailsitter frame class 2017-02-18 17:26:43 +11:00
Andrew Tridgell 3cb88d0a23 Copter: added tailsitter frame support 2017-02-18 17:26:43 +11:00
Andrew Tridgell 6b6d03eb8d Copter: fixed upgrade of parameters
now that we dynamically allocate many key objects in copter we need to
move the parameter upgrade code to after when the objects are allocated
2017-02-15 15:02:06 +10:00
Andrew Tridgell d8972d5344 Copter: setup frame type parameter flags 2017-02-14 19:50:01 +11:00
Peter Barker 029aeeb4fd Copter: support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker f49f153da0 Copter: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
murata 8f926bd177 Copter: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Randy Mackay 26919b4ab6 Copter: send flight mode string to Notify 2017-01-23 15:07:20 -08:00
Andrew Tridgell 332820aa88 Copter: fixed load of var_info for attitude_control and motors
we need to pass the var_info for the specific class we are using, not
the parent class.

Fixes issue #5585

thanks to Julien for noticing!
2017-01-20 12:05:09 +11:00
Andrew Tridgell 1297a7dedb Copter: convert the rest of motors class for tricopter 2017-01-12 17:39:37 +11:00
Andrew Tridgell bf889e01e1 Copter: load objects from storage after allocation 2017-01-12 17:39:37 +11:00
Andrew Tridgell 3fe1a69a32 Copter: always allocate a motors backend
this allows autotest to run, and gives a less confusing error to users
when no FRAME_CLASS error is selected
2017-01-12 17:39:37 +11:00
Andrew Tridgell e85df47b06 Copter: fixed parameter handling for pointer objects
fixed loading of default files and use of POINTER flag on object
groups
2017-01-12 17:39:37 +11:00
Andrew Tridgell 0f6d0c5ba9 Copter: combined tri, single, coax and multicopter into a single build
this allows copter to be just 2 builds, one for heli, and one for
everything else
2017-01-12 17:39:37 +11:00
Randy Mackay b1e494a209 Copter: return MAV_TYPE as quadcopter by default
This allows the GCSs to know that the firmware is for a multicopter
2017-01-12 09:27:14 +09:00
murata e65887c393
Copter: Change sprintf method to secure snprintf method. 2017-01-09 16:05:56 +00:00
Randy Mackay 6b4acebd26 Copter: bigger buf when sending frame string to frsky telem 2017-01-05 13:45:53 +09:00
Peter Barker a233024e05 Copter: fix compilation when fence andd proximity are disabled
This adds AC_AVOID_ENABLED; avoidance must be disabled if either
of fence or proximity are disabled.

Parameter definitions have been reordered to avoid compiler warnings;
this make sthe numbering non-linear
2017-01-03 10:44:03 +09:00
Randy Mackay e31d6d051d Copter: get_frame_mav_type switch fix
This returns generic as the mavtype and avoids warnings of unreachable code
Thanks to muramura for suggesting this
2016-12-31 10:55:23 +09:00
Randy Mackay 217757fdc8 Copter: default FRAME_CLASS 2016-12-31 10:55:23 +09:00
Randy Mackay 0ac00dbfd6 Copter: add FRAME_CLASS parameter 2016-12-31 10:55:23 +09:00
priseborough 3847975844 Copter: give the AHRS access to the range beacon sensor 2016-11-30 17:56:56 +09:00
Randy Mackay 21c7ea1df7 Copter: integrate AP_Beacon 2016-11-30 17:56:55 +09:00
Peter Barker 236b8ab6b7 Copter: make EPM a subclass of AP_Gripper_Backend 2016-11-05 10:20:39 +09:00
Peter Barker 920868145c Copter: support for AP_Gripper 2016-11-05 10:20:33 +09:00
Peter Barker df07cb525a Copter: use AP_Stats to store statistics about vehicle 2016-10-29 14:53:25 +09:00
murata 965a6a5719 Copter: To nullptr from NULL. 2016-10-28 10:53:31 -07:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell c01a7718c1 Copter: fixed startup order of setting mavlink system ID 2016-10-17 09:19:08 +11:00
Randy Mackay fcc2a1b378 Copter: integrate AP_Proximity into main vehicle 2016-10-13 20:21: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
Randy Mackay 4832ba4bf0 Copter: call attitude control parameter check 2016-09-02 09:27:17 +09:00
Andrew Tridgell ea7e62df17 Copter: use a constant string for frsky_telemetry init 2016-08-25 11:00:31 +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
floaledm baa3357b21 Copter: changed init for SPort passthrough protocol compatibility 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
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
Daniel Ricketts 87be8daf0e Copter: integrate AC_Avoidance library 2016-06-22 11:38:15 +09:00
Andrew Tridgell 8913dc32b0 Copter: simplify UART setup 2016-05-21 15:25:16 +10: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
Ricardo de Almeida Gonzaga ce241dd97a ArduCopter: Fix typos 2016-05-13 19:20:07 -03:00
Andrew Tridgell 111eb2ccc1 Copter: use DataFlash::log_while_disarmed() 2016-05-09 12:05:52 +10: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
Randy Mackay cd97aa97a3 Copter: provide terrain reference to AC_WPNav 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 84fd8da944 Copter: current_loc to Location class 2016-04-30 10:33:01 +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
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
Tom Pittenger 09dd2a1b3d Copter: use set_dataflash() for static logging 2016-02-24 09:18:05 +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
Jonathan Challinger 22c3397657 Copter: make AP_Mount calls required by AP_Mount_SoloGimbal 2016-01-23 10:35:42 +09:00
squilter 91187899fd Copter: initialize capabilities earlier 2016-01-12 18:13:15 +09:00
Andrew Tridgell 4dd8714880 Copter: changed to Hz based task table 2015-12-27 14:57:21 +09:00
Andrew Tridgell d14056fa1e Copter: fixed build warnings 2015-12-20 17:55:40 +11:00
Randy Mackay 1b29a1af46 Copter: consolidate setting of using-iterlock state 2015-11-17 09:02:31 +09:00
Lucas De Marchi 030fd046c7 ArduCopter: remove check for MAVLINK_COMM_NUM_BUFFERS 2015-11-04 12:14:15 +11:00
Lucas De Marchi 1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00