Commit Graph

1221 Commits

Author SHA1 Message Date
Thomas Watson 8747ae539f AP_HAL: move serial re-mapping to driver array initialization
Saves a bit of flash and execution time.
2023-12-19 06:53:15 +11:00
Thomas Watson de45437704 AP_HAL: use array of UART drivers instead of consecutive variables
Avoids UB-inducing assumption that UART drivers are consecutive in the
serial() function.
2023-12-19 06:53:15 +11:00
Andy Piper a8772ef5a2 AP_HAL: allow bdshot iomcu on non-bdshot fmu 2023-12-18 19:02:52 +11:00
Andy Piper 2a9c2fdf14 AP_HAL: add methods to directly access erpm array from rcout 2023-12-18 19:02:52 +11:00
Andrew Tridgell 48ab76d06e AP_HAL: added InertialLabs simulator 2023-12-17 09:47:30 +11:00
Andrew Tridgell 9358bfce34 AP_HAL: added duplicate() in SocketAPM 2023-12-11 18:00:38 +11:00
Andrew Tridgell a77331e725 AP_HAL: mark socket as not connected on EOF
this allows lua scripts to properly detect a closed TCP connection
2023-12-11 18:00:38 +11:00
Andrew Tridgell 64d649fbcc AP_HAL: fixed SO_REUSEADDR on bind
and use MSG_NOSIGNAL to prevent pipe errors in SITL
2023-12-11 18:00:38 +11:00
Andrew Tridgell 98e8b9785c AP_HAL: added close() to SocketAPM 2023-12-11 18:00:38 +11:00
Andrew Tridgell b49152bbe6 AP_HAL: mark new accept() socket as connected 2023-12-11 18:00:38 +11:00
Ka Ru 329c6ba668 AP_HAL: add can-zero board 2023-12-05 07:41:06 -06:00
Ryan Friedman fadedbbb47 AP_HAL: Add MicroStrain7 support
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11:00
Andrew Tridgell 2ee48dea29 AP_HAL: support bi-directional UDP broadcast sockets 2023-11-28 12:18:55 +11:00
Andrew Tridgell a05acfc090 AP_HAL: added last_recv_address() with supplied buffer
this prevents a race condition with a static string
2023-11-28 12:18:55 +11:00
Thomas Watson dc76e03890 AP_HAL: 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
Tom Pittenger e8c852f0d4 AP_HAL: Allow APMSockets to autodetect Broadcast IPs 2023-11-25 16:28:07 -08:00
Andrew Tridgell ee592476ce AP_HAL: implement multicast for UDP sockets 2023-11-25 12:19:43 -08:00
Andy Piper 13ff23f39d AP_HAL: enable filters with AP_FILTER_ENABLED on sitl 2023-11-21 13:26:23 +11:00
Andy Piper d30e52ed3f AP_HAL: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Peter Barker 76d07f21f5 AP_HAL: add simulator Hirth EFI 2023-11-17 13:09:02 +11:00
Tom Pittenger df600e5582 AP_HAL: Enable SocketAPM to use LwIP/ChibiOS 2023-11-15 12:43:41 -08:00
Andy Piper ef5eccdf62 AP_HAL: correct neopixel bitwidth 2023-11-14 11:06:25 +11:00
Peter Barker 9087bb6b89 AP_HAL: 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 9c759c3e61 AP_HAL: move AP_BOOTLOADER_FLASHING_ENABLED default to AP_HAL
.... need the defines on HALs other than ChibiOS
2023-10-27 14:16:47 +11:00
Andrew Tridgell 26823b56ae AP_HAL: added connect_timeout to SocketAPM 2023-10-23 20:27:49 +11:00
Mykhailo Kuznietsov cc2e156888 AP_HAL: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Andy Piper 4c911dce68 AP_HAL: Add support for NeoPixelRGB 2023-10-04 18:06:17 +11:00
Andy Piper 2c44d75f27 AP_HAL: relax F4 notch constraints slightly to allow triple notch on quads 2023-09-20 17:37:24 +10:00
Andy Piper 5c0f049739 AP_HAL: simplify prescaler calculation and allow choosing highest frequency
Update tests to reflect BLHeli_S requirements and add in L431
2023-09-20 17:35:44 +10:00
Andrew Tridgell 7c74f9b24b AP_HAL: added last_transmit_us to CAN stats 2023-09-05 06:56:51 +10:00
muramura b69dbd0c2e AP_HAL: Delete commented-out processes 2023-09-04 13:55:12 +10:00
Peter Barker e6284fe879 AP_HAL: correct compilation for SimOnHardware 2023-09-01 17:48:30 +10:00
Ryan Friedman 0b27d17b81 AP_HAL: split to MicroStrain5
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-29 10:31:44 +10:00
Andrew Tridgell 64040bfab4 AP_HAL: move ESC scaling up to AP_HAL level 2023-08-24 13:06:40 +10:00
Andrew Tridgell 6a54c5e952 AP_HAL: removed native_millis/micros 2023-08-24 13:06:40 +10:00
Andy Piper c631b79dde AP_HAL: add get_output_mode() and HAL_WITH_IO_MCU_DSHOT 2023-08-15 06:53:48 +10:00
Andy Piper 1b210f8ea9 AP_HAL: support accessors for dshot_period_us
add support for selectively disabling serial LEDs and passthrough
provide mutator to allow iomcu to set dshot rate
support HAL_SERIAL_ESC_COMM_ENABLED and DISABLE_SERIAL_ESC_COMM
update dshot docs
make default serial led enablement dependent on dshot
2023-08-15 06:53:48 +10:00
bugobliterator 4ce32c74de AP_HAL: add default DISABLE_DSHOT as false
use HAL_ENABLE_DSHOT instead of DISABLE_DSHOT
2023-08-15 06:53:48 +10:00
Peter Barker 3fea8d16f1 AP_HAL: remove MINIMIZE_FEATURES define 2023-08-08 10:35:19 +10:00
Ryan Friedman 109c894929 AP_HAL: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
Andrew Tridgell 8a8a45dd23 AP_HAL: added set_size_best() for ByteBuffer 2023-07-18 11:38:27 +10:00
Peter Barker 6e0639ea91 AP_HAL: tidy AP_Airspeed includes, use AP_AIRSPEED_ENABLED properly 2023-07-18 11:03:07 +10:00
Peter Barker f5a26495d3 AP_HAL: act on safety switch being enabled in SITL by zeroing outputs 2023-07-12 17:53:12 +10:00
Andrew Tridgell ceb07c3f7b AP_HAL: moved locking to AP_HAL and added monitor callback 2023-07-12 17:06:02 +10:00
bugobliterator 1b3de3acf2 AP_HAL: add HAL_ENABLE_SENDING_STATS to enable sending stats over CAN 2023-07-10 12:56:37 +10:00
rishabsingh3003 89d4ba6a5d AP_HAL: add simulated nooploop tofsense rangefinder 2023-06-28 17:16:22 +10:00
Andy Piper 62fc1b91c4 AP_HAL: add dshot commands and ESC types for extended dshot telemetry (EDT) 2023-06-27 09:28:33 +10:00
bugobliterator ff3f07d46f AP_HAL: add support for get_persistent_param_by_name 2023-06-17 14:49:22 +10:00
Ryan Friedman 0faf1a2152 AP_HAL: Use new AP_Math utils
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman 35c8951395 AP_HAL: Add methods for beNto<floatingType> conversions
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Nicholas Kruzan 88fbd8dca7 AP_HAL: new board: esp32s3devkit 2023-05-26 10:54:01 -07:00
Nicholas Kruzan 5d7eb8a709 AP_HAL: new mcu: esp32s3 2023-05-26 10:54:01 -07:00
Peter Barker 9bcac597b6 AP_HAL: remove posix test from uart example 2023-05-17 09:40:39 +10:00
Peter Barker ee8a762e1d AP_HAL: replace HAVE_FILESYSTEM_SUPPORT with backend defines 2023-05-17 09:40:39 +10:00
Nicholas Kruzan 2171fff91b AP_HAL: esp32 - add board esp32nick 2023-05-15 12:22:17 +10:00
Peter Barker 6943ea59b1 AP_HAL: add simulator for RDS02UF rangefinder 2023-05-13 20:05:18 +10:00
Ryan Friedman 925e9d8cbc AP_HAL: Add reference to sparse endian manpage
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-05-13 11:32:38 +10:00
Henry Wurzburg 2ddaa65b23 AP_HAL: normalize SerialManagers ports defaults to allow inclusion in hwdefs 2023-05-11 18:45:53 +10:00
David Buzz c68b2bc2be AP_HAL: make all esp32 boards use 16 channels, not 32. 2023-05-02 14:38:03 +10:00
David Buzz acd1f48ed3 AP_HAL: doesn't need these subsystems
ESP32: disabled can on esp32 for now

