Commit Graph

26 Commits

Author SHA1 Message Date
Peter Barker
d015618e70 AP_HAL_SITL: Periph: stop running SITL updates off main thread
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!
2025-01-14 12:15:45 +11: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
Andrew Tridgell
17e338d7f6 AP_HAL_SITL: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell
69df468b88 AP_HAL_SITL: use SocketAPM_native 2024-01-03 12:14:47 +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
Andrew Tridgell
58cf4f65a9 HAL_SITL: use SocketAPM for CAN multicast and SITL_Periph state 2023-11-25 12:19:43 -08: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
bf229b3dc1 HAL_SITL: enable ADSB simulator in SITL periph 2023-10-02 21:45:28 +11:00
Andrew Tridgell
18f3ab98e4 HAL_SITL: allow for I2C simulated devices in SITL AP_Periph
this allows for SMBbus batteries and other I2C simulated devices
2023-10-02 21:45:28 +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
823ac579cd HAL_SITL: added debug for multicast startup
useful for CI diagnosis
2023-08-24 13:06:40 +10:00
Andrew Tridgell
4a07f7a4eb HAL_SITL: block in MC read for packet in AP_Periph
can't advance time without a new multicast packet
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
b76e2342db HAL_SITL: added "Waiting for" message
this is needed for test.CAN autotest as it waits for periph startup
2023-08-24 13:06:40 +10:00
Andrew Tridgell
6d81f34db8 HAL_SITL: added --defaults handling to periph SITL 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
Andrew Tridgell
85c2c3609b AP_HAL_SITL: removed native_millis/micros 2023-08-24 13:06:40 +10:00
Andrew Tridgell
6e952bae17 HAL_SITL: allow override of serial devices in SITL periph 2023-07-12 17:06:02 +10:00
Andrew Tridgell
fca6f2cba2 HAL_SITL: fixed crash with command line args to SITL periph 2023-07-12 17:06:02 +10:00
Andrew Tridgell
b6ae79c700 HAL_SITL: fixed 64 bit periph build 2023-04-10 14:46:54 +10:00
bugobliterator
8e81ee0292 AP_HAL_SITL: add support for starting node in maintenance mode 2022-07-27 18:18:03 +10: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
1ab8a3e3aa AP_HAL_SITL: make simulated GPS work as a SerialDevice 2021-10-21 12:09:21 +11:00
bugobliterator
49d934eb42 AP_HAL_SITL: add support for multiple periph instances 2021-03-12 16:32:36 +09:00
bugobliterator
09a0d8d0c0 HAL_SITL: add support for AP_Periph SITL build 2020-11-04 19:59:40 +11:00