Commit Graph

6309 Commits

Author SHA1 Message Date
Peter Barker e5fa8f622b Copter: initialise AC_Fence library 2019-09-28 07:58:48 +09:00
bnsgeyer aef04fd924 Copter: tradheli update conversion 2019-09-25 14:59:02 +09:00
Andrew Tridgell 328fff8585 Copter: fixed RC failsafe handling for no RC receiver
this stops us using uninitialised values in modes like circle which
can operate either with or without RC input. If we didn't have a RC
receiver attached then they would use a maximum yaw rate (which
produces quite a spectacular result for a tuned up racing quad)
2019-09-24 10:00:36 +10:00
Peter Barker a5f4a102d7 Copter: stop compiling in AP_Buffer 2019-09-24 09:36:33 +10:00
Randy Mackay 5a1a10b03f Copter: update 3.6.11-rc1 release notes 2019-09-23 13:39:34 +09:00
Randy Mackay 23e92d4fa5 Copter: 3.6.11-rc1 release notes 2019-09-23 13:39:30 +09:00
Andrew Tridgell c40e0ffb6b Copter: fixed EKF threshold for arming
when EKF failsafe is disabled by setting threshold to zero we need to
disable this arming check
2019-09-23 09:48:39 +09:00
Peter Barker 9b398e8765 Copter: remove stale enum entries for log message types 2019-09-18 15:02:57 +10:00
Peter Barker 0031deb175 Copter: correct abs vs fabsf usage in Attitude 2019-09-18 12:57:02 +10:00
Peter Barker a1ce8dafb0 Copter: wrap_180_cd no longer returns floats for integer arguments 2019-09-18 12:57:02 +10:00
Randy Mackay cba03da59a Copter: version to 4.0.0-dev 2019-09-17 11:39:47 +09:00
Randy Mackay bce5154b2d Copter: compassmot and motor_test set_soft_armed 2019-09-17 11:26:57 +09:00
Peter Barker 1b29cf14a6 Copter: remove get_advanced_failsafe override; singleton to be used 2019-09-17 09:13:43 +10: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
bnsgeyer 23d4473f88 Copter: tradheli-properly upgrade rsc parameters 2019-09-13 08:53:54 +09:00
Randy Mackay 1818360519 Copter: land mode inits auto yaw 2019-09-12 09:20:39 +09:00
Randy Mackay 8a20d37799 Copter: zigzag smoother stops on terrain failure 2019-09-11 19:41:35 +09:00
Randy Mackay 6ddaf81439 Copter: param conversion for INS_NOTCH_FREQ and BW 2019-09-11 18:41:05 +10:00
bnsgeyer f84dac85ea Copter: tradheli-dualheli swashplate type upgrade conversion fix 2019-09-10 15:02:34 +09:00
bnsgeyer a849aab4c7 Copter: tradheli-singleheli swashplate type upgrade conversion fix 2019-09-10 15:02:34 +09:00
Peter Barker e497b13b4a Copter: remove ineffective DEVO_TELEM_ENABLED 2019-09-04 17:47:33 +10:00
Peter Barker ab7b4616ff Copter: let GCS base class handle fence sys_status bits 2019-09-03 09:12:24 +10:00
Peter Hall e1b982c99c Copter: RC_Channel: remove fence 2019-09-02 11:03:27 +09:00
Peter Barker a9ffe902f0 Copter: mount uses AP_SerialManager singleton 2019-08-28 06:55:28 +10:00
Peter Barker 0ce3cd06b0 Copter: fix compilation when drift mode is disabled 2019-08-27 09:43:47 +10:00
Leonard Hall 8b7fe2ac12 Copter: Acro_Balance update 2019-08-23 10:59:29 +09:00
Peter Barker 87a1efeb45 Copter: add assertion that guided is enabled if guided-nogps is enabled 2019-08-22 17:47:45 +01:00
Peter Barker f8f5e7f5ae Copter: correct compilation when guided mode is disabled 2019-08-22 17:47:45 +01:00
Peter Barker 3c6b67349f Copter: correct build when AFS disabled 2019-08-22 10:49:43 +09:00
Peter Barker c0774e74e0 Copter: fix format-string compilation warning
../../ArduCopter/mode_auto.cpp: In member function 'void ModeAuto::do_nav_delay(const AP_Mission::Mission_Command&)':
../../ArduCopter/mode_auto.cpp:1372:84: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Wformat=]
     gcs().send_text(MAV_SEVERITY_INFO, "Delaying %u sec",nav_delay_time_max_ms/1000);
                                                                                    ^

