Commit Graph

275 Commits

Author SHA1 Message Date
Iampete1 9e86f4dc43 AP_Vehicle: add AC_Fence 2022-07-27 19:04:56 +10:00
Peter Barker 695891365e AP_Vehicle: remove transitive include dependencies 2022-07-20 17:32:24 +10:00
Andy Piper 58ea8d6b7b AP_Vehicle: wire-in tramp support 2022-07-13 18:22:34 +10:00
Iampete1 30fffb491c AP_Vehicle: add AIS 2022-07-12 09:39:54 +10:00
Yuri bc8bdc18c9 AP_Vehicle: add set_desired_speed for use in scripting 2022-07-07 19:34:10 +09:00
Andrew Tridgell 50740124fe AP_Vehicle: implement INS_HNTCH_FM_RAT
this allows for a throttle based harmonic notch min frequency ratio,
allowing for the notch to go below the configured frequency at low
throttle

This is important for quadplanes, but will also benefit multirotors
flying at lower throttle due to lower payload or when descending

This also disables the throttle based harmonic notch when motors are
in SHUT_DOWN state
2022-06-30 20:58:37 +10:00
Randy Mackay c19d5391d9 AP_Vehicle: add get_rate_bf_targets method 2022-06-15 09:07:14 +09:00
Andrew Tridgell 42624bdbeb AP_Vehicle: added parameter table for ESC telemetry 2022-06-10 13:46:43 +10:00
Randy Mackay 27b66443b2 AP_Vehicle: mode reason added for dead reckon failsafe 2022-05-25 20:05:21 +09:00
Peter Barker 8402149572 AP_Vehicle: run prearm checks on all vehicles @1Hz, displaying @0.0333Hz 2022-05-18 12:25:26 +09:00
Andrew Tridgell f39ffee3f9 AP_Vehicle: added QLAND_INSTEAD_OF_RTL mode reason 2022-05-18 06:43:16 +10:00
murata d2053d4449 AP_Vehicle: Console output can be disabled 2022-05-17 09:53:06 +10:00
Peter Barker d23ddc4116 AP_Vehicle: increase rate at which we can log ESC telem
Some ESCs can give us >10Hz logging; we already check the data has
changed before logging, so let's log at the higher rate if we can.
2022-05-10 19:43:49 +10:00
Andy Piper cc2acc35a6 AP_Vehicle: add task info for fast loop
move fast loop tasks into scheduler table
remove fast loop
2022-05-03 08:20:13 +09:00
Randy Mackay 21ee06d362 AP_Vehicle: implement has_ekf_failsafed for use by lua 2022-04-26 18:37:54 +09:00
Andrew Tridgell 301c56d30a AP_Vehicle: implement common harmonic notch update code 2022-04-19 09:39:03 +10:00
Andrew Tridgell a2fc4d909d AP_Vehicle: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Peter Barker c829b109bf AP_Vehicle: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker fe863b9567 AP_Vehicle: correct compilation with HAL_INS_ACCELCAL_ENABLED false 2022-03-22 10:39:44 +11:00
Peter Barker 0bcda3c57e AP_Vehicle: split AP_HAL_SITL and AP_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Andrew Tridgell 711ecb45ab AP_Vehicle: added update_target_location() 2022-03-10 07:34:20 +11:00
Iampete1 f15c84bdac AP_Vehicle: add custom rotations lib 2022-03-02 18:16:42 +11:00
Peter Barker 546961eff4 AP_Vehicle: include cleanups 2022-03-01 11:21:33 +11:00
Henry Wurzburg 425aef59dc AP_Vehicle: fix error in Tricks on a Switch qualifier 2022-02-08 11:54:38 +11:00
Henry Wurzburg c3950aed2f AP_Vehicle: extend nav_scripting to all modes 2022-02-07 21:19:28 +11:00
Rishabh d90d3d1283 AP_Vehicle: Allow lua script access to Rover's turn rate guided command 2022-01-31 14:48:22 +09:00
Joshua Henderson ee273da50d AP_Vehicle: move Airspeed to AP_Vehicle 2022-01-19 18:21:32 +11:00
Peter Barker db6bb8d616 AP_Vehicle: move INS notch filter logging into INS 2022-01-05 16:34:36 +11:00
Peter Barker 295276cd37 AP_Vehicle: pass GyroFFT loop rate in Hz rather than period in us
It just calculates this anyway
2021-12-31 11:15:20 +11:00
Andy Piper 9ba1cbc9d8 AP_Vehicle: log up to 12 harmonic notch frequencies 2021-12-22 18:13:38 +11:00
Peter Barker 7b90326888 AP_Vehicle: declare get_control_output only if scripting is enabled
It's right there in the comments - this should only be defined if
scripting is enabled.

