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
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
9d6a5c6f04
HAL_PX4: make ready_to_arm state latching
...
this fixes a race condition in the handling of the px4io safety switch
2016-10-24 13:36:04 +11:00
Andrew Tridgell
2a44e6a7d7
HAL_PX4: cope with no px4io on FMUv2
...
don't open px4fmu twice
2016-10-23 17:15:32 +11:00
Andrew Tridgell
c825c7b4cc
HAL_PX4: disable FMU outputs again on re-engaging of safety switch
2016-10-21 09:10:55 +11:00
Andrew Tridgell
e78651e8f2
HAL_PX4: fixed DSM bind on Pixracer
2016-10-13 19:58:00 +11:00
Andrew Tridgell
c493ba81e4
HAL_PX4: fixed cork() for 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
Andrew Tridgell
aafd1512e4
HAL_PX4: limit IMU target temperature to 65
2016-09-05 12:59:50 +10: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
Andrew Tridgell
dddaded8d4
HAL_PX4: fixed a race condition in force_safety_on/off
...
the status update from IO may not have come through if we force safety
on and then off in quick succession, such as for plane mixer load
this forces the ioctl to be sent at least once
2016-08-16 12:53:34 +10:00
LukeMike
998033286d
AP_HAL_PX4 / Semaphores: removed AP_HAL_VRBRAIN (for now it's better to have different AP_HAL for PX4 and VRBRAIN)
2016-08-07 20:31:50 +10:00
Murilo Belluzzo
077e03678f
Global: Adapt Stream class to be used with Ringbuffer
2016-08-03 01:44:02 -03:00
Lucas De Marchi
c859c5ecd9
AP_HAL_PX4: update Device interface
2016-07-30 00:55:27 -03:00
Lucas De Marchi
2ef78051c1
AP_HAL_PX4: remove I2CDriver
...
I2CDevice now serves for the same purpose.
2016-07-28 18:08:56 -03:00
Lucas De Marchi
293f94b355
AP_HAL_PX4: Util: fix check for PX4_V4
...
When building for px4-v2 we have an warning because we are checking for
the value of this undefined macro. Just change both checks to use
"defined()".
../../libraries/AP_HAL_PX4/Util.cpp:115:7: warning: "CONFIG_ARCH_BOARD_PX4FMU_V4" is not defined [-Wundef]
#elif CONFIG_ARCH_BOARD_PX4FMU_V4
^
2016-07-19 17:53:46 -03:00
khancyr
c4b009f4b5
AP_HAL_PX4 : remove unused variable
2016-07-19 17:44:22 -03:00
Andrew Tridgell
1b8da3bce2
HAL_PX4: implement I2CDevice driver for PX4
2016-07-15 12:24:03 -03:00
Andrew Tridgell
7c2e4d0419
HAL_PX4: implement IMU heater in hal.util for Pixhawk2
2016-07-01 15:29:52 +10:00
Tom Pittenger
a512e807dc
AP_HAL_PX4: disarm motors on reboot so ensure they are off during bootloader upload
2016-06-04 00:42:43 -07:00
Tom Pittenger
57d6ccc0dd
AP_HAL_PX4: skip the 100ms delay on first px4io safety_state async attempt
2016-05-27 11:30:50 -07:00
Tom Pittenger
67aaf7e226
AP_HAL_PX4: 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
dda35a366c
HAL_PX4: prevent rate changes once oneshot is setup
...
this fixes a problem with small motor outputs at the start of a motor
test.
Thanks to Luis for reporting this.
2016-05-26 12:18:49 +10:00
Andrew Tridgell
ae3cb0557d
HAL_PX4: disable "Overtime in task" msg
...
this hasn't helped us find any bugs and it is very annoying with nsh
over MAVLink
2016-05-25 12:35:42 +10:00
Ricardo de Almeida Gonzaga
892cc2ea6f
AP_HAL_PX4: Fix typos
2016-05-13 19:20:06 -03:00
Andrew Tridgell
eeef28be5e
AP_HAL_PX4: fixed hexacopter on Pixracer
...
the _servo_count was 4 as we didn't re-fetch the count after applying
changes in AP_BoardConfig from BRD_PWM_COUNT
2016-05-11 13:01:15 +10:00
Andrew Tridgell
8a7627474f
Revert "AP_HAL_PX4: use new I2CDevice interface"
...
This reverts commit f767918e0e
.
These commits broke startup on PX4
2016-05-11 12:19:00 +10:00
Andrew Tridgell
8c06e6cddc
Revert "AP_HAL_PX4: embed PX4_I2C object into I2CDevice"
...
This reverts commit 54fd3702c3
.
These commits broke startup on PX4
2016-05-11 12:18:45 +10:00
Lucas De Marchi
54fd3702c3
AP_HAL_PX4: embed PX4_I2C object into I2CDevice
...
Otherwise we would destroy PX4_I2C object after returning from
I2CDeviceManager::get_device(). Since this implementation is very
simple, just make PX4_I2C as an internal class and embed it into the
I2CDevice object.
2016-05-10 15:39:24 -03:00
Luiz Ywata
f767918e0e
AP_HAL_PX4: use new I2CDevice interface
2016-05-10 15:12:30 -03:00
Andrew Tridgell
0af322e90d
HAL_PX4: added comment on oneshot
2016-04-22 13:50:05 +10:00
Andrew Tridgell
5ce7ae71a7
HAL_PX4: fixed enabling oneshot on a subset of motors
2016-04-22 13:24:24 +10:00
Andrew Tridgell
bcd0d48ced
HAL_PX4: fixed non-contiguous motor outputs
...
this fixes tricopter with chan3 never set
2016-04-22 11:51:08 +10:00
Andrew Tridgell
28aa4c40cc
HAL_PX4: fixed order of wifi and frsky on FMUv4
...
thanks to OXINARF for noticing!
2016-04-20 10:23:11 +10:00
Andrew Tridgell
4a35f8e9fc
HAL_PX4: fixed comments for FMUv4 uarts
2016-04-20 10:08:48 +10:00
Andrew Tridgell
18ccaf7e2b
HAL_PX4: added uartF
2016-04-20 09:39:49 +10:00
Andrew Tridgell
a731caa4ab
HLA_PX4: prevent timer disturbance in oneshot mode
2016-04-16 18:52:31 +10:00
Andrew Tridgell
d9d6f87195
HAL_PX4: fixed bug in pwm send code
...
many thanks to Oxinarf for spotting this!
2016-04-16 08:32:04 +10:00
Andrew Tridgell
c9dfccfb26
HAL_PX4: improved oneshot support
...
this now supports oneshot properly on both IO and FMU
2016-04-16 07:30:44 +10:00
Andrew Tridgell
6f284d673a
HAL_PX4: enable oneshot support on px4io
2016-04-16 07:30:43 +10:00
Peter Barker
daa210729c
AP_HAL_PX4: correct systemid output for PX4v4
2016-04-14 13:40:27 -07:00
Andrew Tridgell
8695668da3
HAL_PX4: enable wifi port on FMUv4
2016-04-14 08:05:06 +10:00
Andrew Tridgell
5922e67785
HAL_PX4: allow sbus output on channels beyond BRD_PWM_COUNT
2016-04-14 08:05:06 +10:00
Andrew Tridgell
759b0d6629
HAL_PX4: only support oneshot on FMU outputs for now
...
oneshot on PX4IO gives some very weird results. I think it is doable,
but will take a bit more work
2016-04-14 08:05:06 +10:00
Andrew Tridgell
934b4dd475
HAL_PX4: support OneShot on PX4
...
this greatly lowers output latency
2016-04-14 08:05:05 +10:00
Andrew Tridgell
1d5deed72a
HAL_PX4: fixed build for new px4 param functions
2016-04-14 08:05:04 +10:00
Lucas De Marchi
28f67f0947
AP_HAL_PX4: replace header guard with pragma once
2016-03-16 18:40:41 +11:00
Andrew Tridgell
2a6e64e358
HAL_PX4: send all channels to px4io
...
this allows for 16 channel SBUS out
2016-03-13 10:03:56 +11:00
Jonathan Challinger
4bf3ec0e91
AP_HAL_PX4: implement RCOutput::read_last_sent
2016-03-10 13:56:27 -08:00
Andrew Tridgell
7fede90df3
HAL_PX4: work around a bus locking issue on Pixracer
...
Pixracer has FRAM on the same bus as the ms5611 and the FRAM ramtron
driver does not use the same locking mechanism as other px4 SPI
drivers. We need to disable interrupts during FRAM transfers to ensure
we don't get FRAM corruption
2016-02-23 16:34:06 +11:00
Lucas De Marchi
8de329fc81
AP_HAL_PX4: use empty I2CDevice
2016-02-16 19:49:09 -02:00