Commit Graph

237 Commits

Author SHA1 Message Date
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
Lucas De Marchi 20c6ffc5e3 Replace use of UARTDriver::printf_P() with UARTDriver::printf()
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +09:00
Lucas De Marchi 6f4904189b Replace use of println_P() with println() 2015-10-30 14:35:22 +09:00
Lucas De Marchi a964ac38ec Replace use of print_P() with print() 2015-10-30 14:35:21 +09:00
Lucas De Marchi 831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Lucas De Marchi 84da1f5039 Rename gcs_send_text_P to gcs_send_text 2015-10-30 14:35:07 +09:00
Lucas De Marchi 2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Randy Mackay 9b80ab18ae Copter: position_ok when optical flow ok
Previously the GPS based absolute position was required
This allows using optical flow in all flight modes
2015-10-14 12:01:41 +09:00
Randy Mackay 01c0b20930 Copter: calibrate gyros depending on INS GYR_CAL parameter 2015-09-21 17:06:34 +09:00
Peter Barker 51a761656e Copter: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 15:20:19 +10:00
Andrew Tridgell 64a8e66dd7 Copter: automatically set H_RSC_MIN/MAX from RC8_MIN/MAX on upgrade
this prevents a problem where the disarm throttle will change after
upgrading to 3.4
2015-09-02 10:25:48 +10:00
Randy Mackay 26ded641db Copter: integrate Precision Landing lib 2015-08-31 18:00:28 +09:00
Stewart Loving-Gibbard 7cb494d8e2 Copter: Moving to RSSI library for reading various kinds of RSSI, with the possibility of adding more.
* Retains ability to read from Analog Pin
* Adds ability to read RSSI from PWM channel value as is done in OpenLRSng, EazyUHF, and various other LRS.
* Handles any type of RSSI that provides RSSI values inverted - i.e. when the low value is the best signal and the high value is the worst signal.
* Has different key names from all existing RSSI parameters to provide for a clean break and easier distinguishing.
* Existing parameters are marked as obsolete
2015-08-29 08:05:59 +10:00
Randy Mackay be603da579 Copter: fix optflow position_ok check
We should accept predicted relative horizontal position only when disarmed
2015-08-27 20:57:41 +09:00
squilter 767b4da5b6 Copter: update send text severities 2015-08-25 14:05:25 +09:00
Andrew Tridgell 1fdf7ec83f Copter: added RPM sensor support
send result via MAVLink
2015-08-12 15:03:50 +10:00
Randy Mackay 6765aedb5b Copter: init vehicle capabilities 2015-07-31 14:50:29 +09:00
Randy Mackay 4e3d0ae0c1 Copter: fix startup logging
Removed potentially endless loop caused by start_logging calling
Log_Write_Startup which called should_log which could then call
start_logging.
Moved disarm event logging above motors disarm so it is logged
2015-07-14 14:03:00 +09:00
Robert Lefebvre ef80634435 Copter: auto_armed goes false for Heli when landed and motor shut off. 2015-06-19 15:10:46 +09:00
Randy Mackay f603c1ef69 Copter: fix ekf-check reliance on position_ok 2015-06-15 22:29:20 +09:00
Randy Mackay b2ca7ee3fa Copter: Log_Write_Startup writes parameters 2015-06-01 20:22:48 +09:00
Grant Morphett 518308efae Copter: Moving parameter logging to be after all systems have started 2015-06-01 20:22:38 +09:00
Andrew Tridgell b87cc80486 Copter: fixed some warnings 2015-05-30 22:01:59 +10:00
Andrew Tridgell 278883c521 Copter: finished conversion to .cpp files
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-05-30 15:21:19 +09:00
Andrew Tridgell 356ece3402 Copter: rename .pde files to .cpp files 2015-05-30 15:21:15 +09:00