Commit Graph

696 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
Peter Barker
6ae0b5ec5b AP_HAL_SITL: log number of times sim paused on serial0 buffer
SITL pauses the simulation if we do not have a minimum amount of space in its out queue.

Log the number of times we do this.
2024-06-11 08:51:25 +10:00
Andrew Tridgell
17e338d7f6 AP_HAL_SITL: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell
4f6653e5c7 HAL_SITL: avoid std::vector in command line handling
use ObjectArray instead
2024-06-04 09:20:21 +10:00
Andrew Tridgell
c764e60aa0 HAL_SITL: avoid use of std::queue
use ObjectArray instead
2024-06-04 09:20:21 +10:00
Andrew Tridgell
c2a9bc93b5 SITL: added --uartA alias for SITL
needed for MissionPlanner SITL

see https://github.com/ArduPilot/MissionPlanner/pull/3359

we will need this till a new stable release of MissionPlanner is done
2024-06-01 21:35:55 +10:00
Pierre Kancir
9623e7a249 AP_HAL_SITL: Give tcp client 3 attempts to connect
This make tcp client connection easier when connecting multiple sitl instances
2024-05-29 13:12:09 +10:00
Thomas Watson
0956b4f65d AP_HAL_SITL: remove deprecated --uartX options
Code remains to check for use of these options and give an error which
contains the correct option to use, due to the non-intuitive mapping
between --uartX and --serialN.

A future version will remove that code too.
2024-05-28 09:23:39 +10:00
Andrew Tridgell
54b6349a2a HAL_SITL: implement wind rate of change 2024-05-21 09:59:37 +10:00
Andrew Tridgell
b4ebae5e1b HAL_SITL: use baro atmospheric tables 2024-05-07 21:19:06 +10:00
Andrew Tridgell
4370d2e348 HAL_SITL: added Glider SITL model 2024-05-05 07:57:54 +10:00
Andrew Tridgell
4bb5a9ac52 HAL_SITL: link in StratoBlimp 2024-04-27 22:03:05 +10:00
Iampete1
64b57de559 AP_HAL_SITL: call _sitl->set_stop_MAVLink_sim_state() when alocating elrs 2024-04-23 09:16:55 +10:00
Iampete1
cbd5bcb694 AP_HAL_SITL: SITL_State_common: add elrs and pass portnumber in create_serial_sim 2024-04-23 09:16:55 +10:00
Iampete1
b0ceaa7610 AP_HAL_SITL: use DataRateLimit helper 2024-04-23 09:16:55 +10:00
Tatsuya Yamaguchi
8874c1a560 AP_HAL_SITL: added HEXA X 2024-04-18 08:25:41 +10:00
Iampete1
6017f372a2 AP_HAL_SITL: and uart_log method and stats struct 2024-04-09 10:00:50 +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
d93cc7f113 AP_HAL_SITL: report baudlimit_enable in bw_in_bytes_per_second function 2024-04-03 13:10:06 +01:00
Iampete1
0b95b515bd AP_HAL_SITL: implement uart_info to populate @SYS/uarts.txt 2024-04-03 13:10:06 +01:00
Peter Barker
db0188d3a3 AP_HAL_SITL: add support for RC input from SITL FDM data 2024-03-25 22:35:04 +11:00
Peter Barker
4005bce85c AP_HAL_SITL: add and use AP_RCProtocol_UDP 2024-03-25 22:35:04 +11:00
jkronk
c38cdc7d72 AP_HAL_SITL: add Ainstein SITL driver 2024-03-18 12:40:37 -07:00
Peter Barker
a77a894b8a AP_HAL_SITL: correct define around use of RC singleton
... you may not be a periphs and *still* not have RC...
2024-03-12 09:09:21 +11:00
Peter Barker
7d8e58ea17 AP_HAL_SITL: move support for SFML joysticks down into AP_RCProtocol 2024-03-12 08:48:35 +11:00
Andrew Tridgell
6a16cbf3bb AP_HAL_SITL: fixed get_baud_rate() 2024-02-29 11:00:40 +11:00
Andrew Tridgell
a74dab8c0a HAL_SITL: don't run IO procs in examples 2024-02-28 19:22:14 +11:00
Andrew Tridgell
39efe75e79 HAL_SITL: allow delay() and delay_microseconds() to work in examples
when we have no sitl object we need to directly call stop_clock()
2024-02-28 19:22:14 +11:00
Andrew Tridgell
e4c103972c HAL_SITL: use NoVehicle for example tests and replay
allows for example runs without -C --model XXX
2024-02-28 19:22:14 +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
Andrew Tridgell
c26f6d0a98 HAL_SITL: use integer maths for clocks
same fix as for HAL_Linux
2024-02-06 07:31:21 +11:00
Peter Barker
34188e892f AP_HAL_SITL: correct ubsan compilation 2024-01-23 11:30:23 +11:00
Peter Barker
940b6fd1fb AP_HAL_SITL: new Loweheiser generator/efi sim 2024-01-23 11:27:30 +11:00
Peter Barker
efd5fec24d AP_HAL_SITL: allow sim_vehicle.py -I to work again
... or at least not die instantly because instance-0 has bound this port
2024-01-17 18:29:26 +11:00
Peter Barker
7201eae4ed AP_HAL_SITL: move simulated height_agl into fdm structure
allows value to be shipped via multicast to simulated peripherals
2024-01-08 20:00:01 +11:00
Andrew Tridgell
69df468b88 AP_HAL_SITL: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell
b28912c351 HAL_SITL: cope with no _sitl state 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
Peter Barker
f83b561566 AP_HAL_SITL: guard against DSP being compiled out of code 2024-01-03 11:45:31 +11:00
Andrew Tridgell
f0aa2a65e4 HAL_SITL: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell
7059f980b8 HAL_SITL: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Oleksiy Protas
e855c9f46a AP_HAL_SITL: ensure stdint include 2024-01-02 13:42:58 +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
Andrew Tridgell
c1016ae52e HAL_SITL: cope with no _sitl state 2024-01-02 08:12:37 +11:00
Andrew Tridgell
ac49480f6a HAL_SITL: disable FG view by default 2024-01-02 08:12:37 +11:00
Andrew Tridgell
74c2855be3 HAL_SITL: implement begin(0) on UARTs
the begin(0) is used to claim a uart for the current thread in
ChibiOS, we need to ignore it on SITL and not change baudrate
2023-12-26 06:21:42 +11:00
Andrew Tridgell
f3303c9272 HAL_SITL: use uint64_div1000()
match ChibiOS
2023-12-21 09:09:11 +11:00
Thomas Watson
14180b5b93 AP_HAL_SITL: deprecate and warn on legacy --uartX option use 2023-12-19 06:53:15 +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
Thomas Watson
c56599e210 AP_HAL_SITL: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00