Commit Graph

1188 Commits

Author SHA1 Message Date
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
Peter Barker
f50d48f005 AP_HAL: tidy set/get of hw RTC 2021-12-06 12:58:43 +11:00
bugobliterator
0c69ebc50e AP_HAL: update last_crash_dump api 2021-12-01 18:17:50 +11:00
Andrew Tridgell
8c2074907b AP_HAL: support up to 9 UARTs 2021-11-22 22:48:59 +11:00
Patrick José Pereira
176c70b5ff AP_HAL: Update Navigator board to R4
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-11-10 18:11:34 -03:00
bugobliterator
6d4ac999d0 AP_HAL: add get_storage_ptr method 2021-11-10 17:21:35 +11:00
Andrew Tridgell
51da1c3eff AP_HAL: added disable_rxtx() to UARTs 2021-11-07 07:00:35 +11:00
Andrew Tridgell
34ba3e4782 AP_HAL: make set_soft_armed() virtual 2021-11-05 14:30:43 +11:00
Buzz
ecfdd80bc7 AP_HAL: new HAL layer for esp32
see libraries/AP_HAL_ESP32/README.md for more.

Author: Charles Villard <charlesvillard10@gmail.com>
Author: Buzz <davidbuzz@gmail.com>
2021-11-01 17:40:31 +11:00
bugobliterator
f9f47cbeeb AP_HAL: add method to fetch last crash dump 2021-10-30 19:24:57 +11:00
Davis Schenkenberger
795e7e53bf AP_HAL: add helpers le64toh_ptr, be64toh_ptr, put_le64_ptr, put_be64_ptr 2021-10-17 08:55:03 +11:00
Andrew Tridgell
8157c24977 AP_HAL: added stack logging 2021-10-12 16:04:06 +11:00
Andrew Tridgell
029743e27a AP_HAL: added support for saving and restoring GPIO settings
this allows for using any pin (eg. UART TX, RX, RTS, CTS) as a GPIO,
and restoring the old mode. Initial use is for spektrum bind on RX pin
2021-10-12 15:47:51 +11:00
Willian Galvani
34b42d8252 AP_HAL: Navigator: set HAL_BARO_EXTERNAL_BUS_DEFAULT to 6
This is the bus exposed in the board for external sensors.
This is required as HAL_Linux doesn't probe all i2c buses.
2021-10-11 17:57:52 -03:00
bugobliterator
e4f4b3ce1f AP_HAL: add true random number generator 2021-10-07 19:43:11 +11:00
Iampete1
3b8b90d170 AP_HAL: move is_dshot_protocol to AP_HAL 2021-10-06 18:59:57 +11:00
Iampete1
9b02baa5f0 AP_HAL: add note to output_mode enum about params using it 2021-10-06 18:59:57 +11:00
Iampete1
bb04406496 AP_HAL: AnalogSource: set_pin returns bool 2021-10-06 18:42:51 +11:00
Peter Barker
102b1c6879 AP_HAL: allow for selection of Storage backend type at runtime 2021-10-05 10:16:54 +11:00
Andrew Tridgell
1283d42fbf AP_HAL: added micros16() method
fast method for both 16 and 32 bit timers
2021-10-02 18:26:39 +10:00
Andrew Tridgell
aa05629ef6 AP_HAL: added peekiovec test
fixes #18285
2021-09-30 12:46:07 +10:00
Pierre Kancir
c12217eeb5 AP_HAL: use correct #pragma GCC diagnostic pop 2021-09-29 17:27:29 +10:00
Peter Barker
1976b2b859 AP_HAL: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Iampete1
ed80d91d55 AP_HAL: remove set_safety_pwm 2021-09-14 09:23:02 +10:00
Willian Galvani
fe72640955 AP_HAL: remove BATT_ settings, they belong in AP_BattMonitor_Analog.h 2021-09-14 09:21:42 +10:00
Mohammad Hefny
5eb28be8e6 AP_HAL_Linux: define board features on Linux module 2021-09-10 08:17:37 +10:00
Mohammad Hefny
2cb13dcc7d AP_HAL: define board features 2021-09-10 08:17:37 +10:00
Pierre Kancir
2b44f86f9c AP_HAL: fix ringbuffer test on clang.
../../libraries/AP_HAL/utility/tests/test_ringbuffer.cpp:46:17: fatal error: variable-sized object may not be initialized
    uint8_t buf[strlen(str)+5] {};
