Commit Graph

1174 Commits

Author SHA1 Message Date
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
Andrew Tridgell 5924816bbe AP_HAL: removed hal.util->new_semaphore()
replaced with HAL_Semaphore
2018-10-17 12:54:22 +11:00
Andrew Tridgell ed71790945 AP_HAL: fixed PX4 LED polarity 2018-10-09 20:25:49 +09:00
Michael du Breuil 73901274b0 AP_HAL: Define a scripting base priority 2018-10-09 10:08:52 +11:00
Michael du Breuil 6544f16339 AP_HAL: Make BBBlue use AP_BoardLED2 2018-09-19 22:58:46 +01:00
Michael du Breuil 6f7ced73d6 AP_HAL: Remove bad GPIO LED pins on NavIO2 2018-09-19 22:58:46 +01:00
Siddharth Purohit 9a2eea9769 AP_HAL: disable float print methods for non FPU controllers 2018-09-19 12:14:15 +10:00
Siddharth Purohit 5e4f76886a AP_HAL: add chibios hal header to use uC specific defines 2018-09-19 12:14:15 +10:00
Siddharth Purohit c546bec999 AP_HAL: do not use ch for channel, its used as a global var under ChibiOS 2018-09-19 12:14:15 +10:00
Andrew Tridgell eec3a2ab31 AP_HAL: added FOREACH_I2C_MASK() macro 2018-09-07 08:36:02 +10:00
Andrew Tridgell b4ecc347d7 AP_HAL: always define HAL_WITH_UAVCAN on px4 2018-09-05 08:52:47 +10:00
Peter Barker 15ae453205 AP_HAL: fix RCInput example 2018-08-31 21:08:11 +09:00
Peter Barker fcacdb42bb AP_HAL: define base-class attach_interrupt to return false 2018-08-31 08:32:08 +10:00
Andrew Tridgell 55dfefb2d6 AP_HAL: added HAL_Semaphore_Recursive 2018-08-25 15:44:36 +10:00
Peter Barker 74263f8412 AP_HAL: add attach_interrupt that takes a functor, not a AP_HAL::Proc
AP_HAL: add type-safety for interrupt types

AP_HAL: remove interrupt-low and interrupt-high, and interrupt-none

It is possible that the radio needs very tight timings - do not force
the use of the functor interface

AP_HAL: add detach_interrupt method
2018-08-21 20:34:01 +09:00
Peter Barker c846a13d12 AP_HAL: functor: add != override 2018-08-21 20:34:01 +09:00
Andrew Tridgell 0a73c3492d AP_HAL: support HAL_Semaphore type 2018-08-16 12:40:10 +10:00
Hwurzburg 5f72c9040e AP_OSD: Adding flight distance and summary panels for OSD 2018-08-16 12:00:50 +10:00
Francisco Ferreira 0645a5b11a
AP_HAL: introduce a CANProtocol interface and remove HAL CAN thread management 2018-08-12 13:35:01 +01:00
Andrew Tridgell 1fe6c7b497 AP_HAL: added chanmask to serial_setup_output() 2018-08-04 19:29:13 +10:00
Lucas De Marchi 099eefee87 AP_HAL: Chibios: HAL_GPIO_PIN_SAFETY_IN implies HAL_HAVE_SAFETY_SWITCH 2018-08-02 13:15:02 -07:00
Lucas De Marchi 7f984f2700 AP_HAL: linux: disable safety switch
Linux boards don't really handle the safety switch.
2018-08-02 13:15:02 -07:00
Lucas De Marchi 2336d2214b AP_HAL: sitl: disable safety switch
sitl doesn't really handle the safety switch and it's actually disabled
by AP_FEATURE_SAFETY_BUTTON.
2018-08-02 13:15:02 -07:00
Andrew Tridgell 949324ff2b AP_HAL: added duration to toneAlarm_set_buzzer_tone 2018-07-30 14:02:12 +10:00
Jonathan Challinger f936b1dbc2 AP_HAL: change tonealarm interface 2018-07-30 14:02:12 +10:00
Andrew Tridgell cb19d4dffc AP_HAL: added toneAlarm_set_tune_string 2018-07-20 14:37:16 +10:00
Andrew Tridgell 0fc6ca22f7 AP_HAL: setup HAL_I2C_INTERNAL_MASK for ChibiOS 2018-07-14 17:51:50 +10:00
Andrew Tridgell 464dc9102f AP_HAL: added device types for SITL
and fixed a stack init bug for make_bus_id
2018-07-13 10:19:01 +10:00
Michael du Breuil 3419b045e1 AP_HAL: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Andrew Tridgell d35abe67ae AP_HAL: added optional healthy check on storage object
used to check parameter storage is functional
2018-07-10 15:41:44 +10:00
Andrew Tridgell 4939f30ec4 AP_HAL: make linux internal i2c be 0xffff
based on feedback from Lucas
2018-07-10 15:39:47 +10:00
Andrew Tridgell b19219d636 HAL_Linux: allow for 16 I2C buses on Linux 2018-07-10 15:39:47 +10:00
Andrew Tridgell 281a1b6569 AP_HAL: added I2C bus mask functions and macros 2018-07-10 15:39:47 +10:00
Andrew Tridgell e14e0b8a14 AP_HAL: added thread_create() API
this is deliberately a minimalistic API, for ease of implementation in
each HAL
2018-07-09 19:41:18 +10:00
Andrew Tridgell eb2c9dfe74 AP_HAL: define CHIBIOS_SHORT_BOARD_NAME if not defined 2018-06-29 20:27:36 +10:00
Andrew Tridgell d1fcf2bab6 AP_HAL: added uartG
one more uart ...
2018-06-29 08:17:38 +10:00
Peter Barker b9b0ef0c77 AP_HAL: add flash_bootloader to AP_HAL API 2018-06-28 11:35:13 +10:00
Michael du Breuil 2577e5ff25 AP_HAL: Don't always define GPIO pins, they may be connected to real
hardware
2018-06-27 15:25:44 +10:00
Lucas De Marchi 49d08ba72a Global: remove minlure
Minlure is a port of ArduPilot to Minnow Board connected to daughter
board. Very few of those were produced and nobody is flying with it.

