Commit Graph

35311 Commits

Author SHA1 Message Date
Peter Barker f7e94bcc75 AP_AHRS: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Andrew Tridgell eacfd24cb9 AP_Scripting: document networking bindings 2024-01-12 19:06:49 -08:00
Andrew Tridgell 60c69d052b hwdef: added scripting to CubePilot-PPPGW 2024-01-12 19:06:49 -08:00
Andrew Tridgell faea203af6 hwdef: added web UI to PPPGW example 2024-01-12 19:06:49 -08:00
Andrew Tridgell 30546f2903 AP_Networking: added address_to_str() for scripting 2024-01-12 19:06:49 -08:00
Andrew Tridgell 9202a33ff4 AP_Scripting: added networking bindings and allow uart calls without GCS
this allows for useful lua scripts on non-heavy peripherals
2024-01-12 19:06:49 -08:00
Andrew Tridgell 2c946b92e9 hwdef: added Pixhawk6X-PPPGW 2024-01-12 14:23:34 -08:00
Andrew Tridgell 280d7c6d15 hwdef: added CubePilot-PPPGW 2024-01-12 14:23:34 -08:00
Andrew Tridgell 39a1fc9dbd AP_Networking: added option for PPP<->ethernet bridge
when NET_OPTIONS is set to enable PPP bridging both an ethernet and a
PPP link will be brought up, with IP forwarding making the PPP remote
endpoint available on the ethernet LAN
2024-01-12 14:23:34 -08:00
Davide_Lentini 5fdcd876ee AP_HAL_ChibiOS: Update defaults.parm of luminousbee5 board 2024-01-12 20:45:11 +09:00
Peter Barker 8ccf51b0ed AP_EFI: add missing include
for is_equal
2024-01-11 15:29:54 +11:00
Peter Barker 2332ea7942 AP_Mount: add missing include 2024-01-11 15:29:54 +11:00
Peter Barker a2182f7c4b AP_ESC_Telem: add missing include 2024-01-11 15:29:54 +11:00
Peter Barker 964b683b83 GCS_MAVLink: add missing includes 2024-01-11 15:29:54 +11:00
Peter Barker 37fccc118f AP_ADSB: add missing includes 2024-01-11 15:29:54 +11:00
Rhys Mainwaring ad3cf26338 AP_Networking: enable networking on macOS
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-01-11 06:58:41 +11:00
Rhys Mainwaring a66dc31fbc AP_Networking: update lwipopts for macOS
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-01-11 06:58:41 +11:00
Randy Mackay dfd22aba32 AP_BattMonitor: support logging state-of-health percentage
Only DroneCAN backend implements this feature for now
2024-01-10 18:38:25 +11:00
Peter Barker 709656c49d AP_Arming: remove entire airspeed_checks if AP_AIRSPEED_ENABLED is off
saves bytes and removes some redundant code which is obscured when the ifdefs are inside the body
2024-01-10 18:33:41 +11:00
Andy Piper 3caf336b0f AP_HAL_ChibiOS: switch BetaFPV-F405, BeastF7 and BeastF7v2 to minimize_fpv 2024-01-10 18:32:53 +11:00
Andy Piper 0df36a8d81 AP_RCProtocol: bootstrap Ghost to correct baudrate 2024-01-10 18:32:53 +11:00
Andy Piper 0da6989c8e AP_RCTelemetry: IRC Ghost protocol 2024-01-10 18:32:53 +11:00
Andy Piper 19c6b0b8ae AP_RCProtocol: IRC Ghost protocol 2024-01-10 18:32:53 +11:00
Andy Piper 0467ccc1fd RC_Channel: add Ghost and DroneCAN to list of enabled protocols 2024-01-10 18:32:53 +11:00
Iampete1 7eac47b06c AP_Relay: allow to build on periph 2024-01-10 18:29:24 +11:00
Iampete1 ccb4d68803 AP_Relay: add support for DroneCAN HardPoint functions 2024-01-10 18:29:24 +11:00
Iampete1 c8a63a1de4 AP_DroneCAN: remove duplicate rgb_led set_timeout_ms and set_priority 2024-01-10 18:29:24 +11:00
Iampete1 69e076605e AP_DroneCAN: support streaming relay hardpoint command 2024-01-10 18:29:24 +11:00
Iampete1 f6ed18f3f6 AP_Relay: support virtual DroneCAN pins using hardpoint msg 2024-01-10 18:29:24 +11:00
Iampete1 3b99a3ac26 AP_Relay: add function_valid helper and only pre-arm enabled relays 2024-01-10 18:29:24 +11:00
davidsastresas 462eb46c8b AP_Mount.cpp: send gimbal_manager_status msg when control changes
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>

By default we are sending this message at 0.2 Hz. This is totally
fine as no more rate is needed, but whenever control changes it
is interesting to notify as soon as possible, so the rest of the
mavlink network understands the change in control as soon as
possible
2024-01-10 18:26:47 +11:00
Andrew Tridgell 77fbe1dcfb AP_DroneCAN: don't hold semaphore during CAN send
this mirrors the changes in the networking code, and ensures we don't
hold a semaphore that may be held by the main thread when we are doing
CAN sends
2024-01-10 18:07:29 +11:00
Andrew Tridgell 2ba3ac0a9e AP_Networking: fixed a lockup bug in network ports
we need to not hold the write semaphore when calling network socket
calls. This fixes a critical error where network sockets block due to
low level PPP issues while main thread is going mavlink sends
2024-01-10 18:07:29 +11:00
Ferruccio Vicari 8bfd8f2403 AP_Scripting: script for idle control (gas helicopters)
allows manual and/or automatic engine rpm control during ground idling

fix for conversion to float

