Commit Graph

6236 Commits

Author SHA1 Message Date
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
Arjun Vinod f1de62f0d3 Copter: added left out copter flight modes as auxiliary switch options 2019-04-16 10:57:17 +09:00
Pierre Kancir caf925eda5 Copter: factorize arm or land check 2019-04-16 10:17:47 +09:00
Peter Barker 07b8473a20 Copter: move setting of compass sys_status bits up 2019-04-16 09:48:23 +10:00
Randy Mackay 403195d9d4 Copter: fix auto-disarm check
Copters go to SHUT_DOWN when estop is engaged
2019-04-15 15:34:14 +09:00
Peter Barker 46a6f45e4a Copter: adjust for desired spool state and spool state renames 2019-04-14 12:18:03 +09:00
Randy Mackay 2c682c7001 Copter: add missing AccelZ to GCS_PID_MASK param description 2019-04-13 13:33:52 +09:00
Randy Mackay 571d933b3f Copter: fix send_pid_tuning
the rate roll PID was being overwritten when PID logging was enabled
2019-04-13 13:33:52 +09:00
Peter Barker 3e51d8c7d7 Copter: RangeFinder now handles RFND logging 2019-04-09 22:17:58 +10:00
Michael du Breuil 8290bd4e67 Copter: check all EKF cores for health on arming 2019-04-09 10:53:25 +10:00
Peter Barker 5db75b313d Copter: use floats for roll/pitch
Otherwise we're taking floats, making them int32 and then making them
floats again when calling the attitude controller
2019-04-09 09:21:12 +09:00
Pierre Kancir 4f29d2e5a6 Copter: factorize esc calibration setup 2019-04-09 08:44:46 +09:00
Pierre Kancir 54380bd144 Copter: change always true condition to a timer 2019-04-09 08:44:46 +09:00
Peter Barker 41a20504b2 Copter: use RSSI singleton for logging 2019-04-09 09:33:13 +10:00
Peter Barker e5b25824eb Copter: remove unused takeoff_trigger_dz parameter 2019-04-09 08:15:39 +10:00
Peter Barker ef334fe3c7 Copter: remove hanging method declaration 2019-04-09 08:15:39 +10:00
Pierre Kancir 43dcf066c1 ArduCopter: move check_latlng to Location 2019-04-08 12:56:01 -07:00
Randy Mackay a5bdd12bfa Copter: replace TUNE_LOW/HIGH params with TUNE_MIN/MAX
change from uint16 to floats to ease setup
also add check that no function assigned to rc6
2019-04-08 15:24:00 +09:00
Peter Barker 85be2b0c8b Copter: clean up flip state enumerations
... including a redundant definition of the states...
2019-04-08 14:24:19 +09:00
Randy Mackay 69626ba855 Copter: rename FXY logging to FHXY
this keeps the log messages appearing directly below the related FHLD when looking in the MP log viewer
2019-04-08 11:26:59 +09:00
Leonard Hall df3e73f161 Copter: spool fixes for acro stabilize and throw 2019-04-08 09:42:21 +09:00
Randy Mackay d626ea66f1 Copter: poshold loses stray set-desired-spool-state
spool state is all handled higher up in the poshold state switch statement
2019-04-08 09:42:21 +09:00
Randy Mackay 29d05dfeac Copter: loiter mode gets roll and pitch from loiter_nav
both wp_nav and loiter_nav's get_roll() and get_pitch() simply get their values from the same underlying position controller
2019-04-08 09:42:21 +09:00
bnsgeyer 94738c3f86 Copter: change make_safe_shut_down to make_safe_spool_down 2019-04-08 09:42:21 +09:00
bnsgeyer f96da56ad6 Copter: Allow safe shutdown before disarming 2019-04-08 09:42:21 +09:00
bnsgeyer 7ff3a49a10 Copter:tradheli-spool logic fix for acro and stabilize 2019-04-08 09:42:21 +09:00
Leonard Hall 593925567b Copter: formatting fixes 2019-04-08 09:42:21 +09:00
Randy Mackay a6bfafefb0 Copter: move loiter and wpnav init out of make_safe_shut_down
resolves autotest RTLSpeed test failure
2019-04-08 09:42:21 +09:00
Leonard Hall 38cc5a817f Copter: consolidate mode state decisions
bnsgeyer and rmackay9 contributed to these changes

