Commit Graph

36421 Commits

Author SHA1 Message Date
bnsgeyer
bb6c52d508 AC_AutoTune: remove deletion of ring buffers 2024-07-01 22:57:55 -04:00
bnsgeyer
f50bb54112 AC_AutoTune: more suggested changes 2024-07-01 22:57:55 -04:00
bnsgeyer
088b7ec094 AC_AutoTune: incorporate suggested changes 2024-07-01 22:57:55 -04:00
Bill Geyer
41ed4d1321 AC_AutoTune: use new new macro
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-01 22:57:55 -04:00
bnsgeyer
c4f4067fd5 AC_AttitudeControl: add accessors to set rate limit 2024-07-01 22:57:55 -04:00
bnsgeyer
b13efc86af AC_AutoTune: use attitude controller to enforce rate and accel limits 2024-07-01 22:57:55 -04:00
bnsgeyer
ad1b01cd56 AC_AutoTune: improve RFF dwell test and data processing 2024-07-01 22:57:55 -04:00
Bill Geyer
30c2e1f53b AC_AutoTune: general cleanup and protect against freq exceedences 2024-07-01 22:57:55 -04:00
bnsgeyer
cc7e43d643 AC_AutoTune: max gain, rate p and d tuning use common search method 2024-07-01 22:57:55 -04:00
bnsgeyer
cf50aa1321 AC_AutoTune: trad heli variable cleanup 2024-07-01 22:57:55 -04:00
bnsgeyer
ad58f3e1f8 AC_AutoTune: reworked updating max gains 2024-07-01 22:57:55 -04:00
bnsgeyer
989f48f97a AC_AutoTune: reworked updating angle p up 2024-07-01 22:57:55 -04:00
bnsgeyer
cd18607f25 AC_AutoTune: reworked updating rate p and d up 2024-07-01 22:57:55 -04:00
bnsgeyer
61182c0e96 AC_AutoTune: reworked dwell_test and updating ff up 2024-07-01 22:57:55 -04:00
bnsgeyer
2339c7daed AC_AutoTune: moved more into dwell_test_init 2024-07-01 22:57:55 -04:00
bnsgeyer
7ff99a39f0 AC_AutoTune: fix tests to work better 2024-07-01 22:57:55 -04:00
bnsgeyer
3943a69b33 AC_AutoTune: fix object buffers to dynamically size 2024-07-01 22:57:55 -04:00
bnsgeyer
528b7eb438 AC_AutoTune: general cleanup to make code more efficient 2024-07-01 22:57:55 -04:00
bnsgeyer
9e4d118cc9 AC_AutoTune: remove sweep for Rate D up 2024-07-01 22:57:55 -04:00
bnsgeyer
32af6216b7 AC_Autotune: tradheli use dwell for FF test 2024-07-01 22:57:55 -04:00
bnsgeyer
dd1f0cdcf7 AC_AutoTune: make rate freq sweeps safer 2024-07-01 22:57:55 -04:00
Henry Wurzburg
48e27c382a AP_RSSI: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg
f087e9d25d AP_RangeFinder: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg
a03ccd1a8a AP_BattMonitor: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg
59db5de78c AP_Airspeed: make metadata more consistent 2024-07-02 11:34:29 +10:00
Thomas Watson
717c5ff863 AP_Scripting: ignore hidden Lua files
On macOS, sometimes ._script.lua is created to store metadata when the
user copies script.lua over to their SD card. Previously, the scripting
engine would barf since the file is not Lua. Now, these files are
ignored.