This is with a mini-pix build.
2019-08-21 18:48:45 +09:00
Tom Pittenger 0983a04d52 Copter: NAV_Delay variable timers to be all unsigned and labeled as _ms 2019-08-19 15:24:06 -07:00
Peter Barker 4b870d752f Copter: fix toy-mode build
handle_message changed signature a few months ago but this is protected
by pragmas such that it is only ubild on SkyViper
2019-08-19 14:36:16 +10: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
Randy Mackay 709c874d8b Copter: integrate AP_OAPathPlanner 2019-08-17 09:42:43 +09:00
Peter Barker 48a1b2f436 Copter: avoid allocate a GCS_MAVLINK per mavlink channel 2019-08-14 18:25:43 +10:00
Randy Mackay a3bde4f054 Copter: pre-arm check for ToshibaCAN ESC pwm range 2019-08-14 13:29:14 +09:00
Peter Barker 4fa83ed40d Copter: move automatic declination setting into AP_Compass itself 2019-08-13 10:02:13 +10:00
Randy Mackay 41f538e039 Copter: simplify DEVO_TELEM_ENABLED definition 2019-08-09 23:07:06 +09:00
Peter Barker c0e8d319c6 Copter: make surface tracking adjust_climb_rate take a float
Its callers all pass in floats and we return a float, so stop going via
an int16_t
2019-08-06 14:09:09 +09:00
Peter Barker b0428f0fe8 Copter: make surface_tracking a class, various functions methods 2019-08-06 14:09:09 +09:00
Bill Geyer c8b547a8e4 Copter: tradheli-remove snprintf statements 2019-08-06 08:24:59 +09:00
bnsgeyer 5eb5277f4c Copter: tradheli-converts swashplate to H3-120 on upgrade based on old params 2019-08-06 08:24:59 +09:00
Peter Barker 6f4167b85b Copter: pass format string through to check_failed 2019-08-05 14:18:05 +10:00
hoangthien94 6d8a1bbe81 Copter: bypass compass healthy check when ext nav data is available for heading 2019-08-03 08:44:11 +09:00
Peter Barker 18de327e7f Copter: tighten type on mavlink_coordinate_frame_to_location_alt_frame 2019-08-01 17:45:30 +10:00
Peter Barker 5538800ad0 Copter: use MAV_FRAME_GLOBAL instead of MAV_FRAME_GLOBAL_INT in send_position_target 2019-07-30 10:55:21 +10:00
liang e422f2b2fd Copter: mode_auto: retract the landing gear automatically 2019-07-30 09:46:18 +09:00
Michael du Breuil 599a1af5c1 Copter: Convert ARMING_CHECK 2019-07-30 10:42:16 +10:00
Michael du Breuil ed2ae707f4 Copter: Add keydump feature 2019-07-30 10:42:16 +10:00
Randy Mackay 8e095d4a81 Copter: avoid terrain failsafe from a single out-of-range rangefinder reading 2019-07-29 16:01:52 +09:00
Randy Mackay 67ff96d8de Copter: 3.6.10 release notes 2019-07-29 12:34:26 +09:00
Leonard Hall f128e93ec5 Copter: support for upgrade to PID object 2019-07-25 17:38:15 +09:00
Leonard Hall 157f786adf Global: rename desired to target in PID info 2019-07-25 17:38:15 +09:00
Randy Mackay eed19a9262 Copter: 3.6.10-rc2 release notes 2019-07-22 18:19:41 +09:00
Randy Mackay eb433508f1 Copter: esc cal startup check moved outside rc output init
this ensures we don't accidentally enter esc calibration during motor test
2019-07-22 14:53:36 +09:00
Leonard Hall c56acb49d6 Copter: Add missing Loiter initialisation lines.
This command is missing to define the desired acceleration that loiter will initalise to.
loiter_nav->clear_pilot_desired_acceleration();
2019-07-20 16:40:51 +09:00
misswhile 15a326bade Copter: fixed can't enter esc calibration by RC. 2019-07-18 16:54:16 +09:00
Leonard Hall 0e34d8b1ff Copter: PosHold fix for low brake_rate 2019-07-18 11:13:51 +09:00
Randy Mackay b7a748df88 Copter: auto's wp_start accepts terrain alts 2019-07-18 09:01:09 +09:00
Pierre Kancir c330b87592 ArduCopter: pass mavlink_message_t by const reference 2019-07-16 20:51:42 +10:00
Michael du Breuil e0d7b71e95 Copter: Reduce dependency on inertial nav 2019-07-16 12:11:42 +09:00
Peter Barker 97bb846310 Copter: RangeFinder uses AP_SerialManager singleton 2019-07-16 09:29:48 +10:00
Peter Barker 9412075b9c Copter: avoidance no longer takes ahrs in constructor 2019-07-16 09:29:48 +10:00
Peter Barker 4b51239920 Copter: move mission reset aux switch option to RC_Channel 2019-07-16 09:24:18 +10:00
Michael du Breuil b07d65c1f3 Copter: Refactor battery current monitoring 2019-07-14 00:28:00 -07:00
Peter Barker eb9e65fd28 Copter: add GUIDED_NOGPS to failsafe checks 2019-07-10 16:55:23 +09:00
Peter Barker 567ba799f1 Copter: rewrite gcs-failsafe check for clarity 2019-07-10 16:55:23 +09:00
Peter Barker 6435a867f5 Copter: split RC_CHANNELS messages onto separate ap_message ids 2019-07-09 13:08:45 +10:00
Peter Barker 332e878bae Copter: correct nullptr dereference in sensor-config error loop 2019-07-09 10:01:23 +10:00
Peter Barker e977fce3ad Copter: stop passing relay and ahrs into camera constructor 2019-07-09 09:32:39 +10:00
Peter Barker 05925b57ad Copter: mark position_ok methods as const 2019-07-09 09:26:45 +10:00
Randy Mackay 4d19d65047 Copter: 3.6.10-rc1 release notes 2019-07-08 14:26:43 +09:00
Peter Barker cd2ec1f57f Copter: remove set_default_dead_zone statement with no effect
This is immediately undone in the unconditional code below the #if
2019-07-08 09:26:02 +09:00
Peter Barker ebbd2b971b Copter: correct compilation under toymode 2019-07-08 09:55:46 +10:00
Peter Barker 40a3bf94f4 Copter: EKF logging moved into EKF from logger 2019-07-06 19:05:51 +10:00
Peter Barker eb82126758 Copter: ServoRelayEvents uses Relay singleton 2019-07-03 23:59:24 -07:00
Peter Barker bf6f10e448 Copter: Arming: ensure frame class is appropriate for build FRAME_CONFIG 2019-07-04 10:05:01 +09:00
Peter Barker cf45108efb Copter: set Heli frame default at compile-time 2019-07-04 10:05:01 +09:00
Peter Barker bb3d2a0b37 Copter: pass GCS_MAVLink object rather than channel number in motortest 2019-07-02 10:04:56 +10:00
Peter Barker 478c62b5ac Copter: stop setting beacon in AHRS 2019-07-01 07:20:58 +09:00
Peter Barker fab17ba3bf Copter: add sanity check when fetching GCS_MAVLink instance 2019-06-27 07:54:45 +10:00
Michael du Breuil 242096b65e Copter: Send a heartbeat on mode change 2019-06-26 12:58:18 -07:00
hoangthien94 b741639002 GCS_Copter: Fixed precland condition to set SENSOR_VISION_POSITION flag 2019-06-25 09:42:45 +08:00
Peter Barker b0beca7b01 Copter: allow GCS MAVLink base class to handle out-of-time for sending messages 2019-06-25 10:29:40 +10:00
Peter Barker db2aff56c0 Copter: remove pointless protocol parameter to setup_uart 2019-06-25 09:47:08 +10:00
Peter Barker 5278919463 Copter: stop pointlessly passing serial manager around 2019-06-25 09:47:08 +10:00
Peter Barker f3c1791341 Copter: stop passing gcs chan into method which wants an object 2019-06-25 09:45:54 +10:00
Jaaaky 5ce185e4ac ArduCopter: convert to unix style end-of-line 2019-06-19 16:39:09 +09:00
Michael du Breuil df37a3d603 Copter: Remove wrapper around MAVLink send heartbeat 2019-06-18 13:59:52 +01:00
Michael du Breuil c612291a47 Copter: Enable scripting parameters 2019-06-18 00:06:32 -07:00
Peter Barker 9ac9b9ce00 Copter: set os_sw_version to date fw was compiled
Also avoids non-trivial-designator compilation error
2019-06-18 10:54:01 +10:00
Peter Barker e3da6d69d5 Copter: mode_auto: don't set takeoff dest from bad current location 2019-06-18 09:07:56 +09:00
Michael du Breuil bd904f890f Copter: Update for AFS interface 2019-06-18 10:02:05 +10:00
Rishabh 00f6dc9b05 Copter: brake moved in from AC_WPNav 2019-06-13 09:02:46 +09:00
Andrew Tridgell 7c44ad04b6 Copter: check for EKF lane switch to avoid EKF failsafe
this fixes an issue with mismatch between the EKF lane switch
threshold and the copter EKF failsafe threshold
2019-06-12 09:52:20 +10:00
SergeyBokhantsev 300ee173ce Copter: fix user aux functions 2019-06-11 10:28:15 +09: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
Andrew Tridgell 01a0d3897e Copter: fixed HAL_MINIMIZE_FEATURES build 2019-06-06 12:19:13 +10:00
Peter Barker 5985579383 Copter: stop setting AC_Avoid in AC_WPNav; it uses singleton now 2019-06-06 11:47:22 +10:00
Peter Barker 33daef2f33 Copter: merge ArduCopter.cpp and Copter.cpp 2019-06-04 10:41:26 +09:00
Bill Geyer 4492727878 Copter: tradheli-comments added to new Heli Acro code 2019-06-04 09:57:13 +09:00
ChristopherOlson e13ff6c398 Copter: Parameters TradHeli Acro - add description for setting of virtual flybar 2019-06-04 09:57:13 +09:00
ChristopherOlson 8d43e828cf Copter: TradHeli - minor code format fix 2019-06-04 09:57:13 +09:00
Bill Geyer 0c64cdc565 Copter: TradHeli - add virtual flybar to heli acro flight mode 2019-06-04 09:57:13 +09:00
1iggy2 3c4bac7c97 Copter: added I frame for octa 2019-06-04 09:49:44 +09:00
Peter Barker 3e098df65a Copter: move common proximity pre-arm checks up
It will not be possible to arm if a proximity sensor has been configured
but is not working after this patch.

