Commit Graph

1041 Commits

Author SHA1 Message Date
Andrew Tridgell a124d66110 AP_HAL_Linux: implement new scripting heap APIs 2024-11-20 07:32:03 +11:00
Peter Barker 43970c0c7a AP_HAL_Linux: re-order initialiser lines so -Werror=reorder will work 2024-11-13 06:40:37 +11:00
Peter Barker 27df5e0479 AP_HAL_Linux: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
junan 71a69367df AP_HAL_Linux: file descriptor leaking and other issues in "Storage" of Linux.
- Fixed the fd leaking issue in "_storage_create" found by @peterbarker
- Remove the unnecessary call of "unlinkat" in "_storage_create"
- Simplify the implementation of "init"

Signed-off-by: junan <junan76@163.com>
2024-09-17 10:09:05 +10:00
junan 4ee5b0ea12 AP_HAL_Linux: keep "dfd" open util fsync is done.
Since we want to do a fsync on "dfd", it can not be closed before that.

Signed-off-by: junan <junan76@163.com>
2024-09-09 09:28:51 +10:00
Pierre Kancir f1dd2bb2e8 AP_HAL_Linux: SITL: add missing header for timeval struct on alpine linux 2024-08-15 22:33:42 +10:00
Andrew Tridgell dbba4559ee HAL_Linux: removed unused I2C vector get_device 2024-07-11 11:20:47 +10:00
Andrew Tridgell 3980cbbb82 AP_HAL_Linux: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 2374d6f444 AP_HAL_Linux: removed run_debug_shell 2024-07-11 07:42:54 +10:00
xianglunkai 5b05a171a2 AP_HAL_Linux: remove unused includes 2024-06-17 09:51:38 +10:00
Brad Bosch f2f9349419 AP_HAL: Add support for parity to Serial passthrough
Add code to reflect USB ACM parity setting to the passthrough port alongside existing support for ACM baud rate changes.  Some use cases for serial passthrough require specific parity settings.

For example, even parity is used and required by the USART protocol used in the STM32 system bootloader. This enhancement allows the use of standard flash programming tools such as STM32CubeProgrammer to flash connected STM based peripherals such as Receivers and Telemetry radios via serial passthrough.  Some examples of such peripherals include the FrSky R9 receivers as well as various other STM based LoRa modules used by the mLRS project.
2024-06-11 09:24:32 +10:00
Andrew Tridgell f1c6538f34 AP_HAL_Linux: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Patrick José Pereira 34f5579699 AP_HAL_Linux: Remove message about base address
The value is the same as in the match

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-05-13 10:46:58 -03:00
Patrick José Pereira 6016e411e0 AP_HAL_Linux: Add support to Raspberry Pi 5
The Raspberry Pi 5 has a coprocessor that takes care of the IO over the BCM.
This adds support to the new RP1 processor.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-05-13 10:46:58 -03:00
Patrick José Pereira 3f451b9f4c AP_HAL_Linux: Util_RPI: Add message about unknown board
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-05-13 10:46:58 -03:00
Patrick José Pereira 4af6142933 AP_HAL_Linux: Util_RPI: Add support to RPI5 identification
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-05-13 10:46:58 -03:00
Peter Barker 599ff17f34 AP_HAL_Linux: fix SPIUARTDriver to work with GPS autodetection
GPS auto-detection requires get_baud_rate to return non-zero.  The SPIUARTDriver was returning 0.
2024-05-08 17:13:58 +10:00
Peter Barker 7319422d6c AP_HAL_Linux: remove unused RC input methods
these protocols have come from AP_RCProtocol for years
2024-05-07 09:49:48 +10:00
Oleksiy Protas cadd121401 Bounds correctness for AnalogIn_IIO 2024-04-16 09:14:55 +10:00
Oleksiy Protas 364e6f06f3 AP_HAL_Linux: delay signal handlers setup
Allow default signals before full initialization in Linux, this makes sure we don't get an unkillable process if it hangs on initialization