make_safe_shut_down waits for spool down before disarming
remove use of attitude_control::set_throttle_out_unstabilized to consolidate logic between multicopters and tradhelis
2019-04-08 09:42:21 +09:00
bnsgeyer d949c80d54 Copter: tradheli replaces rotor_runup_complete with spool state 2019-04-08 09:42:21 +09:00
Peter Barker 3b33f4ca4d Copter: add floating-point-constant designators 2019-04-05 23:04:17 -07:00
Michael du Breuil d1246f5868 Copter: Fix RangeFinder init 2019-04-06 09:15:22 +11:00
Pierre Kancir 4cec958269 ArduCopter: move location_update to Location and rename to offset_bearing 2019-04-06 09:10:28 +11:00
Pierre Kancir 5987966ac6 ArduCopter: move get_bearing_cd to Location and rename to get_bearing_to 2019-04-06 09:10:28 +11:00
Michael du Breuil 0e8c3dc485 Copter: include FWversion 2019-04-05 20:12:53 +11:00
Patrick José Pereira 86633e45ff Copter: Use new RC_Channel AUX_FUNC
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-04-03 09:53:58 -07:00
Peter Barker fad769f3bf Copter: add param conversion from MAG_ENABLE to COMPASS_ENABLED 2019-04-02 10:24:49 +11:00
Peter Barker 2040580ce7 Copter: move enabled parameter into compass library 2019-04-02 10:24:49 +11:00
bnsgeyer 3869507839 Copter: Tradheli- removes suppression of hover_trim_roll on auto takeoff 2019-03-29 13:13:55 +11:00
Rajat Singhal 49554bf8d9 Copter: Add function for sending POSITION_TARGET_LOCAL_NED message 2019-03-29 09:11:14 +11:00
Tom Pittenger 7824b64ad6 Copter: rename dataflash to logger 2019-03-28 16:40:57 +11:00
Peter Barker 86bd531b24 Copter: use convenience manual_override method 2019-03-27 22:33:47 -07:00
Randy Mackay 7c09084f02 Copter: add Loiter and Follow to aux switch 2019-03-28 13:54:22 +09:00
Peter Barker 8441542a52 Copter: remove climb_rate cache of inertial_nav.get_velocity_z
There were only two users of it and dozens of places using
get_velocity_z
2019-03-28 12:10:31 +11:00
Peter Barker 6bac6cd725 Copter: remove redundant compass arming checks
These are already part of prearm checks in the parent class, which must also pass for us to arm
2019-03-28 11:28:44 +11:00
ChristopherOlson e56c970eb0 Copter:AP_ARMING - remove collective position prearm check for heli 2019-03-28 10:40:54 +11:00
Peter Barker e9398e73ff Copter: tidy get_pilot_desired_throttle 2019-03-27 18:03:56 +11:00
Peter Barker c1c71fec23 Copter: move Mode functions into mode.cpp from Attitude.cpp (NFC) 2019-03-27 14:02:31 +11:00
Peter Barker 7e01d1ef50 Copter: correct compilation for ERROR_SUBSYSTEM_FLIGHT_MODE changing names 2019-03-27 13:23:12 +11:00
Peter Barker c7e21d95ef Copter: move Log_Write_Error into library 2019-03-27 12:36:40 +11:00
Peter Barker 7a1648059b Copter: stop passing dataflash into handle_radio_status 2019-03-27 10:38:39 +11:00
Peter Barker 335c1769ee Copter: do not allow change to Drift if in non-manual-throttle mode
drift acts just like stabilise or acro in terms of pilot throttle when
pilot input is maxed.
2019-03-26 20:57:15 +11:00
Peter Barker d95160b33c Copter: move check for high-throttle on mode change up 2019-03-26 20:57:15 +11:00
Peter Barker 34d9ce27af Copter: make get_pilot_desired_throttle a method on Mode 2019-03-26 20:57:15 +11:00
Patrick José Pereira 33764d6c3b Copter: Fix typo
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-03-26 15:39:23 +11:00
Peter Barker 9a2d5ac5a6 Copter: move various sensor status flag updates up 2019-03-26 11:03:21 +11:00
bnsgeyer 2ec470aaee Copter:tradheli - added swash params to convert on upgrade 2019-03-20 10:40:20 +10:00
bnsgeyer 2fc942ac24 Copter: tradheli-convert swash parameters on firmware upgrade 2019-03-20 10:40:20 +10:00
Peter Barker f4a21d446f Copter: move command-long DO_SET_HOME up 2019-03-19 19:56:13 +11:00
Peter Barker 451f5f17ce Copter: move devo telemetry handling to GCS 2019-03-19 14:39:14 +11:00
Peter Barker 4f70bdd046 Copter: GCS can report simple/supersimple input modes 2019-03-19 14:39:14 +11:00
Peter Barker a5c18ff8f5 Copter: move vehicle_initialised to be on GCS not GCS_MAVLink 2019-03-19 14:39:14 +11:00
Peter Barker e22b29bce4 Copter: FrSky support has moved to GCS 2019-03-19 14:39:14 +11:00
Peter Barker 3e0ec99100 Copter: fill Notify flag for flying 2019-03-19 14:39:14 +11:00
Peter Barker 227f6499d3 Copter: mark vtol_state and landed_state methods as override 2019-03-19 10:32:50 +11:00
Peter Barker 366051c39f Copter: use enum class for AltFrame enumeration 2019-03-19 10:31:18 +11:00
Peter Barker 85d9dd6f64 Copter: move sending of RPM message up 2019-03-16 10:33:01 +09:00
Randy Mackay 467e8481fb Copter: minor formatting fix to ekf failsafe check 2019-03-15 15:44:01 +09:00
chobits 6bee4216c0 Copter: speed up EKF failsafe by checking if velocity innovations > 2x FS_EKF_THRESH 2019-03-15 15:36:13 +09:00
Bill Geyer c40312d0f9 Copter: fix to acro trainer leveling mode 2019-03-15 15:26:24 +09:00
Randy Mackay e57ec068f0 Copter: remove duplicate guided limit-init-time-and-pos
this is called from nav_guided_start()
2019-03-15 14:51:35 +09:00
Randy Mackay 8d66c5f547 Copter: move do_payload_place handler
commands are placed in numerical order
2019-03-15 14:51:35 +09:00
Peter Barker 6d87b9316f ArduCopter: compass init never fails 2019-03-13 13:06:50 +11:00
Peter Barker f189860162 Copter: use enum class for ArmingMethod and ArmingRequired 2019-03-12 19:48:14 +11:00