Commit Graph

35187 Commits

Author SHA1 Message Date
Peter Barker f7365556d0 AP_HAL_ChibiOS: tidy disabling of GHST on iomcu 2024-01-16 09:46:57 +11:00
Thomas Watson d554ade7ce AP_IOMCU: match thread stack pointer types to ChibiOS
`__main_thread_stack_base__` and `__main_thread_stack_end__` are
variables whose address is defined to be the corresponding part of the
stack. These are declared as `extern stkalign_t` in ChibiOS code, and
being declared as `extern uint32_t` in ArduPilot code creates a warning
at link time when using LTO. Correct the declaration to eliminate this
warning.

Also update `__main_stack_base__` and `__main_stack_end__` which don't
currently trigger this warning but serve similar purposes and so might
in the future.

The hardware expects an alignment of `stkalign_t` (which is 8 bytes) and
the linker script defines the variable values with this alignment as
well, so this is safe.

No code size or functional change.
2024-01-16 09:24:34 +11:00
Thomas Watson 5f5673b58f AP_HAL_ChibiOS: match thread stack pointer types to ChibiOS
`__main_thread_stack_base__` and `__main_thread_stack_end__` are
variables whose address is defined to be the corresponding part of the
stack. These are declared as `extern stkalign_t` in ChibiOS code, and
being declared as `extern uint32_t` in ArduPilot code creates a warning
at link time when using LTO. Correct the declaration to eliminate this
warning.

Also update `__main_stack_base__` and `__main_stack_end__` which don't
currently trigger this warning but serve similar purposes and so might
in the future.

The hardware expects an alignment of `stkalign_t` (which is 8 bytes) and
the linker script defines the variable values with this alignment as
well, so this is safe.

No code size or functional change.
2024-01-16 09:24:34 +11:00
Peter Barker 6ecb8ce023 AP_Relay: add missing SITL include
was being satisfied transitively
2024-01-15 20:41:58 +11:00
Peter Barker d0e7039b68 hwdef: remove un-needed AP_PARAM_MAX_EMBEDDED_PARAM default
these boards have <= 1024, and we have code in place which defaults this value tto 1024
2024-01-15 20:25:59 +11:00
Peter Barker 7cf66d917c hwdef: correct compilation of revo-mini-sd
this isn't built on the firmware server, so we won't notice when it dies

In this case the SMBUS batter define was being set differently

Also remove some redundant defines which come from includes anyway
2024-01-15 20:24:37 +11:00
Peter Barker d4f59cbe5f hwdef: remove HAL_NO_LOGGING from Here4FC-bl.dat
this was removed from master a long time ago
2024-01-15 09:40:35 +11:00
Peter Barker ad90e37f21 hwdef: remove bad AP_PERIPH_HAVE_LED lines from bootloaders
this define is only used within the AP_Periph directory
2024-01-15 09:40:35 +11:00
Peter Barker 4f56691f05 AP_Relay: correct compilation when many features removed 2024-01-15 09:39:41 +11:00
Peter Barker f722457854 AP_ExternalAHRS: correct compilation with MicroStrain5 disabled 2024-01-15 09:39:41 +11:00
Peter Barker 7898d6f107 AP_ExternalAHRS: correct compilation when baro and compass externalahrs disabled 2024-01-15 09:39:41 +11:00
Maxim Buzdalov 30146affa5 AP_ESC_Telem: Log RPM and raw RPM values as floats 2024-01-14 12:43:18 -08:00
Peter Barker bcf6578d56 AP_Module: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker caf1e33f17 GCS_MAVLink: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker c4dc0ae101 AP_WindVane: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker 1183328266 AP_Vehicle: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker 7f43facb37 AP_TECS: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker ba68d0fcbe AP_Soaring: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker 57b1ab3ad9 AP_RCTelemetry: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker 49bc553cda AP_OSD: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker 49c697221a AP_Mount: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker 71a00dc733 APM_Control: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker c821726bf4 AP_Landing: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker 91fbe46466 AP_L1_Control: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker a81b229997 AP_InertialSensor: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker cad4bd41e9 AP_Compass: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
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