Commit Graph

47 Commits

Author SHA1 Message Date
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