Commit Graph

1032 Commits

Author SHA1 Message Date
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
Andy Piper
b5d7d06886 AP_HAL_Linux: QSPI -> WSPI 2023-04-28 08:31:15 +10:00
Andrew Tridgell
d5effcdf92 AP_HAL_Linux: change to 16 bit timeout in event interface
prevent issues on 16 bit timers where we can end up with TIME_INFINITE
2023-04-19 17:26:57 +10:00
bugobliterator
ee310433e5 AP_HAL_Linux: add option to use vitual CAN in linux 2023-03-29 17:16:39 +11:00
Peter Barker
a10f5dbd0a AP_HAL_Linux: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +11:00
Richard Allen
90cbb6ad26 AP_HAL_Linux: Update GPIO and RCInput for pi version change
Update version numbers according to earlier change.

Fixes: 53c1c235b8
2023-02-22 21:10:04 -08:00
Richard Allen
693068e68a AP_HAL_Linux: more rpi initialization checks
Check more mmap() call sites for failure and exit.
Also exit when starting on an unknown board.
2023-02-22 21:10:04 -08:00
Andrew Tridgell
deb86be1da AP_HAL_Linux: added old_size to heap_realloc 2023-01-16 09:19:16 +11:00
Andrew Tridgell
03f4ab515d AP_HAL_Linux: check for alloc failure of ObjectBuffer 2023-01-08 15:11:32 +11:00
Mohammad Hefny
feece150c6 AP_HAL_Linux: Raspberry 64OS Address fix 2022-12-27 10:03:41 +11:00