Lucas De Marchi
a9a0e228ac
AP_InertialSensor: pass backend instead of pointer to function
...
Different detect() function might need different arguments and passing a
pointer to function here is cumbersome. For example, it forces to have a
method like "detect_i2c2" rather than allowing hal.i2c2 to be passed as
parameter.
2015-08-19 20:40:15 +09:00
Gustavo Jose de Sousa
f31fe780eb
AP_InertialSensor: L3G4200D: add probe code
...
This driver works properly but had the initialization logic missing. Add
the support to probe it.
2015-08-19 20:40:14 +09:00
Lucas De Marchi
dd523c0301
AP_InertialSensor: remove out of place ifdef
...
AP_InertialSensor isn't a good place to comment about board issues.
2015-08-19 20:40:13 +09:00
Lucas De Marchi
886b302019
AP_InertialSensor: remove unused enum bus_speed
...
The methods actually use the enum from AP_HAL::SPIDeviceDriver, so don't
declare a new one. The I2C implementation is empty; if we actually start
to use it we'd better move the bus abstraction to HAL.
2015-08-19 20:40:12 +09:00
Lucas De Marchi
1c3728a585
AP_InertialSensor: fix copying wrong number of bytes
...
We should copy only the bytes we read, not the maximum number.
2015-08-19 20:40:11 +09:00
Lucas De Marchi
5b2ff84c06
AP_InertialSensor: fix whitespace usage
2015-08-19 20:40:10 +09:00
Lucas De Marchi
abd0514319
AP_InertialSensor: remove unused drivers
...
Nobody is using these drivers, they need to be rewritten using the
backend logic and give the false impression they are supported.
2015-08-19 20:04:18 +09:00
Gustavo Jose de Sousa
6d89a8cf71
StorageManager: remove unnecessary calculations on addr for next area
...
When writting or reading a block, if the block doesn't fit the area where it begins, the next base address is always zero. Thus the calculations to define the next value of addr are unnecessary.
Here's a quick validity proof using the previous calculations:
First: Considering the case where the block doesn't fit it's first area:
That means that (count + addr > length), what makes:
count = length - addr; (1)
So the following operations:
addr += count;
addr -= length;
Are the same as doing:
addr = addr + count - length; (2)
Using (1) and (2) we have:
addr = addr + length - addr - length = 0
Second: When the block fits the area where it's at:
That means that variable count is not changed,
thus (n -= count) evaluates to 0, which makes the loop exit.
Another change was (b += count;) being moved after the condition to break the loop, since we just need to move the block pointer when it doesn't fit the first area.
2015-08-19 20:04:17 +09:00
Randy Mackay
53ed6c8f05
Motors_Multicopter: add MOT_THR_MIX_MAX parameter
...
Allows controlling the prioritisation of throttle vs attitude control
during active flight
2015-08-19 20:04:15 +09:00
Randy Mackay
b0101eab91
OpticalFlow_Linux: reworked driver
...
remove PANICs from init
return semaphore if init fails
add successful initialisation check before attempting to read from sensor
structure made private where possible
formatting fixes
check I2C reads succeed
add request_measurement to request sensor to produce measurement
quit after 20 of previous 40 reads fail
throttle reads to 10hz max
2015-08-19 20:04:14 +09:00
Víctor Mayoral Vilches
46c30f94ef
AP_OpticalFlow: Add support for Linux
...
Add a Linux userspace driver for the PX4FLOW sensor.
2015-08-19 20:04:13 +09:00
Randy Mackay
539c6fe525
BattMon_SMBus: remove unnecessary I2C semaphore give
2015-08-19 20:04:12 +09:00
Randy Mackay
ac8c708327
Compass_HMC5843: remove unnecessary i2c semaphore give
2015-08-19 20:04:11 +09:00
Randy Mackay
328332d6c0
DataFlash: consolidate GPS, GPS2 messages
...
Remove unused dgps_numch, dgps_age from GPS2
Add U field (for use) to both GPS and GPS2
2015-08-19 20:04:07 +09:00
Andrew Tridgell
9fbd739ebe
AP_AHRS: protect against zero deltat in DCM
...
fixes issue #2657
2015-08-19 20:04:05 +09:00
Randy Mackay
34a5c46bfd
AC_WPNav: remove unused definitions
2015-08-19 20:04:04 +09:00
Randy Mackay
7fb7b4d74e
AC_WPNav: replace hardcoded 0.02 with pos_control dt
2015-08-19 20:04:03 +09:00
Leonard Hall
2ec34b14fc
AC_WPNav: fix spline height loss
2015-08-19 20:04:02 +09:00
Michael du Breuil
2e699095a6
AP_GPS: Default the value of hdop to 99.99 if no value has been read yet.
2015-08-19 20:04:00 +09:00
Randy Mackay
aeef23c183
Rally: rename RALLY_HOME_INC param to INCL_HOME
...
Also default include-home to 1 only for copter
Also minor formatting and comment changes
2015-08-19 20:03:59 +09:00
KiwiHC16
7e99a052b8
Rally: add RALLY_HOME_INC param to use Home as a Rally point
2015-08-19 20:03:58 +09:00
Julien BERAUD
407bb5933b
AP_Compass_AK8963: suspend timer while reading
...
Protection in case a timer falls while reading data, because it could end up
with corrupted data
2015-08-19 20:03:57 +09:00
Julien BERAUD
de7cf019ef
AP_Compass_AK8963: fix sem handling
...
In case of error or zeroed data, the i2c semaphore wasn't given.
It happened at first startup on Bebop and caused a failure:
"PANIC: failed to take _bus->sem 100 times in a row..."
2015-08-19 20:03:56 +09:00
Leonard Hall
5b133934db
AP_Motors: calc_roll_pwm based on throttle pwm range
2015-08-19 20:03:55 +09:00
Randy Mackay
cdd64fc43d
AHRS_NavEKF: fix blended accel to use primary accel
2015-08-19 20:03:48 +09:00
Randy Mackay
5412ce9819
Terrain: set HAL capabilities bit
2015-08-19 20:03:44 +09:00
Randy Mackay
f08c34fe73
GCS_MAVLink: retrieve capabilities from HAL
2015-08-19 20:03:43 +09:00
Randy Mackay
66b0b5c7d6
HAL: define capability bitmask
2015-08-19 20:03:42 +09:00
squilter
ad00e97447
GCS_MAVLink: add optional param to support capability bitmask
2015-08-19 20:03:40 +09:00
Andrew Tridgell
0a66bcbae5
AP_InertialSensor: don't use INT_STATUS drdy to lower SPI bus speed
...
as pointed out by Lucas in PR#2604 this is probably a bad idea
2015-08-19 20:03:39 +09:00
Grant Morphett
eb63293498
SITL: fix coverity warning - removed unused variable heli_servos
2015-08-19 20:03:37 +09:00
Grant Morphett
0de992c5f9
DataFlash: fix coverity warnings - add param init in constructor
2015-08-19 20:03:36 +09:00
Grant Morphett
4c1de1abf3
AP_InertialSensor: fix coverity warnings - param init in construct
2015-08-19 20:03:35 +09:00
Grant Morphett
ff97bdd605
AP_Baro: coverity fixes - add param init in constructor
2015-08-19 20:03:34 +09:00
Andrew Tridgell
9f4ab28352
AP_GPS: re-enable SBAS config on APM2 for uBlox
2015-08-19 20:03:28 +09:00
Andrew Tridgell
27a098be9f
AP_AHRS: use delta_velocity and delta_angle in DCM
...
this prevents an aliasing effect by using the correct delta velocity
time value for each accelerometer sample used
2015-08-19 20:03:27 +09:00
Andrew Tridgell
a9efbf7e4a
AP_GPS: save some memory and code space on APM2 for ublox
...
don't include structures we don't need for low end CPUs
2015-08-19 20:03:26 +09:00
Randy Mackay
4d9325c582
GPS: suppress compile warning
2015-08-19 20:03:25 +09:00
Randy Mackay
04f7a07bad
GPS: fix compile warning for NMEA logging
2015-08-19 20:03:24 +09:00
Randy Mackay
d2f7c21eb3
Baro: update climb rate only if healthy
2015-08-19 20:03:23 +09:00
Andrew Tridgell
50e07ccad6
HAL_Linux: added bcast flag for udp broadcast
2015-08-19 20:03:20 +09:00
Andrew Tridgell
dfdedb3f33
AP_HAL: allow for broadcast packets on UDP IPv4
2015-08-19 20:03:19 +09:00
Andrew Tridgell
28bdeaf5d9
GCS_MAVLink: use a larger log send queue for Linux
...
often on UDP or TCP with more bandwidth
2015-08-19 20:03:18 +09:00
Andrew Tridgell
19dee8419b
AP_HAL: added pollout() function to socket API
2015-08-19 20:03:17 +09:00
Andrew Tridgell
a5f01c7ada
HAL_Linux: sped up UDP transfers by about 25x
...
allow more than 1 packetised transfer per tick
2015-08-19 20:03:16 +09:00
Andrew Tridgell
ab7f9807a2
AP_GPS: added optional NMEA debug log
...
compile time option for debugging
2015-08-19 20:03:15 +09:00
Andrew Tridgell
81a3d439a3
HAL_Linux: allow startup before network bringup
...
this makes it possible to bootup ardupilot before the desired network
interface is available. This is very useful for when using 3G dongles
in aircraft
2015-08-19 20:03:13 +09:00
Andrew Tridgell
288c20a58e
HAL_Linux: implemented TCP server as a single driver
...
the wait flag just changes startup behaviour. The TCP server should
always be a server with listen and accept. We don't need two drivers
2015-08-19 20:03:11 +09:00
Andrew Tridgell
ef47a27ac8
AP_HAL: added listen and accept APIs to socket API
2015-08-19 20:03:10 +09:00
Andrew Tridgell
fa40e7245e
AP_HAL: added pollin() interface for Socket API
2015-08-19 20:03:09 +09:00