Rover overrides this but that is protected by AP_SCRIPTING_ENABLED.
2021-12-14 11:38:06 +11:00
Hwurzburg d132f0f3fb AP_Vehicle: clean up short failsafe 2021-12-07 10:09:33 +11:00
Andy Piper 77acf9bcc2 AP_Vehicle: correct update_dynamic_notch_at_specified_rate() 2021-11-17 13:35:34 +00:00
Andy Piper ac263e5659 AP_Vehicle: make sure notch update rate is configurable 2021-11-17 13:35:34 +00:00
Peter Barker c559e27c55 AP_Vehicle: allow specification of Scheduler table priorities 2021-11-17 19:00:04 +11:00
Peter Barker 6b9ef0aba8 AP_Vehicle: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker c090ddc65c AP_Vehicle: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Andrew Tridgell 527d9b38e6 AP_Vehicle: added nav_script_time methods
for supporting aerobatics in scripts
2021-11-08 21:08:52 +11:00
Peter Barker ce352410e1 AP_Vehicle: move EFI to AP_Vehicle 2021-11-05 09:22:17 +11:00
Andy Piper 7010a6bf7e AP_Vehicle: convert APM_BUILD_COPTER_OR_HELI() to APM_BUILD_COPTER_OR_HELI
force compilation failure if build type is unknown
2021-10-26 11:42:12 +11:00
Peter Barker 29088e25f9 AP_Vehicle: move SITL object up to AP_Vehicle 2021-10-19 11:34:43 +11:00
Gone4Dirt 7c20658acf AP_Vehicle: Add Heli build type 2021-09-29 19:55:48 +10:00
Iampete1 d566b24c04 AP_Vehickle: add Loiter alt then QLAND mode reasons 2021-09-28 09:31:13 +10:00
Peter Barker d86e2792fd AP_Vehicle: rename GENERATOR_ENABLED to HAL_GENERATOR_ENABLED 2021-09-26 19:24:09 +10:00
Tom Pittenger de753f386c AP_Vehicle: fix periph-heavy compile errors when INS is disabled 2021-09-24 10:47:13 -05:00
Andrew Tridgell fd86cb0591 AP_Vehicle: moved accel cal update handling from vehicles 2021-09-17 14:07:14 +10:00
Iampete1 ccd330a40a AP_Vehicle: add AUTO_RTL_EXIT mode reason 2021-09-07 09:35:35 +09:00
Peter Barker 7a06c941df AP_Vehicle: make bad-mode-number notification consistent across vehicles 2021-09-01 19:45:46 +09:00
nkruzan 0a236bc13d AP_Vehicle: log internal error and report bitmask to GCS
AP_Vehicle.cpp: cast parameter bitmask as (unsigned) per Peter B.

rework per Peter B.

Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
remove unnecessary send_internal_error_statustext function

