Commit Graph

709 Commits

Author SHA1 Message Date
Peter Barker
8085c44840 AP_HAL_SITL: remove redundant gps state
shadows stuff in base class
2024-11-12 14:16:01 +11:00
Peter Barker
3716f5513d AP_HAL_SITL: process inbound data in outqueue-length delay loop
this is the loop which ensures the amount of data sent to the mavlink client (usually Python) is limited - if we don't do this then we lose vast amounts of data when running at large speedups.

By attempting to process inbound data we may realise that the TCP connection has been dropped, and in that case we will start to listen for another connection.

This allows you to terminate the sim_vehicle.py MAVProxy and have it automagically restart (when running under GDB).  This is very useful for testing MAVProxy patches with SITL; it's a different workflow to opening an output and connecting a new version of MAVProxy to that outout.
2024-11-12 13:54:08 +11:00
Richard Allen
bc9e135d6f AP_HAL_SITL: support port SITL to OpenBSD 2024-11-06 14:17:31 +11:00
Peter Barker
b6426516b8 AP_HAL_SITL: work around bug in dash
dash doesn't search the path for scripts, so allow user to specify path to ArduPilot scripts
2024-08-07 17:03:52 +10:00
Bob Long
64fc60ce32 AP_HAL_SITL: initialize rcout safety state
This allows BRD_SAFETY_DEFLT=1 to work correctly for SITL.
2024-07-30 08:44:31 +10:00
muramura
7731fc09e2 AP_HAL_SITL: If HAL_CAN_WITH_SOCKETCAN is undefined, treat it as NONE 2024-07-23 10:47:16 +10:00
Peter Barker
ed3aeb39fd AP_HAL_SITL: split MAVLink and physical gimbal simulations 2024-07-21 17:01:47 +10:00
Peter Barker
9b3809c89f AP_HAL_SITL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Thomas Watson
a3aa278589 AP_HAL_SITL: improve periph simulation efficiency
Removes busywait for simulation state packet, dramatically reducing CPU
usage. The dominant wait time in AP_Periph is 1024 microseconds as this
is the default value of HAL_PERIPH_LOOP_DELAY_US, so a 1ms wait is
unlikely to be a problem.
2024-07-17 09:06:16 +10:00
Thomas Watson
1c54dd9e5d AP_HAL_SITL: allow disabling CAN interfaces
Also corrects an issue where setting an invalid type could result in
undefined behavior.
2024-07-16 10:13:11 +10:00
Iampete1
b75c62d267 AP_HAL_SITL: AnalogIn: return false for set pin to ANALOG_INPUT_NONE 2024-07-14 17:11:47 +10:00
Andrew Tridgell
393cd3252b AP_HAL_SITL: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell
c4addb7dd0 AP_HAL_SITL: removed run_debug_shell 2024-07-11 07:42:54 +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
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