Commit Graph

166 Commits

Author SHA1 Message Date
Randy Mackay 9a32b3bdd9 Copter: rename update_throttle_mix
was called update_throttle_thr_mix
also minor formatting fixes
2020-02-25 16:52:40 +09:00
Andy Piper 4c1816a983 Copter: port betaflight in-flight fft analysis to arducopter and expose as a log message
add harmonic notch tracking mode
call AP_GyroFFT::update_freq_hover() from update_throttle_hover()
move gyrofft configuration and control to AP_Vehicle
move fft logging to fft library
2020-02-22 11:15:37 +11:00
Peter Barker 18670d681e Copter: let AP_Vehicle handle loop() 2020-02-06 14:41:06 +11:00
Peter Barker debedd9d34 Copter: move setup method up to AP_Vehicle base class 2020-01-28 11:34:51 +11:00
Peter Barker 45b2f24867 Copter: StorageManager layout is now done with a pragma 2020-01-28 11:34:51 +11:00
Andy Piper 93abfdb905 Copter: create generic vehicle management and move runcam to it 2019-12-30 13:02:04 +11:00
Peter Barker 544eb5f179 Copter: correct duplicate button instance 2019-12-10 09:29:52 +09:00
Peter Barker a567e8bc94 Copter: use https:// scheme for ardupilot URLs 2019-12-10 07:53:46 +11:00
Gone4Dirt 180d4e713c Copter: Added autorotation flight mode and support 2019-11-29 08:06:10 +08:00
Randy Mackay 496989820e Copter: update proximity sensor at 200hz 2019-11-15 12:25:53 +08:00
Peter Barker e6c6189fe5 Copter: cope with change in namespace of LogEvent enum
Also move Acro Trainer types into an enum class as the global defines
interfere with the Event names.

Also eliminate the Log_Write_Event wrappers.
2019-11-05 08:19:26 +08:00
Randy Mackay 7b0da89708 Copter: add vibration check 2019-10-18 11:15:25 +09:00
Leonard Hall 50a098c359 Copter: Standby functions 2019-10-17 14:57:18 +09:00
Randy Mackay 2cb3e446ab Copter: systemid mode formatting and name changes 2019-10-16 08:17:09 +09:00
Leonard Hall 91be844b66 Copter: Let modes stop Attitude Logging 2019-10-16 08:17:09 +09:00
Andy Piper 7fd22f63a9 ArduCopter: allow logging of both IMU and IMU_RAW
allow logging of both IMU and IMU_RAW at the same time so that filtering and errors can be seen
2019-10-15 10:10:32 +11:00
Andy Piper 8ce7f02167 ArduCopter: add functions to update dynamic notch frequency. Periodically log the frequency.
tradheli- make RPM sensor input to harmonic notch in hertz
2019-10-10 20:26:02 +09:00
murata abb91fc33a Copter: Change external button specification to option
Copter: Change the definition name from BUTTON to BUTTON_ENABLED.
2019-10-08 08:09:19 +09:00
Randy Mackay 9d5cbbe58f Copter: restore range finder updates to 20hz 2019-09-28 11:13:14 +09:00
Randy Mackay b54cf410ef Copter: increase read_rangefinder to 50hz 2019-09-28 11:13:14 +09:00
Peter Barker 4d6dc9b0a7 Copter: call periodic fence update function 2019-09-28 07:58:48 +09:00
Peter Barker b4537bebd8 Copter: move control_mode_t into being Mode::Number enum class
Fixes this compiler error:

In file included from ../../ArduCopter/sensors.cpp:1:
In file included from ../../ArduCopter/Copter.h:195:
../../ArduCopter/mode.h:1291:9: fatal error: declaration shadows a variable in the global namespace [-Wshadow]
        AUTO,           // after A and B defined, pilot toggle the switch from one side to the other, vehicle flies autonomously
        ^
../../ArduCopter/defines.h:38:5: note: previous declaration is here
    AUTO =          3,  // fully automatic waypoint control using mission commands
    ^