2021-09-04 15:46:47 +10:00
Andrew Tridgell
c91410f4b7 AP_HAL: added MCU status support 2021-08-25 07:11:31 +10:00
Andy Piper
09e0135ecb AP_HAL: add accessor for reversed mask
allow mask updates to be disabled
document mask types
define DSHOT_ZERO_THROTTLE
2021-08-12 19:00:51 +09:00
Andrew Tridgell
067a6547bc AP_HAL: fixed printf format errors 2021-08-05 09:43:35 +10:00
Peter Barker
2cdc4f5698 AP_HAL: add basic tests for ringbuffer 2021-07-26 15:10:01 +10:00
Andrew Tridgell
90aed6f338 AP_HAL: fixed get_size() on ObjectBuffer to be consistent with set_size() 2021-07-26 15:10:01 +10:00
Andrew Tridgell
4dcff3d900 AP_HAL: added valid_pin() GPIO API 2021-07-22 07:48:12 +10:00
bugobliterator
4b8b0f834d AP_HAL: add support for usb passthrough with baud changes 2021-07-21 17:06:41 +10:00
Michael Oborne
d622aad592 AP_HAL_ChibiOS: add get_usb_baud - support for usb baudrate 2021-07-21 17:06:41 +10:00
Hwurzburg
d806d8a26d AP_HAL: add Link Quality reporting to RC protocols 2021-07-16 13:27:38 +10:00
Andrew Tridgell
269c4084d2 AP_HAL: added serial option for disabling FIFO on uarts 2021-07-15 11:31:55 +10:00
Siddharth Purohit
0138266fee AP_HAL: disable cast align check while casting char* read pointer to object 2021-07-15 07:50:12 +10:00
Andrew Tridgell
f60330c4ef AP_HAL: allow for double EKF build 2021-07-10 07:20:41 +10:00
Andrew Tridgell
162cecadec AP_HAL: added set_CTS_pin and set_RTS_pin 2021-07-09 13:27:57 +10:00
Peter Barker
2f7603e08e AP_HAL: generate a core file for a given PID
Similarly to dumpstack.sh, uses gdb to dump a core file
2021-07-08 15:46:07 +10:00
Siddharth Purohit
6a0c4ec3f7 AP_HAL: add Random Number Generation test 2021-07-07 18:57:25 +10:00
Siddharth Purohit
2b93b17fae AP_HAL: add support for hw random number generation 2021-07-07 18:57:25 +10:00
Siddharth Purohit
2af3864b61 AP_HAL: add support for entering XIP mode 2021-06-30 19:33:17 +10:00
Siddharth Purohit
a323807644 AP_HAL: add support for QSPIDevice 2021-06-30 19:33:17 +10:00
Siddharth Purohit
69009568b2 AP_HAL: add HAL_INS_ENABLED 2021-06-30 17:06:02 +10:00
Siddharth Purohit
c7185a1e7f AP_HAL: split into HAL_CANMANAGER_ENABLED and HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
Siddharth Purohit
5acce3055f AP_HAL: Use HAL_ENABLE_CANMANAGER instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
Andy Piper
61f1c3c9ce AP_HAL: add 1Hz update_channel_masks() 2021-06-22 09:55:27 +10:00
Peter Barker
dddd0d6a14 AP_HAL: remove HIL support 2021-06-15 09:47:31 +10:00
Tom Pittenger
806b6a63bf AP_HAL: reorganize precompiler for HAL_ENABLE_LIBUAVCAN_DRIVERS and HAL_MAX_PROTOCOL_DRIVERS 2021-06-09 18:36:18 +10:00
Andrew Tridgell
7c5c805381 AP_HAL: removed perf counters 2021-06-07 14:29:27 +10:00
Andrew Tridgell
d8a6d9c5c4 AP_HAL: added uart_info() method 2021-06-05 18:52:33 +10:00
Andrew Tridgell
606c248e69 AP_HAL: fixed build on boards with no PWM
this impacts mRoNexus builds
2021-06-02 15:39:30 +10:00
bugobliterator
ae80e2dd4d AP_HAL: move ToneAlarm Types to AP_Notify instead 2021-05-31 07:34:02 +10:00
Andy Piper
4f547d2acc AP_HAL: allow motor poles to be recorded
enable ESC telemetry for SITL
2021-05-12 17:01:11 +10:00