It served its purpose and all the the improvements to ArduPilot remain
regardless of it not being supported anymore. Now it's just adding
maintenance work with no clear benefit, so pull the plug.
2018-06-26 07:32:08 -07:00
Michael du Breuil a92c4aa9fd AP_HAL: Update comment on UARTDriver::begin to reflect automatic
clearing
2018-06-26 02:18:18 +01:00
Kelly-Foster ba9faafc98 AP_HAL: added MatekF405-wing subtype
Added define for HAL_BOARD_SUBTYPE_CHIBIOS_MATEKF405WING
2018-06-22 08:00:31 +10:00
Hyungsub 6e2076a3f1 AP_HAL: Remove resource leak in srxl.cpp
I correct this issues and then open a pull request.
2018-06-20 11:33:12 +10:00
Peter Barker 584c5d5806 AP_HAL: Socket: add set_cloexec 2018-06-19 09:14:28 +10:00
Peter Barker f5eb281efd AP_HAL: use AP_RTC
Also add a define as to whether set_time / get_time can be used
2018-06-15 08:01:22 +10:00
Michael du Breuil 1183ed61fb AP_HAL: Remove timer process suspension interface 2018-06-06 07:16:58 +10:00
Andrew Tridgell 0774a267c8 AP_HAL: added define for FMUv5 2018-06-06 07:15:41 +10:00
Michael du Breuil 627c7536f4 AP_HAL: Remove overrides interface 2018-06-05 09:51:09 +10:00
Andrew Tridgell d28283e302 AP_HAL: added clock_pulse() method to SPIDevice
this is used by SPI SDCard interface for HAL_ChibiOS
2018-05-27 19:10:24 +10:00
Andrew Tridgell e2ea654b77 AP_HAL: added take_blocking() method
this avoids the need to check return result
2018-05-25 13:53:17 +10:00
Eugene Shamaev c410feefa1 AP_HAL: add CAN bus declaration for the intel aero board 2018-05-25 13:53:17 +10:00
Lucas De Marchi ff6e76ea6a AP_HAL_Linux: add custom storage directory 2018-05-24 08:00:33 -07:00
Lucas De Marchi a56106cccb AP_HAL: use buildsystem for default directories 2018-05-24 08:00:33 -07:00
Lucas De Marchi 1e7ad72909 AP_HAL: use default storage for more boards
Boards from Emlid, Erle Robotics and BBB-like ones were agreed to be
changed #7100. Here I'm also change some more, just because they appear
to be using the old default just because of copy and paste. We can
always revert back if we get complains and it seems something trivial.
Almost all boards now are using the the default path for logs, terrain
and params, except those that have restrictions to do so, like ones
using custom distros.
2018-05-24 08:00:33 -07:00
Eugene Shamaev 9a22e11b92 AP_HAL: HAL_RCINPUT_WITH_AP_RADIO definition
Remove moved skyviper-v2450-px4 definitions

