Commit Graph

186 Commits

Author SHA1 Message Date
Andy Piper 85a8536243 Copter: All men dream, but not equally.
Those who dream by night in the dusty recesses of their minds, wake in the day to find that it was vanity:
but the dreamers of the day are dangerous men, for they may act on their dreams with open eyes,
to make them possible.
2021-02-12 08:35:35 +09:00
yaapu 497dbd1414 ArduCopter: added virtual getters for waypopint info 2020-12-10 12:39:44 +11:00
Gone4Dirt 434af4a4d4 Copter: Move AP_Generator to AP_Vehicle 2020-11-24 12:54:52 +11:00
Randy Mackay e2d41a3e04 Copter: integrate parachute check_sink_rate
also move set_is_flying into check parachute to increase it's update rate
2020-10-06 16:14:59 +11:00
Andrew Tridgell dbf6f6f4b1 Copter: fixed parachute checks for sink rate
ensure is_flying is set, setup sink rate at the right position, force
disarm if chute releases
2020-10-06 16:14:59 +11:00
Andy Piper b8f613c965 Copter: rename ADSB_ENABLED to HAL_ADSB_ENABLED and remove from config 2020-09-22 09:33:51 +10:00
Randy Mackay 925f76c048 Copter: integrate winch changes
includes the following changes
winch_update called at 50hz
removed ability to set winch rate from ch6 tuning
remove wheel encoder
call winch library to log at 10hz
fix winch param prefix
2020-08-07 21:55:07 +09:00
Andy Piper 54c3d07547 Copter: make make/gimbal configurable on a per-board basis 2020-08-04 09:18:14 +10:00
Randy Mackay 30c8d7bf40 Copter: dev option so set-attitude-target thrust field used as thrust 2020-08-01 08:32:23 +09:00
Mirko Denecke 89d423556c ArduCopter: update_trigger() is now called in AP_Camera update() 2020-07-15 08:37:28 +09:00
Peter Barker a679cd9b92 Copter: add support for AP_Generator 2020-07-03 08:21:42 +09:00
Randy Mackay 980c1f5020 Copter: update ekf terrain height stable setting
setting is true only when taking off or landing and horizontal speed is no more than 0.5m/s
2020-06-24 21:16:50 +09:00
Andy Piper 25dcc1a623 Copter: add support for individually tracking fft peaks and motor rpms with harmonic notches
log harmonic notch even if FFT is disabled. Fallback to throttle notch for BLHeli
move harmonic notch update to AP_Vehicle
2020-06-21 19:09:35 +10:00
Iampete1 e797685771 Copter: add set guided mode angle for scripting 2020-06-19 10:09:35 +10:00
Peter Barker 0eb03ba7d5 Copter: make SuperSimple type-safe 2020-06-16 19:39:42 +10:00
Andy Piper 3515dc9322 Copter: make sure AP_Vehicle::fast_loop() gets called 2020-05-24 07:43:34 +10:00
Randy Mackay c4b5d47e1f Copter: white space fixes 2020-04-23 13:17:11 +09:00
Randy Mackay 05a37db07c Copter: remove call to visual_odom.update 2020-04-09 19:41:08 +09:00
Randy Mackay e2469d29bc Copter: implement start_takeoff and set_target_velocity_NED for use in scripting 2020-03-19 15:17:11 -07:00
Randy Mackay a9630d67d1 Copter: implement set_target_location method 2020-03-03 10:06:38 -07:00
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