Commit Graph

1244 Commits

Author SHA1 Message Date
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
Andrew Tridgell 5f8e655f98 AP_HAL: allow override of frame class and string for SITL on hw 2022-12-24 07:27:04 +11:00
Andy Piper 445aad17c9 AP_HAL: add UART baudrate accessor 2022-12-22 18:38:31 +00:00
Andrew Tridgell 05a6c0d026 AP_HAL: added statistics structure for CAN 2022-12-13 16:56:57 +11:00
Peter Barker 1c9d01c8fd AP_HAL: use singleton getter for Baro in SIMState
this instance variable was always nullptr due to constructor ordering
2022-12-13 12:51:39 +11:00
Wiktor Maslowski be9aec4059 AP_HAL_ESP32: add empty board - without any sensors 2022-12-07 18:21:03 +11:00
Andrew Tridgell 4d51173e9c AP_HAL: added TIME_CHECK() macro
this can be used to find places where we use more time than
expected. It works similarly to WITH_SEMAPHORE()
2022-12-04 18:08:40 +11:00
James O'Shannessy e2865f2fbc AP_HAL: Remove the forced definition of HAL_WITH_ESC_TELEM in sitl board
Co-authored-by: Simon Maddison <81274690+Sypaq-MadMan@users.noreply.github.com>
2022-12-01 11:09:58 +11:00
Peter Barker e4a44c30ed AP_HAL: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Peter Barker 506030820e AP_HAL: define HAL_MAX_CAN_PROTOCOL_DRIVERS for bootloader in hwdef.h 2022-11-08 12:06:54 +11:00
Peter Barker cf9b43de6f AP_HAL: add missing include for APM_BUILD_TYPE
transient include broke
2022-11-05 22:53:49 +11:00
Peter Barker b4d36707af AP_HAL: use minimize_features.inc for HAL_WITH_DSP 2022-11-05 14:52:10 +11:00
Peter Barker 65558afa8f AP_HAL: add a sanity check that we don't minimize features on a 2MB board 2022-11-01 10:59:54 +11:00
Andy Piper ce481af167 AP_HAL: correct prescaler calculation and add testing debug.
use normalized bitwidths for neopixel.
make sure low prescaler values are allowed.
significantly tighten clocking prescaler tests
add assertions around expected prescaler values
2022-10-05 18:27:43 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Andrew Tridgell 24b83135e0 AP_HAL: added id_signed for CANFrame
makes for more efficient lua processing
2022-10-02 08:15:06 +11:00
Yuri 3163c3534d AP_HAL: increase short board names to 23 chars 2022-09-21 17:56:42 +10:00
Peter Barker e42e3a3a60 AP_HAL: disable CanManager in hwdef.h for AP_Periph 2022-09-20 09:39:48 +10:00
Peter Barker 0f49b7f3ab AP_HAL: move defaulting of HAL_DSHOT_ALARM into hwdef 2022-09-15 09:18:04 +10:00
Willian Galvani 018ab14814 RC_Output.h: add gpio methods 2022-09-06 09:34:07 +10:00
Andrew Tridgell a6c5e38c5a AP_HAL: added NOT_SIGNED error code 2022-09-05 12:35:37 +10:00
Andrew Tridgell 2c6418a920 AP_HAL: fixed linux build 2022-09-05 12:35:37 +10:00
bugobliterator cee8a638f8 AP_HAL: set default HAL_ENABLE_DFU_BOOT 2022-08-30 10:51:06 +10:00
bugobliterator 441ce2e593 AP_HAL: add util method boot_to_dfu() 2022-08-30 10:51:06 +10:00
Peter Barker b76e2316bb AP_HAL: do not gate AP_CRASHDUMP_ENABLED on bootloader
Also rename from HAL_CRASHDUMP_ENABLE