Exit flag marked volatile to counteract possible compiler optimization due to the handler code running in a different context
2024-04-05 11:36:29 +11:00
Andrew Tridgell cfad74ce6b AP_HAL_Linux: fixed get_baud_rate() 2024-02-29 11:00:40 +11:00
Peter Barker df3267c9ba waf: remove SKETCH and SKETCHNAME from build sysmte
... renaming one of them to AP_BUILD_TARGET
2024-02-26 15:42:25 +11:00
Richard Allen bf1d364201 HAL_Linux: reduce delay(ms) jitter
Fix delay(1) rarely returning immediately.
On my RPi4, this once per 5-20k calls that worked.

Reduce the last call to microsleep according to the
remaining time needed in the last loop iteration.
2024-02-26 09:15:52 +11:00
Andrew Tridgell 1f2b9df290 HAL_Linux: fixed float calc of time for onboard flow 2024-02-06 07:31:21 +11:00
Andrew Tridgell 45ca3ad4bb HAL_Linux: fixed time function to use integer maths
avoid floating point rounding errors after long uptimes.

thanks to Richard (RSAXVC) for finding this
2024-02-06 07:31:21 +11:00
Andrew Tridgell 34c737de36 HAL_Linux: 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 ce6adcfe83 AP_HAL_Linux: added PRIORITY_NET 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
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
Thomas Watson e460a19b17 AP_HAL_Linux: deprecate and warn on legacy --uartX option use 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 764b469e47 AP_HAL_Linux: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Ka Ru ce177a3637 AP_HAL_Linux: add can-zero board 2023-12-05 07:41:06 -06:00
Thomas Watson 8fe95dca81 AP_HAL_Linux: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Willian Galvani d33facd884 AP_HAL_Linux: add newline and remove stray semicolon 2023-10-31 20:34:24 -03:00
Willian Galvani 60a38a0ab1 AP_HAL_Linux: set bw_in_bytes_per_second default to 10/100Mbps connection 2023-10-31 11:00:28 +11:00
Andrew Tridgell cb62e48164 HAL_Linux: use the AP_RCProtocol sbus decoder for Linux 2023-10-13 09:42:25 +11:00
Richard Allen c8f9d193fb AP_HAL_Linux: make all semaphores priority-inherit 2023-09-06 15:58:58 -05:00
Andrew Tridgell 559e85df11 HAL_Linux: inherit CAN stats structure
this allows for the last_transmit_us field
2023-09-05 06:56:51 +10:00
Andrew Tridgell aaa2746bff AP_HAL_Linux: added last_transmit_us to CAN stats 2023-09-05 06:56:51 +10:00
Willian Galvani e82949d241 AP_HAL_Linux: update Navigator available GPIOs
The comment was wrong. gpio 26 is actually used for the PCA Output Enable signal.
This also adds GPIO18, which is the one broken out to the PWM0 pin
2023-09-04 18:06:37 +10:00
Andrew Tridgell 51af21f6d9 HAL_Linux: removed ESC scaling, moved to AP_HAL 2023-08-24 13:06:40 +10:00
Andrew Tridgell 8ed289a514 AP_HAL_Linux: removed native_millis/micros 2023-08-24 13:06:40 +10:00
Andrew Tridgell 25761c3a8e AP_HAL_Linux: moved UART port locking up to AP_HAL 2023-07-12 17:06:02 +10:00
Peter Barker 9ee6be8a55 AP_HAL_Linux: fix help ouput from Options to Examples 2023-06-17 17:51:34 +10:00
Neil Bertram dcafaf3ab2 AP_HAL_Linux: Improve the self-documentation and configuration of serial ports for the Linux HAL 2023-06-17 14:46:27 +10:00
Mohammad Hefny 9314163bb0 AP_HAL_Linux: Fix RPI check using enumerations 2023-06-17 14:44:38 +10:00
acxz 7aa8347374 AP_HAL_Linux: remove std:: scope from uint16_t 2023-05-17 11:15:43 +10:00