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
Iampete1
d340f37678
AP_HAL: UARTDriver: Add new flow control option "FLOW_CONTROL_RTS_DE" for RS485 driver enable.
2024-05-28 09:48:19 +10:00
Iampete1
1e63ec24a8
AP_HAL: UARTDriver: add log_stats method and log structure
2024-04-09 10:00:50 +10:00
Iampete1
a4fd3980a8
AP_HAL: UARTDriver: add getters for cumulative tx and rx counts
2024-04-09 10:00:50 +10:00
Iampete1
c64124daf9
AP_HAL: Add StatsTracker helper
2024-04-03 13:10:06 +01:00
Andrew Tridgell
f77f8e5ad7
AP_HAL: added is_write_locked() for UARTs
2024-01-18 14:57:57 +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
ceb07c3f7b
AP_HAL: moved locking to AP_HAL and added monitor callback
2023-07-12 17:06:02 +10:00
Peter Barker
394d70abe0
AP_HAL: 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
olliw42
866db281a6
AP_HAL: bw_in_bytes_per_second()
2023-01-31 17:58:04 +11:00
Peter Barker
a2444d1df3
AP_HAL: enumeration format fixes
2023-01-25 19:50:34 +11:00
Andy Piper
445aad17c9
AP_HAL: add UART baudrate accessor
2022-12-22 18:38:31 +00:00
jackhong12
4a4f361a17
all: use CLASS_NO_COPY() macro
2022-10-04 11:23:04 +11:00
Peter Barker
3a1340236a
AP_HAL: add HAL_UART_STATS_ENABLED to disable stats gathering
2022-01-12 18:30:49 +11:00
Stephen Dade
68ca18329c
AP_HAL: Add UART option to not override streamrates
2021-12-15 14:14:07 +11:00
Andrew Tridgell
51da1c3eff
AP_HAL: added disable_rxtx() to UARTs
2021-11-07 07:00:35 +11:00
bugobliterator
4b8b0f834d
AP_HAL: add support for usb passthrough with baud changes
2021-07-21 17:06:41 +10:00
Andrew Tridgell
269c4084d2
AP_HAL: added serial option for disabling FIFO on uarts
2021-07-15 11:31:55 +10:00
Andrew Tridgell
162cecadec
AP_HAL: added set_CTS_pin and set_RTS_pin
2021-07-09 13:27:57 +10:00
Andrew Tridgell
d8a6d9c5c4
AP_HAL: added uart_info() method
2021-06-05 18:52:33 +10:00
Andy Piper
4d4d3683b6
AP_HAL: add accessor for UART dma status
2021-05-05 17:50:42 +10:00
Andy Piper
a07b238c7d
AP_HAL: add PRIORITY_RCOUT
...
don't allow UART copies
add @SYS/uarts.txt
2021-02-20 14:37:11 +11:00
Siddharth Purohit
aa893b3983
AP_HAL: add available method for locked state
2020-08-19 17:31:09 +10:00
Michael du Breuil
1fef30eef1
AP_HAL: Extend UART options to include forwarding MAVLink telemetry
2020-07-22 07:17:49 +10:00
Andrew Tridgell
4eccea2607
AP_HAL: define more UART option bits
2020-01-03 17:32:23 +11:00
Andrew Tridgell
6983186210
AP_HAL: added get_options() method on UARTs
2019-09-06 08:51:45 +10:00
Andrew Tridgell
1fd1614e34
AP_HAL: added locking against read for UARTs
2018-12-29 15:58:22 +11:00
Andrew Tridgell
bed7939969
AP_HAL: added support for swapping RX and TX pins
2018-11-20 18:25:20 +11:00
Andrew Tridgell
58ed5a123c
AP_HAL: added HalfDuplex UART option
2018-11-14 19:05:09 +11:00
Andrew Tridgell
37fc6e8b1c
AP_HAL: added inversion options
2018-11-14 19:05:09 +11:00
Peter Barker
f8b1203399
AP_HAL: provide method returning approximate link bandwidth
2018-10-30 19:31:37 +11:00
Michael du Breuil
a92c4aa9fd
AP_HAL: Update comment on UARTDriver::begin to reflect automatic
...
clearing
2018-06-26 02:18:18 +01:00
Andrew Tridgell
b887a1e893
AP_HAL: make receive_time_constraint_us non-const
...
needed to use available()
2018-05-21 14:53:18 +10:00
Andrew Tridgell
f7a239d833
AP_HAL: added function for last receive timestamp on uarts
...
this is used for mavlink vision time estimates
2018-05-16 18:49:22 +10:00
Andrew Tridgell
85ae6f60a8
AP_HAL: added UART locking interface
...
used to gain exclusive access to a UART. This is needed for the BLHeli
MSP protocol to prevent protocol corruption due to console writes
2018-04-07 09:10:29 +10:00
Peter Barker
6c7c916c78
AP_HAL: eliminate AP_HAL::Print and AP_HAL::Stream
...
Just *way* too many layers involved here
2018-03-23 08:12:38 +11:00
Andrew Tridgell
5179d13dbf
AP_HAL: added virtual _timer_tick method on UARTDriver
...
this is needed to allow HALs to update UARTs when the number of UARTs
they bhave varies (some may be instances of HAL_Empty)
2018-02-07 20:33:45 +11:00
Andrew Tridgell
391affc02d
AP_HAL: support ChibiOS
2018-01-15 11:46:02 +11:00
Mark Whitehorn
66c4b7d986
AP_HAL: support SBusOut
...
rename enable_sbus_out to enable_px4io_sbus_out
2017-11-30 10:20:04 +11:00
Andrew Tridgell
6e065b3fe2
AP_HAL: fixed typo
2016-07-01 15:35:07 +10:00
Lucas De Marchi
dbf2aedf1e
AP_HAL: replace header guard with pragma once
2016-02-18 14:52:34 -02:00
Lucas De Marchi
d19c5035b6
Global: Rename printf format attribute
...
As commented in 8218140
("AP_Common: add scanf format macro"), "FORMAT"
was a bad name for this macro since there's also the scanf. Rename to
FMT_PRINTF to follow the scanf name.
2015-12-01 07:22:12 +11:00
Lucas De Marchi
a65c98485c
AP_HAL: UARTDriver: remove _P() variants
...
They aren't used anymore so remove.
2015-10-30 14:35:31 +09:00
Lucas De Marchi
1b07dabeb7
Replace prog_char and prog_char_t with char
...
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.
AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi
2322b8014d
AP_HAL: use common macro for printf formatting
2015-10-24 14:26:36 +11:00
Andrew Tridgell
6fb00f4fc3
AP_HAL: create a common utility/RingBuffer.h header
2015-01-07 08:41:14 +11:00
Staroselskii Georgii
e4a21f291d
AP_HAL_Linux: added LinuxSPIUARTDriver that can handle SPI-driven Ublox
2015-01-07 08:41:12 +11:00
Andrew Tridgell
7c1b9b344f
AP_HAL: added get_flow_control() API
2014-02-14 21:51:00 +11:00
Andrew Tridgell
ccb7dc640d
AP_HAL: fixed a build warning
2014-02-12 10:51:58 +11:00
Andrew Tridgell
c5c1d1358a
HAL_PX4: added automatic hardware flow control detection
...
this allows us to detect if hardware flow control is not available and
automatically disable it
2014-02-11 12:11:26 +11:00