The can't-arm-when-within-60cm-of-something check can still be disabled
with the PARAMETER arming check bit.
2019-06-04 08:45:34 +09:00
Peter Barker 9f6b48b743 Copter: remove unneeded initialisation 2019-06-03 16:48:38 +09:00
Peter Barker fa150bc982 Copter: remove loop-initialisation of output
Use brace initialisation instead.  This is the only loop in here which
loops over the max number of compasses vs the number of compasses.
2019-06-03 12:54:17 +09:00
bnsgeyer 4120e29614 AP_Motors: Tradheli-complete conversion of throttle curve params to percent
add conversion for throttle curve params for upgrade
2019-06-03 07:53:01 +09:00
ChristopherOlson 9d03b44cf7 Copter:Heli - governor set_rpm call independent of frame type 2019-06-03 07:53:01 +09:00
ChristopherOlson 2f7d198196 Copter:Logging TradHeli - add governor output and throttle logging for heli governor 2019-06-03 07:53:01 +09:00
ChristopherOlson 8312dcae5d Copter:Scheduler - increase update rate for rpm to 40Hz for helicopter governor 2019-06-03 07:53:01 +09:00
Peter Barker 112b153268 Copter: move Arming functions into AP_Arming file 2019-05-30 16:02:10 +09:00
Peter Barker 6dce39cbe1 Copter: use AP_Arming methods to arm and disarm vehicle
Really just changing the namespace of init_arm_motors
2019-05-30 07:37:30 +09:00
Peter Barker 17060d5d66 Copter: stop changing frame to home when home not set 2019-05-29 09:04:37 +09:00
Peter Barker 08a18d6a0a Copter: avoid working with uninitialised home location 2019-05-29 09:04:37 +09:00
Peter Barker d34c4b01f4 Copter: build return path in run() rather than init()
This avoids attempting to build a return path if we don't currently have
a home or origin
2019-05-29 09:04:37 +09:00
Peter Barker 7ad4d95426 Copter: do not permit RTL unless home is set
Rover has a similar check for entering RTL

