Commit Graph

393 Commits

Author SHA1 Message Date
Andrew Tridgell
b3286c3da0 HAL_PX4: support MODE_PWM_BRUSHED16KHZ 2016-11-30 10:53:25 +11:00
Andrew Tridgell
40bd3a8861 HAL_PX4: tidy up thread wait code
use the same method for all threads. Makes for tidier top output
2016-11-28 10:28:01 +11:00
Andrew Tridgell
f039a37971 HAL_PX4: set names on all bus threads 2016-11-28 10:18:52 +11:00
Andrew Tridgell
f04b186879 HAL_PX4: fixed bug in instantiation of I2C bus threads
we ended up with a thread per device instead of a thread per bus!
2016-11-28 09:53:19 +11:00
Andrew Tridgell
12e0c840e8 HAL_PX4: set thread names for main threads 2016-11-28 09:47:49 +11:00
Andrew Tridgell
37a9a78725 HAL_PX4: avoid bounce buffers for SPI when possible 2016-11-27 11:10:18 +11:00
Andrew Tridgell
f3d401abb9 HAL_PX4: fixed FMUv1 build 2016-11-27 07:45:54 +11:00
Andrew Tridgell
df60b4252a HAL_PX4: reduced noise in PX4 console 2016-11-26 19:06:15 +11:00
Andrew Tridgell
638e89bd1d HAL_PX4: implement set_chip_select for SPI 2016-11-25 21:24:10 +11:00
Andrew Tridgell
60801314e0 HAL_PX4: added different modes for external SPI
and lower bus speed to 1MHz
2016-11-25 21:24:10 +11:00
Andrew Tridgell
bcb6663187 HAL_PX4: added table of actual bus speeds for SPI 2016-11-25 20:31:43 +11:00
Andrew Tridgell
0e793e1214 HAL_PX4: lower SPI bus speed on invensense devices
now we are using DMA we don't need such high bus speed, and this makes
SPI reliable with a wider range of devices.
2016-11-25 18:32:19 +11:00
Andrew Tridgell
29bbee421e HAL_PX4: enable sharing of SPI bus with PX4 with DMA 2016-11-25 17:50:18 +11:00
Andrew Tridgell
3fad5ca065 HAL_PX4: implement DMA allocation routines 2016-11-25 17:49:58 +11:00
Andrew Tridgell
7220dc15f9 HAL_PX4: adjusted bus speeds on invensense sensors 2016-11-25 17:49:57 +11:00
Andrew Tridgell
252f90ba36 HAL_PX4: drop I2C speed to 100kHz
reduce I2C errors on long cables for all sensors
2016-11-21 10:29:52 +11:00
Andrew Tridgell
00938f7dbb HAL_PX4: fixed enabled channels in init
now this is called from AP_BoardConfig we need to not clear enabled
channels
2016-11-13 13:16:22 +11:00
Andrew Tridgell
0502eca7fc HAL_PX4: removed unused variable 2016-11-13 13:16:22 +11:00
Andrew Tridgell
41018feb3a HAL_PX4: split I2C transfers
this avoids SCL low with a stop condition, which doesn't work with
some devices
2016-11-12 14:18:14 +11:00
Andrew Tridgell
8e61b15384 HAL_PX4: added ICM20608_EXT SPI device 2016-11-11 08:08:55 +11:00
Andrew Tridgell
96e42696b7 HAL_PX4: added icm20608-am SPI device 2016-11-09 17:08:12 +11:00
Andrew Tridgell
b34ab2956b HAL_PX4: added access to external SPI connector on FMUv2 2016-11-09 17:08:12 +11:00
Andrew Tridgell
01fadb6e90 HAL_PX4: added per-device perf counter for I2C devices 2016-11-09 17:08:11 +11:00
Andrew Tridgell
42f242a07b HAL_PX4: fixed build on PX4-v1 2016-11-09 17:08:11 +11:00
Andrew Tridgell
20cd165476 HAL_PX4: allow for missing SPIDevice table entries
removed panic
2016-11-09 17:08:10 +11:00
Andrew Tridgell
922d5a74f7 HAL_PX4: print msg when I2C device is closed 2016-11-09 17:08:09 +11:00
Andrew Tridgell
e5a4dd4e56 HAL_PX4: added perf counter on SPI devices 2016-11-09 17:08:09 +11:00
Andrew Tridgell
8bca8545a2 HAL_PX4: removed unused devname field in SPIDevice 2016-11-09 17:08:08 +11:00
Andrew Tridgell
18df213069 HAL_PX4: fixed initial SPI bus speed and report new SPI instances 2016-11-09 17:08:08 +11:00
Andrew Tridgell
4dc5dc87b5 HAL_PX4: added ICM20608 to SPI table 2016-11-09 17:08:08 +11:00
Andrew Tridgell
16489d2a13 HAL_PX4: implement device IDs for I2C and SPI 2016-11-09 17:08:04 +11:00
Andrew Tridgell
e08babb7df HAL_PX4: added new SPI devices for PH2 2016-11-09 17:08:03 +11:00
Andrew Tridgell
4bc5b715bf HAL_PX4: define 9250 and fix SPI bus speeds 2016-11-09 17:08:01 +11:00
Andrew Tridgell
84f93439ca HAL_PX4: delay peripheral starup
moved to AP_BoardConfig
2016-11-09 17:07:59 +11:00
Andrew Tridgell
e91b1318fb HAL_PX4: reformat 2016-11-09 17:07:58 +11:00
Andrew Tridgell
1bb450c722 HAL_PX4: moved to common DeviceBus class for thread management in I2C and SPI 2016-11-09 17:07:58 +11:00
Andrew Tridgell
972f85c490 HAL_PX4: go direct to NuttX for SPI transfers 2016-11-09 17:07:58 +11:00
Andrew Tridgell
c7bef33ab7 HAL_PX4: fixed lsm303d SPI name 2016-11-09 17:07:57 +11:00
Andrew Tridgell
254b71468c HAL_PX4: added ms5611_int SPI descriptor 2016-11-09 17:07:57 +11:00
Andrew Tridgell
0a28a3a83a HAL_PX4: run SPI priority above boost prioriity
otherwise ins sample wait can end up waiting on blocked SPI
2016-11-09 17:07:56 +11:00
Andrew Tridgell
3aa36185e4 HAL_PX4: drop mpu6000 speed to 11MHz
match previous driver
2016-11-09 17:07:56 +11:00
Andrew Tridgell
ed6df09d12 HAL_PX4: added lsm9ds0 entries to SPI table 2016-11-09 17:07:56 +11:00
Andrew Tridgell
c2c7284a94 HAL_PX4: implement SPIDevice code for PX4
with thread per bus
2016-11-09 17:07:56 +11:00
Andrew Tridgell
88df9c7029 HAL_PX4: added thread-per-bus implementation for I2C 2016-11-09 17:07:55 +11: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
Lucas De Marchi
a3140df24a AP_HAL_PX4: UARTDriver: remove commented out code
This is not working and there's no reason to keep it around.
2016-10-27 10:35:01 -03:00
Lucas De Marchi
ec4d1eefca AP_HAL_PX4: UARTDriver: fix trailing whitespaces 2016-10-27 10:35:01 -03:00
Lucas De Marchi
4df627693d AP_HAL_PX4: UARTDriver: fix writting with failures
When the buffer wraps and we do it in 2 steps, we can't actually do the
second part if it fails or if we wrote less bytes than we intended,
otherwise we will corrupt the data being sent.

While at it, just like in the write case, explain why we are stopping.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
4346f1dd83 AP_HAL_PX4: fix resetting TX buffer
We can't give the TX buffer 16 bytes more since next time begin() is
called it will compare the buffer size to the value the caller is trying
to set.  In this case we would free and alloc the buffer again each time
begin was called.
2016-10-27 14:23:43 +11:00
Murilo Belluzzo
c7a65a026c AP_HAL_PX4: UARTDriver: Make use of ByteBuffer class
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.

Although the exchange opens opportunities for improvement and
simplification of this class.
2016-10-27 14:23:43 +11:00