Co-authored-by: Francisco Ferreira <OXINARF@users.noreply.github.com>
2018-05-22 08:35:01 +09:00
Andrew Tridgell b887a1e893 AP_HAL: make receive_time_constraint_us non-const
needed to use available()
2018-05-21 14:53:18 +10:00
Francisco Ferreira 695d92ddbf AP_HAL: remove Qualcomm board support 2018-05-17 09:57:20 +10:00
Andrew Tridgell f7a239d833 AP_HAL: added function for last receive timestamp on uarts
this is used for mavlink vision time estimates
2018-05-16 18:49:22 +10:00
mirkix 76802740cb AP_HAL: fix PocketPilot HMC5843 I2C bus number 2018-05-12 07:16:50 +10:00
Peter Barker 939aec090e AP_HAL: allow F4Light to call delay callback 2018-05-12 07:16:06 +10:00
Michael du Breuil 62f153c1b7 AP_HAL: Remove set_overrides() method 2018-05-11 12:13:39 +01:00
mirkix dfd2fb1841 AP_HAL: move BUZZER_PIN into AP_HAL 2018-05-10 17:48:25 +01:00
mirkix 8c36635a8c AP_HAL: LED GPIOs for final PocketPilot design 2018-05-09 16:16:42 -07:00
Peter Barker 0ad53e53eb AP_HAL: move delay callback handling to base HAL Scheduler class
This allows us to move a lot of delay handling from vehicle classes into
HAL Scheduler.

The most notable improvement is that it moves the detection of recursion
into the Scheduler, out of each separate vehicle.
2018-05-09 16:15:38 +10:00
anbello 93f551e56e define for AirbotF4 board (ChibiOS HAL)
modified:   libraries/AP_HAL/AP_HAL_Boards.h
	new file:   libraries/AP_HAL_ChibiOS/hwdef/airbotf4/hwdef.dat