Without this, if you do not have any rally points then we end up
attempting to manipulate an invalid location.
2019-05-29 09:04:37 +09:00
Randy Mackay f93a9c37d3 Copter: 3.6.9 release notes 2019-05-27 14:09:22 +09:00
Peter Barker 3ef84d2b96 Copter: stop passing references to AC_Avoid constructor 2019-05-22 07:48:02 -06:00
Peter Barker 3c436b30f0 Copter: have takeoff.start() handle clearing i terms and setting land-complete 2019-05-15 18:24:26 +10:00
Andrew Tridgell f55d9140e2 Copter: rename to EXPECT_DELAY_MS() 2019-05-15 15:33:48 +10:00
Andrew Tridgell bc2f5fa33b ArduCopter: use EXPECT_DELAY() macro 2019-05-15 15:33:48 +10:00
Tom Pittenger 3f359886cd Copter: move heartbeat sending to gcs instead of by vehicles 2019-05-14 10:54:45 -06:00
Andrew Tridgell f46207499a Copter: prevent reset on compassmot due to watchdog 2019-05-11 05:56:34 +10:00
Randy Mackay 791b6effdd Copter: fix wp distance and bearing reporting during LOITER_TURNS 2019-05-07 13:54:31 +09:00
Peter Hall 3fe63d5bc0 Copter: only save autotune gains if disarmed in autotue 2019-05-07 09:23:50 +10:00
Randy Mackay 73973c77d7 Copter: 3.6.9-rc2 release notes 2019-04-30 13:03:02 +09:00
Randy Mackay 0472c7e6dd Copter: 3.6.9-rc1 release notes 2019-04-30 12:34:34 +09:00
Andrew Tridgell 55dca5cda9 Copter: added in sink rate for parachute check 2019-04-30 10:04:58 +10:00
Peter Barker 37c07e1d89 Copter: use enum class for roll/pitch mode
This adds some type-safety and helps distinguish between the many
defines which are used within PosHold mode

