Commit Graph

500 Commits

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