Lucas De Marchi
fad583b259
AP_HAL_PX4: RCOoutput_Tap: map to [ RPMSTOPPED, RPMMAX ] range
...
When it's not armed we get _esc_pwm_min from the AP_Motors library,
which would cause motors to start spinning. Map it to start from
RPMSTOPPED so it doesn't spin when it's not armed.
2017-03-24 12:06:19 +11:00
Lucas De Marchi
5e26940070
AP_HAL_PX4: disable safety switch for aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
327de91b5c
AP_HAL_Px4: use RCOutput_Tap for aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
75977cd890
AP_HAL_PX4: implement motor output for aerofc
...
This uses tap ESCs, as found on the PX4 project, translated to our
internal APIs. It doesn't have the feedback from ESCs yet.
2017-03-24 12:06:19 +11:00
Lucas De Marchi
ce9013b8ee
AP_HAL_PX4: add RCOutput skeleton for aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
87846fe049
AP_InertialSensor: use MPU6500 on aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
b4d0569339
AP_HAL_PX4: Use empty RCOutput driver for 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
Siddharth Bharat Purohit
5029dd1bab
AP_HAL_PX4: GPIO: return correct FMU pin read even if IO not connected/detected
2017-03-22 12:15:05 +11:00
Andrew Tridgell
fc4caf51e9
HAL_PX4: fixed RC failsafe for SBUS on FMUv4
...
the FMUv4 SBUS parser sets timestamp_last_signal even if we are in
failsafe
thanks to Mark Whitehorn for finding this
2017-03-18 17:36:13 +11:00
Lucas De Marchi
f972fed70b
AP_HAL_PX4: rename method to follow AP_HAL
...
This allows to avoid the cast in the HAL, making it easier to replace
the implementation with an Empty::RCOutput while prototyping.
2017-02-26 13:38:24 +11:00
Lucas De Marchi
e1eda3066c
AP_HAL_PX4: SPIDevice: add missing ifdefs
...
These sensors may always be present on px4fmu* boards, but they are not
always present for all boards supported by the PX4Firmware.
2017-02-26 13:37:13 +11:00
Andrew Tridgell
787a2093ec
HAL_PX4: fixed motor test for brushed motors
...
this fixes zero pwm output on a subset of channels. When using
motortest and asking for a single channel, multiple channels fired due
to an incorrect optimisation
2017-02-02 09:27:48 +09:00
murata
9b1dadd93e
AP_HAL_PX4: Unify from print or println to printf.
2017-01-27 18:20:22 +11:00
iseries1
e6a643f805
AP_HAL: define pixracer LED pins
2017-01-27 11:01:17 +09:00
Andrew Tridgell
1bd9d0b7f9
HAL_PX4: cleanup whitespace
2017-01-12 17:39:37 +11:00
Andrew Tridgell
05d9455f87
Revert "HAL_PX4: Add input parameter check."
...
This reverts commit 5f41b09fde
.
This change is completely incorrect. It is quite common to do SPI
transfers with zero send bytes, and is required for many sensors and
other devices
2016-12-07 12:47:10 +11:00
murata
d619d33374
AP_HAL_PX4: UARTDriver: Delete the condition that does not hold.
2016-12-05 16:53:36 -08:00
Andrew Tridgell
e2192d5b4d
HAL_PX4: report user bus number not system bus number
2016-12-05 16:51:49 -08:00
murata
5f41b09fde
HAL_PX4: Add input parameter check.
2016-12-02 17:09:47 -08:00
Andrew Tridgell
23480a92ad
HAL_PX4: only include parts needed for build
...
allow for external USE_FLASH_STORAGE define in build
2016-12-02 09:58:36 +11:00
Andrew Tridgell
6bc0c76d54
HAL_PX4: update for new AP_FlashStorage API
...
allow flash sector erase while disarmed
2016-12-02 09:49:40 +11:00
Andrew Tridgell
a66924422f
HAL_PX4: implement optional flash backend for storage
...
this allows the last two flash sectors to be used as storage for
parameters, waypoints etc.
A change to the bootloader to not erase the last two sectors is needed
2016-12-02 09:49:39 +11:00
Andrew Tridgell
b0832e6c15
HAL_PX4: factor out storage functions
...
ready for multiple backends
2016-12-02 09:49:39 +11:00
Andrew Tridgell
d4f679f954
HAL_PX4: removed support for old storage files on microSD
2016-12-02 09:49:39 +11:00
Andrew Tridgell
4cfd63c30a
HAL_PX4: refactor storage to use bitmask class
2016-12-02 09:49:39 +11:00
Andrew Tridgell
ed8f9b444a
HAL_PX4: fixed whitespace
2016-12-02 09:49:38 +11:00
Andrew Tridgell
ce5ed66b45
HAL_PX4: auto-scale brushed output with ESC output range
2016-11-30 10:53:26 +11:00
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