Also avoids a case where a hidden and valid script might be loaded
without the user's knowledge.
2024-07-02 11:07:40 +10:00
Peter Barker
0056ef2d90 AP_Logger: write formats out as required rather than at start of log 2024-07-02 10:59:55 +10:00
Andrew Tridgell
681e2d7993 AP_GPS: don't consider uBlox PVT time correct unless we have 2D fix
the time may be set by an offline assistance client and may not be
accurate
2024-07-02 10:25:03 +10:00
Peter Barker
f3a75661d9 AP_Frsky_Telem: avoid use if int16-t read call 2024-07-02 10:14:28 +10:00
Peter Barker
85f89812d5 AP_Generator: avoid use of int16_t-read 2024-07-02 10:13:24 +10:00
Peter Barker
42805aa892 AP_GPS: confine inter-instance DroneCAN state checks to DroneCAN GPSs
stop these looking at parameters/state for all GPSs, focus on DroneCAN GPSs
2024-07-02 09:56:40 +10:00
Peter Barker
ebfbcacfe3 AP_GPS: tidy pre_arm_checks 2024-07-02 09:56:40 +10:00
Peter Barker
3e57edf37c AP_Arming: tidy pre_arm_checks 2024-07-02 09:56:40 +10:00
Iampete1
a9eb6051fa AP_BatteryMonitor: add missing failsafe with no action 2024-07-02 09:54:36 +10:00
Bill Geyer
c5585f84af AC_AttitudeControl: various suggested cleanup items
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-02 08:39:33 +09:00
Bill Geyer
29897f99af AP_Motors: Clean up spacing
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-02 08:39:33 +09:00
Bill Geyer
805480e5a2 AC_AttitudeControl: only allow angle boost when not autorotating 2024-07-02 08:39:33 +09:00
Bill Geyer
a19b72e895 AP_Motors: helper function to determine when heli is in autorotation 2024-07-02 08:39:33 +09:00
bnsgeyer
f06bbd471f AC_AttitudeControl: tradheli-add support for inverted and throttle boost features 2024-07-02 08:39:33 +09:00
Peter Barker
4550f7dcb1 hwdef: make H757I_EVAL a periph
its bootloader is marked as a bootloader peripheral, the main firmware is notistent in our message.
2024-07-02 09:17:26 +10:00
Peter Barker
6e5198a50c AP_Frsky_Telem: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
e88d76d72d AP_Scripting: rangefinder singleton requires AP_RANGEFINDER_ENABLED
.... or HAL_PERIPH_ENABLE_RANGEFINDER
2024-07-02 09:17:26 +10:00
Peter Barker
118f3b41ac AP_RangeFinder: create a AP_RANGEFINDER_BACKEND_CAN_ENABLED
avoid cmpilation problems when rangefinder not enabled but CAN is
2024-07-02 09:17:26 +10:00
Peter Barker
fe6b120a73 AP_Vehicle: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
f9a94fd7dd AP_RangeFinder: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
37964011df AP_OSD: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
07e76a7cae AP_NavEKF: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
13e7d04497 AP_NavEKF3: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
0f47cd7e8b AP_NavEKF2: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
a715ee1ce2 AP_HAL_ChibiOS: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
abc0179a53 AP_DAL: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker
955245e4b7 AP_Arming: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Andrew Tridgell
38ca478178 AP_Scripting: added gcs:run_command_int() binding 2024-07-01 20:08:29 +10:00
Andrew Tridgell
0116e1e80d GCS_MAVLink: added lua_command_int_packet()
for lua access to MAV_CMD_xxx
2024-07-01 20:08:29 +10:00
Henry Wurzburg
4ed1b6b357 AP_Temperature:expand metadata for analog sensors 2024-07-01 14:01:19 +10:00
Peter Barker
e2f18d9217 AP_NavEKF2: remove unused initFailureReason 2024-07-01 09:04:05 +09:00
bnsgeyer
9c2d43f6c4 SITL: improve dual heli dynamics model 2024-06-30 18:21:21 -04:00
Andrew Tridgell
077c5f38f7 SITL: added comments on how to fly the glider 2024-06-30 10:02:15 +10:00
Peter Barker
780352cd75 AP_Logger: correct enumeration name -> AP_SmartRTL::Action 2024-06-28 10:11:57 +10:00
Peter Barker
2c89622f09 AP_SmartRTL: use enum class for Action, number entries
we log these values, so number them explicitly
2024-06-28 10:11:57 +10:00
George Zogopoulos
2717470df1 AP_Scripting: Misc. small improvements.
Typo fix
Removed unused variable
2024-06-28 10:05:29 +10:00
Thomas Watson
6e0d7bddf1 AP_Scripting: add serial device simulation example 2024-06-27 12:00:18 +10:00
Thomas Watson
f9b138724c AP_Scripting: add serial loopback test script
Tests that data can flow both ways with one end using protocol 28
(Scripting) and the other using the serial device simulation feature.
2024-06-27 12:00:18 +10:00
Thomas Watson
46e204dd6c AP_Scripting: clear serial device sim buffers appropriately
Ensures the script won't process data created before it started, and
that the protocol won't process data created after the script stopped.
2024-06-27 12:00:18 +10:00
Thomas Watson
4cb684e8a9 AP_Vehicle: initialize scripting serial device sim ports early
Necessary for mavlink in particular to notice the port and hook up the
protocol internally.
2024-06-27 12:00:18 +10:00
Thomas Watson
a077e4a3ed AP_Scripting: introduce serial device simulation support
Allows a script to simulate a device attached via any serial protocol.
The script can read and write data and have it handled according to the
protocol as if exchanged over a serial port. The script can then do
protocol translation, data filtering and validation,
hardware-in-the-loop simulation, experimentation, etc., especially in
combination with the scripting protocol which lets the script itself
handle an attached device and so interpose any communication.
2024-06-27 12:00:18 +10:00
Thomas Watson
4df2a1bce7 AP_Scripting/generator: generate depends for manual functions on singletons 2024-06-27 12:00:18 +10:00
Thomas Watson
c18f9f733e AP_Scripting: add writestring for serial
Enables more efficient scripting.
2024-06-27 12:00:18 +10:00
Thomas Watson
d93aa15f2a AP_Scripting: refactor serial readstring
Using `luaL_Buffer` avoids the need for any heap allocation in the
common case (count <= 512 bytes) and avoids stressing out the system
heap for large reads, instead using the script heap.

