Commit Graph

711 Commits

Author SHA1 Message Date
Andrew Tridgell 0e1bad605a AP_HAL_SITL: removed heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell bfeed7cc32 AP_HAL_SITL: implement new scripting heap APIs 2024-11-20 07:32:03 +11:00
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