Commit Graph

813 Commits

Author SHA1 Message Date
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