remove Write_InternalError function
2021-08-31 15:54:02 +10:00
Randy Mackay 1a7826295f AP_Vehicle: add virtual set_target methods 2021-08-26 11:25:54 +09:00
Peter Barker 47455f12db AP_Vehicle: add and use HAL_BUTTON_ENABLE 2021-08-25 19:03:42 +10:00
Randy Mackay 1725eda961 AP_Vehicle: add get_circle_radius, set_circle_rate 2021-08-25 18:39:09 +10:00
Andy Piper b6ec06ac0f AP_Vehicle: output rcout banner when initialization is done
move down ready message
2021-08-12 19:07:51 +09:00
Hwurzburg b69308858a AP_Vehicle: correct OSD horizon for VTOL modes and TRIM_PITCH_CD in FW modes 2021-08-03 10:09:28 +10:00
Iampete1 88d4ada96d AP_Vehicle: #ifdef scripting specific functions 2021-07-28 18:18:32 +10:00
Peter Barker 7cca7513a1 AP_Vehicle: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker 2926ffcd2f AP_Vehicle: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Peter Barker d47a032a09 AP_Vehicle: explicitly number ModeReason enumeration values
These are logged, and mapping back is much easier if you have this
numbering
2021-07-17 09:27:38 +10:00
bugobliterator d3fce3c41d AP_Vehicle: add method to enable onvif camera control using script 2021-07-07 18:57:25 +10:00
Siddharth Purohit a5a29fe3ec AP_Vehicle: solve for undefined vehicle object in herepro build 2021-07-02 08:50:16 +10:00
Hwurzburg cc0f850eb9 AP_Vehicle: add QRTL always as Q_RTL_MODE option 2021-06-14 09:08:20 +10:00
Andy Piper 9bc9873e38 AP_Vehicle: optionally run the harmonic notch update at the loop rate 2021-05-19 17:35:16 +10:00
Andy Piper 5d154b138a AP_Vehicle: generalise ESC telemetry to allow harmonic notch handling with other ESCs
log ESC telemetry data in frontend
2021-05-12 17:01:11 +10:00
Andrew Tridgell 6f5626d04f AP_Vehicle: fixed SD card slowdown with early mounts 2021-05-01 12:32:23 +10:00
Andrew Tridgell ec11bf1146 AP_Vehicle: fixed segfault in replay 2021-04-15 13:39:18 +10:00
Andy Piper 9ac8e2b705 AP_Vehicle: addlow SRV_Channels to be initialized 2021-04-06 10:24:04 +10:00
Peter Barker 749d4c997b AP_Vehicle: ensure reboot command ACK is written out in SITL 2021-04-06 10:21:59 +10:00
Michelle Rossouw ac893b4013 AP_Vehicle: added blimp vehicle type 2021-03-31 12:27:07 +11:00
Emre Saldiran 858d69ca0e AP_Vehicle: add set_target_posvel_NED method 2021-03-24 08:55:48 +09:00
James O'Shannessy a23e8d46da AP_Vehicle: Add additional fence mode change reason 2021-03-05 14:52:46 +11:00
Andy Piper fcd35ba0f8 AP_Vehicle: move AP_Vehicle to AP_Vehicle 2021-02-23 11:43:32 +11:00
Andy Piper 74318dd0dd AP_Vehicle: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Andy Piper b79ff9475d AP_Vehicle: add support for the SmartAudio protocol
Co-authored-by: luis.martinez.exts <luis.martinez@juntadeandalucia.es>
2021-02-17 18:23:33 +11:00
Pierre Kancir eb78a473f6 AP_Vehicle: correct virtual specifier 2021-02-10 18:49:42 +11:00
Patrick José Pereira b8360a08c7 AP_Vehicle: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker f15a1fbd62 AP_Vehicle: move control_mode_reason up to AP_Vehicle 2021-02-03 18:24:52 +11:00
Andrew Tridgell 66297bd061 AP_Vehicle: added ExternalAHRS param tree and object
using EAHRS param prefix
2021-01-05 21:13:12 +11:00
yaapu edf2291fb0 AP_Vehicle: added getters for waypoint info, refactored osd publish_nav_info() 2020-12-10 12:39:44 +11:00
Andrew Tridgell a1c05e74b5 AP_Vehicle: call init_safety after first loop has run
this fixes a bug where servos can be driven to an out of range value
if PWM output happens before first loop has completed