Removes code based on define rather than creating empty functions.  Makes it clearer what's going on in the callers.
2022-08-17 17:34:00 +10:00
Henry Wurzburg 4c24b89dde AP_HAL: add TeraRange Neo Rangefinder 2022-08-09 09:01:34 +10:00
Peter Barker 51466e04b0 AP_HAL: move from HAL_NO_SHARED_DMA to AP_HAL_SHARED_DMA_ENABLED
This allows hwdef files to manipulate this value
2022-07-19 18:02:26 +10:00
Pierre Kancir 58ceecc4bf AP_HAL: fix python files exec permissions 2022-06-08 08:16:42 +09:00
Peter Barker 38bbb2361e AP_HAL: set AP_STATS_ENABLED default value 2022-06-07 09:57:32 +10:00
Andy Piper 7b733da2ea AP_HAL: correct assert 2022-06-01 15:49:32 +01:00
Andy Piper d3e57be6e5 AP_HAL: save a sliding window array of frequency bins
calculate frequency average from sliding window
2022-06-01 15:49:32 +01:00
bugobliterator 1934b4a738 AP_HAL: move function definitions to cpp to save flash 2022-05-25 18:14:46 +10:00
bugobliterator e26ffc4ec5 AP_HAL: add mechanism to set register rw register using device name for SPI 2022-05-25 18:14:46 +10:00
Andy Piper 35a37cb84b AP_HAL: add BLHeli_S ESC type and use it to control bitwidths
adjust BLHeli_S bitwidth and ticks to support more ESC variants.
2022-05-25 17:06:08 +10:00
Peter Barker 16883565e2 AP_HAL: add support for Plane SITL-on-hw 2022-05-24 10:35:32 +10:00
Peter Barker 0f48557ec2 AP_HAL: fix compilation for sitl-on-hw 2022-05-24 10:35:32 +10:00
Andrew Tridgell 113b4cec38 AP_HAL: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Iampete1 cabdd82e71 AP_HAL: enable 32 servo outs 2022-05-22 12:07:37 +10:00
Andrew Tridgell 962d92acf5 AP_HAL: use array for airspeed pin value 2022-05-17 19:34:32 +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
murata 15a39c1649 AL_HAL: Console output can be disabled 2022-05-17 09:53:06 +10:00
Peter Barker f934854a0c AP_HAL: allow backends to be compiled out 2022-05-10 09:02:51 +10:00
Andy Piper f57ac4787d AP_HAL: add Jain's estimator
notch tuning using FFT averaging
allocate scratch space for peak finding
return all detected peaks to caller
2022-05-04 17:05:51 +10:00
Mirko Denecke 853fd7f8c1 AP_HAL: fix auxiliary typo 2022-05-02 10:55:08 +10:00
Randy Mackay 1ee01577f6 AP_HAL: add GPIO::pin_to_servo_channel method 2022-04-26 15:19:28 +09:00
Andy Piper 8ccc84beab AP_HAL: add accessor for disabled channels to RCOutput 2022-04-25 15:55:54 +09:00
Andy Piper 6355934a36 AP_HAL: add bitwidth hal definitions.
revert to original bitwidths for neopixel and profiled
add proper neopixel test that observes spec'ed timings
2022-04-20 17:39:29 +10:00
Peter Barker a9b90a3b5a AP_HAL: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Andy Piper fff82bed75 AP_HAL: update prescaler tests 2022-03-30 17:11:09 +11:00
bugobliterator 7d2ded8de1 AP_HAL: add support for CANFD in SITL 2022-03-27 06:07:34 -07:00
Peter Barker fa2e841387 AP_HAL: honour HAL_SIM_GPS_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker a402dce95b AP_HAL: permit double-maths whe simulating 2022-03-17 14:39:55 +11:00
Peter Barker 650ef59be8 AP_HAL: create HAL::SIMState object to hold simulation state 2022-03-17 14:39:55 +11:00
bugobliterator 47dd964e63 AP_HAL_ChibiOS: add init method to take in separate canfd bitrate 2022-03-11 18:13:54 +11:00
bugobliterator 1f43c79bfd AP_HAL: add support for taking in canfd bitrate in caniface 2022-03-11 18:13:54 +11:00
Siddharth Purohit 5bc65bb54e AP_HAL: set CANFrame max data length based on CANFD availability 2022-03-11 18:13:54 +11:00
Siddharth Purohit e9f426f8fd AP_HAL: update CANFrame to include CANFD details 2022-03-11 18:13:54 +11:00
Siddharth Purohit 153834465b AP_HAL: add HAL_CANFD_SUPPORTED define 2022-03-11 18:13:54 +11:00
Andy Piper bb3bedb90d AP_HAL: always choose high for dshot prescaler calculation 2022-03-09 18:23:41 +11:00
Andy Piper 5a7f5844d4 AP_HAL: nuke clang warnings 2022-03-03 16:34:14 +11:00
Andrew Tridgell 56d74a352c AP_HAL: fixed vprintf for no hal.h 2022-02-22 12:13:19 +11:00
Andrew Tridgell b248fdfcbb AP_HAL: avoid including hal.h in generic code 2022-02-22 12:13:19 +11:00
Andrew Tridgell 4811544003 AP_HAL: fixed a race conditon for CAN frame callback
callback can change from another thread
2022-02-20 06:28:47 +11:00
Andrew Tridgell d9f79f42c8 AP_HAL: moved CAN_FRAME timeout handling to AP_CANManager 2022-02-19 18:24:56 +11:00
Andrew Tridgell 88e7efcf9c AP_HAL: make CANFrame data available as uint32_t
this makes the critical sections in CANFrame handling on STM32 faster
2022-02-19 18:24:56 +11:00
Andy Piper ea1af70f2b AP_HAL: add support for @SYS/timers.txt
move prescaler calculation here and add unit test
add ability to find closest matching frequency in prescaler calculation
account for bit widths in prescaler tests
2022-02-16 15:28:04 +11:00
Andrew Tridgell eb549f3e00 AP_HAL: review comments 2022-02-12 16:36:05 +11:00
Andrew Tridgell dbe17d072f AP_HAL: support mavcan message forwarding 2022-02-12 16:36:05 +11:00
Andy Piper a7ac4809b1 AP_HAL: disabled ADC3 on H750
define __FASTRAMFUNC__
2022-02-09 12:47:55 +00:00
murata 7eb231281b AP_HAL: Remove meaningless semicolons 2022-02-07 08:27:34 +09:00
Peter Barker f5526d095b AP_HAL: remove HAL_COMPASS_DEFAULT define
this doesn't actually allow you to specify a default, despite the name
and a couple of hwdefs trying to use it that way.

