Commit Graph

1200 Commits

Author SHA1 Message Date
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
Andy Piper 4d4d3683b6 AP_HAL: add accessor for UART dma status 2021-05-05 17:50:42 +10:00
Andy Piper 3428cbf993 AP_HAL: add dshot command codes for beeps, leds and motor control
allow more than one type of ESC for dshot commands
add support for checks around active ESCs
allow dshot alarm to be disabled
allow prioritized dshot commands
2021-05-05 17:41:24 +10:00
Jacob Walser f7da853adb AP_HAL: update hardware definitions for navigator r3 2021-04-07 15:08:18 -04:00
Jacob Walser 421638453f AP_HAL: update Notify LED hardware for navigator r3 2021-04-07 15:08:18 -04:00
Andy Piper f29dba2ddd AP_HAL: add set_dshot_rate() 2021-04-06 10:24:04 +10:00
Andrew Tridgell ebc1f9acf6 AP_HAL: removed assert calls
these waste flash space and do not do us any good
2021-03-25 14:03:40 +11:00
Andrew Tridgell 7010eae9e8 AP_HAL: remember details of register check fails
this allows for logging of register resets
2021-02-24 18:18:37 +11:00
Andy Piper a07b238c7d AP_HAL: add PRIORITY_RCOUT
don't allow UART copies
add @SYS/uarts.txt
2021-02-20 14:37:11 +11:00
Patrick José Pereira 12cd138030 AP_HAL: Remove pointer check before delete
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-04 09:01:19 +11:00
Andy Piper 0eff201016 AP_HAL: add mem_info()
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2021-02-03 23:35:44 +11:00
Patrick José Pereira 6899c0b5af AP_HAL: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Arsh 18f56fbac5 AP_HAL:examples:Printf: Improvements in the Printf example 2021-02-03 13:02:49 +11:00
Andrew Tridgell 6163659887 AP_HAL: prevent a single bad transfer causing an IMU to be marked unhealthy
This is a response to this issue:
https://discuss.ardupilot.org/t/gyro-problem-after-waypoint-log-analisys

The 2nd gyro went bad with a large offset. Then the first gyro was
marked unhealthy, forcing the EKF to switch to the 2nd gyro. That
resulted in a crash.

I think the SPI bus was getting bad transfers and the register check
code happened to get a bad transfer, thereby marking the first gyro
unhealthy

This change ensures we only fail the register check if two transfers
in a row are bad. This makes it much less likely that a noisy bus will
lead to an unhealthy gyro
2021-01-27 09:47:55 +11:00
Andrew Tridgell 1680e6e7d6 AP_HAL: expose load_persistent_params() in hal.util 2021-01-21 13:09:21 +11:00
Andrew Tridgell a9f8c9517c AP_HAL: added vnav linux target 2021-01-20 10:06:45 +11:00
Andrew Tridgell 6ca68bfba3 AP_HAL: enable 32k storage on SITL 2021-01-16 06:47:10 +11:00
Andrew Tridgell 75c789fc57 AP_Baro: added ExternalAHRS backend 2021-01-05 21:13:12 +11:00
Arsh 3d5addeee0 AP_HAL:examples:AnalogIn: Added comments in the AnalogIn example 2021-01-05 20:43:04 +11:00
Andrew Tridgell 96cbde0ee6 AP_HAL: use ExpandingString class 2021-01-05 10:52:00 +11:00
Tom Pittenger afaca30075 AP_HAL: add helpers le24toh_ptr(), be24toh_ptr(), put_le24_ptr(), put_be24_ptr() 2020-12-30 17:56:38 -08:00
Andy Piper 1c79f22ba2 AP_HAL: make erpm accessible from RCOutput
give access to erpm error rate
add bi-directional dshot mask modifier
2020-12-30 19:14:16 +11:00
Andy Piper 9e7c60178d AP_HAL: rename system_initialized() and add is_system_initialized() 2020-12-30 18:16:59 +11:00
Andy Piper c8e464ebea AP_HAL: add HAL_ENABLE_THREAD_STATISTICS to boards 2020-12-30 18:15:05 +11:00
Ari Krupnik cfb1213f43 AP_HAL: standard spelling of variant 2020-12-25 00:01:50 +11:00
Andrew Tridgell 19723e6e75 AP_HAL: make uart pointers private
this ensures they cannot be used by library or vehicle code, so we
will be able to remove them in future
2020-12-15 10:32:46 +11:00
Andrew Tridgell 195ec0316a AP_HAL: fixed example fw for SERIAL naming 2020-12-15 10:32:46 +11:00
Andrew Tridgell 95c0852b13 AP_HAL: convert to using hal.serial() instead of hal.uartX 2020-12-15 10:32:46 +11:00
Andrew Tridgell 8678759da4 AP_HAL: added hal.serial() access to uarts
this gives access to serial ports in the SERIALn_ order. It is inlined
by the compiler so using hal.uartB and hal.serial(3) generates
idential code on stm32 (tested on H7).

