Commit Graph

680 Commits

Author SHA1 Message Date
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
Andy Piper 3199412bff AP_HAL_SITL: add vector addition function 2022-05-04 17:05:51 +10:00
Andy Piper 63229d7eca AP_HAL_SITL: correct disable channel maths
unilaterally write rcoutput to appease the sitl gods
2022-03-29 10:29:31 +11:00
Andrew Tridgell f8aa4623ef HAL_SITL: don't use terrain adjustment 2022-03-28 16:01:21 +11:00
bugobliterator bd2bf7fedc AP_HAL_SITL: add support for CANFD in SITL 2022-03-27 06:07:34 -07:00
Andrew Tridgell 535d7f0d85 AP_HAL_SITL: removed terrain home correction 2022-03-10 07:34:20 +11:00
Andrew Tridgell 5eb8b8d72e HAL_SITL: support mavcan message forwarding 2022-02-12 16:36:05 +11:00
Andrew Tridgell 9fd25907e2 HAL_SITL: fixed mapping of --serial ports in SITL
uart paths are still in uartABCD order
2022-01-21 10:07:55 +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
Pierre Kancir 6584fef711 AP_HAL_SITL: catch more signal for correct exit
SIGINT is for ctrl-c
SIGHUP and SIGQUIT are use within term. If the term close before SITL, it will trigger one of those and then exit cleanly anyway
2022-01-12 12:31:56 +11:00
Shiv Tyagi af950e266b AP_HAL_SITL: add dataflash to spi device table
We simulate jedec flash for logging. Hence, we need to add dataflash to device table. Also, we need to remove HAL_LOGGING_SITL_ENABLED since we no longer need it

Co-Authored-By: Divyateja Pasupuleti <divyateja2004@gmail.com>
2021-12-25 09:14:31 +11:00
Andy Piper fa91e74fde AP_HAL_SITL: remove redundant harmonics from DSP 2021-12-22 18:13:38 +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 2f77fef10e AP_HAL_SITL: permit float-equal while we do comparison vs INFINITY 2021-12-13 08:38:17 +11:00
Peter Barker acbe567202 AP_HAL_SITL: consolidate rangefinder range calculations 2021-12-11 20:10:10 +11:00
Peter Barker 6e8c7c6b03 AP_HAL_SITL: remove unused mag-data delay buffer state variables
This delay buffer code is now in AP_Compass_SITL
2021-12-07 16:41:11 +11:00
Peter Barker cce14d8461 AP_HAL_SITL: remove unused _home_str member 2021-12-07 09:36:22 +11:00
Peter Barker 8cc7f51de1 AP_HAL_SITL: tidy set/get of hw RTC 2021-12-06 12:58:43 +11:00
Peter Barker 11cbd68296 AP_HAL_SITL: remove incorrect use of ARRAY_SIZE
This was converted to a linked list....
2021-11-24 18:26:17 +11:00
Peter Barker cdccc67fb8 AP_HAL_SITL: make SITL::ADSB a SITL::SerialDevice 2021-11-23 11:09:29 +11:00
Andrew Tridgell 3b3abdeef0 AP_HAL_SITL: support up to 9 UARTs 2021-11-22 22:48:59 +11:00
Peter Barker eb6da9512f AP_HAL_SITL: quieten i2c-device-creation diagnostics 2021-11-12 10:17:28 +11:00
bugobliterator 09096cb355 AP_HAL_SITL: add get_storage_ptr method 2021-11-10 17:21:35 +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