Commit Graph

657 Commits

Author SHA1 Message Date
Andrew Tridgell f0aa2a65e4 HAL_SITL: reimplement CAN with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell 7059f980b8 HAL_SITL: implement BinarySemaphore 2024-01-03 07:37:05 +11:00
Oleksiy Protas e855c9f46a AP_HAL_SITL: ensure stdint include 2024-01-02 13:42:58 +11:00
Andrew Tridgell cfa28c5246 HAL_SITL: fixed unbuffered UART writes in SITL
this was causing PPP to slow down by about 1000x due to duplicate
writes
2024-01-02 08:12:37 +11:00
Andrew Tridgell c1016ae52e HAL_SITL: cope with no _sitl state 2024-01-02 08:12:37 +11:00
Andrew Tridgell ac49480f6a HAL_SITL: disable FG view by default 2024-01-02 08:12:37 +11:00
Andrew Tridgell 74c2855be3 HAL_SITL: implement begin(0) on UARTs
the begin(0) is used to claim a uart for the current thread in
ChibiOS, we need to ignore it on SITL and not change baudrate
2023-12-26 06:21:42 +11:00
Andrew Tridgell f3303c9272 HAL_SITL: use uint64_div1000()
match ChibiOS
2023-12-21 09:09:11 +11:00
Thomas Watson 14180b5b93 AP_HAL_SITL: deprecate and warn on legacy --uartX option use 2023-12-19 06:53:15 +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
Thomas Watson c56599e210 AP_HAL_SITL: pass UARTs to AP_HAL in SERIALn order 2023-12-19 06:53:15 +11:00
Andrew Tridgell 38960a3db2 HAL_SITL: added InertialLabs simulator 2023-12-17 09:47:30 +11:00
Ryan Friedman 5bcdaa360e AP_HAL_SITL: Add MicroStrain7 support to SITL
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Thomas Watson 3c82ac6043 AP_HAL_SITL: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Andrew Tridgell 58cf4f65a9 HAL_SITL: use SocketAPM for CAN multicast and SITL_Periph state 2023-11-25 12:19:43 -08:00
Andrew Tridgell f30ac4052c HAL_SITL: added SERIAL4 as UDP output for SITL periph 2023-11-22 17:19:12 +11:00
Andy Piper 04fa8ed593 AP_HAL_SITL: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Peter Barker f134a1df34 AP_HAL_SITL: add simulator Hirth EFI 2023-11-17 13:09:02 +11:00
Peter Barker 2af98a949b AP_HAL_SITL: add JAE JRE simulator 2023-11-15 10:50:49 +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
Peter Barker c06a759710 AP_HAL_SITL: create and use ADSB sim when mxs simulator is in play 2023-11-02 15:52:06 +11:00
Willian Galvani b3f2945dcb AP_HAL_SITL: set bw_in_bytes_per_second to 10/100Mbps connection 2023-10-31 11:00:28 +11:00
Peter Barker 6d1d9df875 AP_HAL_SITL: add Sagetech MXS simulator 2023-10-25 20:06:47 +11:00
Andrew Tridgell 04bbe648e6 HAL_SITL: use AP_BUILD_ROOT 2023-10-25 09:50:08 +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 9afc30671f AP_HAL_SITL: added last_transmit_us to CAN stats 2023-09-05 06:56:51 +10:00
Andrew Tridgell b6e79d05fd HAL_SITL: support multicast UDP for CAN in SITL
this will work on windows and in WSL
2023-08-29 15:09:48 +10:00
Ryan Friedman fd3a1d448a AP_HAL_SITL: split to MicroStrain5
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-29 10:31:44 +10: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 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
Pierre Kancir d78fe1ad99 AP_HAL_SITL: fix possible divide by 0 on synth.hpp 2023-08-24 07:46:20 +10:00
Andrew Tridgell ba7d94d5ad HAL_SITL: mark all as double precision 2023-08-15 22:39:23 +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
Andy Piper 7238c603c1 AP_HAL_SITL: compile system as double so that time advances 2023-08-02 16:22:59 +01:00
Peter Barker 7b83ccfdd1 AP_HAL_SITL: change SITL unbuffered writes to more-closely minim ChibiOS HAL
We don't ever actually do unbuffered writes in ChibiOS.  We just poke the relevant thread to say there's data available.  This kind of mimics that my instantly evoking the same routine the timer-tick method does, which may or may not get all of the bytes out in good order.
2023-07-26 17:06:27 +10:00
Peter Barker 2cb3265131 AP_HAL_SITL: factor _timer_tick into read/write methods 2023-07-26 17:06:27 +10:00
Peter Barker 32659fd3b6 AP_HAL_SITL: correct return values on UARTDriver write call 2023-07-18 11:17:01 +10:00
Peter Barker f288ba7cd0 AP_HAL_SITL: correct parsing of --rate on SITL commandline
it's in the help but not in the code...
2023-07-15 00:13:12 +10:00
Peter Barker efc7b4b6ee AP_HAL_SITL: remove race in SITL::UARTDriver::_write
txspace could change if another thread is involved
2023-07-13 18:13:42 +10:00
Andy Piper d36149e1a8 AP_HAL_SITL: remove unused counter 2023-07-13 11:02:40 +10:00
Peter Barker 2c9551a25a AP_HAL_SITL: act on safety switch being enabled in SITL by zeroing outputs 2023-07-12 17:53:12 +10:00