Commit Graph

183 Commits

Author SHA1 Message Date
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
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
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 54b6349a2a HAL_SITL: implement wind rate of change 2024-05-21 09:59:37 +10:00
Peter Barker 4005bce85c AP_HAL_SITL: add and use AP_RCProtocol_UDP 2024-03-25 22:35:04 +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
Andrew Tridgell f0aa2a65e4 HAL_SITL: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell c1016ae52e HAL_SITL: cope with no _sitl state 2024-01-02 08:12:37 +11:00
Peter Barker c953b4e512 AP_HAL_SITL: track simulated ADSB vehicles relative to simulation origin
removes dependence on ArduPilot AHRS library

Also removes vehicles based off vehicle simulated position rather than distance-from-origin, so you always have company
2023-11-02 15:52:42 +11:00
Andrew Tridgell f076f7c4f1 HAL_SITL: use nan to indicate no actuator value
this allows for multiple periph nodes, each providing a subset of
motors/servos
2023-08-24 13:06:40 +10:00
Andrew Tridgell b72f4a3cd8 HAL_SITL: enable GPIO and RC output in periph 2023-08-24 13:06:40 +10:00
Andrew Tridgell 823ac579cd HAL_SITL: added debug for multicast startup
useful for CI diagnosis
2023-08-24 13:06:40 +10:00
Andrew Tridgell 1144036a8d HAL_SITL: support servo and ESC output in SITL AP_Periph
use another UDP socket back to the main firmware from peripheral
2023-08-24 13:06:40 +10:00
Andrew Tridgell 65ced84a0e HAL_SITL: handle periph voltage/current and improve timing 2023-08-24 13:06:40 +10:00
Andrew Tridgell a42a2fec2a HAL_SITL: implement multicast comms for SITL AP_Periph 2023-08-24 13:06:40 +10:00
Ryan Friedman e0b23ddf8f AP_HAL_SITL: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
rishabsingh3003 4957785fef AP_HAL_STIL: add simulated nooploop tofsense rangefinder 2023-06-28 17:16:22 +10:00
Peter Barker ae7fb93e4c AP_HAL_SITL: add simulated RPLidarA1 2023-05-16 10:15:23 +10:00
Peter Barker 4ed4c2d554 AP_HAL_SITL: add simulator for RDS02UF rangefinder 2023-05-13 20:05:18 +10:00
Jonathan Challinger 4ef070956d AP_HAL_SITL: ADC resolution configurable by define, default to 16 bit 2023-05-09 11:42:09 +10:00
bugobliterator b65c74940d AP_HAL_SITL: setup for DroneCAN driver test build 2023-03-29 17:16:39 +11:00
Samuel Tabor 49fb4f37c5 SITL: Send VCAS in Flightgear packet. 2023-02-20 05:37:21 -08:00
Peter Barker ffa43c1b71 AP_HAL_SITL: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Andrew Tridgell 1c554ccc24 HAL_SITL: only do the cygwin speedup hack for scripting while armed
this stops us chewing lots of CPU while disarmed, and also stops the
logging thread from chewing a lot of CPU
2022-11-10 12:12:03 +11:00
Andrew Tridgell 1488edb1d8 HAL_SITL: fixed sleep time with speedup
and removed sleep in threads for cygwin, as granulatity of sleep is
too high, resuling in very poor lua performance
2022-11-07 21:22:43 +11:00
Andrew Tridgell 1871c6bef7 HAL_SITL: use motor mask for noise checking for motors 2022-10-16 20:38:19 +11:00
Andrew Tridgell 53997a284b AP_HAL_SITL: fixes from --ubsan autotest 2022-09-06 10:49:50 +10:00
Jeffrey Laut 3133aff352 SITL: fix simulated RC failure while receiving RC overrides 2022-09-02 12:08:34 +10:00
Peter Barker 1c7e2f5094 AP_HAL_SITL: correct bind-value SIM_RC_FAIL handling
If SITL is not receiving any sitl rc input (so _sitl_rc_in.recv(...) is allways returns -1 then the bind-values code would never be crossed so the RC input values would remain at their initialisation values rather than honouring the SIM_RC_FAIL setting which says they should go to bind values (notably throttle-to-950)
2022-08-10 17:14:21 +10:00
Henry Wurzburg e682296b58 AP_HAL_SITL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Clyde McQueen 25fd69b947 AP_HAL_SITL: init ArduSub pwm_output to [1500, ...]
Signed-off-by: Clyde McQueen <clyde@mcqueen.net>
2022-05-19 07:53:52 +10:00
Andrew Tridgell f8aa4623ef HAL_SITL: don't use terrain adjustment 2022-03-28 16:01:21 +11:00
Andrew Tridgell 535d7f0d85 AP_HAL_SITL: removed terrain home correction 2022-03-10 07:34:20 +11:00
Peter Barker ee341bc4eb SITL: add compilation option AP_SIM_CRSF_ENABLED 2022-01-15 21:56:33 +11:00
Peter Barker 08b8d3ad34 AP_HAL_SITL: correct compilation when SIM options disabled
AP_HAL_SITL: use AP_ASIM_GIMBAL_ENABLED

AP_HAL_SITL: use AP_SIM_ADSB_ENABLED

AP_HAL_SITL: use AP_SIM_RPLIDARA2_ENABLED

AP_HAL_SITL: use AP_SIM_PS_LIGHTWARE_SF45B_ENABLED

AP_HAL_SITL: use AP_SIM_PS_TERRARANGERTOWER_ENABLED

AP_HAL_SITL: use AP_SIM_AIS_ENABLED

AP_HAL_SITL: use AP_SIM_JSON_MASTER_ENABLED
2022-01-15 17:37:24 +11:00
Peter Barker fbe46f400f AP_HAL_SITL: stop passing home_str to _sitl_setup
This is poked into the model now
2021-12-13 09:30:33 +11:00
Peter Barker acbe567202 AP_HAL_SITL: consolidate rangefinder range calculations 2021-12-11 20:10:10 +11:00
Peter Barker cce14d8461 AP_HAL_SITL: remove unused _home_str member 2021-12-07 09:36:22 +11:00
Peter Barker cdccc67fb8 AP_HAL_SITL: make SITL::ADSB a SITL::SerialDevice 2021-11-23 11:09:29 +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
Andrew Tridgell 8192661042 AP_HAL_SITL: rename uLanding simulation to USD1 2021-10-26 15:31:12 +11:00
Peter Barker cf9bbb570c AP_HAL_SITL: correct nullptr check on simulated mavlink rangefinder
Obvious copy/paste error
2021-10-22 21:46:01 +11:00
Peter Barker 1ab8a3e3aa AP_HAL_SITL: make simulated GPS work as a SerialDevice 2021-10-21 12:09:21 +11:00