thanks to Kris for reporting
2020-12-08 11:14:24 +11:00
Gone4Dirt d25f9d5d3a AP_Vehicle: Move AP_Generator to all vehicles 2020-11-24 12:54:52 +11:00
Andrew Tridgell 790a5ffa38 AP_Vehicle: added bootloader vehicle type 2020-11-10 16:15:45 +11:00
Andrew Tridgell 0700ca4882 AP_Vehicle: added DAL standalone vehicle type 2020-11-10 16:15:45 +11:00
Andrew Tridgell ae56f554b9 AP_Vehicle: send watchdog reset msg at startup
this helps if the watchdog will happen within 10s of startup
2020-11-10 16:15:45 +11:00
Mark Whitehorn 5f8b4968ec AP_Vehicle: add instructions for config_error loop 2020-11-05 15:04:10 +11:00
yaapu 0012b83d86 AP_vehicle: added support for frsky bidirectional telemetry 2020-10-27 10:17:53 +11:00
Patrick José Pereira 75e9550bce AP_Vehicle: Define APM_BUILD_DIRECTORY as UNKNOWN if not defined
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-07 19:32:12 +11:00
Peter Barker 3aabb45059 AP_Vehicle: move orderly rebooting code from GCS into AP_Vehicle
Several places we reboot the vehicle we should probably do several of
the things done in this code - flushing parameters, forcing safety on
etc.
2020-09-29 18:07:59 +10:00
Tatsuya Yamaguchi fb27dbbd4f AP_Vehicle: replace message indicating that initialisation has completed 2020-09-22 09:52:52 +10:00
Peter Barker 0d396f4235 AP_Vehicle: don't do any GCS stuff in delay callback if we're Replay
We haven't initialised the GCS at all, so it's not a great idea to
update_receive() and the like.
2020-09-15 10:02:36 +10:00
Peter Barker 29d042dbc7 AP_Vehicle: Replay now creates vehicle singleton reference 2020-09-15 10:02:36 +10:00
ashvath100 9248272baa Rover: walking_height input sent to motors 2020-09-10 08:27:01 +09:00
Andrew Tridgell 7ae64d20aa AP_Vehicle: init MSP earlier
this allows for MSP sensors (baro, compass) to be ready during probe
2020-09-09 06:35:50 +10:00
yaapu 7f789fb443 AP_Vehicle: added support for the MSP protocol 2020-09-02 05:56:46 +10:00
ashvath100 df42618e0e AP_Vehicle: add get_control_outputs() for lua motor drivers 2020-08-20 14:09:29 +09:00
Siddharth Purohit bb460647a5 AP_Vehicle: use new CANIface drivers and CANManager 2020-08-19 17:31:09 +10:00
Peter Barker 38f4de9aac AP_Vehicle: move generator to before scheduler and parameter objects 2020-08-05 16:26:19 +09:00
Peter Barker 34be953085 AP_Vehicle: add is_crashed method to AP_Vehicle 2020-08-05 16:26:19 +09:00
Tom Pittenger 88d28460f5 AP_Vehicles: add more ModeReasons 2020-07-28 11:52:39 -07:00
Andy Piper 820d6654af AP_Vehicle: add VideoTX 2020-07-07 18:48:06 +10:00
Peter Barker 4296f6ed4b AP_Vehicle: add instance for RichenPower generator 2020-07-03 08:21:42 +09:00
Randy Mackay 473b027e03 AP_Vehicle: minor formatting fix 2020-06-24 08:34:41 +09:00
Randy Mackay 73508564f7 AP_Vehicle: add set_steering_and_throttle
only for use with scripting on rover
2020-06-24 08:34:41 +09:00
Andy Piper cb524b7d3d AP_Vehicle: add function to log dynamic notch frequencies
move harmonic notch update here
2020-06-21 19:09:35 +10:00
Iampete1 98d5aa91a8 AP_Vehicle: add scripting guided mode set angle 2020-06-19 10:09:35 +10:00
Andy Piper d873ec4533 AP_Vehicle: separate gyrofft gyro sampling from fft initiation
move FFT gyro sampling into fast loop for all vehicles
rename FFT update method
2020-05-24 07:43:34 +10:00
Andrew Tridgell 77b8f88289 AP_Vehicle: report thread name in watchdog mavlink msg 2020-04-29 07:36:55 +10:00
Peter Barker 1b99cfb10a AP_Vehicle: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Randy Mackay d1aa3858f0 AP_Vehicle: add visual odometry 2020-04-09 19:41:08 +09:00
Samuel Tabor 013628bd1d Plane: Soaring - better reporting of exit due to drift. 2020-04-08 09:11:54 +10:00
Tom Pittenger f6396d7a6d Plane: add reason to exit Thermal loiter and adjust LOW alt reaon to cause RTL 2020-04-08 09:11:54 +10:00
Peter Barker ec460b4244 AP_Vehicle: send statustext at regular intervals after watchdog reset 2020-03-31 14:30:11 +11:00
Randy Mackay 849adcd678 AP_Vehicle: add start_takeoff and set_target_velocity_NED for use in scripting 2020-03-19 15:17:11 -07:00
Andrew Tridgell d192544107 AP_Vehicle: added get_target_location() method
for scripting
2020-03-12 08:36:40 +11:00
Peter Barker 621d029207 AP_Vehicle: add warning about get_scheduler_task implementations
We don't initialise these values we pass in.  Considering how few times
we need to get this right, requiring it of the implementation would seem
to make sense and save a few bytes.
2020-03-11 22:23:56 +11:00
Peter Barker 1db081b095 AP_Vehicle: move AP_PARM_KEY_DUMP function up to AP_Vehicle base class
Common to all vehicles now, including Tracker
2020-03-10 11:00:14 +11:00
Randy Mackay 8d12c25555 AP_Vehicle: formatting fixes 2020-03-03 10:06:38 -07:00
Randy Mackay 6f5d733ba9 AP_Vehicle: add set_target_location method 2020-03-03 10:06:38 -07:00
Peter Barker 2ede027635 AP_Vehicle: move initialisation of serial and gcs to AP_Vehicle 2020-02-25 11:50:55 +11:00
Peter Barker 2b7af4d70b AP_Vehicle: fold init_vehicle back into AP_Vehicle init method 2020-02-25 11:47:52 +11:00
Andy Piper 6613d4da3d AP_Vehicle: add FFT configuration and initialization
add arming checks to validate FFT performance
allow gyros to be sampled at either the fastloop rate or gyro rate.
add gyro and parameter update loops for GyroFFT
add GYRO_FFT aux function
save FFT results on disarm
2020-02-22 11:15:37 +11:00
Randy Mackay 72612d3cb9 AP_Vehicle: add AP_ESC_Telem 2020-02-12 11:58:34 +09:00
Peter Barker de2cf89b60 AP_Vehicle: initialise scheduler early
So the loop rate gets clamped before we memoise it and the loop period
in AP_Scheduler
2020-02-06 14:41:06 +11:00
Peter Barker a523bb4b68 AP_Vehicle: let AP_Vehicle handle loop() 2020-02-06 14:41:06 +11:00
Peter Barker 07c7a98269 AP_Vehicle: move some common init_ardupilot code up to AP_Vehicle 2020-01-28 11:34:51 +11:00
Peter Barker 1211ea88b5 AP_Vehicle: move setup method up to AP_Vehicle base class 2020-01-28 11:34:51 +11:00
Peter Barker 373b8be7ef AP_Vehicle: move EKF objects into AP_AHRS_NavEKF 2020-01-21 11:53:18 +11:00
Peter Barker 8f550ffdd4 AP_Vehicle: change string to Initialising ArduPilot 2020-01-21 11:37:28 +11:00
Peter Barker 342e502da4 AP_vehicle: let AP_Vehicle base class worry about scheduler delay callback 2020-01-21 11:37:28 +11:00
Andrew Tridgell f6c9c6fd8c AP_Vehicle: setup for Hott telem 2020-01-16 20:36:54 +11:00
Peter Hall 7a620ca95c AP_Vehicle: add flying time and bool 2020-01-14 22:34:37 -07:00
Tatsuya Yamaguchi 1309101a4b AP_Vehicle: allow scripts to get modes 2020-01-14 11:16:29 +11:00
Andrew Tridgell 9d8821f3d7 AP_Vehicle: make init_vehicle() public
and protect against double call.