2018-05-08 07:33:19 +10:00
Andrew Tridgell 097632eeb3 AP_HAL: try to prevent use of double maths functions
this will help reduce the number of misuses of double precision maths
functions
2018-05-07 11:43:23 +10:00
Andrew Tridgell 84a4f9dc96 AP_HAL: added boost_end() method to Scheduler API
this allows for a better method of controlling main thread priority
2018-05-05 07:45:53 +10:00
Lucas De Marchi b54b95de12 AP_HAL: minlure: search for specific I2C controller
The number can change from one kernel version to another and even from
one boot to another. Find the I2C controller on sysfs and stick to that,
like it's done for PCA9685.
2018-05-04 11:47:04 -07:00
Lucas De Marchi 2000e17646 AP_HAL: move get_device() method from AP_HAL_Linux
This way it's possible to use the method in platform-independent code
without a need to up cast.
2018-05-04 11:47:04 -07:00
Lucas De Marchi 4f2498947b AP_HAL_Linux: remove redundant ifdef
CONFIG_HAL_BOARD_SUBTYPE should be set in the boards header.
2018-05-04 11:42:55 -07:00
mirkix ee86418587 AP_HAL: change PocketPilot to final baro sensor 2018-05-04 08:00:49 +10:00
night-ghost 9f1e45509a support for Matek F405-CTR board, causes minor changes in I2C descriptor block 2018-04-26 07:51:06 +10:00
Andrew Tridgell 33a26ac0a8 AP_HAL: enable DEVO telemetry on F4Light 2018-04-24 10:44:28 +10:00
Alexander Malishev ca33ff04d9 ChibiOS: add support for omnibusf4pro board 2018-04-14 09:25:15 +10:00
Andrew Tridgell 943e433be6 AP_HAL: added device name for bmp280 for ChibiOS 2018-04-12 11:50:44 +10:00
night-ghost 677fc1875b HAL_F4Light: some modes disabled by default 2018-04-11 10:13:08 +10:00
Andrew Tridgell a7711ab9f7 AP_HAL: don't require GPIO defines for RCOU serial on ChibiOS 2018-04-09 15:32:04 +10:00
Andrew Tridgell 0bb2c4564d AP_HAL: make hal aware of oneshot125
this separates oneshot and oneshot125 at the HAL layer, allowing the
HAL to properly handle the high timing resolution of oneshot125
(needed to use 125ns time steps, to get the full 1000 throttle steps)
2018-04-07 09:10:29 +10:00
Andrew Tridgell dacbef2120 AP_HAL: added get_esc_scaling() API for rcout 2018-04-07 09:10:29 +10:00
Andrew Tridgell 85ae6f60a8 AP_HAL: added UART locking interface
used to gain exclusive access to a UART. This is needed for the BLHeli
MSP protocol to prevent protocol corruption due to console writes
2018-04-07 09:10:29 +10:00
Andrew Tridgell 69c623270c AP_HAL: added telem request to RCOutput 2018-04-07 09:10:29 +10:00
Andrew Tridgell 74bf83c39f AP_HAL: added check for RCOUT serial support 2018-04-07 09:10:29 +10:00
Andrew Tridgell 7d3cce98d0 AP_HAL: allow override of MS5611 name
for fmuv4-beta
2018-04-07 09:10:29 +10:00
Andrew Tridgell d2075b4b67 AP_HAL: added irq save/restore API to hal.scheduler
these are used by RPM driver
2018-04-07 09:10:29 +10:00
Andrew Tridgell dcfec21b46 AP_HAL: added support for serial output to ESCs 2018-04-07 09:10:29 +10:00
Andrew Tridgell e7dc304f4e AP_HAL: support DShot output modes 2018-04-07 09:10:29 +10:00
Alexey Bulatov 4d08ec8c85 AP_HAL: Edge: set storage directory to /edge/ardupilot 2018-04-04 09:29:16 +09:00
kozinalexey 5df2b1a3ac chibios hal config for F4BY 2018-03-24 06:39:09 +11:00
Peter Barker 6c7c916c78 AP_HAL: eliminate AP_HAL::Print and AP_HAL::Stream
Just *way* too many layers involved here
2018-03-23 08:12:38 +11:00
Pierre Kancir f66c83a59e AP_HAL: fix FALLTHROUGH 2018-03-21 08:24:56 +09:00
LinJieqiang c73e7f0cf3 add IST8310 compass sensors in AP_Compass.cpp 2018-03-09 11:25:35 -08:00
night-ghost 7fad79ca81 HAL_F4Light: fixed parameter's numbers for some boards 2018-03-09 11:15:12 -08:00
Andrew Tridgell af8476ae08 AP_HAL: added DPS280 and FBM320 defines 2018-03-05 10:27:09 +00:00
Andrew Tridgell 64bda71da5 AP_HAL: added generic ChibiOS board type 2018-03-02 12:52:50 +11:00
Andrew Tridgell 3c0e5a315f AP_HAL: started on OMNIBUSF7V2 support 2018-03-02 12:52:50 +11:00
Andrew Tridgell 2b0a3272fd AP_HAL: support LPS25H on MPU AUX 2018-03-02 12:52:50 +11:00
night-ghost b773334008 AP_HAL_F4Light: disable AP_Stats to reduce flash degradation 2018-03-02 07:23:35 +11:00
Andrew Tridgell 60b6f4c11d AP_HAL: added crazyflie2 2018-02-14 18:27:00 +11:00
Andrew Tridgell 310acd333e AP_HAL: use 1/0 not HIGH/LOW for LEDs in ChibiOS 2018-02-14 18:27:00 +11:00
Andrew Tridgell ceeb5e6892 AP_HAL: use 1/0 not HIGH/LOW for LED polarity
this fixes the build for pixracerled driver on px4-v2
2018-02-14 18:27:00 +11:00
ljwang 59ee3c8f62 AP_HAL: support mini-pix 2018-02-14 18:27:00 +11:00
Tom Pittenger a2f1f63ab3 AP_HAL: add param defaults for EMLID_EDGE for GPS_TYPE=9 and CAN_DRIVER=1 2018-02-13 15:29:53 +11:00
Alexey Bulatov 8369f125ce AP_HAL: Edge: add define HAL_WITH_UAVCAN 2018-02-13 13:52:44 +11:00
murata 7be15cab45 AP_HAL: disable copter winch on f4light boards 2018-02-12 12:17:12 +09:00
mirkix 3aa211b325 AP_HAL: fix BeagleBone Blue external I2C number 2018-02-12 09:49:56 +09:00
Andrew Tridgell d5be04dc8f AP_HAL: fixed AP_MODULE_SUPPORTED 2018-02-10 10:50:22 +11:00
night-ghost f8569ac39e AP_HAL: added F4Light HAL 2018-02-10 09:14:41 +11:00
Andrew Tridgell f8e16008f6 AP_HAL: updated cypress radio bus pins for skyviper 2018-02-08 18:56:51 +11:00
Andrew Tridgell 6bc3d126bb AP_HAL: added sensor defines for BMM150 and ICM20789 2018-02-08 17:36:33 +11:00
Peter Barker beb5a41389 AP_HAL: add radio defines for PixHawk
This facilitates testing a diret-attached-radio using a PixHawk1