Zero net flash usage change.
2024-06-27 12:00:18 +10:00
Thomas Watson
e18449b1b8 AP_Scripting: use generic access userdata for serial ports
Adding another layer instead of just exposing UARTDriver bindings allows
substitution of the different functions for device simulation later.

Also take the opportunity to rework the docs a little.
2024-06-27 12:00:18 +10:00
Thomas Watson
c37dba60de AP_Scripting/generator: allow disabling userdata creation from Lua
Passing -1 to the argument count for the `creation` tag (name does not
matter) will stop the generator from giving Lua a function to construct
that userdata. The C `new_<name>` function still works.
2024-06-27 12:00:18 +10:00
Thomas Watson
7fb65aece3 AP_SerialManager: allocate port IDs for scripting serial device ports 2024-06-27 12:00:18 +10:00
Peter Barker
0ee787325a AC_AutoTune: NFC whitespace, ordering and add trailing comma to enumeration 2024-06-27 10:12:30 +10:00
Pierre Kancir
396bca359d AP_Scripting: add an example to use Copter Standby mode in SITL with LUA 2024-06-27 10:11:53 +10:00
Andrew Tridgell
10c6020a66 AP_Scripting: update docs 2024-06-27 10:11:14 +10:00
Andrew Tridgell
bcfc273799 hwdef: enable an ADC on CubePilot-PPPGW
allows for mcu temp
2024-06-27 10:11:14 +10:00
Andrew Tridgell
98479658d4 HAL_ChibiOS: support H7 at 200MHz 2024-06-27 10:11:14 +10:00
Andrew Tridgell
d87404adfa AP_Scripting: added mcu_temperature binding 2024-06-27 10:11:14 +10:00
Andrew Tridgell
f532f7a9e6 AP_SerialManager: added docs for SERIALn_PROTCOL=PPP 2024-06-27 10:11:14 +10:00
Andrew Tridgell
5a795ccba0 AP_Networking: added TCP reflection test
TCP to an echo server, testing bi-directional transfer
2024-06-27 10:11:14 +10:00
Andrew Tridgell
34815f9fb0 HAL_ChibiOS: scale RTS threshold to make software CTS more effective 2024-06-27 10:11:14 +10:00
Andrew Tridgell
ebc4ee99a9 AP_HAL_ChibiOS: add support for GPIO pins as software CTS 2024-06-27 10:11:14 +10:00
bugobliterator
b6cdb8b1a6 hwdef: fix hwdef for updated CubePilot-PPPGW 2024-06-27 10:11:14 +10:00
bugobliterator
0a0d5a3e49 AP_HAL_ChibiOS: add support for PPP on CubeOrangePlus 2024-06-27 10:11:14 +10:00
Peter Barker
2425023331 AP_Notify: flash green lights based off location not GPS
Your Copter in stabilize mode can flash rapid-green indicating a good DGPS lock or better, and yet your vehicle still doesn't have a good idea of where it is.

That means that your vehicle may end up RTL'ing onto a point somewhere along your flight path, when you were given an all-green indication by teh vehicle before you armed in stabilize.

Past this PR, we require the same GPS as before, but in addition we must have been happy enough with our location to set the navigation origin, *and* currently be able to get a location.

A user will receive slow-flashing blue lights if they can't currently get a location, or the navigation origin isn't set, even if they've got a "good" fix.

We also require a good location to get a solid green light - you will get a solid blue light if you can't get a location or don't have a navigation origin, even if you have a good GPS lock
2024-06-26 18:39:43 +10:00
Randy Mackay
3439ced236 AP_Mount: add Siyi ZT6 support 2024-06-26 18:37:42 +10:00
Peter Barker
c55a5abcd9 AP_RCProtocol: remove redundant check for crsf telem on iomcu
the hwdef for the iomcu already removes crsf
2024-06-26 18:13:01 +10:00
bugobliterator
178cf7c2da AP_GPS: use 64 bit time in the pps interrupt callback in ublox driver 2024-06-26 17:51:31 +10:00
Andy Piper
651f4f15eb AP_RCTelemetry: use get_max_rpm_esc() 2024-06-26 17:36:54 +10:00
Andy Piper
451c1ae347 AP_OSD: use get_max_rpm_esc()
allow ESC index to be specified for OSD ESC info
2024-06-26 17:36:54 +10:00
Andy Piper
038735657a AP_ESC_Telem: add get_max_rpm_esc() 2024-06-26 17:36:54 +10:00
Andy Piper
a86f4fdc8f AP_InertialSensor: move gyro and accel instance ids into AP_InertialSensor_Backend 2024-06-26 17:14:56 +10:00
Peter Barker
5911b87ae3 GCS_MAVLink: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker
563c3e7c62 AP_NavEKF3: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker
025888a7d1 AP_NavEKF2: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker
8302e0d1e2 AP_Mount: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker
8ddac54b17 AP_InertialSensor: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker
243e095b4e AP_DAL: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker
a325ddbfa9 AP_AHRS: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Leonard Hall
7047e11090 AC_AttitudeControl: Change input_quaternion to use body frame rates 2024-06-26 11:22:54 +10:00