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
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
4f81a40066
AP_HAL_SITL: moved UART port locking up to AP_HAL
2023-07-12 17:06:02 +10:00
rishabsingh3003
4957785fef
AP_HAL_STIL: add simulated nooploop tofsense rangefinder
2023-06-28 17:16:22 +10:00
Andrew Tridgell
3bcceb9420
HAL_SITL: fixed multicast UDP on cygwin
...
this will allow the SITL button on cygwin to work with multicast,
allowing for complex vehicle interactions between machines
2023-06-26 15:49:02 +10:00
muramura
bfa23aa7b0
AP_HAL_SITL: Resolve missing-declarations errors
2023-06-19 20:14:31 +10:00
acxz
ade161f0a8
AP_HAL_SITL: remove std:: scope from uint16_t
2023-05-17 11:15:43 +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
28598e82c0
AP_HAL_SITL: fix sitl_periph_gps build
2023-05-09 11:42:09 +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
Andy Piper
c0b008902f
AP_HAL_SITL: rename QSPIDevice to WSPIDevice
2023-04-28 08:31:15 +10:00
Andrew Tridgell
761297a068
AP_HAL_SITL: change to 16 bit timeout in event interface
...
prevent issues on 16 bit timers where we can end up with TIME_INFINITE
2023-04-19 17:26:57 +10:00
Andrew Tridgell
81b1b69cd5
HAL_SITL: fixed receive of CANFD in SITL socketcan
...
we need to use read() and look at the size to work out if each frame
is bxCAN of CANFD
See https://www.kernel.org/doc/Documentation/networking/can.txt
2023-04-10 14:46:54 +10:00
Andrew Tridgell
a960e647b5
HAL_SITL: fixed sitl periph storage
...
this allows persistent parameters for sitl_periph_gps target
2023-04-10 14:46:54 +10:00
Andrew Tridgell
b6ae79c700
HAL_SITL: fixed 64 bit periph build
2023-04-10 14:46:54 +10:00
Andrew Tridgell
baa7301977
HAL_SITL: fixed valgrind error
2023-04-08 07:11:23 +10:00
bugobliterator
b65c74940d
AP_HAL_SITL: setup for DroneCAN driver test build
2023-03-29 17:16:39 +11:00
Peter Barker
d626197c0b
AP_HAL_SITL: add and use a "bool read(c)" method to AP_HAL
...
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +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
b43701fffa
HAL_SITL: exit on close of port 0 on cygwin
...
this fixes a long standing problem with SITL not exiting when you
close connection in MissionPlanner
2023-01-24 15:48:04 +11:00
Ian
636f9bffa9
AP_HAL_SITL: Add new SITL driver for Webots 2023a
...
The new SITL driver is based on the existing SITL driver for Gazebo and
does not require a JSON parser and implements set_interface_ports.
2023-01-22 18:19:38 +11:00
Peter Barker
ccf290246c
AP_HAL_SITL: use parameter to enable/disable SITL ESC telem
...
this is the perfect telemetry stream; we don't want to override other telemetry streams
2023-01-18 18:07:23 +11:00
Peter Barker
6c03134169
AP_HAL_SITL: use AP_CSVReader to read from Log serial-async dump
2023-01-17 11:21:48 +11:00
Andrew Tridgell
12c24df476
AP_HAL_SITL: added old_size to heap_realloc
2023-01-16 09:19:16 +11:00
Andrew Tridgell
a2b0bbffdb
HAL_SITL: implement SIM_UART_LOSS
2023-01-15 21:57:15 +11:00
Peter Barker
c728483a7e
AP_HAL_SITL: add option to create uart connection to file
2023-01-04 12:29:49 +11:00
Andy Piper
5ea3415a41
AP_HAL_SITL: allow SITL sketches to run
...
allow sketchname to be set
2022-12-28 18:14:56 +11:00
Andrew Tridgell
21b4a19c6f
HAL_SITL: implement CAN get_statistics()
2022-12-13 16:56:57 +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
Peter Barker
e7d30aefec
AP_HAL_SITL: include required AP_Vehicle_Type header
2022-11-02 18:35:48 +11:00
Andrew Tridgell
1871c6bef7
HAL_SITL: use motor mask for noise checking for motors
2022-10-16 20:38:19 +11:00
Peter Barker
0d5d9c04f0
AP_HAL_SITL: SITL SerialDevice optionally checks baudrates match
2022-09-28 20:53:34 +10:00
Yuri
20f0fd0589
AP_HAL_SITL: increase short board names to 23 chars
2022-09-21 17:56:42 +10:00
murata
64c60c8149
AP_HAL_SITL: Accurate 10 counts
2022-09-16 08:53:16 +10:00
Peter Barker
fb3a7d0d10
AP_HAL_SITL: do not return from reboot command
...
This structure was set up to mimic the should_exit code originally from the Linux HAL. It runs contrary to the intent of the HAL reboot call, which is not expected to return. This oddity leads us to emit wo acks sequentially, one success, one failure, which is just weird.
2022-09-14 21:23:18 +10: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
bugobliterator
8e81ee0292
AP_HAL_SITL: add support for starting node in maintenance mode
2022-07-27 18:18:03 +10:00
Andrew Tridgell
9b0c8674d6
HAL_SITL: catch ubsan errors into a log file
2022-07-12 11:00:08 +10:00
Andrew Tridgell
f55aadfedf
HAL_SITL: fixed undefined behaviour in GPIO
2022-07-12 11:00:08 +10:00
Andy Piper
061ddf7a3f
AP_HAL_SITL: save a sliding window of frequency bins
2022-06-01 15:49:32 +01:00
Iampete1
031115577a
AP_HAL_SITL: enable 32 servo outs
2022-05-22 12:07:37 +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
7dc5da1247
HAL_SITL: cleanup SITL airspeed handling
...
fixed handling of EAS2TAS, and fixed ratio per sensor.
Removed the wind delay code (which was never being used). We should
add a generic delay filter if we need this again
2022-05-17 19:34:32 +10:00
Andrew Tridgell
a6cd7ffd20
HAL_SITL: fixed warning
2022-05-06 06:55:16 +10:00