This is a step towards eliminating hal.uartX completely and the
horrible uartB ordering
2020-12-15 10:32:46 +11:00
Tom Pittenger 6630645915 AP_HAL: ap_periph should disable HAL_SUPPORT_RCOUT_SERIAL by default 2020-12-09 07:53:09 -08:00
Andy Piper d2e01005ee AP_HAL: add support for @SYS/dma.txt for DMA contention 2020-12-02 18:17:23 +11:00
Andrew Tridgell 68fdf033ee AP_HAL: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Tom Pittenger 089f3aa349 AP_HAL: allow hwdef to define HAL_SUPPORT_RCOUT_SERIAL - must be disabled for AP_Periph 2020-11-25 14:20:53 +11:00
Andrew Tridgell 5e8380ff41 AP_HAL: allow replay on ChibiOS 2020-11-10 16:15:45 +11:00
Andrew Tridgell 2596875ceb AP_HAL: removed fs_init()
this must go via AP_Filesystem
2020-10-27 10:45:03 +11:00
Peter Barker 3cce6197a1 AP_HAL: delete copy constructors 2020-10-13 19:55:34 +11:00
Pierre Kancir 1c80b04544 AP_HAL: add virtual set_cmdline_parameters() 2020-10-13 10:31:21 +11:00
Peter Barker 9bde294112 AP_HAL: add chargen UARTDriver example 2020-10-09 19:14:59 +11:00
bugobliterator d1eb9e8aea AP_HAL: add FilteredCAN mode to tell driver to init as such 2020-10-08 09:31:35 +11:00
mhefny 1200d0e2f8 AP_HAL: add PROBE_IMU_I2C2 to linux.h 2020-10-06 09:27:26 -07:00
Andrew Tridgell c62b86e3c1 AP_HAL: added timer_tick() on GPIO 2020-10-02 09:38:24 +10:00
Siddharth Purohit 22ab426cf2 AP_HAL: make bools to use single bit in CANTxItem 2020-09-24 12:32:19 +10:00
Siddharth Purohit 0ca2f56b71 AP_HAL: add support for external buffer to be used in ByteBuffer 2020-09-24 12:32:19 +10:00
Siddharth Purohit 9aa0970eed AP_HAL: disable protocol drivers for bootloader builds 2020-09-24 12:32:19 +10:00
Siddharth Purohit c7d69e4d13 AP_HAL: disable CAN Protocol Drivers for AP_Periph 2020-09-24 12:32:19 +10:00
Andy Piper ad895c2654 AP_HAL: ringbuffer get_size cannot be const because of semaphore 2020-09-22 09:37:02 +10:00
Andrew Tridgell 4b1552eebe AP_HAL: added BUS_TYPE_MSP
for MSP sensors
2020-09-09 06:35:50 +10:00
Peter Barker 55f72c1534 AP_HAL: create and use new AP_HAL::PWMSource object 2020-09-08 16:10:50 +10:00
Michael du Breuil d905282c1e AP_HAL: Don't redefine allowing double math in SITL/Linux if already defined 2020-09-03 09:56:29 +10:00
Patrick José Pereira 11c19a2dde AP_HAL: RCOutput_Tap_Linux: Include arm/ioctls.h
Add missing include for TCGETS2 while compile with MUSL

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-25 07:15:00 -07:00
Siddharth Purohit 15abca8ba4 AP_HAL: add native clock info methods used inside other than main thread 2020-08-19 17:31:09 +10:00
Siddharth Purohit aa893b3983 AP_HAL: add available method for locked state 2020-08-19 17:31:09 +10:00
Siddharth Purohit fa0f1e4c71 AP_HAL: add CANIface HAL, replace uavcan dependent one 2020-08-19 17:31:09 +10:00
Siddharth Purohit 697e4141cb AP_HAL: add common Event interface 2020-08-19 17:31:09 +10:00
Peter Barker 26666b4b3d AP_HAL: move battery type enumeration out of parameters object 2020-08-11 13:21:52 +10:00
bugobliterator 57dd0ca9ea AP_HAL: add support for Bank based addressing 2020-08-06 12:41:35 +10:00
Andy Piper d545f392fb AP_HAL: set base type of FrequencyPeak to uint8_t 2020-08-05 17:20:03 +10:00
Siddharth Purohit d31b44fa79 AP_HAL: add methods to extract devid details 2020-07-27 19:48:15 +10:00
Michael du Breuil 1fef30eef1 AP_HAL: Extend UART options to include forwarding MAVLink telemetry 2020-07-22 07:17:49 +10:00
Peter Barker bd8c4017bc AP_HAL: log accumulated power status flags; all flags ever set 2020-07-21 09:12:14 +10:00
Peter Barker 85b1264ff4 AP_HAL: add WARN_IF_UNUSED to several methods 2020-07-20 10:19:47 +09:00
Andrew Tridgell 19093e25be AP_HAL: added ptr accessors to sparse-endian.h 2020-07-07 10:23:00 +10:00
Peter Barker fd3dd77489 AP_HAL: rename ringbuffer empty() to is_empty() 2020-06-09 10:21:48 +10:00
Peter Barker d259c03079 AP_HAL: BetterStream add a read(uint8_t*buffer, uint16_t count method 2020-05-26 15:59:11 +10:00
Peter Barker a8d03990ec AP_HAL: add discard_input method on UARTDriver 2020-05-26 09:20:32 +10:00
Andy Piper e2ef0bd36e AP_HAL: collect data for three largest peaks
new dsp peak detection algorithm
add DSP sketch with frequency ascii art
tool to generate gyro data frames from batch sampled DF logs
add generated data from real Y6B flight
allow fft_start() to use ObjectBuffer<float> for lock-free access
allow ObjectBuffer to be resized
2020-05-24 07:43:34 +10:00
Peter Barker 141d7fed48 AP_HAL: create and use INTERNAL_ERROR macro so we get line numbers 2020-04-30 13:21:36 +10:00
Andrew Tridgell a25ea5addc AP_HAL: added thread name to persistent data
this addes the first 4 bytes of the thread name to persistent data. It
also re-arranges the data so that it is more efficiently packed,
allowing us to fit the new field
2020-04-29 07:36:55 +10:00
Andrew Tridgell 164022ca12 AP_HAL: added thread_info() API 2020-04-29 07:36:55 +10:00
Andrew Tridgell 34df438560 AP_HAL: added wait_pin() API
for waiting on data-ready lines
2020-04-23 07:28:13 +10:00
Andrew Tridgell efe78fe3e1 AP_HAL: allow SITL to emulate 3 different types of flash storage 2020-04-14 10:02:51 +10:00
Andrew Tridgell e1792f89db AP_HAL: fixed default HAL_STORAGE_SIZE for flash storage 2020-04-14 10:02:51 +10:00
Peter Barker 73e43d8da5 AP_HAL: send statustext at regular intervals after watchdog reset 2020-03-31 14:30:11 +11:00
bugobliterator afea703aaf AP_HAL: ensure libc realloc is available for all platforms except ChibiOS 2020-03-24 10:32:14 +11:00
bugobliterator c615bd9874 AP_HAL: implement standard realloc method 2020-03-24 10:32:14 +11:00
Peter Barker a59c3670c8 AP_HAL_ChibiOS: stash lr_thd in watchdog hardfault handler 2020-03-19 16:03:58 +11:00
Andrew Tridgell add7615ed9 AP_HAL: removed unnecessary subtypes 2020-03-14 08:35:32 +11:00
Andrew Tridgell 58b4b523fd AP_HAL: added in_expected_delay()
allows for error message suppression when delays are expected
2020-03-11 16:30:06 +11:00
Peter Hall 6ab13333c2 AP_HAL: support ProfiLEDs 2020-03-10 10:37:26 +11:00
Peter Barker 09562e1f13 AP_HAL_Linux: use constants for high/low rather than defines, like ChibiOS
These are really bad defines to have hanging around for general use.
2020-03-03 10:46:06 +11:00
Andrew Tridgell 5d15d867b5 AP_HAL: adjust LED API to allow more than 32 LEDs on a pin 2020-02-27 13:12:26 +11:00
Andy Piper 509341957f AP_HAL: check for div0 in quinn's estimator 2020-02-25 08:35:09 +11:00
Andy Piper f4a99a1589 AP_HAL: hardware abstraction for FFT.
control inclusion of FFT based on HAL_WITH_DSP and HAL_GYROFFT_ENABLED. target appropriate ARM cpus
define hanning window and quinn's estimator
start/analyse version of FFT to support threading
allocate memory in a specific region
calculate frequency and noise bandwidth of two noisiest peaks
control inclusion of DSP based on board size
2020-02-22 11:15:37 +11:00
Peter Hall 2bd6d4674b AP_HAL: utility: add thread safe ring buffer duplicate 2020-02-12 07:05:05 +11:00
Willian Galvani 4afdff746e AP_HAL: Fix Navigator orientation
The Rev2 prototype board had the IMU rotated
2020-02-04 22:47:16 -05:00
Randy Mackay a71ae54d3a AP_HAL: add RCOutput::get_output_mode_banner 2020-02-04 12:23:33 +11:00
Andrew Tridgell 3105c6a050 AP_HAL: added pulse_input_enable() API
this allows disabling pulse input at runtime to lower CPU load on
IOMCU when decoding via a UART
2020-01-31 11:09:07 +11:00
Peter Barker 1344827c07 AP_HAL: add empty overridable trap method 2020-01-29 10:27:01 +11:00
Andrew Tridgell f683741a9c AP_HAL: make all semaphores recursive
the cost is very similar and this prevents an easy coding error which
can occur on less used code paths
2020-01-19 20:19:30 +11:00
Andrew Tridgell 629ebbb8ea AP_HAL: removed old PX4 define 2020-01-18 17:01:40 +11:00
Patrick José Pereira dc44a17c46 AP_HAL: Add navigator board
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-01-16 08:01:54 +11:00
Peter Barker f6bb94ff33 AP_HAL: add missing break statement in dsm code 2020-01-15 13:55:42 +11:00
Andrew Tridgell 4eccea2607 AP_HAL: define more UART option bits 2020-01-03 17:32:23 +11:00
Andrew Tridgell 12b6f73d83 AP_HAL: added erase() method to Storage class 2020-01-02 09:52:57 +11:00
Andy Piper 22d6fd5e1f AP_HAL: update docs for ObjectBuffer 2019-12-10 21:07:58 +11:00
Peter Barker 10c50844fd AP_HAL: stop emitting extra CR before a LF as part of our printf 2019-11-08 17:37:04 +11:00
Peter Barker 3f9a4ee5f9 AP_HAL: fix unit test compilation due to -Werror=format-truncation 2019-11-06 21:42:18 +11:00
Andrew Tridgell 29a2351fd0 AP_HAL: rename AP_HAL::CAN to AP_HAL::CANHal
avoid conflict with ChibiOS STM32F3xx headers
2019-11-01 10:53:53 +11:00
Andrew Tridgell 9a778418a5 AP_HAL: use enum for flash_bootloader() result 2019-10-25 21:36:55 +11:00
Andrew Tridgell 15d98220e0 AP_HAL: enabled SLCAN on fmuv2 and Pixhawk1-1M
this fits for now, and is needed for CAN GPS for now
2019-10-08 10:02:14 +11:00
Andrew Tridgell 53fab5767f AP_HAL: cleanup ifdefs for SLCAN enable 2019-10-08 10:02:14 +11:00
Andrew Tridgell 2d00298070 AP_HAL: added HAL_MEM_CLASS for amount of memory 2019-10-01 09:29:55 +10:00
Andrew Tridgell 81711eb28e AP_HAL: fixed build on g++ 7.3 for stm32
the system maths headers don't like our maths defines, but are happy
if we include math.h first
2019-09-28 14:19:46 +10:00
Peter Barker 5dad0e5410 AP_HAL: a few more simple tests for snprintf 2019-09-12 16:08:59 +10:00
Peter Barker 412bf24b9a AP_HAL: add gtests for snprintf 2019-09-12 07:42:40 +10:00
Peter Barker 10675ab5c4 AP_HAL: correct include ordering in srxl.h
The header needs stdint.h which it was only getting because it was
included after stdint.h in the cpp file.

Stop including standard headers before other ArduPilot headers
2019-09-11 14:19:14 +10:00
Andrew Tridgell 4197fdeb2a AP_HAL: fixed bug in vsnprintf()
we need to return the number of bytes that would have been printed if
the buffer was big enough to support use cases such as vasprintf()
which needs to know how many bytes to allocate
2019-09-11 13:41:03 +10:00
Andrew Tridgell 1cb608a9f4 AP_HAL: allow neopixel LEDs to be set more flexibly
allow for N leds per chain, with RGB control of each
2019-09-10 13:03:28 +10:00
Tom Pittenger e3416b66dc AP_HAL_ChibiOS: add Neopixel output type, similar to dshot 2019-09-10 13:03:28 +10:00
Andrew Tridgell 6983186210 AP_HAL: added get_options() method on UARTs 2019-09-06 08:51:45 +10:00
Andrew Tridgell 2bc7db4cca AP_HAL: removed old HAL_COMPASS_ defines (no longer used) 2019-09-04 16:27:47 +10:00
Andrew Tridgell 43e011c7a8 AP_HAL: convert Linux compass specification to new probe list
this avoids the special handling in AP_Compass library
2019-09-04 16:27:47 +10:00
Michael du Breuil c12652b325 AP_Rangefinder: Remove stop pin usage 2019-09-04 09:54:50 +10:00
Michael du Breuil 927a0521e3 AP_HAL: Remove the empty force_safety_no_wait 2019-09-04 07:14:50 +10:00
Andrew Tridgell 7fa6eeaaed AP_HAL: remove unused HAL_BARO_ defines 2019-08-28 06:54:11 +10:00
Andrew Tridgell 9d94598235 AP_HAL: convert linux boards to use baro probe list 2019-08-28 06:54:11 +10:00
Andrew Tridgell 60a6f1b04a AP_HAL: removed most HAL_INS_* defines
not used any more
2019-08-28 06:54:11 +10:00
Andrew Tridgell 96180018fb AP_HAL: convert HAL_Linux to use HAL_INS_PROBE_LIST
makes for much simpler addition of new boards, especially with more
than one IMU
2019-08-28 06:54:11 +10:00
Andrew Tridgell 24e05e96e7 AP_HAL: define support for LIS3MDL_I2C and RM3100_SPI 2019-08-27 10:29:56 +10:00
Michael du Breuil e47f97c5d3 AP_HAL: Fix bad buffer termination 2019-08-26 18:57:59 +01:00
Andrew Tridgell 9741ac0b64 AP_HAL: added I2C ISR count to PersistentData 2019-08-26 09:13:39 +10:00
Andrew Tridgell c5c96c76ee AP_HAL: added logging of hardware fault information in watchdog
this may help trackdown software bugs that trigger hard faults
2019-07-19 16:02:41 +10:00
murata 2e4dda5ece AP_HAL: Match output type and variable type 2019-07-16 10:11:13 +10:00
Andrew Tridgell bee487e9da AP_HAL: added uartH 2019-07-12 17:01:21 +10:00
Siddharth Purohit c50912ed6a AP_HAL: define HAL_HAVE_DUAL_USB_CDC if not defined 2019-07-12 17:01:21 +10:00
Andrew Tridgell 5ffb8bb546 AP_HAL: enable GPIO scripting on the Disco 2019-07-06 09:02:54 +10:00
Andrew Tridgell 0ca71ba725 AP_HAL: added get_last_armed_change() Util function 2019-06-21 11:40:53 +10:00
Peter Barker 92111eea61 AP_HAL: require HALs implement rcin.protocol() to return RC protocol 2019-06-18 11:35:38 +10:00
Peter Barker b902316139 AP_HAL: remove buggy write implementation 2019-06-17 17:20:57 +10:00
Peter Barker c3a99c8eb0 AP_HAL: move dump_strack_trace into HAL
Use a weak definition to allow subclasses to override
2019-06-13 09:25:42 +10:00
heitiane 931367a7ea AP_HAL: fix RCOutput, RCOutput2 and RCInputToRCOutput examples to prevent the failure of reading and writing channels. 2019-06-11 10:27:44 +10:00
Vincent 3177d24429 AP_HAL: Make linux hardware define more readable 2019-06-04 10:00:09 +10:00
Andrew Tridgell 4c5b651296 AP_HAL: removed board type for mRoControlZeroF7 2019-05-30 15:39:57 +10:00
Pierre Kancir a4330f90b1 AP_HAL: add HAL_BARO_LPS22H_I2C 2019-05-22 07:37:20 +10:00
Patrick José Pereira fe3d4e2c3b AP_HAL: Utility: Add missing header guard in packetise
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-05-20 23:50:23 +01:00
Andrew Tridgell e64c5ef354 AP_HAL: added SPI and I2C counters 2019-05-17 08:56:06 +10:00
Andrew Tridgell 911a99b79e AP_HAL: removed hal argument to EXPECT_DELAY_MS() 2019-05-15 15:33:48 +10:00
Andrew Tridgell c786674442 AP_HAL: record mavlink msg IDs and semaphore line 2019-05-15 15:33:48 +10:00
Andrew Tridgell b1ed77bee9 AP_HAL: added EXPECT_DELAY() macro
this prevents nesting errors in use of EXPECT_DELAY(), ensuring we
always close the expected delay
2019-05-15 15:33:48 +10:00
Andrew Tridgell 8f973da4b5 AP_HAL: moved the WITH_SEMAPHORE() logic into AP_HAL
this is needed to allow us to record the location of a blocking
semaphore to track down bugs where we have a semaphore deadlock
2019-05-15 15:33:48 +10:00
Andrew Tridgell 45d5e7f6d2 AP_HAL: added persistance for internal errors 2019-05-15 15:33:48 +10:00
Andrew Tridgell 4b298aa80e AP_HAL: add scheduler state to persistent_data 2019-05-15 15:33:48 +10:00
Andrew Tridgell 11c123e4da AP_HAL: added persistent_data structure
this is a much simpler way to save data for a watchdog reset
2019-05-15 15:33:48 +10:00
Phillip Kocmoud db57b6c4f3 AP_HAL: added DPS280 on SPI / added board type for mRoControlZeroF7 2019-05-10 15:05:42 +10:00
Andrew Tridgell c63459c237 AP_HAL: added save/restore of attitude in backup registers 2019-04-22 16:53:35 +10:00
Andrew Tridgell bd84c0a8df AP_HAL: added save/restore of home to backup registers 2019-04-22 16:53:35 +10:00
Andrew Tridgell 4a3687fcf6 AP_HAL: added was_watchdog_armed()
allow decisions to be based on whether this is a watchdog reset and we
were armed
2019-04-22 16:53:35 +10:00
Andrew Tridgell 8d2f094257 AP_HAL: added was_watchdog_safety_off()
used to restore safety state on watchdog reset
2019-04-22 16:53:35 +10:00
Andrew Tridgell 88352b73bb AP_HAL: added expect_delay_ms() to Scheduler
used to notify scheduler of long expected delay in main thread
2019-04-22 16:53:35 +10:00
Andrew Tridgell 7f96d4ad12 AP_HAL: added was_watchdog_reset() 2019-04-22 16:53:35 +10:00
Andrew Tridgell 65d051cbc9 AP_HAL: added hal.flash driver
needed for semaphore
2019-04-11 13:22:53 +10:00
murata dc452d41d2 AP_HAL: Change to shared CRC16 method 2019-04-09 12:50:17 +10:00
Siddharth Purohit 0d4725d6c6 HAL: add Invensense register bank based sensor types 2019-03-06 20:47:10 +11:00
Andrew Tridgell 20d762293d AP_HAL: remove more px4 remnants 2019-02-27 20:32:37 +11:00
Andrew Tridgell dcc038dc83 AP_HAL: prevent a zero length leading buffer in peekiovec 2019-02-26 16:18:26 +11:00
Peter Barker 8efda2b792 AP_HAL: GCS_MAVLink takes care of mavlink capabilities 2019-02-19 13:14:52 +11:00
Peter Barker e4e453402c AP_HAL: rearrange headers for consistency
Move attribute definitions all into AP_Common, rather than being split between two files

Remove unused SITL_printf macros

Stop AP_Common including board information

Include AP_Common.h in AP_HAL::Sempahore for WARN_IF_UNUSED; this was the cause of a circular import problem fixed by other commits in this patch.
2019-02-15 08:15:45 +11:00
LukeMike e15d2c0f89 HAL_ChibiOS: added ChibiOS configuration of VR Brain 5.4 2019-01-24 18:41:38 +11:00
LukeMike 33f7f5b7b6 HAL_ChibiOS: added ChibiOS configuration for VR Core 1.0 2019-01-24 18:41:38 +11:00
LukeMike f615ab9a0a HAL_ChibiOS: added ChibiOS configuration for VR Brain 5.1 2019-01-24 18:41:38 +11:00
Siddharth Purohit 504cfd8989 AP_HAL: add flag for enable/disabling filters 2019-01-23 15:57:05 +11:00
Andrew Tridgell c04f1180c9 AP_HAL: removed F4Light 2019-01-21 21:57:21 +11:00
mirkix 506da9ac42 AP_HAL: enable UAVCAN for bbbmini, blue and pocket 2019-01-21 08:08:59 +11:00
Randy Mackay 06bb02fab7 AP_HAL: minor format fixes to CAN 2019-01-18 17:30:28 +11:00
LukeMike 45c5979999 AP_HAL: added define of ChibiOS sub type for VR Brain boards 2019-01-18 11:49:19 +11:00
Michael du Breuil 44079dcc46 AP_HAL: Add scripting heap 2018-12-31 19:25:23 -07:00
Andrew Tridgell 4889625826 AP_HAL: added set_slowdown() to SPIDevice
used to slow down a SPI device below normal high speed operation
2018-12-31 08:00:14 +11:00
Andrew Tridgell d8cf1997d2 AP_HAL: added fs_init() to Util API 2018-12-31 08:00:14 +11:00
Andrew Tridgell 1fd1614e34 AP_HAL: added locking against read for UARTs 2018-12-29 15:58:22 +11:00
Peter Barker 24653a33ed SITL: make socket manipulation functions bool rather than void
... so callers can check if they succeeded or not
2018-12-18 08:51:01 +11:00
Peter Barker 8a0e3dd657 AP_HAL: add millis16 to HAL; provide weak implementation
This wraps every minute or so - but if you only need to track intervals
under ~65 seconds could save RAM
2018-12-10 12:52:41 +09:00
Andrew Tridgell 8907506c18 AP_HAL: added replacement for memrchr() 2018-12-06 13:32:09 +11:00
Andrew Tridgell a0be4f4c8d AP_HAL: fixed build and comments 2018-12-06 11:12:40 +11:00
Andrew Tridgell d01f5ae6c8 AP_HAL: added mavlink_packetise()
used for aligning MAVLink packets on UDP on packet boundaries
2018-12-06 11:12:40 +11:00
Andrew Tridgell 4cfb1b04ad AP_HAL: define HAL_BOARD_STORAGE_DIRECTORY for sitl, px4 and chibios 2018-11-29 16:36:29 +11:00
Siddharth Purohit df7d0d1971 AP_HAL: add support for unformatted board id 2018-11-29 16:36:29 +11:00
Andrew Tridgell e629845f00 AP_HAL: minimize features on px4-v1 2018-11-26 13:29:40 +11:00
Andrew Tridgell bed7939969 AP_HAL: added support for swapping RX and TX pins 2018-11-20 18:25:20 +11:00
Andrew Tridgell f2cd6e9a05 AP_HAL: added set_reversible_mask() 2018-11-16 08:33:35 +11:00
Andrew Tridgell a4c532edff AP_HAL: fixed typo in fmax macro 2018-11-15 14:39:11 +11:00
Andrew Tridgell 58ed5a123c AP_HAL: added HalfDuplex UART option 2018-11-14 19:05:09 +11:00
Andrew Tridgell 37fc6e8b1c AP_HAL: added inversion options 2018-11-14 19:05:09 +11:00
Michael du Breuil 9a9e715af8 AP_HAL: Define HAL_HAVE_SERVO_VOLTAGE 2018-11-12 23:29:04 +00:00
Andrew Tridgell 9ea03e085d AP_HAL: added readptr() and advance() to ObjectBuffer
this gives a more efficient way of accessing an ObjectBuffer, which
reduces interrupt latency in SoftSigReader
2018-11-07 07:35:45 +11:00
Andrew Tridgell 6c6dabc33c AP_HAL: set default batt monitoring for bebop and disco 2018-10-31 20:30:35 +11:00
Peter Barker f8b1203399 AP_HAL: provide method returning approximate link bandwidth 2018-10-30 19:31:37 +11:00
Kevin Lopez Alvarez ab7c7afd1d AP_HAL: add ChibiOS FMUv4pro 2018-10-21 09:59:44 +11:00
Peter Barker f90dd0c156 AP_HAL: add simple tests for null-termination 2018-10-21 07:54:30 +11:00
Peter Barker 33e3d6e254 AP_HAL: Util: make vsnprintf and snprintf always null-terminate
The C++ standard indicates these functions always return a
null-terminated string.  We should rename these functions if we're not
going to conform to the standards.

From https://en.cppreference.com/w/cpp/io/c/vfprintf :

"Writes the results to a character string buffer. At most buf_size-1
characters are written. The resulting character string will be
terminated with a null character"

We are still not standards-compliant in the case a length of 0 is passed
in, returning 0 where we should return the space that would be required
to store the formatted string.
2018-10-21 07:54:30 +11:00