ESP32: disable airspeed sensors on esp32buzz

ESP32: disable a bunch of compasss types and subsystems so it doesn't try to probe for all

of the compases on boot, as its super slow.

turned off a bunch of Plane stuff that an esp32 user isn't likely to need
compass

scr

comp

a

c
2023-05-02 14:38:03 +10:00
David Buzz e2edfae79b AP_HAL: add a new board for tomte76
mpu9255 board, bmp280 baro, micro sd card and NEO M8 clone

a
2023-05-02 14:38:03 +10:00
Andrew Tridgell 4a8eda0589 AP_HAL: default CAN_Px_DRIVER to 0 on SITL
having this default to 1 slows down SITL startup for a lot of people
due to the CAN wait for sensor delays. It is easy to enable it when
CAN is needed in SITL
2023-05-01 14:10:59 +10:00
bugobliterator 350f718745 AP_HAL: don't include Semaphore headers while building C source 2023-04-28 12:36:08 +10:00
Andy Piper ac8a94e655 AP_HAL: support is_busy() on WSPI device 2023-04-28 08:31:15 +10:00
Andy Piper 19bda7818c AP_HAL: configure HAL_USE_QUADSPI and HAL_USE_OCTOSPI 2023-04-28 08:31:15 +10:00
Andy Piper a73945c1b3 AP_HAL: rename QSPIDevice to WSPIDevice 2023-04-28 08:31:15 +10:00
bugobliterator cc02ad9224 AP_HAL: add HAL_FORWARD_OTG2_SERIAL define 2023-04-26 18:04:00 +10:00
bugobliterator 9663b3d409 AP_HAL: add __EXTFLASHFUNC__ define 2023-04-26 18:04:00 +10:00
Andy Piper 875481b823 AP_HAL: add helper functions for LEDs
add PRIORITY_LED for led output thread
2023-04-19 16:45:21 +01:00
Andrew Tridgell d1e50cb0c8 AP_HAL: 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 5d6b7b04d8 AP_HAL: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 12ecb4354b AP_HAL: allow for 64 bit CAN on Linux 2023-04-10 14:46:54 +10:00
Andrew Tridgell 57f6343058 AP_HAL: fixed valgrind error 2023-04-10 14:46:54 +10:00
Andrew Tridgell d8416eb38f AP_HAL: fixed build for HerePro 2023-04-08 07:11:23 +10:00
Andrew Tridgell bdbcdfce60 AP_HAL: fixed SLCAN duplicate define 2023-04-08 07:11:23 +10:00
Andrew Tridgell 420ceec553 AP_HAL: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
bugobliterator 6dc73b3d54 AP_HAL: sitl: set default value of HAL_CAN_DRIVER_DEFAULT as 1 2023-03-29 17:16:39 +11:00
bugobliterator 10fb5d6b21 AP_HAL: enable virtual CAN for native built linux targets 2023-03-29 17:16:39 +11:00
bugobliterator 310a307c10 AP_HAL: add define AP_TEST_DRONECAN_DRIVERS 2023-03-29 17:16:39 +11:00
Tom Pittenger 8c7fc012d4 AP_HAL: fix CANFrame initialization in constructor 2023-03-26 18:23:30 +11:00
Peter Barker 394d70abe0 AP_HAL: 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
Iampete1 7617606629 AP_HAL: GPIO: add arming check 2023-03-22 09:27:35 +11:00
Peter Barker 5ad5605bc8 AP_HAL: specify HAL_SUPPORT_RCOUT_SERIAL for periph in chibios_hwdef.py 2023-03-12 09:35:35 +11:00
Peter Barker 9fd72b6a68 AP_HAL: specify AP_STATS_ENABLED for periph in chibios_hwdef.py 2023-03-12 09:35:35 +11:00
Iampete1 36498cb4a0 AP_HAL: GPIO: PWMSource: add destructor to detach interurupt 2023-03-05 09:42:05 +11:00
Peter Barker 5f916a7fed AP_HAL: add waf argument to get consistent builds 2023-02-17 20:48:45 +11:00
Peter Barker 67500cce36 AP_HAL: SITL: add defaults for Rover frame class and string 2023-02-11 10:36:33 +11:00
Peter Barker d71776d387 AP_HAL: 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
Peter Barker 81261e49e1 AP_HAL: add and use AP_COMPASS_HMC5843_ENABLED 2023-02-01 18:47:37 +11:00
Peter Barker 4cd97d58d7 AP_HAL: gate mavlink things on HAL_GCS_ENABLED, not HAL_BOOTLOADER_BUILD 2023-02-01 18:46:28 +11:00
olliw42 866db281a6 AP_HAL: bw_in_bytes_per_second() 2023-01-31 17:58:04 +11:00
Peter Barker a2444d1df3 AP_HAL: enumeration format fixes 2023-01-25 19:50:34 +11:00
Andy Piper 31a216f670 AP_HAL: ensure the DSP tracked peaks do not overflow the buffer 2023-01-24 10:56:33 +11:00
Andrew Tridgell 13cbccc016 AP_HAL: added old_size to heap_realloc 2023-01-16 09:19:16 +11:00
Andrew Tridgell a14c5b2955 AP_HAL: check for null buffer in ObjectBuffer get_size() 2023-01-08 15:11:32 +11:00
Peter Barker fe4e4b0aff AP_HAL: correct sitl-on-hw compilation for Helicopters 2023-01-04 18:04:28 +11:00
Peter Barker e8c5296087 AP_HAL: define AP_INERTIALSENSOR_ENABLED in a new AP_InertialSensor_config.h 2023-01-04 18:02:34 +11:00
Peter Barker 1725e794ed AP_HAL: rename HAL_INS_ENABLED to AP_INERTIALSENSOR_ENABLED 2023-01-03 10:28:42 +11:00
Andy Piper 921f51d08a AP_HAL: correct AP_SIM_FRAME_CLASS name 2022-12-31 09:32:32 +11:00
Andrew Tridgell 36d2c267fe AP_HAL: allow for a wider range of simulation backends in SIM-on-hw 2022-12-24 07:27:04 +11:00