The AUX5 pin is used as an interrupt line.
2018-02-08 17:36:33 +11:00
Andrew Tridgell bc96cb8a19 AP_HAL: fixed build warnings 2018-02-07 20:33:45 +11:00
Siddharth Purohit 5bcbc4c142 AP_HAL: default to not UAVCAN support for chibios boards 2018-02-07 20:33:45 +11:00
Siddharth Purohit d539a157b7 AP_HAL: move to having ICanDriver as member instead of inheriting it
this is to support having drivers using libuavcan supplied helper objects, a method which can lead to much less duplication of code
2018-02-07 20:33:45 +11:00
Andrew Tridgell 5da17e5b60 AP_HAL: added MINIPIX board type 2018-02-07 20:33:45 +11:00
Andrew Tridgell 472ba5bde7 AP_HAL: make _timer_tick() in Storage available in all HALs
this makes using the Empty::Storage easier
2018-02-07 20:33:45 +11:00
Andrew Tridgell 3e65347b97 AP_HAL: added REVOMINI board type 2018-02-07 20:33:45 +11:00
Andrew Tridgell 5179d13dbf AP_HAL: added virtual _timer_tick method on UARTDriver
this is needed to allow HALs to update UARTs when the number of UARTs
they bhave varies (some may be instances of HAL_Empty)
2018-02-07 20:33:45 +11:00
Igor Anokhin 5cf15db966 AP_HAL: add LSM9DS1 defines
Add defines for name and number sensor
2018-02-06 09:31:26 -08:00
LukeMike bfcece7edd VRBRAIN / AP_HAL: some update for new VR Brain 5.2E (EEPROM version) 2018-02-05 08:26:49 +11:00
LukeMike dab8f93628 VRBRAIN / AP_HAL: changed vrbrain board configuration file 2018-02-05 08:26:49 +11:00
night-ghost 2065cc879c AP_HAL: mAG3110 driver 2018-02-02 21:07:40 +11:00
Lucas De Marchi 184b017b33 AP_HAL: fix warning from having undefined HAL_WITH_IO_MCU
In file included from ../../libraries/AP_IOMCU/AP_IOMCU.cpp:8:0:
../../libraries/AP_IOMCU/AP_IOMCU.h:10:5: warning: "HAL_WITH_IO_MCU" is not defined [-Wundef]
 #if HAL_WITH_IO_MCU
     ^
../../libraries/AP_IOMCU/AP_IOMCU.cpp:10:5: warning: "HAL_WITH_IO_MCU" is not defined [-Wundef]
 #if HAL_WITH_IO_MCU
     ^
And so on.
2018-02-02 09:11:46 +09:00
Andrew Tridgell 93a993c575 AP_HAL: setup RTSCTS and SBUS_OUT 2018-01-20 17:40:07 +11:00
Andrew Tridgell d030f2888b AP_HAL: added multi-object push to RingBuffer
this is much more efficient than pushing them one at a time
2018-01-20 17:40:07 +11:00
Peter Barker 87be7fea0c AP_HAL: added support for Sparky2 STM23F405 board 2018-01-20 17:40:07 +11:00
Nikita Tomilov a50e6c6dd7 AP_HAL: board: linux: Add default CAN interface name 2018-01-17 07:24:17 -08:00
Alexey Bulatov 09de8e852d AP_HAL: Make methods get_UAVCAN and set_UAVCAN pure 2018-01-17 07:24:17 -08:00
Andrew Tridgell 3f5534eed5 AP_HAL: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00