Peter Barker
7154f4dea4
Copter: add option to disable LOITER mode
2018-02-27 07:43:13 +09:00
Peter Barker
9b440d6b25
Copter: add option to disable SmartRTL mode
...
Saves 5.5k of Flash
2018-02-27 07:43:13 +09:00
Peter Barker
3a61b86e65
Copter: add option to disable POSHOLD mode
...
Saves about 4k of Flash
2018-02-27 07:43:13 +09:00
Peter Barker
b9ad2bc8db
Copter: add option to disable AUTO mode
...
Saves ~12k of flash
2018-02-27 07:43:13 +09:00
Peter Barker
eb9bbddcb7
Copter: add in_guided_mode mode callback
2018-02-27 07:43:13 +09:00
Peter Barker
e66034f183
Copter: allow fence to be disabled while AFS is enabled
2018-02-27 07:43:13 +09:00
Peter Barker
bb9af3b79d
Copter: autotune: correct compilation when logging disabled
2018-02-27 07:43:13 +09:00
Peter Barker
9cffa13f7b
Copter: correct mav result for compass motor calibration on heli
2018-02-24 00:27:41 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas
b24e5c3991
Copter: Obey MOUNT == DISABLED
2018-02-22 20:58:51 +10: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
1a68979050
Copter: correct nullptr check for circle nav allocation
2018-02-22 16:14:50 +10:00
Peter Barker
dc5ef168fd
Copter: toymode: correct compilation with fence is disabled
2018-02-22 10:26:37 +10:00
Peter Barker
25665c5dd9
Copter: correct definition of unused variable when precision landing disabled
2018-02-22 10:26:37 +10:00
Peter Barker
06da2f50ce
Copter: correct compilation when logging is disabled
2018-02-22 10:25:39 +10:00
Andrew Tridgell
8d49e1ac18
Copter: re-added reason to mode change log msg
...
this was lost in the mode restructuring
2018-02-22 09:07:59 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas
def098bd8a
Copter: obey ADSB_ENABLED == DISABLED
2018-02-21 22:11:34 +09:00
Randy Mackay
f0534a35d1
Copter: format change for includes
...
non-functional change
2018-02-21 21:56:01 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
137de0fea5
Copter: conditionaly include more header files
...
this should help catch missing macros
2018-02-21 21:55:59 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
381bae1a4a
Copter: add missing defines to config.h
2018-02-21 21:55:33 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
002494c048
Copter: Obey CAMERA == DISABLED
2018-02-21 17:03:28 +10:00
murata
6f20c6a97b
Copter: Set the loop rate of G_dt as a variable.
2018-02-20 10:51:20 +11:00
Andrew Tridgell
348a757cc6
Copter: re-enable FLOWHOLD mode on skyviper
2018-02-14 18:27:00 +11:00
Andrew Tridgell
00ec3efb48
Copter: initialise G_Dt to 1.0/400
2018-02-13 17:15:05 +11:00
Peter Barker
730adc3f7c
Copter: eliminate perf_update scheduler table shim
2018-02-13 17:15:05 +11:00
Andrew Tridgell
f06fdf330e
Copter: use get_last_loop_time_s() for G_Dt
2018-02-13 17:15:05 +11:00
Andrew Tridgell
e0de4bccdf
Copter: use filtered loop time
2018-02-13 17:15:05 +11:00
Peter Barker
de56ae56e1
Copter: pass log-performance-bit at init time rather than update time
2018-02-13 17:15:05 +11:00
Peter Barker
bfc373aeff
Copter: move logging of PM messages to AP_Scheduler
2018-02-13 17:15:05 +11:00
Peter Barker
375911cd7c
Copter: move PERF: statustext sending into 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
bf6a2b8bb5
Copter: tell PerfInfo the configured loop rate
2018-02-13 17:15:05 +11:00
Randy Mackay
9eda7f4e31
Copter: global-pos-int uses system time
2018-02-13 08:52:48 +09:00
Peter Barker
e6ece4cf3d
Copter: correct use of parent class constructors (heli)
2018-02-13 08:22:30 +09:00
Randy Mackay
0ca653c8dd
Copter: disable winch, gripper, sprayer on v2 build
2018-02-12 13:50:55 +09:00
Andrew Tridgell
7938bd08bb
Copter: make flowhold mode conditional
...
reduces build size on px4-v2 by 4k
2018-02-12 13:34:47 +09:00
murata
296ee7315b
Copter: minor formatting fixes
2018-02-12 12:17:05 +09:00
murata
c31c2a4cf1
Copter: optionalize the winch
2018-02-12 12:16:57 +09:00
Peter Barker
40d74584ac
Copter: remove shims used in scheduler
2018-02-12 11:19:34 +09:00
Peter Barker
8f8917369c
Copter: correct use of parent class constructors
2018-02-09 13:41:12 +11:00
Peter Barker
5e55784707
Copter: remove unneeded and unwanted virtual keywords
2018-02-09 09:11:04 +09:00
Randy Mackay
4319e37f0c
Copter: non-functional FlowHold changes
...
class declaration moved to alphabetical position in mode.h
parameter descriptions include FlowHow at beginning to help distinguished from optical flow parameters
resolved compiler warnings
2018-02-09 10:56:32 +11:00
Andrew Tridgell
763aee6b48
Copter: fixed units on flowhold brate rate
2018-02-08 17:36:33 +11:00
Andrew Tridgell
0ed75052f8
Copter: enable parameters inside mode objects
...
this adds FHLD_* parameters for FlowHold mode. It is a large patch as
it needs to disentagle the mode class to enable it to be used in
Parameters.h
2018-02-08 17:36:33 +11:00
Andrew Tridgell
9261e1cbde
Copter: enable F412 toymode button setup
...
different button mapping for new controller
2018-02-08 17:36:33 +11:00
Andrew Tridgell
daf35f7a30
Copter: pass loop rate to perf_info
2018-02-08 17:36:33 +11:00
Andrew Tridgell
5a210a697e
Copter: fixed flowhold build
2018-02-08 17:36:33 +11:00
Andrew Tridgell
af4f0c29ba
Copter: enable TMODE (ToyMode) support
...
this is for the skyviper button based transmitter control
2018-02-08 17:36:33 +11:00
Andrew Tridgell
f442b91ea5
Copter: added FLOWHOLD flight mode
...
This flight mode allows for position hold with optical flow without
needing a rangefinder for height. It can estimate its height from the
flow data and IMU
2018-02-08 17:36:33 +11:00
Andrew Tridgell
a26d19b57c
Copter: fill in flight mode in AP_Notify flags
...
needed for AP_Radio
2018-02-08 17:36:33 +11:00
Andrew Tridgell
ce0bcf1adc
Copter: disable toy_mode by default
2018-02-08 17:36:33 +11:00
Andrew Tridgell
15166eff2e
Copter: enable temperature calibration library
2018-02-08 17:36:33 +11:00
Andrew Tridgell
1f76f69d80
Copter: implement per-motor compass compensation
2018-02-08 17:36:33 +11:00
Andrew Tridgell
662afdc2fd
Copter: fixed build warning
...
double precision promotion
2018-02-07 20:33:45 +11:00
Michael du Breuil
69da4041ac
Copter: Move logging battery logging code to AP_BattMonitor
2018-02-06 00:11:32 +00:00
Tatsuya Yamaguchi
6698660fd6
Copter: fix Battery FailSafe action with auto mode
2018-02-05 15:13:25 +09:00
Peter Barker
ab7a9c9073
Copter: use zero_throttle_and_relax_ac in poshold, drift and autotune
2018-02-02 14:59:16 +09:00
murata
c13d6580ae
Copter: delete \n from the log using gcs().send_text
2018-02-02 09:38:39 +09:00
Randy Mackay
5a1c3cf5f4
Copter: firmware text to ArduCopter
2018-01-31 12:13:57 +09:00
Randy Mackay
0f6762bbd2
Copter: PSC_ACCZ param name shortened
2018-01-31 08:48:21 +09:00
Randy Mackay
a3e9f72b0b
Copter: fix default flight mode channel
2018-01-27 16:20:32 +09:00
Andrew Tridgell
89674482a7
Copter: added FLTMODE_CH parameter
...
this allows for the flight mode to be on any RC channel, or no channel
at all to disable RC flight modes
2018-01-27 12:01:35 +09:00
Peter Barker
a97301c0f2
Copter: do not allow arming in RTL
2018-01-25 09:53:51 +09:00
Pierre Kancir
10e6fe43dd
Copter: Add a switch option to enable/disable RC_Override
2018-01-24 21:37:41 +09:00
Pierre Kancir
cfc69214e6
Copter: add LAND_ALT_LOW parameter
2018-01-24 21:14:35 +09:00
Randy Mackay
60c3ae1ec2
Copter: fix spelling in drift mode variable name
...
non-functional change
2018-01-24 17:13:15 +09:00
Randy Mackay
f8c1d08316
Copter: 3.5.5-rc1 release note update
2018-01-24 12:09:43 +09:00
Randy Mackay
929dd04f2a
Copter: 3.5.5-rc1 release notes
2018-01-24 12:09:39 +09:00
Randy Mackay
eefa629039
Copter: remove setting accel_z PID controller's dt
...
This is handled from within the pos controller
this commit can be merged with Copter: move pos-control pids to pos-control library
2018-01-23 12:00:43 +09:00
Randy Mackay
8d6f8e4d9c
Copter: move pos-control pids to pos-control library
2018-01-23 12:00:43 +09:00
Randy Mackay
6546ccbb3f
Copter: velocity pi moved to position control library
2018-01-23 12:00:43 +09:00
Dylan Herman
20fe5bb98f
Copter: add SmartRTL failsafe action
...
Adds SmartRTL or RTL and SmartRTL or Land failsafe options for batt, throttle, and GCS failsafes
2018-01-22 10:54:28 +09:00
Peter Barker
996115c0d3
Copter: eliminate MAIN_LOOP_SECONDS macro
2018-01-20 15:35:58 +11:00
Michael du Breuil
0ddcb0a6fb
Copter: Support AP_BattMonitor_Params
2018-01-17 22:21:55 +00:00
Alexey Bulatov
8accfb97f6
ArduCopter: Check for nullptr for motors class pointer
...
Because of added initialisation of UAVCAN send_heartbeat function
starts before motors initialisation. So we need check is object created.
2018-01-17 07:24:17 -08:00
Dylan Herman
c772e2d3fd
Copter: sets SmartRTL home after AHRS home is set
...
Now calls AP_SmartRTL::set_home when arming. In addition, it calls it whenever
the ahrs home is set to the current location, whether by GCS or in-flight
Copter: merge
2018-01-17 11:04:46 +09:00
Randy Mackay
e85b1ac740
Copter: pass dt to avoidance calls
2018-01-16 12:13:48 +09:00
Leonard Hall
48d0ad26a6
Copter: mode_land sends dt to sqrt controller
2018-01-16 12:13:48 +09:00
Randy Mackay
b47d575f65
Copter: minor spelling fix
...
non-functional change
2018-01-12 16:51:25 +09:00
Peter Barker
6bcdab55d0
Copter: rename sys_status methods from geofence_ to sys_status_
2018-01-09 17:15:19 +00:00
Peter Barker
077b062701
Copter: change pre-arm checks to allow interlock to be enabled
...
With this change we will continue to tell the user their interlock is
enabled, but we will not fail the pre-arm checks.
This will mean that the blinking-LED indicators will show the vehicle as
armable (flashing green / flashing blue), even if the interlock would
prevent arming.
This has the advantage that you don't need your vehicle in the
"dangerous" state to work out whether arming will work when you attempt
to arm it.
Note that we repeat the interlock switch check in the arming checks, and
it WILL fail if the interlock switch is enabled.
2018-01-09 08:13:06 +09:00
Peter Barker
114628afe4
Copter: use zero_throttle_and_relax_ac in stab, guided, acro and auto
2018-01-08 12:02:49 +00:00
Peter Barker
8d658e1dbc
Copter: correct misleading comment in mode_throw
2018-01-08 12:02:49 +00:00
Peter Barker
cb129fbdaf
Copter: remove argument to check()
...
Also, check() was check_fence()
2017-12-28 15:38:37 +00:00
Peter Barker
d1201e4776
Copter: tidy zero_throttle_and_relax (NFC)
2017-12-27 12:09:06 +00:00
Peter Barker
71ad1b5815
Copter: use zero_throttle_and_relax_ac function
2017-12-27 12:09:06 +00:00
Peter Barker
41dc8554c0
Copter: pull out a zero_throttle_and_relax function
2017-12-27 12:09:06 +00:00
Peter Barker
4c7491a05b
Copter: mode_auto's landing_gear_deploy method defers to mode_rtl
...
Since we defer our rtl_run behaviour to the RTL flightmode, it should
also specify the landing gear behaviour
2017-12-27 12:08:15 +00:00
Peter Barker
d9235d3d41
Copter: make landing_gear_should_be_deployed a base-class method
2017-12-27 12:08:15 +00:00
Peter Barker
dda38d65eb
Copter: AP_AHRS no longer requires GPS in constructor
2017-12-27 00:58:02 +00:00
Matt
5d6c979f70
COPTER: Fix MOUNT_CONTROL yaw in missions
...
If a the mount instances (gimbal) does not support yaw/pan control, the
copter needs to yaw in response to a DO_MOUNT_CONTROL command in
missions. Checking if the mount has pan control, and if not, yawing the
copter was missing from the mission commands logic. As such, a
MOUNT_CONTROL command would control pitch but not yaw/pan. This patch
impliments checking for pan control, and initiating copter yaw as
required.
2017-12-23 10:57:31 +09:00
Matt
c0f0e3eca3
COPTER: Fix MOUNT_CONTROL yaw in guided
...
If the mount instance does not support yaw/pan, the copter needs to yaw in
response to MSG_MOUNT_CONTROL and MAV_COMMAND_DO_MOUNT_CONTROL commands from
a GCS or co-computer. There was no checking for mount pan in the GCS_Mavlink
logic. As such, no yaw takes place when a mount control command calls for it.
This patch impliments copter yaw control for both MSG_MOUNT_CONTROL and
MAV_COMMAND_DO_MOUNT_CONTROL in copter GCS_Mavlink.
2017-12-23 10:57:31 +09:00
Peter Barker
4dcb5aa3de
Copter: stop setting home distance in fence
2017-12-15 01:42:49 +00:00
Peter Barker
bf5f51a616
Copter: factor out takeoff_trigger from althold, sport and loiter
2017-12-14 23:45:54 +00:00
Randy Mackay
2c0df87585
Copter: Copter.h method reordering
2017-12-15 08:26:45 +09: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
Peter Barker
7222380598
Copter: populate system status bits for fence
2017-12-13 10:04:50 +09:00
Peter Barker
377466ddda
Copter: fence no longer requires AP_InertialNav
2017-12-13 10:04:50 +09:00
Peter Barker
d09b0696db
Copter: correct checking of heli mode change
...
init() may have changed all sorts of things about the
vehicle - wp navigation, position controllers, attitude controllers...
Do the heli check before doing any of that so we don't change state and
then fail to change mode
2017-12-13 08:49:01 +09:00
Randy Mackay
7504237fbb
Copter: rename flight_mode.cpp to mode.cpp
2017-12-12 20:39:48 +09:00
Randy Mackay
99bafb0df1
Copter: rename heli_control_xx to mode_xx_heli
2017-12-12 10:39:26 +09:00
Randy Mackay
2d23e1f7c7
Copter: rename flightmode_ objects to mode_
2017-12-12 10:39:26 +09:00
Randy Mackay
c3fbf2671c
Copter: rename control_xx.cpp files to mode_xx.cpp
2017-12-12 10:39:26 +09:00
Randy Mackay
06fbe8f3a7
Copter: rename FlightMode class to Mode
...
also remove unused print_FlightMode method
2017-12-12 10:39:26 +09:00
Randy Mackay
6e9de7e609
Copter: flight_mode formatting changes
...
non-functional change
2017-12-12 10:39:26 +09:00
Randy Mackay
2e71a641c3
Copter: FlightMode allow_arming format changes
...
non-functional change
2017-12-12 10:39:26 +09:00
Randy Mackay
0ac708b5a0
Copter: remove ability to disable PosHold flight mode
...
This flight mode is stable and regularly used so it is unlikely that we ever want to disable it
2017-12-12 10:39:26 +09:00
Randy Mackay
7494eb2e77
Copter: alphabetise flight mode header file
2017-12-12 10:39:26 +09:00
Randy Mackay
a90979ec8e
Copter: remove FlightMode_Avoid_ADSB.h file
2017-12-12 10:39:26 +09:00
Randy Mackay
8870897847
Copter: FlightMode objects use lower case
2017-12-12 10:39:26 +09:00
Randy Mackay
20d7216179
Copter: remove comments
...
non-functional change
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
khancyr
b44ba29a05
AC_Avoidance: replace AP_InertialNav by AHRS
2017-12-08 11:27:37 +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
4ae2be55aa
Copter: fix up autotune namespacing
...
This moves static variables into the autotune flightmode object.
It also adjusts namespacing on everything to take advantage of
having everything encapsulated in the AutoTune object
2017-12-07 07:35:37 +09:00
Peter Barker
7b637334f4
Copter: eliminate mode_has_manual_throttle
2017-12-06 10:09:58 +09:00
Peter Barker
4fd61ed6dc
Copter: make exit_mode take FlightMode objects as arguments
2017-12-06 10:09:58 +09:00
Peter Barker
adf4140b9b
Copter: fix heli-flags compilation issue
2017-12-06 08:24:24 +09:00
Peter Barker
477ae8f7be
Copter: pass heli_flags into flightmode constructor
2017-12-06 08:24:24 +09:00
Peter Barker
83d0a71e10
Copter: FlightMode - simplify flight mode initialization
2017-12-06 08:24:24 +09:00
Peter Barker
0ca5605b8d
Copter: FlightMode: remove virtual from many methods
2017-12-06 08:24:24 +09:00
Peter Barker
ef1489e87a
Copter: eliminate mode_requires_gps
2017-12-06 08:24:24 +09:00
Peter Barker
a4859e13c1
Copter: eliminate mode_allows_arming
2017-12-06 08:24:24 +09:00
Peter Barker
9c60c1de58
Copter: FlightMode - convert SMARTRTL flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
b0e34bd307
Copter: FlightMode - convert GUIDED_NOGPS flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
cf423ce681
Copter: FlightMode - convert THROW flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
1de99c737e
Copter: remove unimplemented heli desired_yaw_rate
2017-12-06 08:24:24 +09:00
Peter Barker
37c706c24e
Copter: FlightMode - convert AVOID_ADSB flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
51cd143012
Copter: FlightMode - convert BRAKE flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
cafce01357
Copter: FlightMode - convert POSHOLD flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
67063d6b1e
Copter: FlightMode - convert AUTOTUNE flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
018c70d224
Copter: FlightMode - convert FLIP flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
5e3e831152
Copter: FlightMode - convert SPORT flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
6a38664ff4
Copter: FlightMode - convert DRIFT 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
3b1ca99b95
Copter: FlightMode - convert LAND 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
f2495b2d08
Copter: FlightMode - convert LOITER 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
Peter Barker
79c06974b7
Copter: FlightMode - convert ALT_HOLD flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
d74f0c72da
Copter: FlightMode - convert ACRO flight mode
2017-12-06 08:24:24 +09:00
Peter Barker
527a536b78
Copter: FlightMode - remove function parameters
...
Use current control_mode in place of parameters
Once conversion is complete these functions will disappear
2017-12-06 08:24:24 +09:00
Peter Barker
99a22a263d
Copter: a FlightMode base class
2017-12-06 08:24:24 +09:00
Peter Barker
e0233f1dc4
Copter: create a takeoff_state_t type
2017-12-06 08:24:24 +09:00
Peter Barker
b828fa4ffc
Copter: Create an ap_t type
2017-12-06 08:24:24 +09:00
Sharvashish Das
395a4ad4ce
Copter: add z-axis obj avoidance to guided vel control
...
added code to adjust z velocity using avoidance
2017-12-05 15:58:00 +09:00