This would have stopped being useful when we did the
compass-prority-table stuff - or before.
2022-02-01 12:10:38 +11:00
Peter Barker 3a1340236a AP_HAL: add HAL_UART_STATS_ENABLED to disable stats gathering 2022-01-12 18:30:49 +11:00
Andrew Tridgell 3b70b3e7a7 AP_HAL: check for existing HAL_STORAGE_SIZE 2022-01-11 11:33:30 +11:00
Willian Galvani dc856f10eb AP_HAL_Linux: set internal/external i2c bus masks for Navigator
This fixes an issue where the internal Compass was being re-detected
as an external one, then as an internal but with wrong orientation
2022-01-06 14:45:42 -05:00
Willian Galvani 725765c1cb AP_HAL: fix navigator ak09915 orientation 2022-01-03 15:05:47 -03:00
Willian Galvani d3e3922776 AP_HAL: Add HAL_PROBE_EXTERNAL_I2C_COMPASSES to Navigator 2022-01-03 15:05:47 -03:00
Andy Piper d4024d9216 AP_HAL: allow configuration of maximum number of notches based on MCU type
increase notch filters in SITL
remove redundant harmonics from DSP
2021-12-22 18:13:38 +11:00
Stephen Dade 68ca18329c AP_HAL: Add UART option to not override streamrates 2021-12-15 14:14:07 +11:00