Michael du Breuil
789a588b30
AP_HAL_SITL: Add hdop to ublox sitl sim (as well as vdop to be reported)
2015-08-19 20:40:19 +09:00
Lucas De Marchi
d0014c4fe3
AP_InertialSensor: refactor constructors to avoid leak
...
We were previously leaking the AP_MPU6000_BusDriver if the
~AP_InertialSensor_MPU6000::detect*() failed. In order to avoid the
leak move the repeated code in a single private _detect() member that
receives everything as argument. Then this method takes ownership of the
objects.
By a adding a destructor to AP_InertialSensor_MPU6000 it becomes easier to
free the objects it takes ownership of.
2015-08-19 20:40:17 +09:00
Lucas De Marchi
5fbbdca9f9
AP_InertialSensor: MPU6000: be agnostic to I2C bus/address
...
This decision is better made by the caller rather than polluting the
driver with board-specific details.
2015-08-19 20:40:16 +09:00
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
Andrew Tridgell
bd1b35804a
HAL_Linux: replace recvfrom with recv
2015-08-19 20:03:08 +09:00
Andrew Tridgell
a48f0db405
AP_HAL: fixed socket destructor
2015-08-19 20:03:07 +09:00
Andrew Tridgell
bbc8bdcef3
HAL_Linux: removed 0 timeout from sendto call
2015-08-19 20:03:06 +09:00
Staroselskii Georgii
879f4f7555
AP_HAL_Linux: fixed _parseDevicePath() in LinuxUARTDRiver
...
The current implementation doesn't throw an error on a malformed path string.
i.e. udp:192.168.1.1.14550 instead of udp:192.168.1.1:14550 may result in a memory leak or whatsoever.
The commit fixes the issue and outputs a nice error message if anything's wrong.
2015-08-19 20:03:05 +09:00
Staroselskii Georgii
f66f583843
AP_HAL_Linux: renamed TCPClientDevice
2015-08-19 20:03:04 +09:00
Staroselskii Georgii
39048229cd
AP_HAL_Linux: renamed TCPServerDevice
...
A more appropriate name for the class.
2015-08-19 20:03:03 +09:00
Staroselskii Georgii
50765229ca
AP_HAL_Linux: made UARTDriver use TCPServerDevice
2015-08-19 20:03:02 +09:00
Staroselskii Georgii
0ec64a5d13
AP_HAL_Linux: added TCPServerDevice
2015-08-19 20:03:01 +09:00
Staroselskii Georgii
34c1fe6e66
AP_HAL_Linux: made UARTDriver use TCPClientDevice
2015-08-19 20:03:00 +09:00
Staroselskii Georgii
244cdb3507
AP_HAL_Linux: added TCPClientDevice
2015-08-19 20:02:59 +09:00
Staroselskii Georgii
595903f17c
AP_HAL_Linux: got rid of TCP connection
2015-08-19 20:02:58 +09:00
Staroselskii Georgii
179fc4a781
AP_HAL_Linux: made UARTDriver use ConsoleDevice
2015-08-19 20:02:57 +09:00
Staroselskii Georgii
7ba960f265
AP_HAL_Linux: added ConsoleDevice
2015-08-19 20:02:56 +09:00
Staroselskii Georgii
4a79713081
AP_HAL_Linux: made UARTDriver use UDPDevice
2015-08-19 20:02:55 +09:00
Staroselskii Georgii
9e6c4fe176
AP_HAL_Linux: added UDPDevice
2015-08-19 20:02:54 +09:00
Staroselskii Georgii
b59264007c
AP_HAL_Linux: encapsulated LinuxUARTDriver::_deallocate_buffers
2015-08-19 20:02:53 +09:00
Staroselskii Georgii
26382e63df
AP_HAL_Linux: made UARTDriver use UARTDevice
2015-08-19 20:02:52 +09:00
Staroselskii Georgii
0c582eeae6
AP_HAL_Linux: added UARTDevice
2015-08-19 20:02:51 +09:00
Staroselskii Georgii
7160c88d39
AP_HAL_Linux: added SerialDevice interface
...
Adds the interface that will be used for encapsulating various mediums
that can be used in the Linux port.
2015-08-19 20:02:50 +09:00
Staroselskii Georgii
9b25217757
AP_HAL_Linux: added _serial_start_connection
2015-08-19 20:02:49 +09:00
Staroselskii Georgii
ed431e9857
AP_HAL_Linux: encapsulated LinuxUARTDriver::allocate_buffers
2015-08-19 20:02:48 +09:00
Staroselskii Georgii
4d28b4a962
AP_HAL_Linux: use defines instead of hardcoding fd numbers in UARTDriver
2015-08-19 20:02:47 +09:00
Staroselskii Georgii
6d1133378b
AP_HAL: added destructor for Socket
2015-08-19 20:02:46 +09:00
Staroselskii Georgii
3134634af6
AP_HAL: improved constness of Socket API
2015-08-19 20:02:45 +09:00
Michael du Breuil
3a7cc03f67
AP_GPS: Fix copy/paste error in ublox (uncovered by coverity)
2015-08-19 20:02:44 +09:00
Randy Mackay
77b97f8643
AC_AttControl: relax earth frame rate targets along with bf
2015-08-19 20:02:41 +09:00
rentt
1c8180a41f
Scheduler: fix compiler warning in example sketch
...
printf except a unsigned long value, but the hal.scheduler->millis() return a uint32_t
2015-08-19 20:02:38 +09:00
Tom Pittenger
bced0a3734
SITL: param SITL_ARSP_FAIL should be a float instead of byte
...
this param was meant to represent an airspeed which is a float
2015-08-19 20:02:37 +09:00
Andrew Tridgell
1b1bc9f3b1
RC_Channel: prevent floating exception on bad MIN/MAX/TRIM values
2015-08-19 20:02:34 +09:00
Tom Pittenger
ffe1561f31
AP_InitialSensor_MPU6000: compiler warning - init order
2015-08-19 20:02:33 +09:00
Tom Pittenger
e7a7f43260
AC_WPNav: compiler warnings: float to double
2015-08-19 20:02:32 +09:00
Robert Lefebvre
0615d7a058
AC_Heli_PID: Deprecate Accel Feedforward.
2015-07-30 14:22:55 +09:00
Robert Lefebvre
bfc10c1969
AC_AttitudeControl_Heli: Remove Accel Feedforward.
2015-07-30 14:22:53 +09:00
Randy Mackay
5032cf9fbc
Copter: init multicopter flags
...
Resolves coverity warning
Also fixed indentation
2015-07-25 14:00:29 +09:00
Michael du Breuil
9d53aa77eb
AP_GPS: Add reboot required docstring
2015-07-25 10:56:19 +09:00
Randy Mackay
b13921a7aa
Mount_SToRM32: find gimbal channel on startup
2015-07-25 10:53:05 +09:00
Randy Mackay
e7df54ca75
GCS_MAVLink: static find_by_mavtype method
2015-07-25 10:53:03 +09:00
Randy Mackay
e092902613
GCS_MAVLink: add find_by_mavtype
2015-07-25 10:52:59 +09:00
Peter Barker
1ee330ebb2
DataFlash: CLI log dumping - don't truncate lines that contain doubles
...
We currently print doubles out as if they were floats. The ftoa_engine isn't something to replicate for doubles lightly!
2015-07-24 08:08:51 +10:00
Peter Barker
39b2cdcc3c
AP_Menu: avoid segmentation fault
...
Insufficient input would cause a segfault
2015-07-24 08:05:13 +10:00
Randy Mackay
3dfb447fd7
BattMon: has_current true for Bebop
...
The bebop does not actually provide current but it does estimate the
percentage of battery remaining
2015-07-23 21:49:32 +09:00
Randy Mackay
8403b504d1
BattMon: add Bebop to monitor param description
2015-07-23 21:49:32 +09:00
Randy Mackay
9482578c60
BattMon: Bebop always uses bebop batt monitor
2015-07-23 21:49:31 +09:00
Randy Mackay
84b6ab0707
BattMon_Bebop: use ARRAY_SIZE
...
Also remove printf of failure message, instead we should add the battery
monitor health to the SYS_STATUS message sent to the ground station
2015-07-23 21:49:30 +09:00
Randy Mackay
3b36178a0b
BattMon_Bebop: init members in constructor
2015-07-23 21:49:29 +09:00
Jean-Baptiste Dubois
f6aba6c952
HAL_Linux: add read_obs_data to RCOutput_Bebop
2015-07-23 21:49:28 +09:00
Jean-Baptiste Dubois
35ae562dbe
AP_BattMonitor: Add battery support for Bebop Hardware
2015-07-23 21:49:27 +09:00
Andrew Tridgell
54254c89d7
AP_Arming: control rudder arming with ARMING_RUDDER parameter
...
allow for 3 states:
0: no rudder arming
1: arm only
2: arm and disarm
2015-07-23 21:48:50 +10:00
Lucas De Marchi
8240e5ae65
AP_Compass: AK8963: reduce bytes read
...
We are not using INFO and ST1 registers, so there's no need to read
extra 2 bytes for each transaction.
2015-07-23 17:44:36 +10:00
Lucas De Marchi
2b9c46e1ff
AP_Compass: AK8963: don't oversample AK8963
...
Reduce the frequency with which MPU9250 reads AK8963 to reduce the
chance of errors.
2015-07-23 17:44:36 +10:00
Lucas De Marchi
6c2ceea165
AP_Compass: AK8963: remove author and connection comment
...
Authorship and how sensor is connected get outdated (as it already is).
Our code is on git so let it track who wrote each line.
2015-07-23 17:44:36 +10:00
Staroselskii Georgii
8ab33c46ce
AP_Compass: revisited AK8963 code
...
Reduced duplication a bit and revisited the update method which is now
split into several logical hunks.
2015-07-23 17:44:36 +10:00
Lucas De Marchi
fffedae3e0
AP_Compass: AK8963: reduce stack usage and zero out buffers
...
Since we are not using MPU9250's fifo to get samples from AK8963 we will
always read only 1 sample (+ control registers).
2015-07-23 17:44:35 +10:00
Lucas De Marchi
37734886a5
AP_Compass: AK8963: remove repeated comments
...
No need to repeat the same comments on 3 different places. Instead add a
single comment to explain how start_measurements() and read_raw() are
related.
2015-07-23 17:44:35 +10:00
Lucas De Marchi
27d95b67a8
AP_Compass: AK8963: remove state machine
...
Don't use a state machine in AK8963: the start_measurements() method
should be called only once. Even if there's a magnetic sensor overflow
the only thing we should do is to discard the new data.
This also moves the _collect_samples() method to be inside _update()
since it's the only place it should be called from, the one running on
the timer thread.
2015-07-23 17:44:35 +10:00
Lucas De Marchi
e232543fca
AP_Compass: AK8963: change initialization and rename methods
...
We need to check the AK8963's id before anything else Here we are
reordering the calls to _calibrate() and _check_id(). After that we
don't need to read and write again the AK8963_CNTL1 register.
While at it do some renames as well:
- _configure() -> _setup_mode(): since now there's a
_bus->configure() it became confusing what actually it's
doing.
- make error messages say what we were actually trying to do but
couldn't. Also remove PSTR since this is linux-only.
- start_conversion() -> start_measurements(): We are instructing the
bus to start to get the samples, not to tell the chip to start an
analog->digital conversion like in other sensors.
2015-07-23 17:44:35 +10:00
Lucas De Marchi
ae5d9baddb
AP_Compass: AK8963: remove defines not used anymore
...
The MPUREG_PWR_MGMT_1 defines were used when we cared about the MPU9250
initialization code. Now all initialization is done by the MPU9250 class
itself, so remove these defines.
Also remove AK8983_SELFTEST_MAGNETIC_FIELD_ON that is never used and let
the defines always with 2 bytes to improve readability.
2015-07-23 17:44:34 +10:00
Lucas De Marchi
cae895bfdf
AP_Compass: AK8963: group members together
...
Besides being semantically related, this removes the hole due to
alignment. The size is the same since the hole is actually turned into
padding.
2015-07-23 17:44:34 +10:00
Lucas De Marchi
28d3d775a4
AP_Compass: AK8963: remove resolution member
...
We only use the highest one and there's no intention to support the
14bits one. Just use the define rather than saving it as a member.
2015-07-23 17:44:34 +10:00
Lucas De Marchi
86b3312112
AP_Compass: AK8963: factor out common code of read_raw()
...
Similar code was added in the read_raw() implementation for each bus.
Add a new POD struct read_raw to contain the registers from the AK8963
and use it instead as argument.
2015-07-23 17:44:33 +10:00
dgrat
d941174978
AP_Compass: AK8963: enhance the readability
...
Reduce the deepness of indentation and fix coding style.
2015-07-23 17:44:33 +10:00
Randy Mackay
28c722c157
AC_Circle: rate change takes effect immediately
2015-07-23 16:21:20 +09:00
Tom Pittenger
d51e6d466b
AP_HAL_SITL: add support for airspeed failures
2015-07-23 14:38:06 +10:00
Tom Pittenger
250dcd31a2
SITL: Add ARSP_FAIL param
...
This will allow testing pitot tube hardware failures
2015-07-23 14:38:06 +10:00
Staroselskii Georgii
d7ac725a64
AP_HAL_Linux: fixed signal handler in RCInput_Navio
...
DMA is getting stopped in the separate method now. This is the best we
can get at the current time. It does yield slightly better experience
and works in the majority of cases.
The patch is a no bulletproof solution, though.
There's a possibility of corruption in case of e.g. a SIGKILL. There's
no signal framework at the time and the commit doesn't add one. That's
why all signals are handled in the same erroneous way. This is not a
good nor a final solution to the issue.
For the issue at hand a better fix might be porting the code to kernel
space but it's a rather tediuos task that we cannot undertake in the
couple of weeks.
2015-07-23 08:51:38 +10:00
Staroselskii Georgii
8528a7d159
AP_HAL_Linux: added deinit logic for RCInput_Navio
...
DMA needs to be stopped if a panic occurs.
2015-07-23 08:51:37 +10:00
Staroselskii Georgii
f4d14f73ba
AP_HAL_Linux: extended panic handling with RCInput deinitialization
...
The issue has already come up. There's no deinitialization mechanisms at the moment. As APM is rather software than firmware on Linux, there're some clean-up work that needs to be done. This commit triggers deinitialization of RCInput on a panic.
2015-07-23 08:51:37 +10:00
Vladislav Zakharov
97b51a4bcb
AP_HAL: Added deinit() method to RCInput
...
Add a deinit() counterpart. This is needed for some ports that require some deinitializtion logic. The default implementation is empty. I'm not sure whether we need to inforce it for all.
2015-07-23 08:51:37 +10:00
Tom Pittenger
9737c426eb
SITL: Gazebo index out of bound
...
- imu_orientation_quat[size=3] is fed to Quaternion[size=4] which causes an index-out-of-range problem
2015-07-22 21:33:46 +10:00
Michael du Breuil
59dda49cce
AP_GPS: Fix missing reserved fields in the UBX-RXM-RAWX message
2015-07-22 21:31:10 +10:00
Michael du Breuil
09fef505e0
AP_GPS: With a ublox driver, accept a packet if it will fit in the buffer
2015-07-22 21:31:10 +10:00
Michael du Breuil
22b16b4532
AP_GPS: Enable selecting what GNSS system to use if the reciever supports it
...
Ublox 7 and 8 seires use a UBX-CFG-GNSS message to enable satellite constellations. The default value does not enable any additional ones, and any constellations the reciever doesn't report knowing about are not configured.
2015-07-22 21:31:10 +10:00
Michael du Breuil
47592a1953
AP_GPS: Raise the baud rate on a ublox GPS if using RAW logging
...
the implementation leaves an easy path forward for providing a different startup blob for all the GPS's if raw logging is enabled
2015-07-22 21:31:09 +10:00
Michael du Breuil
19bb96b9cb
AP_GPS: Improve startup logic for detecting what gps is connected
...
Remove race condition on sending intial blob to the GPS, it was possible to send a blob that got the GPS configured enough to allow the autodetect to take over (and then some drivers like ublox would not finish sending the blob, which has potential details that the driver might have needed to send)
Limit the delay to checking for NMEA gps to only checking after all the available baud rates have been checked
Since a UBlox will actually report having DGPS (due to SBAS or RTCM data) actually report this as the highest supported mode
2015-07-22 21:31:09 +10:00
Arthur Benemann
e3398648d7
GCS_MAVLink: fix debug formatting
2015-07-21 21:41:34 +09:00
Randy Mackay
521f3dc4b9
GCS_MAVLink: only forward msg once per channel
...
Issue found and alternative fix provided by Arthur Benemann
2015-07-21 21:41:32 +09:00
Randy Mackay
6f72d202fe
GPS: fix parameter descriptions
2015-07-21 19:50:12 +09:00
Randy Mackay
e31f2d26c4
MotorsMulticopter: move get_hover_throttle_as_pwm to protected
...
No functional change
2015-07-21 16:27:04 +09:00
Randy Mackay
c7c6228b5d
MotorsMulticopter: remove virtual from set_yaw_headroom
2015-07-21 16:27:01 +09:00
Randy Mackay
157c97447d
AC_AttControlHeli: init passthrough_yaw
2015-07-21 16:26:27 +09:00
Randy Mackay
8b4805bfcb
AC_AttControl_heli: add MotorsHeli include
2015-07-21 16:25:56 +09:00
Randy Mackay
bf2bf2e3fa
AC_AttControl_Multi: new multirotor specific attitude control class
2015-07-21 16:25:53 +09:00
Randy Mackay
93dd7dd970
AC_AttControl: get_boosted_throttle purely virtual
2015-07-21 16:25:50 +09:00
Randy Mackay
4843be49de
AP_MotorsTri: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:48 +09:00
Randy Mackay
f906934dfa
AP_MotorsSingle: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:45 +09:00
Randy Mackay
112e934072
AP_MotorsMatrix: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:43 +09:00
Randy Mackay
b1a4a6bf0a
AP_Motors_Coax: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:40 +09:00
Randy Mackay
4d1dfd94f5
AP_MotorsMulticopter: multicopter features moved in from parent
...
Also rename from multirotor to multicopter
2015-07-21 16:25:37 +09:00
Randy Mackay
7355ac9cb8
AP_MotorsHeli: implement empty slow start method
2015-07-21 16:25:34 +09:00
Randy Mackay
a3fab10ef4
AP_MotorsHeli: init roll_radio_passthrough
2015-07-21 16:25:31 +09:00
Randy Mackay
c9dedbd3b2
AP_Motors: remove multicopter only features
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:28 +09:00
Robert Lefebvre
abb6eba291
AP_MotorsHeli: Change allow_arming check to use _rotor_speed_estimate
...
In future, this will be used to check actual rotor speed (measured) if available, to prevent trying to arm with the rotor spinning.
2015-07-21 16:25:21 +09:00
Robert Lefebvre
9fcbc77ce0
AP_MotorsHeli: Create rotor_speed_above_critical accessor
2015-07-21 16:25:11 +09:00
Robert Lefebvre
992c9c75bb
AP_MotorsHeli: Create parameter_check method.
2015-07-21 16:25:04 +09:00
Robert Lefebvre
e2fe640e6c
Copter: Clean up helicopter allow_arming() function
2015-07-21 16:24:58 +09:00
Robert Lefebvre
61d6c5aa1d
AP_Motors: Creation of AP_Motors_Multirotor class
2015-07-21 16:24:38 +09:00
Lucas De Marchi
5c9bf90d94
SITL: use ARRAY_SIZE macro
2015-07-21 14:25:19 +09:00
Lucas De Marchi
fd5d25b1d5
AP_Compass: use ARRAY_SIZE macro
2015-07-21 14:25:17 +09:00
Lucas De Marchi
3136b8916c
DataFlash: use ARRAY_SIZE macro
2015-07-21 14:25:15 +09:00
Lucas De Marchi
d8b70dc0c5
AP_Scheduler: use ARRAY_SIZE macro
2015-07-21 14:25:13 +09:00
Lucas De Marchi
fdc6a75124
AP_Menu: use ARRAY_SIZE macro
2015-07-21 14:25:10 +09:00
Lucas De Marchi
0471de2342
AP_Math: use ARRAY_SIZE macro
2015-07-21 14:25:09 +09:00
Lucas De Marchi
eda4879f3f
AP_InertialSensor: use ARRAY_SIZE macro
2015-07-21 14:25:07 +09:00
Lucas De Marchi
3f472fb9e1
AP_HAL_VRBRAIN: use ARRAY_SIZE macro
2015-07-21 14:25:05 +09:00
Lucas De Marchi
473415a3c2
AP_HAL_SITL: use ARRAY_SIZE macro
2015-07-21 14:25:03 +09:00
Lucas De Marchi
d4d56aef1a
AP_HAL_PX4: use ARRAY_SIZE macro
2015-07-21 14:25:01 +09:00
Lucas De Marchi
cfc2972e51
AP_HAL_Linux: use ARRAY_SIZE macro
2015-07-21 14:24:58 +09:00
Lucas De Marchi
b83708f77f
AP_HAL: use ARRAY_SIZE macro
2015-07-21 14:24:56 +09:00
Lucas De Marchi
9d59b43920
AP_GPS: use ARRAY_SIZE macro
2015-07-21 14:24:54 +09:00
Lucas De Marchi
4a595bd797
APM_Control: use ARRAY_SIZE
2015-07-21 14:24:52 +09:00
Lucas De Marchi
fb2eb262e7
AP_Math: use ARRAY_SIZE instead of defining another one
2015-07-21 14:24:49 +09:00
Randy Mackay
73ff01dc68
AP_Notify: replace unsigned int with uint8_t
2015-07-21 13:52:03 +09:00
Lucas De Marchi
1bba105be4
AP_Notify: don't manually define number of notify devices
...
Like b211b86
(AP_HAL_Linux: don't manually define number of spi devices)
did for spi.
2015-07-21 13:52:00 +09:00
Peter Barker
65813f308e
DataFlash: fix incorrect comment
2015-07-21 13:11:00 +09:00
Randy Mackay
8225e58454
AP_Motors: throttle_min method in 0 to 1000 range
...
Previously the pwm range value was returned. This value is only used by
the multicopter attitude controller's angle boost function.
2015-07-20 20:44:46 +09:00
Randy Mackay
6bf6442396
MotorsMatrix; protect against divide by zero
...
This should never happen but just to be safe
2015-07-20 20:44:43 +09:00
Randy Mackay
fa60c3dce8
MotorsCoax: fix output_armed_stabilized min thr limit
2015-07-20 20:44:36 +09:00
Randy Mackay
8a308205ce
MotorsSingle: fix output_armed_stabilized min thr limit
2015-07-20 20:44:32 +09:00
Randy Mackay
bd9a605086
MotorsTri: fix output_armed_stabilized min thr limit
...
_min_throttle is in the pwm range but was being used as if in the 0 to
1000 range
2015-07-20 20:44:23 +09:00
Randy Mackay
e53c46bd8f
MotorsMatrix: fix output_armed_stabilized min thr limit
...
_min_throttle was being used as if it were in the 0 to 1000 range when
in fact it is in the pwm range. This meant the lower limit was too low.
2015-07-20 20:44:14 +09:00
Jean-Baptiste Dubois
7dcfe1c667
RCOutput_Bebop: group channels write
2015-07-20 09:23:13 +10:00
Andrew Tridgell
3b1b7ea029
AP_GPS: fixed time handling with NMEA driver
2015-07-20 09:15:32 +10:00
Julien BERAUD
a852e48f37
AP_GPS_NMEA: fix gps startup
...
when no valid gps data, gps would restart in a loop. Take the frame without
gps fix into account for frame counting
2015-07-20 09:14:15 +10:00
John Hsu
14e462706d
SITL: added gazebo SITL shim
2015-07-20 09:10:48 +10:00
John Hsu
c34ddb7fb8
HAL_SITL: added gazebo SITL model support
2015-07-20 09:10:48 +10:00
Randy Mackay
a61129f7f8
GCS_MAVLink: add support for send_mission_item_reached
2015-07-19 12:14:09 +09:00
Randy Mackay
766ccea3be
Mission: fix bug causing first do-cmd to be run many times
...
The symptom was that if the very first command in the mission was a
do-command, it would be run after every nav-command that didn't have
another do-command before it.
2015-07-17 12:15:08 +09:00
Randy Mackay
429346f4bc
AP_Mission: add missing breaks to case statement
2015-07-17 12:15:06 +09:00
Randy Mackay
0acfcbfa81
NavEKF: use primary compass instead of first instance
...
Thanks very much to staroselskii for finding this bug
2015-07-17 10:02:42 +09:00
Randy Mackay
cedc9a8670
Compass: add last_update_usec per instance
2015-07-17 10:02:41 +09:00
Andrew Tridgell
69cfe11455
AP_Arming: raise accel arming threshold to 0.75
...
arming issues due to accel inconsistency are too common
2015-07-17 09:50:19 +10:00
Andrew Tridgell
18de1c2c47
GCS_MAVLink: send AHRS2 even if we don't have a secondary position
2015-07-17 08:24:49 +10:00
Andrew Tridgell
6009ae55b1
AP_Math: fixed build of eulers example sketch
2015-07-17 08:24:49 +10:00
Randy Mackay
cc0ab26f5d
Mount: fix init of mode
...
Mode was being set from MNT_DEFTL_MODE parameter before that parameter's
value had been initialised from eeprom
2015-07-16 14:14:01 +09:00
Jean-Baptiste Dubois
9e5d13c1de
RCOutput_Bebop: use CLOCK_MONOTONIC instead of CLOCK_REALTIME
...
CLOCK_MONOTONIC is not affected by discontinuous jumps in the system time.
2015-07-15 12:08:44 +02:00
Robert Lefebvre
14882bc6a8
AC_AttitudeControl: Remove unused takeoff jump #define
2015-07-14 20:16:58 +09:00
Robert Lefebvre
e1902e2289
AP_MotorsHeli: Remove unused _dt variable.
2015-07-14 20:13:43 +09:00
Randy Mackay
7d2fe3cc2b
AP_GPS_UBlox: remove unused member
2015-07-14 15:02:15 +09:00
Randy Mackay
2c33250bee
AP_GPS_UBlox: send_next_rate_update always runs all steps
...
Moving the if, endif checks within the case statement ensures the state
machine goes through all 10 states
2015-07-14 15:02:13 +09:00
Randy Mackay
4b015d2091
AP_GPS: remove compiler warnings
2015-07-14 15:02:10 +09:00
Randy Mackay
df3a04e284
AP_GPS: reduce fake Ublox hdop to 130
2015-07-14 15:02:08 +09:00
Andy Piper
5ccc58ffb4
AP_GPS: Read actual hDOP value from UBLOX messages
...
Before we were reading the position DOP and calling it hDOP. Since the
other drivers actualy read hDOP it seem best to do the same.
Fixes issue 462.
2015-07-14 15:02:03 +09:00
Paul Riseborough
610595bfb9
AP_NavEKF: Prevent position drift between arming and takeoff when using OF
2015-07-13 10:54:36 +09:00
Randy Mackay
2b4aaf2368
SITL: add vibe monitor and SIM_ACC2_RND to sitl
2015-07-12 16:50:30 +09:00
Paul Riseborough
8b4b0b9576
AP_NavEKF: Add accelerometer clip monitoring and isolation
...
Isolates an accelerometer that is clipping and attempts to use the one that is clipping less.
2015-07-12 16:49:19 +09:00
Staroselskii Georgii
72820303d4
AP_HAL_Linux: set higher SPI speed for Navio
...
We can set a higher speed on newer Linux kernels since
52469b2a38
.
The older ones will just floor the value.
2015-07-10 18:59:18 +10:00
Peter Barker
0028910428
AP_InertialNav: take reference to variable we are trying to update
...
There are no callers to this function. Perhaps it should be removed?
2015-07-10 18:56:20 +10:00