rename fix
2024-01-09 22:29:50 -05:00
Iampete1 416a41e756 AP_HAL_ChibiOS: Only test SPI clock if SPI is enabled 2024-01-10 13:46:40 +11:00
Randy Mackay fa5e58d652 AP_Mount: switch to RC_TARGETING on RC input 2024-01-10 09:48:00 +09:00
Mirko Denecke 6038a4d8c7 AR_Motors: fix prearm for omni outputs 2024-01-10 09:47:03 +09:00
Peter Barker d2400ad39b AP_OpticalFlow: correct names of variables in HereFlow OF driver
my guess is that the heavy maths was moved out of the timer function
2024-01-10 09:44:58 +11:00
David Buzz b65313303f AP_HAL_ESP32: analog warning fix 2024-01-09 11:15:21 +11:00
Maxim Buzdalov 809e15acf4 hwdef: Add pinout for Flywoo GOKU F745 AIO v1.2 2024-01-09 10:57:29 +11:00
Michael du Breuil ae256b168e AP_Scripting: Add bindings for jump to landing and abort in the mission 2024-01-09 10:55:06 +11:00
Jacob Olson 689a5c7b52 SITL: SIM_Frame: fixed per_motor_vars config loading 2024-01-09 10:53:33 +11:00
Peter Barker 35f1fdf0d8 AP_Arming: be more consistent withb our defines around optional features 2024-01-09 10:51:55 +11:00
Andrew Tridgell 098277ce6a AP_Scripting: added ANX CAN battery driver 2024-01-09 07:53:59 +11:00
Andrew Tridgell 70d6788855 AP_Scripting: update docs 2024-01-09 07:53:59 +11:00
Bob Long 1ffda7ef3c AP_Scripting: add scripting backend
AP_BattMonitor_Scripting: whitespace consistency
2024-01-09 07:53:59 +11:00
Bob Long fd855781d8 AP_BattMonitor: add scripting backend
AP_BattMonitor_Scripting: whitespace consistency
2024-01-09 07:53:59 +11:00
Randy Mackay 0cf616044c AC_WPNav: ACCEL_C defaults to 2x ACCEL 2024-01-08 19:36:16 +09:00
Peter Barker 3a37796eb2 SITL: move simulated height_agl into fdm structure
allows value to be shipped via multicast to simulated peripherals
2024-01-08 20:00:01 +11:00
Peter Barker c583edc34b AP_Proximity: move simulated height_agl into fdm structure
allows value to be shipped via multicast to simulated peripherals
2024-01-08 20:00:01 +11:00
Peter Barker b1311d6d25 AP_OpticalFlow: move simulated height_agl into fdm structure
allows value to be shipped via multicast to simulated peripherals
2024-01-08 20:00:01 +11:00
Peter Barker 7201eae4ed AP_HAL_SITL: move simulated height_agl into fdm structure
allows value to be shipped via multicast to simulated peripherals
2024-01-08 20:00:01 +11:00
Peter Barker 147c5ad78d AP_HAL: move simulated height_agl into fdm structure
allows value to be shipped via multicast to simulated peripherals
2024-01-08 20:00:01 +11:00
coleschon af898220e7 AP_TECS: improve velRateMin scaling wrt airspeed 2024-01-08 17:10:28 +11:00
Andrew Tridgell efac52136b AP_Scripting: fixed memory leak in sendfile()
this leaked the SocketAPM on each sendfile() call, we now rely on the
script calling close(). The net_webserver.lua is already using close()
correctly, this change just makes close able to find the socket
2024-01-08 13:01:02 +11:00
Andrew Tridgell 7292c89766 AP_Networking: auto-restart PPP on error
this makes it easier to handle startup timing with PPP
2024-01-07 13:07:24 -08:00
David Buzz ca32c8a873 AP_HAL_ESP32 : this was an attempt at resolving watchdog issues , now just needs to go
superceeded by b9ac504d0d
2024-01-08 07:49:25 +11:00
bugobliterator 57ccac308d AP_HAL_ChibiOS: Add readme file to Here4 FC 2024-01-08 07:05:34 +11:00
bugobliterator ec15951b06 AP_HAL_ChibiOS: add hwdef for Here4FC 2024-01-08 07:05:34 +11:00
bugobliterator bea8b25c5d AP_HAL_ChibiOS: add support for early initialisation of WATCHDOG
This is needed for Ardupilot Vehicle builds running on AP_Periph bootloaders
2024-01-08 07:05:34 +11:00
Andrew Tridgell 3fd907ddce HAL_ESP32: use faster div1000 2024-01-07 20:51:55 +11:00
Andrew Tridgell d90a4654a7 HAL_ESP32: allow for building with sim on hw 2024-01-07 20:51:55 +11:00
Andrew Tridgell 6c88111267 SITL: fixed build with sim on hw 2024-01-07 20:51:55 +11:00
Andrew Tridgell 9c8fa7f58c AP_InertialSensor: fixed build of NONE backend
conflict with rand_float()
2024-01-07 20:51:55 +11:00
Andrew Tridgell 7d1cc14b1e AP_HAL: fixed build with AP_SIM_ENABLED 2024-01-07 20:51:55 +11:00
Andrew Tridgell e6528eaaae AP_FrskyTelem: fixed warning on ESP32 2024-01-07 20:51:55 +11:00
Henry Wurzburg ce4a450d3a AP_Network:add reboot req'd metadata to params missing it 2024-01-07 01:15:34 -08:00
Andrew Tridgell 6ea2c28a4d HAL_ChibiOS: fixed DMA on SPI on H743
this fixes DMA failures affecting IMUs on H743. The reason for the
failure is not yet clear, but this reverts back to our old stragegy of
always using the bouncebuffer on H7 as a quick workaround
2024-01-07 19:10:25 +11:00
David Buzz 08a09d04dc HAL_ESP32: bring S3's sdkconfig closer to classic , and optimise wifi on classic 2024-01-07 18:37:56 +11:00
David Buzz 9e8c16d15e AP_HAL_ESP32: S3 also needs change to storage sector size to 128K
just completing this PR for the S3..
fa70a56a65
2024-01-07 18:37:04 +11:00
David Buzz 678474614f AP_HAL_ESP32: Update the WiFi init code to the newer ESP-IDF (4.2+) and
mostly by TByte007 from here, but fixed and re-tested.
https://github.com/ArduPilot/ardupilot/pull/24527/commits
2024-01-07 18:36:08 +11:00
Michelle Rossouw dff9a7742e AP_Scripting: Add CAN_Logger example script
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-01-07 12:23:39 +11:00
David Buzz b9ac504d0d AP_HAL_ESP32: prevent watchdog while booting with slow things like sdcards 2024-01-07 08:32:44 +11:00
Andrew Tridgell 535a6a3316 AP_Networking: fixed build of evtimer.c on firmware server
the firmware server uses --out option to waf configure which changes
the include paths
2024-01-06 09:20:47 +11:00
Andrew Tridgell fa2b87b05a AP_Networking: hide unused params for PPP 2024-01-05 06:52:11 -08:00
Andrew Tridgell b0bbed01c6 AP_Networking: speed up sendfile download
use a multiple of sector size and DMA safe memory
2024-01-05 06:52:11 -08:00
Andrew Tridgell c5f295e852 AP_Filesystem: allow for large file IOs
this allows for larger IOs on FATFS if the memoory is OK for DMA
2024-01-05 06:52:11 -08:00
Andrew Tridgell f2a1c80652 AP_HAL: added MEM_FILESYSTEM memory type 2024-01-05 06:52:11 -08:00
Andrew Tridgell c54aa0241a HAL_ChibiOS: added mem_is_dma_safe() function
used for bouncebuffer code and in FATFS code
2024-01-05 06:52:11 -08:00
Peter Barker c443d19ab1 AP_Mount: correct compilation when GCS_SEND_TEXT not available 2024-01-04 20:48:23 +11:00
Peter Barker 82fe13bc00 AP_Generator: correct compilation if GCS_SEND_TEXT not available 2024-01-04 20:48:23 +11:00
Peter Barker c557e67aff chibios_hwdef.py: populate intdefines as part of parsing, not output 2024-01-04 20:29:14 +11:00
Andrew Tridgell b1f1ea7859 AP_Networking: don't build lwip code if not needed
this saves a bit of compile time, but also means devs not doing
networking don't need to update the submodules
2024-01-04 11:02:14 +11:00
Henry Wurzburg e55702fe3c AP_Camera:fix OPTIONS bitmask 2024-01-04 08:25:48 +09:00
muramura 4765ba8218 AP_InertialSensor: Specify the number of arrays by sizeof 2024-01-04 10:24:44 +11:00
Michael du Breuil f9fdd152ee AP_Relay: allow hwdef to provide more then 6 relays 2024-01-03 22:44:42 +00:00
jamming 6fe7a1408e hwdef: Add support for BMI088 on Pixhawk6c 2024-01-04 07:17:24 +11:00
Peter Barker 68d8a2606d AP_InertialSensor: SITL: call logging singleton methods only if available 2024-01-03 18:33:41 +11:00
Peter Barker 3ed8a434ce AP_AHRS: add missing SITL header include
the singleton is used in this file
2024-01-03 18:33:10 +11:00
Peter Barker b43f4f78a3 SITL: add missing includes for SITL object 2024-01-03 18:33:10 +11:00
Peter Barker 8fb1f6f02c AP_Camera: correct compilation when AP_CAMERA_RELAY_ENABLED is 0
... like on skyviper-v2450
2024-01-03 18:05:08 +11:00
Peter Barker ed1ae3b5f1 chibios_hwdef.py: add quiet option to remove parsing debug output 2024-01-03 18:04:37 +11:00
Peter Barker dd0a7a551b AP_AHRS: do not compile AP_AHRS.cpp if AP_AHRS_ENABLED is 0
on Periph we end up not having a default backend, which is a compilation failure
2024-01-03 17:35:54 +11:00
Peter Barker f4d51fd8f5 AP_OpticalFlow: cope if AP_AHRS_ENABLED is 0 2024-01-03 17:35:54 +11:00
Peter Barker 1e41030167 AP_AHRS: cope with AP_INERTIAL_SENSOR being 0 2024-01-03 17:35:54 +11:00
Peter Barker eec43c204f AP_Compass: cope with AP_INERTIAL_SENSOR being 0 2024-01-03 17:35:54 +11:00
Peter Barker 78087da03c GCS_MAVLink: correct compilation when AP_MISSION_ENABLED is false 2024-01-03 16:16:47 +11:00
Peter Barker 6d2c857db9 AP_Arming: correct compilation when AP_MISSION_ENABLED is false 2024-01-03 16:16:47 +11:00
Peter Barker 17f311ef32 AP_Vehicle: correct compilation when AP_MISSION_ENABLED is false 2024-01-03 16:16:47 +11:00
Peter Barker 368593c2c6 AP_Mission: correct compilation when AP_MISSION_ENABLED is false 2024-01-03 16:16:47 +11:00
Iampete1 a44cba03ef AP_Logger: Write_PID: add reset and I terms set flags 2024-01-03 12:28:59 +09:00
Iampete1 d53b73468b AC_PID: add reset and I term set flags to PIDInfo 2024-01-03 12:28:59 +09:00
Iampete1 9146458d4a AC_PID: remove unused set_integrator methods 2024-01-03 12:28:59 +09:00
Iampete1 2d75b0312e AC_PID: return P and D as output with slew limit and sum limit applyed 2024-01-03 12:28:59 +09:00
Iampete1 5065770e30 AC_PID: tidy interface 2024-01-03 12:28:59 +09:00
Andrew Tridgell a841e9c109 AP_Scripting: don't throw an exception on out of sockets in accept()
normal lua sockets don't throw an exception on accept, it just returns
nil
2024-01-03 12:14:47 +11:00
Andrew Tridgell 791a0a3230 AP_Networking: use HAL objects more directly
and fix a ms/us bug
2024-01-03 12:14:47 +11:00
Andrew Tridgell f5bee94cba AP_Networking: added evtimer wrapper 2024-01-03 12:14:47 +11:00
Andrew Tridgell cc8c671cb7 HAL_ChibiOS: don't link evtimer in chibios_board.mk 2024-01-03 12:14:47 +11:00
Andrew Tridgell f0a1a19f8b AP_Networking: allow discard test to be paused 2024-01-03 12:14:47 +11:00
Andrew Tridgell ab24d8768f AP_Networking: disable on MacOSX 2024-01-03 12:14:47 +11:00
Andrew Tridgell f96810bb22 AP_RCProtocol: fixed example build 2024-01-03 12:14:47 +11:00
Andrew Tridgell 702fe9c18d AP_Networking: only enable networking on Linux, ChibiOS and SITL 2024-01-03 12:14:47 +11:00
Andrew Tridgell 983a680b2b AP_Networking: small improvement to ethernet throughput 2024-01-03 12:14:47 +11:00
Andrew Tridgell af47beebfc AP_Networking: fixed discard test on PPP
and fixed byte order bug
2024-01-03 12:14:47 +11:00
Andrew Tridgell 8fcc7d5a51 AP_Networking: fixed ChibiOS backend with 16 bit timer 2024-01-03 12:14:47 +11:00
Andrew Tridgell 229a527fed AP_Networking: use BinarySemaphore 2024-01-03 12:14:47 +11:00
Andrew Tridgell 1e7ca34531 AP_HAL: socket native fix 2024-01-03 12:14:47 +11:00
Andrew Tridgell 34c737de36 HAL_Linux: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell adffd93894 SITL: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell 213cdcef4b AP_Scripting: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell b3fbc7edb0 AP_RCProtocol: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell f8d64afc69 AP_IRLock: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell 69df468b88 AP_HAL_SITL: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell 931bae5b88 AP_HAL_Linux: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell ef67fa4293 AP_HAL: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell cbb3e27519 AP_HAL: added SocketAPM_native
this is a varient of SocketAPM that always uses native sockets
(ie. doesn't go via AP_Networking lwip)
2024-01-03 12:14:47 +11:00
Andrew Tridgell 2048631526 AP_Networking: ensure PPP does not dominate the CPU 2024-01-03 12:14:47 +11:00
Andrew Tridgell 7e29452082 AP_Networking: fix for linux build 2024-01-03 12:14:47 +11:00
Andrew Tridgell 985816ebc2 AP_Networking: don't enable PPP by default 2024-01-03 12:14:47 +11:00
Andrew Tridgell ec5ff94f3e AP_Networking: cleanup string to IP handling
use SocketAPM methods
2024-01-03 12:14:47 +11:00
Andrew Tridgell 3d5251dfe8 AP_HAL: added inet_str_to_addr to SocketAPM 2024-01-03 12:14:47 +11:00
Andrew Tridgell 812ac6bc0a AP_Networking: allow for --enable-ppp to enable networking 2024-01-03 12:14:47 +11:00
Andrew Tridgell 9d5a54259e AP_Networking: new location for lwip 2024-01-03 12:14:47 +11:00
Andrew Tridgell 418897c443 HAL_ChibiOS: removed old lwip options 2024-01-03 12:14:47 +11:00
Andrew Tridgell ce6adcfe83 AP_HAL_Linux: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Andrew Tridgell ec5c0b82e7 AP_HAL: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Andrew Tridgell bfcb8f361e AP_HAL_ESP32: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Andrew Tridgell 936bbeda88 AP_HAL_ChibiOS: added PRIORITY_NET 2024-01-03 12:14:47 +11:00
Andrew Tridgell 9456b585fa HAL_ChibiOS: don't link lwip bindings from ChibiOS 2024-01-03 12:14:47 +11:00
Andrew Tridgell d289ba0181 AP_Networking: removed SLIP
PPP is the better choice
2024-01-03 12:14:47 +11:00
Andrew Tridgell 22938e99ea AP_Networking: added ArduPilot HAL port of lwip 2024-01-03 12:14:47 +11:00
Andrew Tridgell b28912c351 HAL_SITL: cope with no _sitl state 2024-01-03 12:14:47 +11:00
Andrew Tridgell 5748adbf44 HAL_ChibiOS: allow for networking without ethernet 2024-01-03 12:14:47 +11:00
Andrew Tridgell 1d9d599bb0 AP_Networking: allow for PPP on ChibiOS 2024-01-03 12:14:47 +11:00
Andrew Tridgell 94ea22d16f AP_Networking: separate thread for sendfile 2024-01-03 12:14:47 +11:00
Andrew Tridgell 8e132e44cf AP_HAL: improved sockaddr_in compatibility 2024-01-03 12:14:47 +11:00
Andrew Tridgell 1bceee1863 AP_Scripting: added WEB_SENDFILE_MIN parameter
allows for sendfile tuning and disable
2024-01-03 12:14:47 +11:00
Andrew Tridgell b72b4b5bc0 SITL: added required headers with new SITL header structure 2024-01-03 12:14:47 +11:00
Andrew Tridgell da7c556f77 AP_InertialSensor: avoid fcntl.h
allows mixing of lwip and sockets
2024-01-03 12:14:47 +11:00
Andrew Tridgell 671bcdad18 HAL_SITL: avoid socket headers in .h files
this makes mixing SITL and lwip sockets possible
2024-01-03 12:14:47 +11:00
Andrew Tridgell e53729f331 AP_HAL: make Socket.cpp safe for lwip and SITL usage 2024-01-03 12:14:47 +11:00
Andrew Tridgell 896b95654c AP_Networking: added PPP support 2024-01-03 12:14:47 +11:00
Andrew Tridgell e2dac53fca AP_Networking: added SLIP support 2024-01-03 12:14:47 +11:00
Andrew Tridgell 1627f7f61a AP_OSD: added PPP 2024-01-03 12:14:47 +11:00
Andrew Tridgell 2cb177ef72 AP_SerialManager: added PPP serial type 2024-01-03 12:14:47 +11:00
Peter Barker 7e51811a24 AP_HAL_Linux: cope with HAL_WITH_DSP being false 2024-01-03 11:45:31 +11:00
Peter Barker 75ebef32cf AP_HAL_ESP32: cope with HAL_WITH_DSP being false 2024-01-03 11:45:31 +11:00
Peter Barker d5ddbad27f HAL_ChibiOS_Class: adjust for dsp disappearing from HAL constructor 2024-01-03 11:45:31 +11:00
Peter Barker 9e5edefc4a AP_HAL: guard against DSP being compiled out of code 2024-01-03 11:45:31 +11:00
Peter Barker f83b561566 AP_HAL_SITL: guard against DSP being compiled out of code 2024-01-03 11:45:31 +11:00
Andrew Tridgell 635c764c6f AP_HAL: added BinarySemaphore test 2024-01-03 07:37:05 +11:00
Andrew Tridgell 9c1e145c8f AP_PiccoloCAN: reimplement with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell f0aa2a65e4 HAL_SITL: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 7059f980b8 HAL_SITL: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 036ae93cbb AP_DroneCAN: reimplement with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell e22e07fbbd AP_CANManager: reimplement with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 5d1eb145cd HAL_ESP32: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 8f8048e4cd HAL_Linux: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell bdb8a08724 HAL_Linux: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell c0d0aeee86 HAL_ChibiOS: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 8a027eddb0 HAL_ChibiOS: implement BinarySemaphore
and removed event handles
2024-01-03 07:37:05 +11:00
Andrew Tridgell c2011570f7 HAL_ChibiOS: use chSysLock for CAN critical section
this avoids an assert in some code paths that combine with hrt
functions
2024-01-03 07:37:05 +11:00
Andrew Tridgell a52c71f380 AP_HAL: implement BinarySemaphore
and removed event handles
2024-01-03 07:37:05 +11:00
Andrew Tridgell d1fcb76c9f AP_HAL: ensure all UARTDriver implementations have receive_time_constraint_us
this fixes NMEA over network ports
2024-01-02 20:59:50 +11:00
Andrew Tridgell 85537c2e97 AP_NMEA_Output: fixed NMEA output altitude
the key fix is to multiply hdop by 0.01. It was being passed as a
uint16_t which led to it being swallowed by the %f in the format
string
2024-01-02 20:59:50 +11:00
Peter Barker 4dae077787 GCS_MAVLink: return MAV_RESULT_COMMAND_INT_ONLY if command-long support not compiled in 2024-01-02 18:58:07 +11:00
Aleksey Ploskov 81ab6a9461 AP_NMEA_Output: fix time format 2024-01-02 16:29:50 +11:00
Oleksiy Protas e855c9f46a AP_HAL_SITL: ensure stdint include 2024-01-02 13:42:58 +11:00
Peter Barker 467daeb4a6 hwdef: tidy checking of is-bootloader-build 2024-01-02 13:00:15 +11:00
Brad Bosch 0a5407a1a7 AP_VideoTX: Restore use of the VTX_MAX_POWER parameter
This functionality was lost when a significant rewrite of this code was done in commit 0658f06030
2024-01-02 12:00:22 +11:00
alexklimaj c53d3ae09b hwdef: ARK_CANNODE add rangefinder 2024-01-02 11:58:35 +11:00
Henry Wurzburg c9b8be7213 AP_Parachute:upate metadata in line with new relay functions 2024-01-02 11:46:46 +11:00
Peter Mullen a83ed6b730 AP_Scripting: Add LUA interface to access Range Finder state 2024-01-02 11:31:02 +11:00
Peter Mullen 2cc63f52a1 AP_RangeFinder: Add LUA interface to access Range Finder state 2024-01-02 11:31:02 +11:00
Mirko Denecke 9cd85f2a2f AR_Motors: fix support for omni vehicles 2024-01-02 11:27:53 +11:00
Henry Wurzburg f02973b454 AC_Fence:expand FENCE_AUTOENABLE description 2024-01-02 10:52:45 +11:00
Andrew Tridgell cfa28c5246 HAL_SITL: fixed unbuffered UART writes in SITL
this was causing PPP to slow down by about 1000x due to duplicate
writes
2024-01-02 08:12:37 +11:00
Andrew Tridgell 0a8faa83d9 HAL_ChibiOS: allow for up to 12.5MBps on H7 UARTs
use 8x oversampling instead of 16x oversampling
2024-01-02 08:12:37 +11:00
Andrew Tridgell c1016ae52e HAL_SITL: cope with no _sitl state 2024-01-02 08:12:37 +11:00
Andrew Tridgell ac49480f6a HAL_SITL: disable FG view by default 2024-01-02 08:12:37 +11:00
Andrew Tridgell 15d3ec3113 AP_ESC_Telem: allow IOMCU to work in example fw
example firmwares don't instantate AP_ESC_Telem
2024-01-02 08:12:37 +11:00
Andrew Tridgell ce9c7dfdd1 AP_ADSB: fixed a crash in ADSB when baro not healthy
zero pressure leads to a floating point exception
2024-01-02 08:12:37 +11:00
Andrew Tridgell 9428e41301 SITL: fixed running example firmwares
don't call model update with no sitl instance
2024-01-02 08:12:37 +11:00
Andrew Tridgell 7b5b1ba59f AP_HAL: fixed build without MSG_NOSIGNAL
for older MacOSX
2024-01-02 08:12:37 +11:00
Henry Wurzburg 319202a233 AP_ExternalAHRS: add InertialLabs to type parameter 2024-01-01 13:18:08 +11:00
alexklimaj e9f51a96cb hwdef: ARKV6X add USART6 to serial list 2024-01-01 13:17:06 +11:00
njwhite 03ae94706e AP_AHRS: Don't Switch to DCM to get Better GPS if DCM Isn't Using GPS
Look at the parameter to see if DCM uses GPS; if not don't prefer DCM for using GPS.
2024-01-01 13:16:04 +11:00
Iampete1 81d4804d53 AP_Scripting: examples: update examples for fixed io.open behaviour 2024-01-01 13:15:37 +11:00
Andrew Tridgell 687c5887af HAL_ESP32: allow for building of examples and tool firmware on ESP32
use waf build target to find the right library name
2023-12-31 09:55:16 +11:00
Andrew Tridgell 4b908077c2 HAL_ESP32: push S3 to 500Hz 2023-12-31 09:55:02 +11:00
Andrew Tridgell e79f0201bd AP_HAL: added esp32s3empty 2023-12-31 09:55:02 +11:00
Andrew Tridgell e2f82ed9bc HAL_ESP32: added esp32s3empty target 2023-12-31 09:55:02 +11:00
Andrew Tridgell 6fb99d6b1e AP_Scripting: fixed use after free bug
found with valgrind
2023-12-29 11:33:58 +11:00
Andrew Tridgell 1d0fc4e87c AP_ExternalAHRS: fixed InertialLabs gyro/accel data
this fixes a flapping CI test
2023-12-29 06:29:52 +11:00
Randy Mackay 6c24f80669 AC_Avoidance: Dijsktras comment and const fix 2023-12-28 08:45:23 +09:00
Randy Mackay 58b6429893 AC_Avoidance: oapathplanner gets fast-waypoint option 2023-12-28 08:45:23 +09:00
Randy Mackay 607fa40431 AR_WPNav: send next destination to OA 2023-12-28 08:45:23 +09:00
Randy Mackay a1e03cbbe1 AC_Avoidance: bendy ruler comment update 2023-12-28 08:45:23 +09:00
Randy Mackay cb1853b9bb AC_Avoidance: Dijkstra's returns control when clear of obstacles 2023-12-28 08:45:23 +09:00
Randy Mackay 5aeabc5779 AC_Avoidance: path planner accepts next destination 2023-12-28 08:45:23 +09:00
Randy Mackay 82984577d2 AC_Avoidance: path planner avoids timeout when first activated 2023-12-28 08:45:23 +09:00
Randy Mackay 6fed0dbc7a AC_WPNav: OA supports fast waypoints with dijkstras 2023-12-28 08:45:23 +09:00
Randy Mackay 0c8f427d42 AC_WPNav: OA handles failure to set wp on deactivation
This may never happen in practice but just in case
2023-12-28 08:45:23 +09:00
Randy Mackay 8546dfaf4d AC_WPNav: add force_stop_at_next_wp 2023-12-28 08:45:23 +09:00
Randy Mackay bf2b0f890f AC_WPNav: record next destination
This allows AC_WPNav_OA to completely restore the path on deactivation
2023-12-28 08:45:23 +09:00
Randy Mackay d01a330588 AC_Avoidance: constify get_shortest_path_point 2023-12-28 08:45:23 +09:00
Andrew Tridgell 1e626a70cb hwdef: added MatekL431-Serial 2023-12-27 05:13:14 -07:00
Andrew Tridgell 6c2a7b8cfd AP_SerialManager: expose HAVE_SERIAL_xxx in config 2023-12-27 05:13:14 -07:00
Andrew Tridgell 46171a7c79 hwdef: give a more useful error message on no bootloader 2023-12-27 21:45:13 +11:00
Henry Wurzburg ea3dc78a96 AP_Relay:correct function param metadata
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2023-12-26 22:28:37 -07:00
Tom Pittenger 47fdf2295c AP_Scripting: add bindings for ahrs.wind_alignment and ahrs.head_wind 2023-12-26 10:20:23 +11:00
Tom Pittenger 39e7209e33 AP_AHRS: move wind helper functions from AP_Landing 2023-12-26 10:20:23 +11:00
Tom Pittenger 7a9c6eea9c AP_Landing: move wind helper functions to AP_AHRS 2023-12-26 10:20:23 +11:00
Tom Pittenger 813c732a83 AP_Baro: slow down Baro offset slew 2023-12-26 10:17:56 +11:00
Andrew Tridgell 74c2855be3 HAL_SITL: implement begin(0) on UARTs
the begin(0) is used to claim a uart for the current thread in
ChibiOS, we need to ignore it on SITL and not change baudrate
2023-12-26 06:21:42 +11:00
Andrew Tridgell 2842166b06 AP_ExternalAHRS: avoid uart owner issue
ensure we own uart before read
2023-12-26 06:21:42 +11:00
Andy Piper 57ac86edd9 AP_IOMCU: fix occasional startup internal errors with mixing
allow DIRECT_PWM pages to be smaller than max channels
correct some over-eager register clearing in the global interrupt handler (NFC)
only sent TX events when using shared DMA (NFC)
zero out rx packet code and size to prevent errors with spurious callbacks
add a comment and check for offsets that are codes
2023-12-24 14:39:05 +11:00
Andrew Tridgell d2d2067f1c HAL_ChibiOS: fixed micros and millis on boards without 1MHz clock 2023-12-24 10:10:14 +11:00
Henry Wurzburg 5c1ed968b1 AP_Motors:expand heli tail param metadata 2023-12-20 17:50:38 -05:00
Andrew Tridgell f3303c9272 HAL_SITL: use uint64_div1000()
match ChibiOS
2023-12-21 09:09:11 +11:00
Andrew Tridgell 4a59097b5e HAL_ChibiOS: use C implemention of div1000 2023-12-21 09:09:11 +11:00
Andrew Tridgell 49c3536ca7 AP_Math: added uint64_div1000()
and test suite
2023-12-21 09:09:11 +11:00
bugobliterator cf481a8952 AP_HAL_ChibiOS: allow option to enable scripting on CubeRedSecondary 2023-12-21 07:30:25 +11:00
Andrew Tridgell 65cae116a2 hwdef: fixed build of CarbonixL496 2023-12-20 20:07:35 +11:00
Andrew Tridgell a94484d770 HAL_ChibiOS: fixed SPI build on F1xx
F1 does not have palReadLineMode()
2023-12-20 19:33:12 +11:00
Iampete1 46dd402a1a AP_Relay: add ICE_STARTER function 2023-12-20 19:29:50 +11:00
Iampete1 86a199c1bf AP_ICEngine: add support for starter relay 2023-12-20 19:29:50 +11:00
Ryan Friedman faa8ac0085 AP_Vehicle: Set position target depends on ext control
* Used to depend on scripting but now it's used in AP_ExternalControl

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Ryan Friedman 76861eaa9b AP_Common: Define units for locatoin data members
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Ryan Friedman c22a3439d4 AP_ExternalControl: add REP-147 Global Position Control
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Ryan Friedman da976300d1 AP_DDS: add REP-147 Global Position Control
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Andrew Tridgell 6dbc3b6a70 HAL_ChibiOS: speed up millis(), micros64() etc
these use faster primitives and an assembly division by 1000 to get
between 2x and 3x speedup on these critical calls
2023-12-19 11:47:24 +11:00
Iampete1 1bcf69e0c7 AP_Motors: Heli: add helper to convert from AP_Motors::SpoolState to AP_MotorsHeli_RSC::RotorControlState 2023-12-19 10:38:49 +11:00
Iampete1 287e9726d7 AP_Motors: Heli: RotorControlState to enum class 2023-12-19 10:38:49 +11:00
Iampete1 a77faaf125 AP_Relay: move from using AP_RELAY_NUM_RELAYS to ARRAY_SIZE(_params) 2023-12-19 10:01:01 +11:00
Iampete1 c917480cde AP_Relay: capitalize function enum 2023-12-19 10:01:01 +11:00
Iampete1 f907694c6e AP_Relay: add rover motor reverse functions 2023-12-19 10:01:01 +11:00
Iampete1 a0eb3396f8 AR_Motors: Move to new relay functions 2023-12-19 10:01:01 +11:00
Iampete1 abcbc66c5c AP_Relay: param conversion from ICE, chute and camera 2023-12-19 10:01:01 +11:00
Iampete1 5a5ee0c44c AP_Parachute: move to new relay functions 2023-12-19 10:01:01 +11:00
Iampete1 8ab6f01942 AP_Relay: add enabled method by function 2023-12-19 10:01:01 +11:00
Iampete1 8ce490d985 AP_ICEngine: move to new relay functions 2023-12-19 10:01:01 +11:00
Iampete1 8292c6ea9f AP_Camera: move to new relay functions 2023-12-19 10:01:01 +11:00
Iampete1 f26ff3ee5a AP_LandingGear: remove unneeded relay include 2023-12-19 10:01:01 +11:00
Michael du Breuil 368ec28ab6 AP_Relay: Refactor to support RELAYx_FUNCTION 2023-12-19 10:01:01 +11:00
Ryan Friedman 1d805555f5 AP_ExternalAHRS: Fix typos in configuration for microstrain7
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-19 09:32:55 +11:00
Thomas Watson e460a19b17 AP_HAL_Linux: deprecate and warn on legacy --uartX option use 2023-12-19 06:53:15 +11:00
Thomas Watson 14180b5b93 AP_HAL_SITL: deprecate and warn on legacy --uartX option use 2023-12-19 06:53:15 +11:00
Thomas Watson cc5b095d59 AP_SerialManager: clarify comment regarding legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson ae7170501d AP_FETtecOneWire: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson f0a92889fa AP_DDS: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson 8ee9dd13be AP_Scripting: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson 94888822be GCS_MAVLink: correct comment about stream array 2023-12-19 06:53:15 +11:00
Thomas Watson f6ea8201b2 SITL: remove references to legacy UART order incl. sim arguments 2023-12-19 06:53:15 +11:00
Thomas Watson 9044632315 AP_HAL_SITL: eliminate internal legacy UART ordering/references
Legacy command line arguments are kept to avoid breaking users.

The vestigial `_tcp_client_addr` variable is removed.

Serial port status messages are updated to a slightly different format
to clarify the numbering scheme being used and prompt any external
consumers to update.
2023-12-19 06:53:15 +11:00
Thomas Watson f34034584f AP_HAL_Linux: eliminate internal legacy UART ordering/references
Leave the legacy command line arguments to avoid breaking users.
2023-12-19 06:53:15 +11:00
Thomas Watson 6b79349947 AP_HAL_ESP32: eliminate legacy UART ordering/references 2023-12-19 06:53:15 +11:00
Thomas Watson 20ee5b2d37 AP_HAL_Empty: eliminate legacy UART ordering/references
Fourth serial port (SERIAL2) added purely for consistency.
2023-12-19 06:53:15 +11:00
Thomas Watson 2aa4ee8ba7 AP_HAL_ChibiOS: remove references to legacy UART order from hwdefs 2023-12-19 06:53:15 +11:00
Thomas Watson dc4438d0e3 AP_HAL_ChibiOS: eliminate legacy UART ordering/references
SERIAL_ORDER has been around for a few years now and UART_ORDER is
rejected by the hwdef script, so support for UART_ORDER and associated
processing in the hwdef script is removed, along with the order
conversion script.
2023-12-19 06:53:15 +11:00
Thomas Watson c56599e210 AP_HAL_SITL: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 764b469e47 AP_HAL_Linux: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 574c8016c3 AP_HAL_ESP32: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 90c14141a0 AP_HAL_Empty: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 507ab623b2 AP_HAL_ChibiOS: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson bcfad0d712 AP_HAL: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Thomas Watson ebbcf42236 AP_HAL: constructor now accepts UARTs in SERIALn order 2023-12-19 06:53:15 +11:00
Thomas Watson 6a6c3ce7a1 AP_HAL: inline serial accessor function
Saves a bit more flash.
2023-12-19 06:53:15 +11:00
Thomas Watson 8747ae539f AP_HAL: move serial re-mapping to driver array initialization
Saves a bit of flash and execution time.
2023-12-19 06:53:15 +11:00
Thomas Watson de45437704 AP_HAL: use array of UART drivers instead of consecutive variables
Avoids UB-inducing assumption that UART drivers are consecutive in the
serial() function.
2023-12-19 06:53:15 +11:00
Andy Piper ea76c0bd01 AP_HAL_ChibiOS: ensure dshot commands are send to all FMU channels when IOMCU is present 2023-12-18 19:02:52 +11:00
Andy Piper 1fb6205439 AP_IOMCU: always run iofirmware loop at 1Khz to avoid uart races
don't look for multiple pages on single-page packets
2023-12-18 19:02:52 +11:00
Andy Piper 5d9f9db2fe AP_IOMCU: treat register_write() as a successful interaction 2023-12-18 19:02:52 +11:00
Andy Piper d2a48148dd AP_HAL_ChibiOS: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper 92ef809e3b AP_IOMCU: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper 6dec0c2da5 AP_BLHeli: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper a8772ef5a2 AP_HAL: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper 2415c2998b AP_HAL_ChibiOS: allow dshot to be used even if bdshot was specified.
correct zero handling in bdshot decoding
2023-12-18 19:02:52 +11:00
Andy Piper 43b6fc0dba AP_IOMCU: constrain PWM channels to 8, telem channels to 4 and RC channels to 16
make ADC readings interrupt driven
turn off iomcu updates when debugging
allow for correct number of telemetry channels
cycle between vservo and vrssi when reading adc
build adc with O2
2023-12-18 19:02:52 +11:00
Andy Piper 8c03c9e4bf AP_HAL_ChibiOS: cache values of io_dshot() and io_enabled()
enabled shared_up_dma to be fully compiled out
address some minor review comments
2023-12-18 19:02:52 +11:00
Andy Piper 153c5181cb AP_IOMCU: reset erpm to zero on timeout
remove unneeded packed attribute
reset the PWM status after channels have been enabled or disabled
2023-12-18 19:02:52 +11:00
Andy Piper a5b6c3b5ef AP_HAL_ChibiOS: utility to print out bdshot encoded data 2023-12-18 19:02:52 +11:00
Andy Piper 9f30d01561 AP_HAL_ChibiOS: bdshot for f103 iofirmware
add support to tell if shared DMA channel is actually shared
avoid starting and stopping the timer peripheral with bdshot
ensure that rcout DMA allocation and deallocation happens entirely within the lock
increase rcout thread working area for bdshot
fix mode mask that is sent to the iomcu
ensure iomcu rcout thread gets timeouts for callbacks
control bdshot input and output line levels on f103
use input capture channel pairs to read rising and falling edges of telemetry on f103
reset channel pairs together on iomcu
generalize the bdshot input path to support suitable buffer sizes for iomcu
generalize DMAR reading of CCR registers to read two at a time on iomcu
enable bi-directional dshot channels on PWM1-4 on iomcu
add methods to directly access erpm values from rcout
update erpm mask and esc telemetry correctly for firmware supporting dshot
add support for propagating bdmask to iomcu
dshot commands to all channels need to be aware of iomcu
ensure esc type is propagated to iomcu
cope with iomcu channel numbering when using EDT
ensure pwm driver is reset properly for dshot commands on iomcu
correctly reset pwm for dshot commands
correctly mask off bdshot bits going to iomcu
don't reset GPIO modes on disabled lines
don't reset pwm_started when sharing DMA channels
set thread name on iomcu rcout and reduce stack size on iomcu
ensure that bdshot pulses with no response are handled correctly
correctly setup DMA for input capture on f103
deal with out of order captured bytes when decoding bdshot telemetry
ensure DMA sharing on f103 does not pull lines low
only disable the timer peripheral when switching DMA channels on iomcu
add support for waiting for _UP to finish before proceeding with dshot
re-order iomcu dshot channels to let TIM4_UP go first
ensure that a cascading event will always come when expected on rcout
allow timeouts when using cascading dshot
always rotate telemetry channel after trying to capture input
cater for both in order and out-of-order bdshot telemetry packets
cope with reversed packets when decoding bdshot telemetry
ensure UP DMA channel is fully free on iomcu before starting next dshot cycle
refactor rcout for iofirmware into separate file
2023-12-18 19:02:52 +11:00
Andy Piper e024f9fc8c AP_Notify: ensure dshot LEDs work with EDT ESCs 2023-12-18 19:02:52 +11:00
Andy Piper 2a9c2fdf14 AP_HAL: add methods to directly access erpm array from rcout 2023-12-18 19:02:52 +11:00
Andy Piper 9db7120c06 AP_BLHeli: add accessor for motor poles and telemetry rate 2023-12-18 19:02:52 +11:00
Andy Piper 6deff406e0 AP_ESC_Telem: don't set up parameters on iofirmware
add direct accessor for telemetry data to be used by iomcu
don't update telemetry data if no data
2023-12-18 19:02:52 +11:00
Andy Piper 98aeade904 AP_IOMCU: bdshot for iomcu
prevent repeated rcout mode sets
add ESC telemetry if compiled in
add infrastructure to support propagating erpm and telemetry from iomcu
add support to propagate bdmask to iomcu
add support for EDT
scale voltage and current correctly when reading EDT data
ensure that telemetry data is reset
reset ESC telemetry data to zero if stale
ESC type and bdmask must be setup before the output mode
2023-12-18 19:02:52 +11:00
Ryan Friedman dee0ca2f34 AP_ExternalARHS: Don't offer IMU by default
* Since MicroStrain won't support >400Hz yet

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-18 16:03:35 +11:00
Andrew Tridgell 8732f582c3 AP_Scripting: update SkyPower driver to support new model
support SP-275 dual-cylinder ECU
2023-12-17 14:14:20 +11:00
Andrew Tridgell 8976767321 RC_Channel: use EKFType enum class 2023-12-17 09:47:30 +11:00
Andrew Tridgell 6f79c1cee2 AP_AHRS: use EKFType enum class in set_ekf_type() 2023-12-17 09:47:30 +11:00
Andrew Tridgell 757607e4f8 AP_ExternalAHRS: added InertialLabs backend 2023-12-17 09:47:30 +11:00
Andrew Tridgell 38960a3db2 HAL_SITL: added InertialLabs simulator 2023-12-17 09:47:30 +11:00
Andrew Tridgell 48ab76d06e AP_HAL: added InertialLabs simulator 2023-12-17 09:47:30 +11:00
Andrew Tridgell a17438d52c SITL: added InertialLabs simulator 2023-12-17 09:47:30 +11:00
Andrew Tridgell 54ffdc57f2 AP_Airspeed: support external AHRS airspeed sensor 2023-12-17 09:47:30 +11:00
Andrew Tridgell 7102205be3 AP_Math: added crc_sum_of_bytes_16() 2023-12-17 09:47:30 +11:00
patrick.wiltshire956@gmail.com bdab1054d6 AP_AHRS: added set_ekf_type() and DCM logging 2023-12-17 09:47:30 +11:00
Andrew Tridgell 771dfdf826 AP_ExternalAHRS: added location extrapolation
this copes better with slow backends
2023-12-17 09:47:30 +11:00
Andrew Tridgell 3954425f77 AP_ExternalAHRS: allow backends to set default sensor set 2023-12-17 09:47:30 +11:00
Andrew Tridgell cbc14d1fa5 AP_ExternalAHRS: align origin with AHRS origin
automatically set origin to AHRS origin. This means if on boot
external AHRS is not the primary then it will use the origin from the
active backend, preventing a jump on change of backends
2023-12-17 09:47:30 +11:00
Andrew Tridgell 376426a088 RC_Channel: added AUX function 112 for AHRS EKF type changes 2023-12-17 09:47:30 +11:00
Andrew Tridgell 80730d6c02 AP_Compass: use tesla conversion from AP_Math/definitions.h 2023-12-17 09:47:30 +11:00
Andrew Tridgell ee1975d47a AP_Math: added tesla conversions 2023-12-17 09:47:30 +11:00
Andrew Tridgell ddccc92e7d AP_Math: added rfu_to_frd() method for Vector3 2023-12-17 09:47:30 +11:00
Andrew Tridgell 61b3ad326d AP_Scripting: added SCR_THD_PRIORITY parameter
this makes it possible to run lua scripts at higher priorities, which
makes real time lua scripts (such as IMU drivers) possible
2023-12-15 10:38:07 +11:00
Peter Barker 6515df72f0 GCS_MAVLink: correct compilation when AP_Vehicle disabled 2023-12-13 18:34:40 +11:00
Peter Barker 8e1fc60550 AP_Vehicle: correct compilation when AP_Vehicle not available 2023-12-13 18:34:40 +11:00
Peter Barker 0f4262de3d AP_Scheduler: correct compilation when AP_Vehicle not available 2023-12-13 18:34:40 +11:00
Peter Barker 105acc605f AP_DAL: correct compilation when AP_Vehicle not available 2023-12-13 18:34:40 +11:00
Peter Barker 8ef98c0f41 AP_Arming: correct compilation when AP_Vehicle not available 2023-12-13 18:34:40 +11:00
Peter Barker 70cc84dd89 GCS_Common: correct compilation when AP_RSSI_ENABLED is false 2023-12-13 18:30:32 +11:00
Peter Barker 66da78abaf AP_Logger: correct compilation with AP_RSSI disabled 2023-12-13 18:30:32 +11:00
Peter Barker 3ba2f3117f AP_Arming: correct compilation when logging not available 2023-12-13 18:27:08 +11:00
Randy Mackay 56a2474e1c AP_Scripting: djirs2 reply timeout reduced to 0.1 sec 2023-12-13 18:16:11 +11:00
Thomas Watson 95033b2ef5 AP_Scripting: mount-djirs2 yaw angle reporting fix 2023-12-13 18:16:11 +11:00
Randy Mackay b507075701 AP_Scripting: mount-djir2 handles both legacy and latest ver 2023-12-13 18:16:11 +11:00
Thomas Watson c6c41cb609 AP_Scripting: mount-djirs2: fix parsing for latest firmware
DJI R SDK version 2.2.0.5 released on October 30, 2020 added CmdSet and
CmdID bytes to reply frames before the data segment which need to be
skipped when parsing replies.

Tested with gimbal firmware 01.04.00.20 and 01.05.00.20 (latest version).
2023-12-13 18:16:11 +11:00
Iampete1 452f9989b9 AP_Scripting: fix some more of the easy luacheck warnings 2023-12-13 18:10:26 +11:00
Peter Barker 71a64d5046 GCS_MAVLink: correct compilation when compass not enabled 2023-12-13 14:34:13 +11:00
Luca Scheuer 4226f9e97c AP_SerialManager: reserving serial protocol for Vertiq IQUART 2023-12-13 08:12:18 +09:00
Peter Barker f6bff8c19e AP_Mission: correct compilation when RC_Channel not enabled 2023-12-12 14:52:36 +11:00
Peter Barker 22c1019767 AP_Scripting: correct compilation when AP_RTC is compiled out 2023-12-12 14:35:25 +11:00
Peter Barker 1aa6ad5bc3 AP_OSD: correct compilation when RC_Channels library not available 2023-12-12 14:35:12 +11:00
Peter Barker 2768c63971 AP_Arming: correct compilation when RC_Channels library not available 2023-12-12 14:35:12 +11:00
Peter Barker 58d4871177 AP_DAL: remove tmp_location from global namespace
removes this from the global namespace and means it isn't included when DAL isn't

update the location where we update the fields.
2023-12-12 11:53:00 +11:00
Peter Barker 283a1edb9f AP_VisualOdom: correct compilation when HAL_GCS_ENABLED is false 2023-12-12 11:41:47 +11:00
Peter Barker 93907f4a6d AP_Avoidance: correct compilation when HAL_GCS_ENABLED is false 2023-12-12 11:41:47 +11:00
Peter Barker c15a73c798 AR_Motors: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 673fad04de AP_WindVane: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 1bf85a0a15 AP_SmartRTL: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker dd6d1f04c2 AP_OSD: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 6efc6d0f2d AP_Motors: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 6df3f18440 AP_Landing: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker 87c0543d9f AP_Arming: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker dcebd072be AC_AttitudeControl: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Peter Barker b0b94f50ed AP_Vehicle: add and use AP_RSSI_ENABLED 2023-12-12 11:37:57 +11:00
Peter Barker b7710a78d8 AP_RSSI: add and use AP_RSSI_ENABLED 2023-12-12 11:37:57 +11:00
Peter Barker b2a12f406f AP_OSD: add and use AP_RSSI_ENABLED 2023-12-12 11:37:57 +11:00
Peter Barker 03218b11ac AP_MSP: add and use AP_RSSI_ENABLED 2023-12-12 11:37:57 +11:00
Peter Barker e95b1e5dd3 AC_AutoTune: add and use header guards 2023-12-12 11:36:15 +11:00
Iampete1 782605e7ea AP_Scripting: CANSensor: Add filtering of incoming frames
Co-authored-by: Andras Schaffer <eosbandi@gmail.com>
2023-12-12 11:32:04 +11:00
Iampete1 6d546eed8f AP_Motors: Example: allow setting of COL2YAW and autorotation flag 2023-12-12 11:23:15 +11:00
Iampete1 5dcdd238a9 AP_Motors: Example: allow testing of heli tail type 2023-12-12 11:23:15 +11:00
Iampete1 1c8ab3853c AP_Motors: Heli: Single: tail type tidyup 2023-12-12 11:23:15 +11:00
tomas.vrsansky e6feebb2fb AP_HAL_ChibiOS: add hwdef files for Airvolute DCS2 onboard FMU
added ethernet config to hwdef
updated readme.md
hwdef: MAC parameters redefined according to ChibiOS
hwdef: add default params for Airvolute DCS2 on board FMU
update according to new changes in ChibiOS MAC driver
added defines to support ethernet communication
bootloaders: Airvolute-DCS2
2023-12-12 11:09:09 +11:00
Peter Barker ff86e2dda8 AP_WindVane: add and use AP_WINDVANE_*_ENABLED defines 2023-12-12 09:28:58 +11:00
Andrew Tridgell 75217ec1e6 AP_Scripting: added readstring for uarts
this is much more efficient than reading a byte at a time
2023-12-12 07:42:15 +11:00
Andy Piper 375a940b51 AP_IOMCU: make adc interrupt driven 2023-12-11 20:46:28 +11:00
Andrew Tridgell ffb7328ede AP_Scripting: review fixes
thanks Pete!
2023-12-11 18:00:38 +11:00
Andrew Tridgell 867e9c6799 AP_RTC: fixed build on arm 2023-12-11 18:00:38 +11:00
Andrew Tridgell ded1cdaa2a AP_Scripting: fixed webserver warnings 2023-12-11 18:00:38 +11:00
Andrew Tridgell 583c24d833 AP_Scripting: updated docs 2023-12-11 18:00:38 +11:00
Andrew Tridgell 18044a9644 AP_Scripting: added a home page and ajax support 2023-12-11 18:00:38 +11:00
Andrew Tridgell 168bc4e32f AP_Scripting: added If-Modified-Since for webserver 2023-12-11 18:00:38 +11:00
Andrew Tridgell 90c12d4db3 AP_Scripting: added stat() binding for filesystem 2023-12-11 18:00:38 +11:00
Andrew Tridgell 2822f507c1 AP_RTC: added time and date APIs for lua
and fixed a bug with the ms time return
2023-12-11 18:00:38 +11:00
Andrew Tridgell 9beea49c3c AP_Filesystem: implement stat() call for lua 2023-12-11 18:00:38 +11:00
Andrew Tridgell 9f08e5d317 AP_Scripting: use sendfile() in web server 2023-12-11 18:00:38 +11:00
Andrew Tridgell 1e1255c8f0 AP_Scripting: added sendfile() API on sockets 2023-12-11 18:00:38 +11:00
Andrew Tridgell 241323eade AP_Networking: added sendfile()
this allows for scripting to offload a file send to the AP_Networking
library, reducing CPU costs of large file downloads
2023-12-11 18:00:38 +11:00
Andrew Tridgell 9358bfce34 AP_HAL: added duplicate() in SocketAPM 2023-12-11 18:00:38 +11:00
Andrew Tridgell c9c38300bd AP_Filesystem: expose APFS_FILE structure
allows scripting to set the fd for sendfile()
2023-12-11 18:00:38 +11:00
Andrew Tridgell 26d814880e AP_Scripting: webserver improvements 2023-12-11 18:00:38 +11:00
Andrew Tridgell a4fb05de95 HAL_ChibiOS: increase LWIP windows
now getting 6.8MByte/s with NET_TESTS=4
2023-12-11 18:00:38 +11:00
Andrew Tridgell 28885dca4c HAL_ChibiOS: adjust buffer sizes
this fixes issues with TCP accepts being lost in web server
2023-12-11 18:00:38 +11:00
Andrew Tridgell 39891d3161 AP_Scripting: improve web server debug 2023-12-11 18:00:38 +11:00
Andrew Tridgell f603f045b5 HAL_ChibiOS: make lwip debugging easier
use ap_networking_printf wrapper
2023-12-11 18:00:38 +11:00
Andrew Tridgell fec0ec79c5 AP_Networking: make lwip debugging easier 2023-12-11 18:00:38 +11:00
Andrew Tridgell f924497194 AP_Scripting: added poll bindings 2023-12-11 18:00:38 +11:00
Andrew Tridgell 1419042fc0 AP_Scripting: added web server appliction 2023-12-11 18:00:38 +11:00
Andrew Tridgell 3446ff78d7 AP_Scripting: added isdirectory() 2023-12-11 18:00:38 +11:00
Andrew Tridgell 9065baa329 AP_Scripting: added bindings for SocketAPM 2023-12-11 18:00:38 +11:00
Andrew Tridgell 436c60c7de HAL_ChibiOS: defaults to 50 socket limit
makes for more useful web server
2023-12-11 18:00:38 +11:00
Andrew Tridgell 11ea2cf5c1 AP_Filesystem: added option @SYS/flash.bin
useful for speed tests
2023-12-11 18:00:38 +11:00
Andrew Tridgell 0f0aed66b7 AP_Filesystem: fixed fseek and open of directories 2023-12-11 18:00:38 +11:00
Andrew Tridgell a77331e725 AP_HAL: mark socket as not connected on EOF
this allows lua scripts to properly detect a closed TCP connection
2023-12-11 18:00:38 +11:00
Andrew Tridgell 64d649fbcc AP_HAL: fixed SO_REUSEADDR on bind
and use MSG_NOSIGNAL to prevent pipe errors in SITL
2023-12-11 18:00:38 +11:00
Andrew Tridgell 98e8b9785c AP_HAL: added close() to SocketAPM 2023-12-11 18:00:38 +11:00
Andrew Tridgell b49152bbe6 AP_HAL: mark new accept() socket as connected 2023-12-11 18:00:38 +11:00
Peter Barker 4cb0a922b2 AP_Airspeed: correct spelling of configured 2023-12-11 15:18:43 +11:00
Andrew Tridgell e4a27943f5 AP_RTC: fixed ms value from AP_RTC::get_date_and_time_utc
this impacts the ViewPro mount driver
2023-12-09 11:12:56 +11:00
Peter Barker d1ad9ccfbb AR_WPNav: correct missing include 2023-12-08 22:53:41 +11:00
Peter Barker cc18c82622 AP_Follow: correct defaulting of AP_FOLLOW_ENABLED
and clarify a closing endif
2023-12-08 22:52:18 +11:00
bugobliterator 00a65632eb AP_HAL_ChibiOS: add support for swapping ICM42688 with ICM45686 2023-12-06 13:34:52 +11:00
bugobliterator e34e9c61aa AP_HAL_ChibiOS: disable core m4 use to silence the chibios asserts
checking allocation of peripherals
2023-12-06 13:31:26 +11:00
Ka Ru d728eef685 AP_Notify: add can-zero board 2023-12-05 07:41:06 -06:00
Ka Ru 329c6ba668 AP_HAL: add can-zero board 2023-12-05 07:41:06 -06:00
Ka Ru ce177a3637 AP_HAL_Linux: add can-zero board 2023-12-05 07:41:06 -06:00
Peter Barker 455610a7ad AP_Scripting: correct mavlink_test.lua 2023-12-05 20:15:21 +11:00
Paul Riseborough 7601a02e98 AP_AHRS: added AHRS_OPTIONS parameter
the first option is to disable DCM fallback on fixed wing. This is
suitable in environments with a high likelyhood of GPS interference
2023-12-05 19:28:50 +11:00
Andrew Tridgell 5fce4f5f6d SITL: added simple simulated jammer 2023-12-05 19:28:50 +11:00
Andrew Tridgell c316de75d0 SITL: fixed whitespace in SIM_GPS.cpp
this one has been really bad for a while
2023-12-05 19:28:50 +11:00
Andy Piper cca8f8219a hwdef: new variant of KakuteH7 using ICM42688 2023-12-05 11:41:08 +11:00
Andy Piper 0cc5cf7d2d AP_HAL_ChibiOS: allow betaflight converter to run on output from "dump hardware" 2023-12-05 11:38:53 +11:00
Martin Luessi 6e417f1d0c RADIX2HD: Set HAL_I2C_INTERNAL_MASK 2023-12-05 11:37:57 +11:00
Iampete1 b8114da102 AP_Motors: Heli: dual and quad: remove un-needed override methods 2023-12-05 09:12:37 +09:00
Ryan Friedman fadedbbb47 AP_HAL: Add MicroStrain7 support
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Ryan Friedman 5bcdaa360e AP_HAL_SITL: Add MicroStrain7 support to SITL
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Ryan Friedman 1ae13cd66d SITL: Switch to using GPS Timestamp for 5 series driver
* The old descriptor is deprecated

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Ryan Friedman 7c183f4ab3 AP_ExternalAHRS: Add MicroStrain7 support
* Implement filter state without relying on GPS
* Implement health and initialization check based on filter state
* Fix pre-arm checks missing version
* Add version specifics to microstrain 5 log msgs
* Add utilities to microstrain packet to remove magic number array
  access

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Iampete1 433f98fee1 AP_Vehicle: call scripting update from 1Hz loop 2023-12-05 11:03:58 +11:00
Iampete1 2a3a5b2804 AP_Scripting: add checksum of running and loaded scripts with arming check 2023-12-05 11:03:58 +11:00
Iampete1 423a218643 GCS_MAVLink: use new filesystem crc32 method 2023-12-05 11:03:58 +11:00
Iampete1 2c7e06dc5e AP_Filesystem: add crc 32 method 2023-12-05 11:03:58 +11:00
Bob Long 24bf288e28 AP_InertialNav: freeze horiz_vel when !velned_ok
This addresses concerns about brief failures of get_velocity_NED causing
abrupt changes to the horizonatl velocity estimate.
2023-12-05 10:44:37 +11:00
Bob Long 467e62b967 GCS_Common: allow fallback vert rate in VFR_HUD 2023-12-05 10:44:37 +11:00
Bob Long 6eed40dec1 AP_InertialNav: add fallback vertical velocity 2023-12-05 10:44:37 +11:00
Iampete1 d26fdfc3b2 AP_CustomControl: use base class AC_AttitudeControl object 2023-12-05 08:08:09 +09:00
Andrew Tridgell c61ee15c1f AP_Vehicle: init networking after serial manager
init before serial manager led to not seeing any error messages if net
init failed
2023-12-04 10:12:41 +11:00
Andrew Tridgell 55b5e1cff1 AP_Networking: fixed off by one error in cache size calculation
this caused some of the memory to be cacheable which led to TCP
checksum errors
2023-12-04 10:12:41 +11:00
Peter Barker 0d9c658a1e SITL: add missing includes 2023-12-04 07:04:12 +11:00
Andrew Tridgell 63f9046265 AP_Networking: fixed docs for network port types
and document broadcast and multicast
2023-12-03 11:37:21 +11:00
Tom Pittenger 7f94ae6fe7 AP_Networking: only show NET_IP,DHCP,GW,MASK,MAC if it's actually used 2023-12-02 08:17:52 +11:00
Andrew Tridgell 89506846a3 AP_Networking: improve startup wait
this ensures we wait till DHCP has completed
2023-12-01 18:33:29 +11:00
Andrew Tridgell 2ef560db0b AP_ExternalAHRS: reserve some ExternalAHRS type values 2023-12-01 14:59:57 +11:00
Andrew Tridgell aba5ec6854 AP_InertialSensor: added support for writing raw IMU data to a UART
this is for supporting external visual odomotry systems which need the
IMU data to correctly process image data

# Conflicts:
#	libraries/AP_InertialSensor/AP_InertialSensor.cpp
2023-11-30 07:05:02 +11:00
Andrew Tridgell 604559a844 AP_OSD: added new serial manager protocol 2023-11-30 07:05:02 +11:00
Andrew Tridgell e58e8b861d AP_Serialmanager: added IMOUT uart type
# Conflicts:
#	libraries/AP_SerialManager/AP_SerialManager.cpp
#	libraries/AP_SerialManager/AP_SerialManager.h
2023-11-30 07:05:02 +11:00
Randy Mackay 46298052b6 AP_Scripting: simplify Rover quick tune
Only tunes FF.  P and I are set as ratio to FF
2023-11-29 08:18:07 -08:00
Peter Barker 4ede307be2 AP_RCProtocol: rename crc_sum8 to crc_sum8_with_carry
the name "sum8" is usually used for "sum all bytes into a uint8_t discarding carry"
2023-11-29 18:50:26 +11:00
Peter Barker d34e6049c9 AP_Math: rename crc_sum8 to crc_sum8_with_carry
the name "sum8" is usually used for "sum all bytes into a uint8_t discarding carry"
2023-11-29 18:50:26 +11:00
Peter Barker 9394a7b26b AP_RangeFinder: use boolean uartdriver read method 2023-11-29 18:29:11 +11:00
Peter Barker 97417a1038 SITL: rename SITL::GPS_GSOF to SITL::GPS_Trimble 2023-11-29 18:04:56 +11:00
Peter Barker a143d2e453 SITL: remove trailing whitespace in SITL GPS drivers
we've just lost the history for these lines anyway
2023-11-29 18:04:56 +11:00
Peter Barker d992ead5b1 SITL: rename GSOF to Trimble
... as now it's not just GSOF but also DCOL
2023-11-29 18:04:56 +11:00
Peter Barker 568d633dcc SITL: break up GPS backends into separate files 2023-11-29 18:04:56 +11:00
Tom Pittenger f72dd8cc89 AP_Network: mavlink packetise requires mavlink 2023-11-29 12:29:19 +11:00
Andrew Tridgell 0d932e8a54 Filter: fixed uint8_t bug in total filters and expand_filter_count bug
this gets the right number of notches on quadplanes, but is still very
bad in fwd flight
2023-11-28 18:05:37 +11:00
Andrew Tridgell 002f1076d7 Filter: added optional notch debug logging
this has helped find multiple bugs
2023-11-28 18:05:37 +11:00
Andy Piper a61fc423f0 Filter: allow zero centre frequency to passthrough and disable notch 2023-11-28 18:05:37 +11:00
Iampete1 eb4e3fc36a AP_InertialSensor: init all notch center frequencies 2023-11-28 18:05:37 +11:00
jfbblue0922 c16e1a28df AP_HAL_ChibiOS/hwdef: changed defaults parm in JFB110 board definition
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-11-28 15:58:53 +09:00
Peter Barker 2e41cf810c Revert "AP_GPS: GSOF robust config parsing"
This reverts commit bf9881579c.
2023-11-28 16:09:46 +11:00
Peter Barker 8b7652d1db Revert "AP_GPS: Move init logic from constructor to class"
This reverts commit 5f84cd8f2b.
2023-11-28 16:09:46 +11:00
Ryan Friedman 35b52a4604 SITL: Implement DCOL parser and bidirectional comms
* Implement DCOL command support for GSOF simulator
* Only send GSOF when enabled
* Publish only at the configured rate
* Only build GSOF packets when needed
  * This saves CPU
* Make physics and read loop run at full rate
  * The logic to rate-limit writes is now pushed to the backend
* Indent errors were fixed too

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:50:02 +11:00
Ryan Friedman d7b5cd3203 AP_GPS: Fix missing GSOF param for SITL
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:50:02 +11:00
Ryan Friedman 5f84cd8f2b AP_GPS: Move init logic from constructor to class
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:44:37 +11:00