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
Andrew Tridgell
4322ef7ca4
AP_HAL: prevent valgrind errors in EKF
...
ensure that EKF memory is zero on start
2018-01-17 11:22:05 +11:00
Andrew Tridgell
d2c04aa649
AP_HAL: moved board defines to hwdef.dat
2018-01-15 11:46:02 +11:00
Andrew Tridgell
2773b17fad
AP_HAL: added support for AP_Terrain for ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
c80149123f
AP_HAL: use hwdef.h for config options in chibios
2018-01-15 11:46:02 +11:00
Andrew Tridgell
8699b6233a
AP_HAL: support MindPX-v2
2018-01-15 11:46:02 +11:00
Andrew Tridgell
c7fd455f6a
AP_HAL: added FMUv4 port for ChibiOS
2018-01-15 11:46:02 +11:00
bugobliterator
9d6ab78376
AP_HAL: add support for memory allocation by region type
2018-01-15 11:46:02 +11:00
Andrew Tridgell
8260b3f65f
AP_HAL: allow bus speed and SMBUS enable on I2C
...
this allows a driver to request a bus speed for a device, and whether
the device should be in SMBUS mode. It also allows a min timeout to be
specified, to allow for slow devices
2018-01-15 11:46:02 +11:00
Andrew Tridgell
347c774665
AP_HAL: fixed example build on ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
391affc02d
AP_HAL: support ChibiOS
2018-01-15 11:46:02 +11:00
mirkix
0e7ade6f0c
AP_HAL: add new board PocketPilot
2017-12-27 16:01:55 +00:00
Mark Whitehorn
66c4b7d986
AP_HAL: support SBusOut
...
rename enable_sbus_out to enable_px4io_sbus_out
2017-11-30 10:20:04 +11:00
HeBin
895b5f34b8
AP_HAL: add Robsense PhenixPro Devkit Board support
2017-11-22 10:10:21 -08:00
Chinese66
700aaf2e8f
AP_HAL: add delay to UART_test example
...
For AC3.5 and higher version, serial uartA-USBconsole cannot work. Maybe the code before "setup" has been changed. Ensure that the uartA can be initialized
2017-11-22 09:05:17 +09:00
Georgii Staroselskii
6326e23682
AP_HAL: Navio: add defs for BoardLED
2017-11-17 09:20:55 -08:00
alexshirley
065b00eb81
AP_HAL: Remove SBUS macro from ocpoc target
2017-11-01 10:28:40 -07:00
Lucas De Marchi
7fd10921c3
AP_HAL: Linux: add define for storage dir
...
This mantains compatibility with what the boards were already using,
except for Aero and Minlure in which I'm changing it already as this is
desired.
2017-10-30 16:57:37 -07:00
Lucas De Marchi
591b846e2d
AP_HAL: switch aero and minlure to new log/terrain directory
...
Additionally make Edge use the default.
2017-10-30 16:57:37 -07:00
Lucas De Marchi
d2ba8409d0
AP_HAL: provide default directory for Linux boards
...
/var/lib/<project> is more in line to where projects save their data.
Also, remove APM from dir name as it should had been done some time
ago.
This is only the default (and recommended for any new board). Existing
boards that want to adopt the default can remove their defines.
2017-10-30 16:57:37 -07:00
Georgii Staroselskii
4e2028c32f
AP_HAL: Edge: enable Heat PWM
2017-10-20 13:03:08 -07:00
Georgii Staroselskii
db9f427617
AP_HAL: Edge: add compass settings
...
Use HMC5883L as default before UAVCAN Linux support is in place
2017-10-20 13:03:08 -07:00
Georgii Staroselskii
2dd68243a2
AP_HAL: add Edge support
2017-10-20 13:03:08 -07:00
Francisco Ferreira
be1f0801a3
AP_HAL: stop defining a default Lightware I2C bus
...
When a specific bus isn't defined we now search I2C buses 0 and 1
2017-10-09 11:57:02 +01:00
Lucas De Marchi
7edde571e1
AP_HAL: RCOutput_Tap: make LEDs blink on non-Aero ESCs
...
The protocol defines bits for controlling possible LEDs. On Aero the ESC
firmware simply ignores these bits and blink with a fixed frequency.
Add logic to be able to blink the ESC if not flashed with the Aero
version of the firmware.
2017-09-28 08:59:52 -07:00
Lucas De Marchi
2c3054cbae
AP_HAL: RCOutput_Tap: remove feedback from ESCs
...
This is not currently working on Aero, the only user of it right now,
and it has been commented out. Remove dead code.
2017-09-28 08:59:52 -07:00
Lucas De Marchi
d3a1ed9792
AP_HAL: RCOutput_Tap: fix comment with protocol bits
2017-09-28 08:59:52 -07:00
Lucas De Marchi
58ae139b8f
AP_HAL: add possible external compasses for aero
2017-09-27 09:25:34 -07:00
Andrew Tridgell
08344557d9
AP_HAL: fixed missing LPS25H define
2017-09-27 16:42:31 +10:00
fnoop
149188de12
AP_HAL: Add size() method to RingBuffer ObjectArray
2017-09-22 09:56:00 -07:00
fnoop
3ddd9a6bca
AP_HAL: RingBuffer: Prefix private members with underscore
2017-09-22 09:55:49 -07:00
Lucas De Marchi
68b3e5ccab
AP_HAL: aero: define uart RCOutput_Tap
2017-09-21 07:59:20 -07:00
Lucas De Marchi
51665a2ea9
AP_HAL: RCOutput_Tap: split baudrate set for Linux and Nuttx
...
On Linux (and in most of posix-like systems) the baudrate set in struct
termios via cfset[io]speed is actually the index of the standard
baudrates, it's not the baudrate per se (hence the use of B* macros).
On Linux it's possible to set the baudrate by passing the baudrate
itself to TCSETS2 ioctl. Unfortunately it's not possible to include
asm/termbits.h and termios.h in the same compilation unit, so we need to
split it. Here we split into a Linux and a NuttX implementation.
2017-09-21 07:59:20 -07:00
Lucas De Marchi
58a76adc13
AP_HAL: RCOutput_Tap: allow different device to be used
2017-09-21 07:59:20 -07:00
Lucas De Marchi
f6b1099896
AP_HAL: move in tap esc implementation
...
This can be shared with Linux.
2017-09-21 07:59:20 -07:00
Peter Barker
68652867e1
AP_HAL: make in_main_thread public, pure and virtual
2017-09-19 09:40:11 +10:00
Lucas De Marchi
13f4ba7392
AP_HAL: remove raspilot
2017-09-12 15:06:19 -07:00
Francisco Ferreira
51a8aa3d1f
AP_HAL: remove URUS
2017-09-11 10:04:11 -07:00
davidaroyer
8862e76284
AP_HAL: add support for Aerotenna OcPoC-Zynq hardware
2017-09-08 07:30:49 -07:00
Lucas De Marchi
2c72fc94ba
AP_HAL: change aerofc baud to 921600
2017-09-01 07:55:47 -07:00
Lucas De Marchi
0e502d89a3
AP_HAL: use FALLTHROUGH define
...
When falling through on a case switch, allow to add an empty statement
with the correct attribute to tell the compiler this behavior is
intended.
2017-08-22 23:59:13 -07:00
Francisco Ferreira
e0f4d3dbe5
AP_HAL: remove unused HAL_AIRSPEED_MS4515DO_I2C_BUS macro
2017-08-05 03:15:53 +01:00
Lucas De Marchi
5ea1784838
global: remove AP_HAL::in_timerprocess()
...
This is not used and in the only places it would make sense would be
internally to the scheduler so remove it.
2017-08-03 20:25:14 -07:00
Lucas De Marchi
e98fe2d7d5
AP_HAL: RingBuffer: add missing include
2017-08-02 21:10:55 -07:00
Lucas De Marchi
61aed0f0d7
RingBuffer: example: integrate with build system
...
It's only compatible with Linux so for now disable the other boards.
2017-08-02 16:08:55 -07:00
Murilo Belluzzo
641671a366
AP_HAL: Add simple stress test for RingBuffer class
...
It runs a Producer/Consumer thread pair endless reading and writing a
ByteBuffer. Producer writes a number sequence that is twice the
ByteBuffer size so a given position have a different data on each write
pass. Consumer makes sure that this pattern is not broken and aborts the
program if it is.
It is possible to spawn more pairs by informing a number as argument of
the program.
2017-08-02 15:30:35 -07:00
Lucas De Marchi
dbd074b250
AP_HAL: remove register_timer_process with extra arg
2017-08-02 08:00:53 -07:00
Andrew Tridgell
0188d6463d
AP_HAL: added rcout set_detault_rate()
2017-07-24 14:07:28 +10:00
Kevin Lopez Alvarez
fb6f368575
AP_HAL: initial FMUv4pro support
2017-07-24 13:45:37 +10:00
Siddharth Bharat Purohit
807ba9d520
HAL: use correct datatype for time conversion
2017-07-13 18:23:00 -07:00
Peter Barker
c163915f6e
AP_HAL: correct storage example
2017-07-07 16:18:37 +01:00
Eugene Shamaev
8f2306fd19
AP_HAL: support of several CAN managers (virtual drivers)
2017-07-03 11:44:32 +01:00
Andrew Tridgell
94b5a9c6f0
AP_HAL: added RSSI interface for RCInput
2017-07-03 11:22:21 +10:00
Andrew Tridgell
1c741e78e6
AP_HAL: changed BRUSHED16kHz to BRUSHED
2017-06-17 17:37:45 +10:00
Andrew Tridgell
6a01494d4a
AP_HAL: fixed setting of HAL_MINIMIZE_FEATURES for FMUv3
2017-06-07 17:39:45 +10:00
Lucas De Marchi
eb70dbc6f5
AP_HAL: add HAL_OS_POSIX_IO for aerofc-v1
...
What aerofc-v1 doesn't have is an sdcard, but it has posix-like API as
it's running on top of NuttX.
2017-06-06 18:42:17 -07:00
Lucas De Marchi
2e096d76c6
sparse-endian: avoid clash with linux/types.h
...
On recent kernels (>= 4.10) __bitwise is defined on the header. Avoid
warning about redefining it.
2017-06-02 11:26:02 -07:00
mirkix
478fb60a5b
AP_HAL: BeagleBone Blue fix HMC5843 I2C bus number
2017-06-01 17:11:34 +01:00
Lucas De Marchi
915f10dc8a
AP_HAL: SPIDevice: prefer nullptr for pointer
2017-04-19 01:36:58 -07:00
Vinicius Juvinski
203073e543
AP_HAL: add LEDs for BBBMini
...
Use pins P8.9, P8.10 and P8.11
2017-04-19 01:33:35 -07:00
hiro2233
1a8fa6ac5a
AP_HAL:SPIDevice: Added functions for spi registered device.
2017-04-19 01:05:12 -07:00
Peter Barker
18d8f9ba9d
AP_HAL: make get_custom_log_directory const
2017-04-19 00:11:49 -07:00
Pierre Kancir
34199b4af0
AP_HAL: example fix travis warning
...
missing function declaration
implicit cast
some style fix
2017-04-13 19:56:16 +01:00
Tom Pittenger
1e84e07edc
AP_HAL: remove HAL_CPU_CLASS_16
2017-04-12 17:25:30 -07:00
Eugene Shamaev
d1792689f1
AP_HAL/utility: clear added to RingBuffer
2017-04-10 21:31:07 +01:00
Eugene Shamaev
a07033f938
AP_HAL: ESC scaling
2017-04-10 21:31:07 +01:00
Eugene Shamaev
9b98c304c4
AP_HAL: top level HAL definitions for CAN bus driver
2017-04-10 21:31:07 +01:00
Andrew Tridgell
7cd290af9b
AP_HAL: added defaults offsets max for disco
2017-04-10 19:17:37 +10:00
Lucas De Marchi
f91d23daab
AP_HAL: add HAL_PX4_HAVE_PWM_INPUT
2017-03-24 12:06:19 +11:00
Lucas De Marchi
7ca9c7a443
AP_HAL: add HAL_HAVE_SAFETY_SWITCH
2017-03-24 12:06:19 +11:00
Lucas De Marchi
d3e9f7ce66
AP_HAL: add HAL_PX4_HAVE_PX4IO
2017-03-24 12:06:19 +11:00
Lucas De Marchi
7f5b551050
AP_HAL: add HAL_PX4_HAVE_MTD_SUPPORT
2017-03-24 12:06:19 +11:00
Lucas De Marchi
c7fc3ffbc4
AP_HAL: add HAL_HAVE_BOARD_VOLTAGE
2017-03-24 12:06:19 +11:00
Lucas De Marchi
37a050eed9
AP_HAL: add comments and allow for board overrides
2017-03-24 12:06:19 +11:00
Lucas De Marchi
a682bb837a
AP_SerialManager: uartA with 460800 baud for aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
20c5e9ec08
Add support for external mag on aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
00c2949dfb
Add support for baro on aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
b17acfee12
Add aerofc support
...
Flight Controller board that comes on Intel Aero RTF Drone.
2017-03-24 12:06:19 +11:00
mirkix
81da61a68d
AP_HAL: BBBmini remove onboard OpticalFlow
2017-03-07 22:48:48 -08:00
Lucas De Marchi
686e0f08d6
AP_HAL: RCOutput: add optional timer_tick() method
...
This is common enough across the HAL implementaions so add a method for
it to avoid the need for casts inside the HALs.
2017-02-26 13:38:24 +11:00
Lucas De Marchi
8002df6e45
AP_HAL: add MPU6500 defines
2017-02-26 13:37:13 +11:00
Lucas De Marchi
0a381dfa1b
AP_HAL: document method to split transfers
2017-02-23 22:38:15 -08:00
Andrew Tridgell
dc26cbc074
AP_HAL: added set_split_transfers() API for I2C
2017-02-23 22:38:15 -08:00
Peter Barker
8f478a62d7
AP_HAL: remove HAL_PARAM_DEFAULTS_PATH for SITL
...
This will remove the warning at startup that etc/defaults isn't
found, which just confuses matters when things aren't working
2017-02-09 21:00:43 +11:00
Andrew Tridgell
2bb1043c23
AP_HAL: added HAL_MINIMIZE_FEATURES
...
this is used to select a minimal build to save flash space on FMUv2
2017-01-29 16:31:06 +11:00
murata
03bf57219b
AP_HAL: Unify from print or println to printf.
2017-01-27 18:20:22 +11:00
Lucas De Marchi
a73c1daa2e
AP_HAL: Device: remove unused function to read registers
...
Callers can use be16toh(), be32toh(), etc. There's no need to have a
special function here for each type.
2017-01-26 23:18:27 -08:00
Lucas De Marchi
14519e90ff
AP_HAL: Device: remove trailing whitespaces
2017-01-26 23:18:27 -08:00
mirkix
093407e8e8
AP_HAL: Add BeagleBone Blue
2017-01-26 23:15:52 -08:00
Julien Beraud
c31522c2c3
AP_HAL_Linux: fix focal lengths calculation
...
Fixed focal length on bebop due to wrong spec.
Fix comment that had a typo.
Fixed focal length calculations on other boards that were mislead
by the typo.
2017-01-23 21:23:16 +11:00
Julien Beraud
4646428ac0
AP_HAL: remove ahrs cb from opticalflow
...
Not needed anymore
2017-01-23 21:23:16 +11:00
Julien Beraud
8a57e1a4a7
AP_HAL: Add methods for optical flow
...
Add methods to push gyro and gyro biases to perform a good
optical flow
2017-01-23 21:23:16 +11:00
Mathieu OTHACEHE
bad1c879d9
AP_HAL: Bebop & Disco: move default param file path
...
In future Bebop & Disco releases, no ardupilot binary nor default param file
will be provided.
So move HAL_PARAM_DEFAULTS_PATH to ardupilot folder in RW memory.
2017-01-18 18:08:01 +00:00
Mathieu OTHACEHE
fdb2a9c99b
AP_HAL: Bebop & Disco: rename APM to ardupilot in paths
...
Rename APM to ardupilot for Bebop and Disco's HAL_BOARD_LOG_DIRECTORY and
HAL_BOARD_TERRAIN_DIRECTORY.
2017-01-18 18:08:01 +00:00
Pierre Kancir
e627bbc912
AP_HAL: Board fix typo for baro BMP280_SPI
2017-01-17 17:33:37 +00:00
mirkix
4e06be38ac
AP_HAL: Add Bosch BMP280 driver
2017-01-14 12:52:07 +11:00
Lucas De Marchi
5472bc4de1
Global: change Device::PeriodicCb signature
...
Remove bool return as it's never being used and not supported on PX4.
2017-01-14 10:03:54 +11:00
Andrew Tridgell
9b7f0f7957
AP_HAL: make new_input() API clearer in comments
2017-01-09 21:47:11 -08:00
murata
974d63a6b5
AP_HAL: Change the format of the return value of the method header.
2017-01-09 15:46:03 +00:00
Andrew Tridgell
da45aef5c6
AP_HAL: fixed a logic bug in the srxl state machine
...
when decoding invalid input the buflen could grow to beyond the buffer
size, overwriting the next block of memory. On Disco this ended up
overwriting the Perf::_instance variable, which led to a segmentation
fault
2017-01-09 09:14:13 +11:00
Randy Mackay
a2f6d7c102
AP_HAL: minor comment fix to Device.h
2016-12-24 13:55:31 +09:00
Andrew Tridgell
29bc07f410
AP_HAL: setup for building ucavcan on FMUv3 but not FMUv2
...
save a lot of flash space on FMUv2
2016-12-19 08:07:12 +11:00
Andrew Tridgell
bd0a0510ed
AP_HAL: define FMUv3
2016-12-19 08:07:11 +11:00
Lucas De Marchi
b0ddf81687
Remove stdbool.h include for C++ sources
...
This header is not needed in our C++ sources.
2016-12-16 11:38:52 -08:00
Andrew Tridgell
c657ad449b
AP_HAL: added get_bus_address()
...
used to report sensor probing results in drivers
2016-12-05 16:51:49 -08:00
Andrew Tridgell
60c29417f1
AP_HAL: added uint16 access functions
2016-12-05 16:51:49 -08:00
mirkix
7e33ba04a9
AP_HAL: Add BBBmini PX4FLOW I2C bus number
2016-12-03 21:07:07 +11:00
Andrew Tridgell
28a318145c
AP_HAL: move set_retries() up to Device class
...
we really need set_retries() high during init for nearly all i2c
devices, and as many are written against the generic device class
moving it to the Device class makes this a lot easier. It is a NOP on
SPI.
2016-12-02 09:47:51 +11:00
Andrew Tridgell
fac8f1db03
AP_HAL: added MODE_PWM_BRUSHED16KHZ
2016-11-30 10:53:25 +11:00
Andrew Tridgell
00ccacb2ab
AP_HAL: expose device bus number
2016-11-28 10:18:32 +11:00
Andrew Tridgell
a96ed8c188
AP_HAL: added virtual destructor for Semaphores
2016-11-28 08:26:56 +11:00
Andrew Tridgell
fdc94ec28a
AP_HAL: fixed frequency init for register checking
2016-11-26 18:36:36 +11:00
Andrew Tridgell
954728c9e9
AP_HAL: added set_chip_select() API
...
for devices with unusual timings
2016-11-25 21:26:27 +11:00
Andrew Tridgell
7100272f14
AP_HAL: default to register checking every 10th call
...
this saves having this in nearly all callers
2016-11-25 20:31:36 +11:00
Andrew Tridgell
e42bb20052
AP_HAL: added dma allocation routines to hal.util
2016-11-25 17:49:58 +11:00
Andrew Tridgell
5934a099a4
AP_HAL: added support for more SRXL varients
...
based on work by Roman Seb <roman-29188@gmx.de>
2016-11-24 22:54:23 +11:00
Andrew Tridgell
14a26bee6c
AP_HAL: fixed ms5611 address on FMUv1
2016-11-13 16:21:05 +11:00
Andrew Tridgell
bc614de4b3
AP_HAL: added checked registers interface
...
allow drivers to easily monitor and correct critical registers
2016-11-11 08:08:55 +11:00
Andrew Tridgell
c565c9df35
AP_HAL: added ICM20608 external SPI name
2016-11-11 08:08:55 +11:00
Andrew Tridgell
fd8955a737
AP_HAL: define default rotations for mpu6000 based boards
2016-11-09 17:08:14 +11:00
Andrew Tridgell
d778ee2db0
AP_HAL: define device for icm20608 on ACCEL_MAG CS line on px4
...
for PHMINI
2016-11-09 17:08:12 +11:00
Andrew Tridgell
ba9b475782
AP_HAL: added MS5611 on I2C for px4-v1
2016-11-09 17:08:11 +11:00
Andrew Tridgell
ea74f8c12c
AP_HAL: added ICM20608 INS name
2016-11-09 17:08:07 +11:00
Andrew Tridgell
38a1f51b53
AP_HAL: define rotations for the MPU9250 in board/linux.h
2016-11-09 17:08:07 +11:00
Andrew Tridgell
1990aa96e1
AP_HAL: added get_bus_id_devtype()
...
used to do versioning on device types
2016-11-09 17:08:06 +11:00
Andrew Tridgell
3d48b6bb3a
AP_HAL: added device id tuples to Device class
...
this allows a bus connection and device type tuple to be identifed as
a 24 bit number for use in user visible device IDs. Every bus
connection has a unique device ID.
2016-11-09 17:08:04 +11:00
Andrew Tridgell
26ca2dd392
AP_HAL: added more px4 SPI device names
2016-11-09 17:08:03 +11:00
Andrew Tridgell
a06137bb68
AP_HAL: define 9250 devices
2016-11-09 17:08:01 +11:00
Andrew Tridgell
bf0b0c1773
AP_HAL: fixed HAL_SEMAPHORE_BLOCK_FOREVER to be zero
...
all implementations assume this
2016-11-09 17:07:57 +11:00
Andrew Tridgell
b697c978e6
AP_HAL: fixed lsm303d SPI name
2016-11-09 17:07:57 +11:00
Andrew Tridgell
e79b4f1c11
AP_HAL: added defines for ms5611 on other SPI buses
2016-11-09 17:07:57 +11:00
Andrew Tridgell
5db65cdb6d
AP_HAL: added subtype for PX4 FMUv4
2016-11-09 17:07:57 +11:00
Andrew Tridgell
3927994905
AP_HAL: added SPI device names to px4
2016-11-09 17:07:56 +11:00
Andrew Tridgell
4d5562764a
AP_HAL: provide default hmc5983 i2c bus address
2016-11-09 17:07:55 +11:00
Lucas De Marchi
7968736b1c
AP_HAL: add O_CLOEXEC in places missing it
...
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
312a27dd20
AP_HAL: RCInput: rename deinit() to teardown()
2016-11-02 16:28:20 -02:00
murata
c808ee2f49
Global: To nullptr from NULL.
...
RC_Channel: To nullptr from NULL.
AC_Fence: To nullptr from NULL.
AC_Avoidance: To nullptr from NULL.
AC_PrecLand: To nullptr from NULL.
DataFlash: To nullptr from NULL.
SITL: To nullptr from NULL.
GCS_MAVLink: To nullptr from NULL.
DataFlash: To nullptr from NULL.
AP_Compass: To nullptr from NULL.
Global: To nullptr from NULL.
Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
hiro2233
3742c3b243
AP_HAL: Added subtype board URUS.
...
This is a linux system based with Raspberry Pi B+, it's a automated
domotic system using APM framework.
2016-10-27 11:51:31 -02:00
Lucas De Marchi
05a7eef1a2
RingBuffer: use explict "if" and return early
...
Remove confusing use of ternary operator together with assign + load.
No change in behavior.
2016-10-27 10:35:01 -03:00
Murilo Belluzzo
3f1896b9b7
RingBuffer: Remove 'old style' version
2016-10-27 14:24:10 +11:00
Murilo Belluzzo
8526b25654
RingBuffer: Add a faster method to read a single byte
2016-10-27 14:23:42 +11:00
Martin Evans
37b85fd3cd
AP_HAL: Add Dark Linux board
2016-10-24 09:59:02 -02:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell
8f88d7c784
AP_HAL: fixed comment on XPlus channels
...
thanks for Francisco for noticing
2016-10-17 06:49:40 +11:00
Andrew Tridgell
4d44591e62
AP_HAL: fixed decoding of XPlus channels
2016-10-16 19:05:19 +11:00
Andrew Tridgell
ec8c22f26e
AP_HAL: support up to 20 channels on SRXL
...
tested with 18 channels on a DSM18 transmitter with a AR7700 receiver
with SRXL port
2016-10-16 19:05:19 +11:00
Andrew Tridgell
ece0a8721f
AP_HAL: added standalone test program for dsm
...
useful for debugging
2016-10-16 19:05:19 +11:00
Andrew Tridgell
7b3d0234d1
AP_HAL: added an SRXL protocol decoder
...
SRXL ports are commonly found on newer spektrum receivers like the AR7700
2016-10-16 19:05:18 +11:00
murata
ba60cce0c1
AP_HAL: simplify the processing of milliseconds from the time
2016-10-15 18:33:54 +09:00
Peter Barker
e71c71fcac
AP_HAL: correct casting of get_system_clock_ms
2016-10-14 18:41:56 +11:00
Andrew Tridgell
e356797888
AP_HAL: make cork() mandatory in RCOutput
2016-10-13 10:00:04 +11:00
Lucas De Marchi
ae53920e5b
build: don't build examples with old build system
...
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file. Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Andy Little
4b2eedac05
AP_HAL: Split the AP_HAL_Boards.h header into per board sub headers for legibility
2016-09-29 08:26:50 -03:00
Andrew Tridgell
e7656fb7ac
AP_HAL: raise compass offset max again for Disco
...
values of 1600 happen on Z axis
2016-09-23 10:52:55 +10:00
Andrew Tridgell
2edd914634
AP_HAL: added st24 R/C protocol decoder
...
with thanks to the PX4 project
2016-09-21 10:33:15 -03:00
Andrew Tridgell
9a7af89b30
AP_HAL: added sumd decoder
...
with thanks to the PX4 project
2016-09-21 10:33:15 -03:00
Matthew Brener
06388b0417
Global: Fix typos
2016-09-17 00:36:36 -03:00
Andrew Tridgell
bf67d4277d
AP_HAL: define a larger compass offset max for Disco
2016-09-14 11:52:55 +10:00
Benoit Tran
9b89b4f561
AP_HAL: Correct HAL_PARAM_DEFAULTS_PATH for Parrot Disco
2016-09-08 13:05:25 +10:00
Gustavo Jose de Sousa
5c5ddc9d4a
AP_HAL: reformat AP_HAL_Boards.h
...
The definitions for each board haven't been reformatted here. They need a
little more thinking on how to format them in order to provide better
readability.
2016-09-03 01:03:17 -03:00
José Roberto de Souza
0b0be31a29
AP_HAL: add defines for Intel Aero
2016-09-03 01:03:07 -03:00
Lucas De Marchi
e1ab44f4a3
Global: remove get_fd() from Device API
...
This was there for compatibility with I2CDriver and SPIDriver. We don't
use them anymore so we can remove the compat method.
2016-08-29 10:27:36 -03:00
Lucas De Marchi
ead01855df
AP_HAL: remove default params for minlure
...
We are currently not using them.
2016-08-29 10:27:36 -03:00
LukeMike
13e3150023
VRBRAIN / AP_HAL_Boards: definition of new board VR Brain 5.4 and VR Core 1.0
2016-08-07 20:31:51 +10:00
Murilo Belluzzo
077e03678f
Global: Adapt Stream class to be used with Ringbuffer
2016-08-03 01:44:02 -03:00
Murilo Belluzzo
b856d26087
RingBuffer: ::set_size now returns true or false
2016-08-03 01:44:02 -03:00
Murilo Belluzzo
f7f203efa9
RingBuffer: Add ::clear() method to discard the buffer content
...
The same could be achieved with ::set_size(::get_size()), but was not
obvious and hurts code readability.
2016-08-03 01:44:02 -03:00
Murilo Belluzzo
75a1b102fb
RingBuffer: Handle zero sized better
...
Sometimes (like in DataFlash) the size of the ring buffer will be
determined in run time and the object can have size zero until proper
initialization. When this was the case, an underflow in ::get_size would
mess with the initializing algorithm.
Another issue was that the 'new' operator could fail what was not being
handled. Now, we only set the size member after we are sure 'new'
successfully allocated memory.
2016-08-03 01:44:02 -03:00
Lucas De Marchi
052f30bc70
AP_HAL: remove macros to use MS5611 in the main thread
2016-07-30 00:55:28 -03:00
Lucas De Marchi
590539f674
AP_HAL_Linux: implement threaded I2C
2016-07-30 00:55:27 -03:00
Lucas De Marchi
37de995960
AP_HAL: update Device interface for periodic tasks
...
Replace the previous not-implemented interface with a set of new methods
that can be resonably implemented:
- register_periodic_callback() now receives a functor returning bool
to easily allow "oneshot" timers
- adjust_periodic_callback() allows the caller to change the timer
for a specific handle. This way drivers like MS5611 can adjust the
timer depending on its state machine: the time to sample
temperature is smaller than the time to get a pressure sample
- add unregister_callback(): since we have an opaque pointer, we
can't tell the user to just delete it in order to unregister the
callback
2016-07-30 00:55:27 -03:00
Lucas De Marchi
57ec968b44
AP_HAL: remove SPIDriver
...
SPIDevice now controls all accesses to SPI bus.
2016-07-29 15:01:15 -03:00
Lucas De Marchi
3a5e8a17c7
AP_HAL: remove enum id for Ublox and RASPIO
2016-07-29 15:01:15 -03:00
Lucas De Marchi
01452bf922
AP_HAL: SPIDevice: add fullduplex method
...
This method is needed when we want to transfer both tx and rx at the
same time, as opposed to common cases for sensors in which they are like
in the I2C interface: half-duplex.
2016-07-29 15:01:14 -03:00
Lucas De Marchi
81345cc112
AP_HAL: Remove enum for Dataflash
2016-07-29 14:47:04 -03:00
Lucas De Marchi
b21ad36676
AP_HAL: remove I2CDriver
2016-07-28 18:08:56 -03:00
hiro2233
4a6447575c
AP_HAL: fixed and updated RCInput example.
2016-07-27 00:52:13 -03:00
Lucas De Marchi
cb01280d77
AP_HAL: define bus for Lightware rangefinder
2016-07-26 00:52:54 -03:00
Lucas De Marchi
cfb3124f2c
AP_HAL_Linux: remove types for spi drivers
...
Those drivers using SPIDevice interface don't need a global id for each
of them. Remove those that were already converted.
2016-07-21 16:05:03 -03:00
Andrew Tridgell
e407caaa41
AP_HAL: added support for Parrot Disco
2016-07-20 13:35:51 +10:00
Luiz Ywata
d5449a6f20
AP_HAL: Add read method
...
Provide a more intuitive api for reading an I2CDevice.
2016-07-14 17:32:33 -03:00
Lucas De Marchi
08ea1ea263
AP_HAL_Linux: RCOutput_Bebop: follow coding style
...
Minor changes to follow coding style and improve readability:
- sort headers
- move struct definition to compilation unit rather than header
- Add braces to if, for, etc
2016-07-14 17:32:33 -03:00
Luiz Ywata
7fb5db8077
AP_HAL_Linux: RCOutput_Bebop: use I2CDevice interface
2016-07-14 17:32:33 -03:00
Lucas De Marchi
b9f65996bc
AP_HAL: sparse-endian: unconditionally use byteswap.h
...
This is either provided by a system header or a minimal header from
'missing' directory.
2016-07-08 19:49:32 -03:00
Lucas De Marchi
40338c3272
AP_HAL: sparse-endian: use pragma once
2016-07-08 19:49:32 -03:00
Lucas De Marchi
6a80c3d70d
AP_HAL: RingBuffer: remove trailing whitespaces
2016-07-08 16:44:26 -03:00
Lucas De Marchi
24c7f76034
AP_HAL: RingBuffer: remove C++11 initialization
...
They are already initialized in the constructor.
2016-07-08 16:44:09 -03:00
Murilo Belluzzo
3e1acdcbbf
AP_HAL: Use atomic instead volatile on RingBuffer head/tail
...
Volatile will provide protection to sequence re-ordering and guarantee
the variable is fetched from memory, but it won't provide the memory
barrier needed to ensure that no re-ordering (by either the compiler or
the CPU) will happen among other threads of execution
accessing the same variables.
For more info about this effect can be found on articles about
std::memory_order.
2016-07-08 16:12:53 -03:00
Murilo Belluzzo
b7dd4dad64
AP_HAL: Fix ByteBuffer::reserve() breaking buffer state
...
When using reserved(), the reserved memory cannot be read before it's
written, therefore we cannot update 'tail' until the caller of
reserved() is done writing.
To solve that, a method called 'commit()' was added so the caller can
inform that is done with the memory usage and is safe to update 'tail'.
The caller also has to inform the length that was actually written.
This solution was developed to work considering the usage context of
this class: 1 reader and 1 writer **only**.
2016-07-08 13:10:16 -03:00
Murilo Belluzzo
43d4012884
AP_HAL: Fix TOCTOU in ByteBuffer::peekiovec()
2016-07-08 13:10:16 -03:00
Murilo Belluzzo
9951b94d40
AP_HAL: Change the return type of 'peekiovec'
...
Possible values are '0', '1' and '2' so uint8_t is a better fit. Also,
invert 'if' condition so it's clear that is returning 0, 1 or 2.
2016-07-08 13:10:16 -03:00
Murilo Belluzzo
625f47def7
AP_HAL: Improve ByteBuffer::set_size
...
So it doesn't delete and re-create the buffer if the size
happens to be the same. Still resets the buffer content.
2016-07-08 13:10:16 -03:00
Murilo Belluzzo
e9e31172c0
AP_HAL: Simplify ByteBuffer::readptr logic
2016-07-08 13:10:16 -03:00
Leandro Pereira
fbefe32017
AP_HAL: Add method to reserve space in the ring buffer
...
Adds a method called `reserve()`, that will take a ByteBuffer::IoVec
array of at least two elements, and return the number of elements
filled out. 0 will be returned if `len` is over the total space of
the buffer; 1 will be returned if there's enough contiguous bytes in
the buffer; 2 will be returned if there are two non-contiguous blocks
of memory.
This method is suitable to be used with POSIX system calls such as
readv(), and is an optimization to not require temporary memory copies
while reading from a file descriptor.
Also modify the write() method to use reserve(), so that similar checks
are performed only in one place.
2016-07-08 13:10:16 -03:00
Leandro Pereira
e3b676ba89
AP_HAL: Add method to peek non-contiguous parts of a ByteBuffer
...
Modify ByteBuffer class to have a `peekiovec()` method, that takes in a
`struct IoVec` array (similar to `struct iovec` from POSIX), and a
number of bytes, and returns the number of elements from this array
that have been filled out. It is either 0 (buffer is empty), 1
(there's enough contiguous bytes to read that amount) or 2 (ring buffer
is wrapping around).
This enables using scatter-gather I/O (i.e. writev()), removing calls
to memcpy(). That's one call when no wrap-around is happening, and
two calls if it is.
Also, rewrite `ByteBuffer::peekbytes()` to use `peekiovec()`, so that
some of the checks performed by the former are not replicated in the
latter.
2016-07-08 13:10:16 -03:00
Siddharth Bharat Purohit
8903bc9eab
AP_HAL: add support for get realtime on Darwin systems
2016-07-07 11:35:17 -03:00
Andrew Tridgell
6e065b3fe2
AP_HAL: fixed typo
2016-07-01 15:35:07 +10:00
Andrew Tridgell
8617db89dc
AP_HAL: added hal.util->set_imu_target_temp() API
2016-07-01 15:29:52 +10:00
Lucas De Marchi
1f96336f7c
Global: rename bus type enum entries
2016-06-27 17:51:41 -03:00
Gustavo Jose de Sousa
66f1ad9ed0
AP_HAL: Device: add support for read flag
...
Many of our SPI and I2C sensors define the protocol of setting the most
significant bit of the register address in order to perform a read operation.
Thus, enable the use of a "read flag" that is ORed with the register's address.
Since this is an abstraction for general devices, it's a good idea to have zero
as the default value for that flag.
While at it, add documentation to read_registers().
2016-06-27 17:18:35 -03:00
Gustavo Jose de Sousa
b6a1d598e3
AP_HAL: Device: document write_register()
2016-06-27 17:18:35 -03:00
Gustavo Jose de Sousa
4693501d9d
AP_HAL: Device: add bus_type field
...
Sometimes it's necessary to know the type of bus to make some decisions where
AP_HAL::Device abstraction is used.
2016-06-27 17:18:35 -03:00
Patrick J.P
eb44d75ed8
AP_HAL: Remove trailing spaces from AP_HAL_Namespace.h
2016-06-22 16:03:30 -03:00
Lucas De Marchi
9738be0ed6
AP_HAL: remove tabs and trailing whitespaces
2016-06-21 13:09:00 -03:00
Lucas De Marchi
e122b2b651
AP_HAL: GPIO: remove unused functions
...
These functions are not used by any HAL, so remove them.
2016-06-21 12:16:32 -03:00
Tom Pittenger
d3ac1dc161
AP_HAL: defer calls to safety_state switch to queue an async attempt.
...
- this allows for auto-retries if the state does not set correctly
2016-05-27 21:34:40 +10:00
Andrew Tridgell
163783fefd
AP_HAL: define CH_NONE
...
for servos not connected to a channel
2016-05-26 16:26:30 +10:00
Lucas De Marchi
bbe3a94175
AP_HAL: remove support for main without argc
...
This was only used by flymaple. Also add missing copyright notice to
header.
2016-05-23 21:49:45 -03:00
Lucas De Marchi
346bdf5f8f
AP_HAL: remove support for flymaple
2016-05-23 21:49:45 -03:00
Andrew Tridgell
595d5c0002
AP_HAL: added set_size() to RingBuffer API
2016-05-23 23:41:02 +10:00
Randy Mackay
67620f312d
AP_HAL: fix comment for get_time_utc
2016-05-19 16:05:29 +09:00
Niti Rohilla
faec752801
AP_HAL: add get_system_clock_utc functions to Util
2016-05-19 16:05:26 +09:00
Andrew Tridgell
e3107a7e10
AP_HAL: fixed optflow typos
2016-05-14 08:26:10 +10:00
Ricardo de Almeida Gonzaga
eb418f54ee
AP_HAL: Fix typos
2016-05-13 19:20:06 -03:00
Staroselskii Georgii
2e5cfc2849
AP_Compass: added external compass autodetection on Navio
2016-05-10 17:24:43 -03:00
Staroselskii Georgii
8be5ef1642
AP_HAL: added possibility to use several compassed on Navio 2
2016-05-10 17:24:43 -03:00
Staroselskii Georgii
b677f975e7
AP_Compass: added LSM9DS1 magnetometer support
2016-05-10 17:24:43 -03:00
Lucas De Marchi
68ae619448
AP_Compass: detect compasses for minlure
...
Minlure has an onboard compass (HMC5883L) as slave of MPU-6000, but also
allows the use of an external HMC5883L compass, which should be
connected to the lure's I2C port.
2016-05-10 16:08:39 -03:00
Lucas De Marchi
424434e31e
AP_HAL: allow to build without HAL_COMPASS_DEFAULT
...
Otherwise we need to change the ifdef chain adding HAL_COMPASS_<BOARD>
definitions.
2016-05-10 16:07:23 -03:00
Lucas De Marchi
cf11776150
AP_HAL: fix signed and unsigned comparison warning
...
../../libraries/AP_HAL/examples/Printf/Printf.cpp:63:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (ret != strlen(float_tests[i].result)) {
^
...
ardupilot/modules/gtest/include/gtest/gtest.h:1448:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (expected == actual) {
^
And similar ones.
2016-05-04 08:58:37 -03:00
Lucas De Marchi
9ac63d7128
AP_HAL: examples: fix coding style
2016-05-04 08:58:37 -03:00
Julien Beraud
d0114eac05
AP_HAL: Add bebop SPI Device to spi devices
...
Added to namespace
2016-05-03 16:43:39 -03:00
Lucas De Marchi
5a52533084
AP_OpticalFlow: move bus definition to AP_HAL header
2016-04-29 12:10:21 -03:00
Ricardo de Almeida Gonzaga
46fb57fcf1
AP_OpticalFlow: use I2CDevice interface
2016-04-29 12:01:04 -03:00
Peter Barker
e83b10cbc5
AP_HAL: move definition of callbacks structure out of C linkage
...
This fixes all the examples which use the AP_HAL_MAIN macro.
2016-04-27 14:21:28 +10:00
mirkix
b381045d5e
AP_HAL: BBBmini rework for dual MPU9250 and external HMC5843 compass
2016-04-24 10:57:57 -03:00
Andrew Tridgell
76868dd070
AP_HAL: added uartF
2016-04-20 09:39:48 +10:00
Andrew Tridgell
b94e577cb8
AP_HAL: added enable_sbus_out() call in RCOutput
2016-04-16 07:30:43 +10:00
Andrew Tridgell
e24d600e78
AP_HAL: added hal.rcout->set_output_mode()
2016-04-14 08:05:05 +10:00
hiro2233
7814841cd6
AP_HAL: Add RCOutput interactive example with Menu
2016-04-09 07:01:35 -07:00
Ricardo de Almeida Gonzaga
5bd034a5a8
Global: start using cmath instead of math.h
2016-04-05 21:06:19 -07:00
Lucas De Marchi
57f8db5672
AP_HAL: sparse-endian: conditionally include byteswap header
...
This is not present in qurt.
2016-03-23 17:50:38 -03:00
Lucas De Marchi
c5dc54dac7
AP_HAL: utility: import sparse-endian header
2016-03-23 17:50:38 -03:00