Commit Graph

242 Commits

Author SHA1 Message Date
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
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