This is needed for the call from AP_BoardConfig
2019-12-30 13:02:04 +11:00
Andy Piper 3ea05fa78b AP_Vehicle: add common parameter and scheduling management. Add runcam. 2019-12-30 13:02:04 +11:00
Peter Barker b2b5077949 AP_Vehicle: stop passing rangefinder in constructors of NavEKF objects 2019-12-11 08:09:01 +11:00
Peter Barker ebd2b1d544 AP_Vehicle: instantiate the AHRS object 2019-12-02 09:16:22 +11:00
Gone4Dirt 71f7761975 AP_Vehicle: Added mode change reasons for autorotation 2019-11-29 08:06:10 +08:00
Michael du Breuil a44a7f541b AP_Vehicle: Support set_mode 2019-10-25 08:48:22 +08:00
Peter Barker 9fee2a9c06 AP_Vehicle: add singleton 2019-10-15 13:24:20 +11:00
Peter Barker 1ea365d52a AP_Vehicle: move many members up to base class 2019-10-08 11:26:04 +11:00
Andrew Tridgell 88fbbfba09 AP_Vehicle: added AP_Periph vehicle type 2019-08-27 10:29:56 +10:00
Andrew Tridgell ac3da71efd AP_Vehicle: added iofirmware vehicle type 2019-03-15 14:38:57 +11:00
Peter Barker 2cea90eefe AP_Vehicle: remove ancient, misleading Arduino comment 2018-11-23 10:56:17 +11:00
jaxxzer 44c9efad50 AP_Vehicle: Add the ArduSub vehicle type.
This also fixes the issue causing accel calibration to be unresponsive
in gcs.
2017-02-21 11:26:14 +11:00
Michael du Breuil 302e80d72c AP_Vehicle: Move loiter_radius to vehicle 2017-01-30 10:43:54 -08:00
Michael du Breuil ac27241a42 AP_Vehicle: Remove unused flight stages 2017-01-26 13:11:44 -08:00
Tom Pittenger 063f517424 Plane, TECS, AP_Landing: rename stage LAND_ABORT to ABORT_LAND
this will reduce confusion when searching for FLIGHT_LAND_* and you get a bunch of takeoff related hits. It will also make more sense when the landing library fully manages the FLIGHT_LAND stage entirely because it will not mange FLIGHT_LAND_ABORT
2016-12-30 23:50:03 -08:00
Tom Pittenger 8019cedf5b AP_Vehicle,AP_SpdHgtControl,AP_TECS: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:02 -08:00
Tom Pittenger 15ec551990 AP_Vehicle: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger f556f705e6 Plane: move various g params to aparms 2016-11-25 19:07:30 -08:00
Tom Pittenger ce8db1fdba Plane: move struct Rangefinder_State to AP_Vehicle 2016-11-25 19:07:30 -08:00