Commit Graph

1042 Commits

Author SHA1 Message Date
Peter Barker
dc2a5e02b6 AP_HAL_Linux: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
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