1 error generated.
2019-09-13 13:12:08 +09:00
Peter Barker b9a387ed9e Copter: stop updating sensor status flags
These are updated as required in the gcs library itself.
2019-08-17 17:45:03 +10:00
Peter Barker 4fa83ed40d Copter: move automatic declination setting into AP_Compass itself 2019-08-13 10:02:13 +10:00
Peter Barker 676d75c391 Copter: correct namespacing of Copter modes
This makes us look like Rover and Plane in terms of namespacing for the
Mode classes, and removes a wart where we #include mode.h in the middle
of the Mode class.

This was done mechanically for the most part.

I've had to remove the convenience reference for ap as part of this.
2019-06-11 09:18:22 +09:00
Peter Barker 33daef2f33 Copter: merge ArduCopter.cpp and Copter.cpp 2019-06-04 10:41:26 +09:00
Peter Barker 31f796f0c5 Copter: remove unused scaleLongDown member 2019-02-15 11:45:13 +09:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker 485cafb343 Copter: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Peter Barker ba8b3e2415 Copter: create an AutoYaw helper object to hold auto-yaw state 2018-04-18 13:27:43 +09:00
Peter Barker 846506230d Copter: remove pointless initialisations
Also reduce storage size of gps primary
2018-02-22 17:51:35 +10:00
Peter Barker bfc373aeff Copter: move logging of PM messages to AP_Scheduler 2018-02-13 17:15:05 +11:00
Peter Barker 80a3d63264 Copter: use AP_Scheduler's loop() function 2018-02-13 17:15:05 +11:00
Peter Barker 7f69c5d26d Copter: use scheduler ticks in place of mainloop_count 2018-02-13 17:15:05 +11:00
Peter Barker 996115c0d3 Copter: eliminate MAIN_LOOP_SECONDS macro 2018-01-20 15:35:58 +11:00
Peter Barker 6c82f7671d Copter: move all commands logic into AUTO flightmode 2017-12-14 14:08:01 +09:00
Andrew Tridgell 8ab0ac8a16 Copter: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Randy Mackay 2d23e1f7c7 Copter: rename flightmode_ objects to mode_ 2017-12-12 10:39:26 +09:00
Randy Mackay ac8c2b3f03 Copter: resolve compiler warning from flight-mode declaration 2017-12-12 10:39:26 +09:00
Peter Barker 5d33cf08e1 Copter: eliminate calc_home_distance_and_bearing
Calling update_simple_mode_bearing calls get-heading
rather than the other way around

This will have the advantage of not calculating home bearing
when we stop calling update_simple_mode_bearing unnecesarily
2017-12-09 16:26:09 +09:00
Peter Barker 103e2cc711 Copter: calculate wp bearing and distance on demand
Move responsibility for calculating wp bearing/distance
into the FlightMode object doing the navigation

Calculating these variables was being done at 50Hz where they
were used at 10Hz max.
2017-12-07 07:43:08 +09:00
Peter Barker 9c60c1de58 Copter: FlightMode - convert SMARTRTL flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 682f3c0e7e Copter: FlightMode - convert RTL flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 2db09ba0f7 Copter: FlightMode - convert GUIDED flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 871ba5630f Copter: FlightMode - convert CIRCLE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker e2b70c3a0a Copter: FlightMode - convert AUTO flight mode 2017-12-06 08:24:24 +09:00
Peter Barker a95a35c134 Copter: FlightMode - convert STABILIZE flight mode 2017-12-06 08:24:24 +09:00
Lucas De Marchi 1263e20a0d ArduCopter: use static method to construct AC_InputManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi e21e02cfdb ArduCopter: use static method to construct AC_PrecLand 2017-09-26 03:01:21 +01:00
Lucas De Marchi cf6ea9642e global: use static method to construct AP_Terrain 2017-09-26 03:01:21 +01:00
Lucas De Marchi 31db77e47b global: use static method to construct AP_Parachute 2017-09-26 03:01:21 +01:00
Lucas De Marchi 57bbb2e1d9 ArduCopter: use static method to construct AC_Sprayer 2017-09-26 03:01:21 +01:00
Lucas De Marchi 4f42facefc global: use static method to construct AC_Avoid 2017-09-26 03:01:21 +01:00
Lucas De Marchi b05610870c global: use static method to construct AP_Rally 2017-09-26 03:01:21 +01:00
Lucas De Marchi c6eb48009b global: use static method to construct AC_Fence 2017-09-26 03:01:21 +01:00
Lucas De Marchi 18aa88b329 global: use static method to construct AP_Mount 2017-09-26 03:01:21 +01:00
Lucas De Marchi c3647f0185 global: use static method to construct AP_Camera 2017-09-26 03:01:21 +01:00
Lucas De Marchi cc53e7bc4b global: use static method to construct AP_ServoRelayEvents 2017-09-26 03:01:21 +01:00
Lucas De Marchi 9ce6019138 global: use static method to construct AP_Frsky_Telem 2017-09-26 03:01:21 +01:00
Lucas De Marchi b36a5919f5 global: use static method to construct AP_Mission
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi 53c82b4aaf global: use static method to construct DataFlash_Class 2017-09-26 03:01:21 +01:00
Lucas De Marchi cd5b018d82 ArduCopter: move version to a static member
We should never include version.h or ap_version.h headers directly
on a header since this will trigger a complete rebuild of the
codebase when we commit to the repository. The ap_version.h header
is auto-generated containing information from the current commit.

