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
b0ceaa7610
AP_HAL_SITL: use DataRateLimit helper
2024-04-23 09:16:55 +10:00
Iampete1
e970a6cb5d
AP_HAL_SITL: UARTDriver: add getters for cumulative tx and rx counts
2024-04-09 10:00:50 +10:00
Iampete1
0b95b515bd
AP_HAL_SITL: implement uart_info to populate @SYS/uarts.txt
2024-04-03 13:10:06 +01:00
Andrew Tridgell
6a16cbf3bb
AP_HAL_SITL: fixed get_baud_rate()
2024-02-29 11:00:40 +11:00
Andrew Tridgell
69df468b88
AP_HAL_SITL: use SocketAPM_native
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
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
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
Willian Galvani
b3f2945dcb
AP_HAL_SITL: set bw_in_bytes_per_second to 10/100Mbps connection
2023-10-31 11:00:28 +11:00
Peter Barker
7b83ccfdd1
AP_HAL_SITL: change SITL unbuffered writes to more-closely minim ChibiOS HAL
...
We don't ever actually do unbuffered writes in ChibiOS. We just poke the relevant thread to say there's data available. This kind of mimics that my instantly evoking the same routine the timer-tick method does, which may or may not get all of the bytes out in good order.
2023-07-26 17:06:27 +10:00
Peter Barker
2cb3265131
AP_HAL_SITL: factor _timer_tick into read/write methods
2023-07-26 17:06:27 +10:00
Andrew Tridgell
4f81a40066
AP_HAL_SITL: moved UART port locking up to AP_HAL
2023-07-12 17:06:02 +10:00
Peter Barker
d626197c0b
AP_HAL_SITL: 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
Peter Barker
6c03134169
AP_HAL_SITL: use AP_CSVReader to read from Log serial-async dump
2023-01-17 11:21:48 +11:00
Peter Barker
9ebd0cdeed
AP_HAL_SITL: use SITL::SerialDevice in place of pipe for communication
2021-11-06 16:54:07 +11:00
Peter Barker
02dc42275c
AP_HAL_SITL: remove unused/unimplemented methods/vars, tidy namespacing
2021-10-28 09:09:44 +11:00
Peter Barker
a52e823967
AP_HAL_SITL: implement read(buf, length)
2021-07-12 12:11:30 +10:00
Patrick José Pereira
dc6f5aec92
AP_HAL_SITL: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker
65834234af
AP_HAL_SITL: correct use of uninitialised value in tcp UARTDriver
...
In the case we already have a _listen_fd, sockaddr wasn't being
initialised before being printed to stdout.
2020-08-11 10:07:52 +10:00
Peter Barker
80615c44ff
AP_HAL_SITL: add discard_input method on UARTDriver
2020-05-26 09:20:32 +10:00
Peter Barker
7028eb8d24
AP_HAL_SITL: provide method to get amount of data still pending in outbound system queues
2020-04-07 14:51:32 +10:00
Peter Barker
9da0e480f2
AP_HAL_SITL: add support for bi-directional simulated serial devices
2019-11-08 20:12:28 +11:00
Peter Barker
26c01accb9
AP_HAL_SITL: remove unused from method
2019-03-23 11:23:07 +11:00
Andrew Tridgell
d176776357
HAL_SITL: support limiting baudrate of simulated telemetry
2019-01-27 08:56:12 +11:00
Andrew Tridgell
73672c90d1
HAL_SITL: added support for multicast UDP connections
...
this allows several copies of SITL to see each other on the same
network, emulating a mesh network, which is useful for swarm testing
2018-12-06 11:12:40 +11:00
Andrew Tridgell
50018d7a7c
HAL_SITL: use mavlink_packetise()
2018-12-06 11:12:40 +11:00
Andrew Tridgell
9f8f36aad8
HAL_SITL: added udpclient support
...
this allows direct UDP output from SITL
2018-12-06 11:12:40 +11:00
Peter Barker
fdfe5ac75a
AP_HAL_SITL: add override keyword where required
2018-11-08 11:30:12 +11:00
Andrew Tridgell
049e3ae02d
HAL_SITL: take account of available bytes in receive_time_constraint_us
2018-05-21 14:53:18 +10:00
Andrew Tridgell
4e452c77f8
HAL_SITL: implement UART timestamp API
2018-05-16 18:49:22 +10:00
Andrew Tridgell
da4d3ebe2b
HAL_SITL: fixed UART utils for cygwin and Linux
2017-12-01 08:02:48 +11:00
Tom Pittenger
6bdbe53024
AP_HAL_SITL: fix compile error for Windows/Cygwin builds
...
termios2 not available on cygwin. This needs a re-think for cygwin. For now let's just hide it by letting it be declared empty by the virtual and totally bypass it in the cygwin build.
2017-11-30 12:17:49 -08:00
Mark Whitehorn
5a417e3152
AP_HAL_SITL: support SBusOut
...
add uart config methods
2017-11-30 10:20:04 +11:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell
25f1dbd8c2
HAL_SITL: allowed SITL to reopen uart connections
2016-08-23 09:30:17 +10:00
Murilo Belluzzo
077e03678f
Global: Adapt Stream class to be used with Ringbuffer
2016-08-03 01:44:02 -03:00
Andrew Tridgell
635a975486
HAL_SITL: use a smaller buffer for real SITL UARTs
...
better emulation of real hw
2016-05-23 23:41:02 +10:00
Lucas De Marchi
bcdc3336de
AP_HAL_SITL: replace header guard with pragma once
2016-03-16 18:40:41 +11:00
Andrew Tridgell
655f57ad01
HAL_SITL: cleanup class names
...
remove SITL prefix
2016-01-10 17:43:01 +11:00
Andrew Tridgell
492c733750
HAL_SITL: added RingBuffers to UART driver
...
makes for faster log download
2016-01-10 17:43:01 +11:00
Andrew Tridgell
6c064ae8bd
HAL_SITL: flow control is enabled on SITL
...
faster parameter download
2016-01-06 19:16:08 +11:00
Andrew Tridgell
a5a1680fb3
HAL_SITL: added support for real UART devices
...
This allows use of real UART devices in the simulator. Useful for GPS
driver work or other MAVLink peripherals
2015-11-04 11:29:04 +11:00
Gustavo Jose de Sousa
27b9d71e2c
AP_HAL_SITL: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:28:43 +10:00
Andrew Tridgell
8ec98a5ec9
SITL: make it possible to connect two SITL instances together
...
this adds --client to set uartC as a tcp client rather than a TCP
server
2015-05-10 15:36:18 +10:00
Andrew Tridgell
c81ad1d622
HAL_SITL: reformat HAL_SITL with astyle
2015-05-05 10:59:07 +10:00
Andrew Tridgell
40e3b422b5
HAL_SITL: rename HAL_AVR_SITL to HAL_SITL
...
it is nothing to do with the original AVR emulation now
2015-05-05 09:45:54 +10:00