Commit Graph

6317 Commits

Author SHA1 Message Date
Randy Mackay
3fe61476bf Copter: add upward facing surface tracking 2020-02-05 10:10:20 +11:00
Randy Mackay
972c916f1b Copter: surface tracking always includes ekf alt error when setting target rangefinder alt 2020-02-05 10:09:54 +11:00
Randy Mackay
7d66b904ef Copter: rangefinder glitch detection moved to read_rangefinder 2020-02-05 10:09:54 +11:00
Randy Mackay
e4ccb10524 Copter: surface tracking format fixes 2020-02-05 10:09:54 +11:00
Randy Mackay
c7d8f60469 Copter: move surface tracking implementation to surface_tracking.cpp 2020-02-05 10:09:54 +11:00
Randy Mackay
de27b5c845 Copter: increase read_rangefinder to 50hz 2020-02-05 10:09:54 +11:00
Peter Barker
ccccb82eea Copter: call periodic fence update function 2020-02-05 10:09:54 +11:00
Peter Barker
3ebece5507 Copter: initialise AC_Fence library 2020-02-05 10:09:54 +11:00
bnsgeyer
694075768f Copter: tradheli update conversion 2020-02-05 10:09:20 +11:00
Andrew Tridgell
23ae607c6c 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)
2020-02-05 10:05:59 +11:00
Peter Barker
74253337b7 Copter: stop compiling in AP_Buffer 2020-02-05 10:05:59 +11:00
Randy Mackay
930dad1934 Copter: update 3.6.11-rc1 release notes 2020-02-05 10:05:59 +11:00
Randy Mackay
b083a3da34 Copter: 3.6.11-rc1 release notes 2020-02-05 10:05:59 +11:00
Andrew Tridgell
7d5c36113d Copter: fixed EKF threshold for arming
when EKF failsafe is disabled by setting threshold to zero we need to
disable this arming check
2020-02-05 10:05:59 +11:00
Peter Barker
6672248b02 Copter: remove stale enum entries for log message types 2020-02-05 10:04:08 +11:00
Peter Barker
458f106c9b Copter: correct abs vs fabsf usage in Attitude 2020-02-05 10:04:08 +11:00
Peter Barker
47fa4a3bf8 Copter: wrap_180_cd no longer returns floats for integer arguments 2020-02-05 10:04:08 +11:00
Randy Mackay
59de79b0c0 Copter: version to 4.0.0-dev 2020-02-05 10:04:08 +11:00
Randy Mackay
311407741f Copter: compassmot and motor_test set_soft_armed 2020-02-05 10:04:08 +11:00
Peter Barker
0cc174abbc Copter: remove get_advanced_failsafe override; singleton to be used 2020-02-05 10:04:08 +11:00
Andrew Tridgell
0775738137 Copter: fixed range check for RC channel 2019-12-23 09:56:26 +11: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