the same code present in the normal HAL-SITL scheduler was not copied across when this method was created.
Without it, if a non-main thread called delay we will attempt to do things like update the sitl_model (ie. SIM_Aircraft) object. We have no protections in place (nor should we have) for this happening when the main thread is in the middle of doing the SITL updates, so corruption is definitely going to happen at some stage!
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.
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.
removes dependence on ArduPilot AHRS library
Also removes vehicles based off vehicle simulated position rather than distance-from-origin, so you always have company