If we include it in a header, every other file that ends up including
that header (directly or indirectly) will need to be rebuilt. No
ccache's cache beats having to do nothing when the header is just
not included.

version.h contains information that is kept on a struct inside
each vehicle. Rather than using the macros from each vehicle,
the getter should be preferred, which returns an AP_FWVersion
referente.
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
Peter Barker 6b5fd5fbdd Copter: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
squilter 4b57a4a231 Copter: rename SafeRTL to SmartRTL 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 cdf9ebcb39 Copter: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker cfbde937c6 Copter: move should_log check of log bitmask into DataFlash 2017-06-29 15:26:27 +01:00
Shingo Matsuura 0800c6be52 Copter: add beacon object to avoidance object 2017-06-14 16:07:32 +09:00
Peter Barker 1d70a337dd Copter: remove unused desired_climb_rate variable 2017-03-09 19:52:58 +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
Andrew Tridgell 5a87ae3f01 Copter: use new SRV_Channels API 2017-01-12 17:39:37 +11: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
Pierre Kancir 3fc17a5ed5 Copter: avoid must be initialized after fence as it use it 2016-12-05 10:59:45 -08: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
Randy Mackay 0aab175051 Copter: move proximity to g2 2016-10-14 14:02:29 +09:00
Randy Mackay bba7369e9a Copter: pass AP_Proximity to AC_Avoid 2016-10-13 20:21:07 +09:00
Andrew Tridgell 0bcc9c4cb0 Copter: fix for AP_FrSky_Telem API change 2016-08-25 10:16:19 +10:00
floaledm c0bd21d9f2 Copter: compatibility with revised AP_Frsky_Telem class 2016-08-25 10:16:18 +10:00
Randy Mackay 2647bed484 Copter: guided mode uses modified check_destination_within_fence 2016-07-04 18:25:03 +09:00
Daniel Ricketts 87be8daf0e Copter: integrate AC_Avoidance library 2016-06-22 11:38:15 +09:00
Leonard Hall e9d8a28ec0 Copter: AP_Motor's throttle_hover replaces throttle_average 2016-06-18 11:55:49 +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 7689315ba2 Copter: rename sonar to rangefinder 2016-05-21 10:36:53 +09: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
Randy Mackay 5090e6f4fb Copter: init G_Dt with MAIN_LOOP_SECONDS definition 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 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
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 a00a9601a4 Copter: AP_MotorsCoax now uses 4 servos 2016-04-01 11:59:30 +09:00
Jonathan Challinger 8965185587 Copter: add "high throttle cancels landing" option 2016-01-14 15:21:54 +09:00
Jonathan Challinger dcd16696a2 Copter: refactor RTL to compute full path on initialization 2016-01-07 17:22:31 +09:00
Randy Mackay 1155b1f557 Copter: remove precision landing PI controller
This controller has been moved into the precision landing class
2015-12-31 15:30:36 +09:00
Andrew Tridgell 4dd8714880 Copter: changed to Hz based task table 2015-12-27 14:57:21 +09:00
Robert Lefebvre f55effa562 Copter: remove unnecessary frame ifdef 2015-12-04 14:18:00 +09:00