Saves about 210 bytes of flash
2019-04-30 08:36:59 +09:00
Peter Barker 462d87e5d0 Copter: remove unused PosHoldModeState enumeration 2019-04-30 08:36:59 +09:00
Peter Barker e28c6b9dc6 Copter: remove redundant poshold_ prefix on PosHold methods 2019-04-30 08:36:59 +09:00
Peter Barker f57a9f11cc Copter: move poshold state variables into mode object
This was simply moving the members from the poshold struct into the
class then mechanically removing poshold. from in front of the member
access.
2019-04-30 08:36:59 +09:00
Peter Barker 9f9531a790 Copter: AP_Arming: correct overriding of arm_checks method
This makes the arbitrary decision that arming checks always report
failures to the GCS.

Fixes:

In file included from ../../ArduCopter/events.cpp:1:
In file included from ../../ArduCopter/Copter.h:91:
../../ArduCopter/AP_Arming.h:33:69: fatal error: non-virtual member function marked 'override' hides virtual member function
    bool arm_checks(bool display_failure, AP_Arming::Method method) override;
                                                                    ^
../../libraries/AP_Arming/AP_Arming.h:64:18: note: hidden overloaded virtual function 'AP_Arming::arm_checks' declared here: different number of parameters (1 vs 2)
    virtual bool arm_checks(AP_Arming::Method method);
                 ^
1 error generated.
2019-04-30 09:29:59 +10:00
Randy Mackay 4fa52bb0de Copter: 3.6.8-release notes 2019-04-26 13:25:00 +09:00
Dr.-Ing. Amilcar do Carmo Lucas 402b1cba3f Copter: replace 4 divisions with multiplications 2019-04-24 08:52:41 -07:00
Andrew Tridgell 3abe8fed89 Copter: updated release notes for 3.6.8 2019-04-24 17:15:44 +10:00
Pierre Kancir d5d81f3a1c ArduCopter: set AUTO_YAW_HOLD when user control yaw during nogps land 2019-04-23 09:35:02 +09:00
Pierre Kancir c2811ea144 ArduCopter: respect yaw orientation on LAND 2019-04-23 09:35:02 +09:00
Peter Barker 5d996a289a Copter: move responsibility for logging into library 2019-04-23 10:06:17 +10:00
Peter Barker 7207035c34 Copter: do no compass stick gesture detection while armed 2019-04-23 10:06:17 +10:00
Randy Mackay 8a5141f751 Copter: mode autoyaw lower in mode.h
make ordering of some declarations consistent across child classes
2019-04-20 10:04:33 +09:00
Peter Barker 7945c1fdfd Copter: mode class unfriends everyone, make relevant methods public 2019-04-20 10:04:33 +09:00
Randy Mackay b7d0e4ec10 Copter: remove surface tracking shim functions 2019-04-19 07:45:52 +09:00
Randy Mackay 01909cf4c8 Copter: zigzag mode gets terrain following support 2019-04-19 07:45:52 +09:00
Randy Mackay 89eb876faf Copter: move surface tracking variables into structure 2019-04-19 07:45:52 +09:00
Randy Mackay 33a57361bd Copter: reduce args passed to get_surface_tracking_climb_rate
The same arguments are always passed in
2019-04-19 07:45:52 +09:00
Randy Mackay a732dfed6d Copter: minor format fixes to get_pilot_desired_cilmb_rate 2019-04-19 07:45:52 +09:00
Michael du Breuil 465d6b4dc7 Copter: Remove rangefinder distance prearm check 2019-04-16 11:00:32 +09:00