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
Andrew Tridgell
4e0c2c5a9b
AP_HAL: defined default log and terrain directories for bebop
...
the /var filesystem is wiped on boot on Bebop. Use these as a
temporary workaround
2015-07-10 16:46:31 +10:00
Andrew Tridgell
6df33dd3f4
AP_InertialSensor: fixed MPU6000_SPI bus initialisation
...
we need _spi for get_semaphore()
2015-07-10 16:46:30 +10:00
Julien BERAUD
954ec71630
HAL_Linux: added rcout implementation for bebop
2015-07-10 16:46:30 +10:00
Julien BERAUD
51c3c499e2
AP_Compass: support AK8963 on I2C
2015-07-10 16:46:30 +10:00
Julien BERAUD
0b41da0dea
AP_Compass: rework to make the bus generic for AK8963
...
Supporting only MPU9250, prepare to implement another bus, i.e i2c on the
bebop
2015-07-10 16:46:29 +10:00
Julien BERAUD
0cd584c293
AP_Compass: fix rotation for bebop AK8963
...
Set the correct rotation for bebop
2015-07-10 16:46:29 +10:00
Julien BERAUD
7dd0b5fae6
AP_Compass: removed _spi_sem and _spi
2015-07-10 16:46:29 +10:00
Julien BERAUD
d407737434
AP_Baro: added MS5607 support
2015-07-10 16:46:29 +10:00
Julien BERAUD
3cf952d1f8
AP_InertialSensor: add fifo support for MPU6000
...
And remove the use of data rdy in this case
2015-07-10 14:24:09 +10:00
Julien BERAUD
8a76ff53bd
AP_InertialSensor: add i2c bus driver for MPU6050
2015-07-10 14:24:09 +10:00
Julien BERAUD
1679728730
AP_InertialSensor: Configure SPI as a generic bus for MPU6000
...
Add the possibility to implement an i2c bus communication for the
MPU6050 on parrot bebop
2015-07-10 14:24:09 +10:00
Julien BERAUD
f0bed711cf
AP_HAL: added AK8963 I2C defines
2015-07-10 14:23:18 +10:00
Julien BERAUD
e0b59942b0
AP_HAL: changed log directories for bebop
2015-07-10 14:23:18 +10:00
Julien BERAUD
5c414b4ca2
AP_HAL: Fix Compass I2C address for Bebop
2015-07-10 14:23:18 +10:00
Julien BERAUD
8d6123928f
AP_HAL: Add i2c bus numbers and addresses
2015-07-10 14:23:18 +10:00
Julien BERAUD
bef8001a09
AP_HAL: added MS5607 baro define
2015-07-10 14:23:17 +10:00
Julien BERAUD
eea7ea8488
AP_HAL: split MPU6000 INS defines for I2C and SPI
2015-07-10 14:23:17 +10:00
Julien BERAUD
7275e33e79
AP_HAL: add the possibility to have more than 1 i2c
...
Bebop drone has 3 i2c
2015-07-10 14:23:17 +10:00
Andrew Tridgell
a6f62c208e
AP_HAL: added bebop Linux board type
2015-07-10 10:22:59 +10:00
Julien BERAUD
b32259307d
AP_GPS: Add baudrate 230400 for GPS
...
Needed by bebop gps by default
2015-07-10 10:12:52 +10:00
Andrew Tridgell
282efe2d57
AP_Baro: fixed example to run accumulate at 50Hz
2015-07-10 09:59:35 +10:00
Andrew Tridgell
c83d5b1f08
AP_Compass: only build AK8963 driver on Linux
...
must match MPU9250 build
2015-07-09 11:57:27 +10:00
Andrew Tridgell
f4a9f9876f
HAL_PX4: make usb_connected() more robust
...
thanks to a suggestion from Phillip Kocmoud, this should fix issues
with the XUAV-X2
2015-07-08 11:19:07 +10:00
Randy Mackay
2f8a7f316f
Notify: enable toshibaLED for NAVIO
2015-07-07 20:08:19 +09:00
Staroselskii Georgii
402f46c56f
AP_Airspeed: fixed a typo in the ARSPD_DEFAULT_PIN define
...
There was a redundant elif for Linux builds.
2015-07-07 21:02:21 +10:00
Randy Mackay
1d732ddf62
Mount: param desc rename from MAVLink to 3DR Solo
2015-07-07 13:29:24 +09:00
mirkix
1b0f482d37
AP_RangeFinder: Add support for HC-SR04 Range Finder connected to BBB
2015-07-07 08:00:33 +10:00
Randy Mackay
d192b3ccea
Compass: set device id for ak8963 and hmc5843
2015-07-06 21:04:46 +09:00
Randy Mackay
ad1f9c4829
DataFlash: add ORGN message
2015-07-06 12:11:49 +09:00
Randy Mackay
03356a8d3a
OptFlow: fix parameter descriptions
2015-07-06 11:37:38 +09:00
dgrat
f56f584233
Compass: Improved field rounding in learning
...
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2015-07-06 11:31:58 +10:00
Daniel Frenzel
c49e44d02c
HAL_LInux: RCInput for Navio
...
Cleaned the code a bit
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2015-07-06 11:19:33 +10:00
kozinalexey
20a04bad77
AP_GPS: request RMC message in NMEA driver
2015-07-06 11:16:12 +10:00
dzollo
5d5d9dc137
AP_GPS: Fix max/min bug on SBP buffering. Log messages whether SBP driver recognizes the msg_type or not.
2015-07-06 10:53:35 +10:00
Lucas De Marchi
efec7723ff
AP_InertialSensor: reset the MPU9250 chip on startup
...
Now that the initialization of MPU9250 is shared between the
AP_InertialSensor and other drivers using it as a backend, we can reset
the MPU9250 in order to put it in a known state.
2015-07-06 10:48:07 +10:00
Lucas De Marchi
1deb837e70
AP_Compass: Use common function in MPU9250 for initialization
2015-07-06 10:48:07 +10:00
Lucas De Marchi
eb4e2ac2e5
AP_InertialSensor: factor out MPU9250 initialization
...
Now we have the initialization code split in 2 parts:
1) Making sure the MPU9250 chip is alive and working: this is now in a
static function that may be called by other drivers that use MPU9250 as
backend.
2) The configuration of gyro and accel. Once the first part is completed
successfully the AP_InertialSensor_MPU9250 finishes the configuration of
the sensors it uses.
The only change in behavior here is that before we would try 25 time (5x
inside _hardware_init time 5x inside _init_sensor() that calls the first
function) to "boot the chip" and now we are doing "only" 5.
2015-07-06 10:48:07 +10:00
Lucas De Marchi
953bfbd3fe
AP_InertialSensor: provide static methods for spi transactions
...
Add static methods to do the SPI transactions and provide the wrapper
methods when we have an instance of the object. This is useful so these
methods can be called from other contexts when the AP_InertialSensor
hasn't been initialized yet.
2015-07-06 10:48:07 +10:00
Lucas De Marchi
fde43a77b3
AP_HAL_Linux: allow to change spi device state
...
Allowing to change the SPI device state allows us to save the
information whether the device was already initialized and avoid 2
separate drivers to initialize it.
2015-07-06 10:48:06 +10:00
Lucas De Marchi
384d650a23
AP_HAL: allow to have spi device state
2015-07-06 10:48:06 +10:00
Staroselskii Georgii
26c8007c96
AP_Compass: updated backend detect method
...
Uses reimplemented AK8963 driver. There's also no need trying to detect this
compass twice. Actually, it might even be bad, because the current code can
allocate an AK8963 object twice.
2015-07-06 10:48:06 +10:00
Staroselskii Georgii
7a417d1151
AP_Compass: AK8963 rework
...
Got rid of extra abstraction layer. There is no need for that now.
2015-07-06 10:48:06 +10:00
mirkix
f82344358f
AP_InertialSensor: Change BBBMINI standard orientation
2015-07-06 10:12:39 +10:00
mirkix
e6363ea95d
AP_HAL_Linux: BBBMINI uses /dev/i2c-2
2015-07-06 10:09:21 +10:00
Lucas De Marchi
b211b86204
AP_HAL_Linux: don't manually define number of spi devices
...
It's error-prone, let's make the compiler define it for us.
2015-07-06 10:07:22 +10:00
Lucas De Marchi
82314ee4a3
AP_Common: add helper macro ARRAY_SIZE
2015-07-06 10:07:21 +10:00
Andrew Tridgell
1f58e0080a
SITL: fixed some build warnings
2015-07-06 09:21:49 +10:00
Andrew Tridgell
8f41d97548
AP_Math: fixed build error on PX4
...
variable set but not used with recent longitude_scale change
2015-07-06 08:19:57 +10:00
Andrew Tridgell
099392d3ca
AP_Math: don't optimise longitude_scale on faster CPUs
...
it causes problems with replay
2015-07-05 17:27:53 +10:00
Andrew Tridgell
88a90495b2
HAL_SITL: allow for more data before GPS pipe flush
2015-07-04 15:14:39 +10:00
Andrew Tridgell
21c895f6f3
AP_GPS: prevent extra NMEA messages causing rapid fix rates
...
unexpected messages could cause the GPS driver to report a very high
fix rate, which can confuse the EKF
2015-07-03 22:08:05 +10:00
Paul Riseborough
4fb7beba4b
AP_NAvEKF: Prevent failure due to magnetometer fusion numerical errors
...
If a badly conditioned covariance matrix causes negative innovation variances, then the filter will diverge. The previous approach of increasing process noise was not effective in some cases, so a hard reset of the covariance matrix has been adopted to guarantee recovery.
This fixes a numerical error observed using the replay on flight log which had significant periods of compass rejection.
2015-07-02 18:07:22 +10:00
Randy Mackay
43b1694c76
Compass: add third compass to PRIMARY param description
2015-07-02 14:19:30 +09:00
Peter Barker
844f050cf3
DataFlash: correct zero-byte-file handling in CLI
...
-rw-rw-r-- 1 pbarker pbarker 2105344 Jul 1 16:10 1.BIN
-rw-rw-r-- 1 pbarker pbarker 0 Jul 1 19:35 2.BIN
-rw-rw-r-- 1 pbarker pbarker 2494464 Jul 1 16:58 3.BIN
-rw-rw-r-- 1 pbarker pbarker 128503808 Jul 1 20:22 4.BIN
-rw-rw-r-- 1 pbarker pbarker 3 Jul 1 19:46 LASTLOG.TXT
Before fix:
2 logs
Log 3 in logs/3.BIN of size 2494464 2015/7/1 6:58
Log 4 in logs/4.BIN of size 128503808 2015/7/1 10:22
After Fix:
4 logs
Log 1 in logs/1.BIN of size 2105344 2015/7/1 6:10
Log 2 in logs/2.BIN of size 0 2015/7/1 9:35
Log 3 in logs/3.BIN of size 2494464 2015/7/1 6:58
Log 4 in logs/4.BIN of size 128503808 2015/7/1 10:22
If the last file was zero bytes, no files would be shown.
2015-07-02 08:53:18 +10:00
Andrew Tridgell
5b0394eb05
AP_Compass: start MPU9250 driver at low speed
...
this raises the chances of successful init of the MPU9250
2015-07-02 08:48:06 +10:00
Staroselskii Georgii
d40b45c9ae
AP_InertialSensor: disable reset on MPU9250
...
The Compass library is initialized before the InertialSensor. AK8963 with
MPU9250 as backend already takes care of resetting MPU9250. The problem with
also resetting it in the MPU9250 initialization code is that if the reset
happens during an internal I2C transaction, the AK8963 may hang. So here we
remove the reset inside MPU9250. There still a possibility that the first
MPU9250 initialization is not successful and it resets the chip, but it's not
happening in tests.
2015-07-01 20:44:09 +03:00
Andrew Tridgell
5f0302ed9f
HAL_Linux: fixed chaining of getopt calls
2015-07-01 20:44:07 +10:00
Andrew Tridgell
355575f793
HAL_Linux: fixed chaining of getopt instances
2015-07-01 15:42:07 +10:00
Andrew Tridgell
c8a6a02be1
HAL_Linux: don't do chardev test on subtype NONE
...
otherwise replay is broken
2015-07-01 15:36:34 +10:00
Andrew Tridgell
0679552cf7
GCS_MAVLink: regenerate headers
2015-07-01 12:02:44 +10:00
Andrew Tridgell
44b7c75a4c
GCS_MAVLink: merged upstream mag cal messages for APM
2015-07-01 12:00:23 +10:00
tcr3dr
41e4c2720d
AP_Param: Explicitly casts AP_CLASSTYPE parameter.
2015-07-01 11:32:11 +10:00
tcr3dr
9d26bc6958
HAL_SITL: Adds polyfill for feenableexcept on OS X.
2015-07-01 11:32:01 +10:00
tcr3dr
523acc1c54
AP_Menu: Corrects string null comparison in AP_Menu.
2015-07-01 11:31:54 +10:00
Tom Pittenger
457d3be4d7
AP_BoardConfig: add user-defined serial number
...
new param: BRD_SERIAL_NUM
// @Description: User-defined serial number of this vehicle, it can be any arbitrary number you want and has no effect on the autopilot
// @Range: -32767 to 32768 (any 16bit signed number)
2015-06-30 17:20:15 +10:00
Andrew Tridgell
281f6d9caa
HAL_Linux: cope with expansion of storage from 4096 to 16k
2015-06-30 16:45:49 +10:00
Gustavo Jose de Sousa
87776d8a4b
Storage: define LINUX_STORAGE_SIZE correctly
...
The value for LINUX_STORAGE_SIZE was defined inconsistently against the one
defined for Linux boards in HAL_STORAGE_SIZE. That led to some values not
being written to the storage when running the test binary built at
libraries/StorageManager/examples/StorageTest.
2015-06-30 16:37:08 +10:00
Peter Barker
cabea266e7
DataFlash: pull out common mission logging code
2015-06-30 16:23:35 +10:00
Peter Barker
d85b247706
DataFlash: Log_Write_SysInfo - pull out common logging startup messages
2015-06-30 16:23:34 +10:00
Peter Barker
c5c39a77a3
DataFlash: method to flush ringbuffer to fd
2015-06-30 16:19:22 +10:00
Andrew Tridgell
686b1137fa
AP_NavEKF: added vehicle specific initial gyro bias uncertainty
2015-06-30 16:16:26 +10:00
Andrew Tridgell
761b39be03
HAL_Linux: removed extra include
2015-06-30 15:09:52 +10:00
Andrew Tridgell
1296da56bb
AP_Terrain: fixed terrain path handling
2015-06-30 15:08:10 +10:00
Andrew Tridgell
a3c7297d8e
HAL_Linux: fixed setting of custom directories
2015-06-30 15:08:10 +10:00
Víctor Mayoral Vilches
f592981a60
TerrainIO: Support custom_terrain_directory
2015-06-30 14:36:43 +10:00
Víctor Mayoral Vilches
c06abeb02e
DataFlash_File: Support custom_log_directory
2015-06-30 14:36:42 +10:00
Víctor Mayoral Vilches
2e7a4aa1e6
HAL_Linux: Implement custom dir. methods
2015-06-30 14:36:42 +10:00
Víctor Mayoral Vilches
e5a90c7a34
AP_HAL: Util, add custom terrain and log methods
2015-06-30 14:36:00 +10:00
Víctor Mayoral Vilches
5c4ae15deb
HAL_Linux: Make use of GetOptLong
...
Use GetOptLong to process long args, support
custom terrain and log directories and update
_usage().
2015-06-30 14:36:00 +10:00
Víctor Mayoral Vilches
309511dc08
HAL_Linux: UARTDriver, const device_path
...
Class member set to const and set_device_path
accepts a const char* now.
2015-06-30 14:36:00 +10:00
Víctor Mayoral Vilches
790f4ec56c
HAL_Linux: Util fix indentation
2015-06-30 14:35:59 +10:00
Andrew Tridgell
ac3200fd32
AP_InertialSensor: make max_abs_offsets a single float, not a vector
2015-06-30 10:51:43 +10:00
Gustavo Jose de Sousa
0fcd98c804
AP_InertialSensor: disable debug on LSM9DS0
2015-06-30 10:28:05 +10:00
Gustavo Jose de Sousa
c168e19e73
AP_InertialSensor: fix coding style with uncrustify on LSM9DS0
...
This commit makes backend source code for LSM9DS0 comply with the configuration
files "uncrustify_cpp.cfg" and "uncrustify_headers.cfg".
2015-06-30 10:28:02 +10:00
Gustavo Jose de Sousa
2f2a627002
AP_InertialSensor: use runtime GPIO drdy pins numbers instead C constant macros
...
As we intend to eventually get board related parameters from a configuration
file, this commit makes the GPIO numbers for data-ready pins be instance
variables instead of from C constant macros.
Another advantage of using instance variables in this context is the
possibility of using more than one LSM9DS0.
2015-06-30 10:27:59 +10:00
Gustavo Jose de Sousa
0ef914adac
AP_InertialSensor: don't take SPI semaphore if not necessary on LSM9DS0
...
If the data-ready polling is done entirely on GPIO pins, it isn't necessary to
hold the semaphore before we now we have data to consume. In that case, only
take the SPI semaphore if there's new data available.
On the other hand, if at least one SPI transaction is done in order to check
for new data, then it makes sense to take the semaphore beforehand.
2015-06-30 10:27:57 +10:00
Gustavo Jose de Sousa
a82ab25ed3
AP_InertialSensor: use bitfield macros instead of literal values on LSM9DS0
...
This commit makes accel and gyro initialization routines use bitfield macros
instead of hardcoding the literal value when wrinting on registers. That is
less prone to typos and a lot of times self-explanatory. Also, due to the
latter, the long comments explaining each register field were removed (any
detail can be checked on the datasheet).
2015-06-30 10:27:54 +10:00
Gustavo Jose de Sousa
1572324315
AP_InertialSensor: add macros for LSM9DS0 registers' bitfields
2015-06-30 10:27:51 +10:00
Gustavo Jose de Sousa
033409c629
AP_InertialSensor: set max abs calibration offset for LSM9DS0
2015-06-30 10:27:48 +10:00
Gustavo Jose de Sousa
42eb73a1d1
AP_InertialSensor: add LSM9DS0 backend
...
This adds the backend driver for LSM9DS0. This implementation is based on the
legacy driver coded by Víctor Mayoral Vilches (under folder LSM9DS0) and makes
some necessary adaptations and fixes in order to work properly. The legacy
driver folder was removed.
2015-06-30 10:27:46 +10:00
Gustavo Jose de Sousa
c340e072f2
AP_InertialSensor: use accel instance max abs offset instead of a constant value
...
The calibration on LSM9DS0 was giving offsets between 4.0 and 4.2 on x-axis and
around 3.6 on y-axis. It turned out that those offsets were actually right.
The maximum absolute values of calibration offset should be a sensor
characteristic rather than a constant value for all sensors.
The constant value previously used (3.5 m/s/s for all axes) is set here as a
default maximum absolute calibration offset for every instance to keep it
working.
2015-06-30 10:27:44 +10:00
Lucas De Marchi
623c5f0713
AP_HAL_Linux: check if I2C device is chardev
2015-06-30 09:10:54 +10:00
Lucas De Marchi
acc571c2c5
AP_HAL_Linux: add function to check if path is chardev
...
Utility function to allow checking if a certain path is a character
device.
2015-06-30 09:10:54 +10:00
Lucas De Marchi
a4c1b0d75f
AP_HAL_Linux: add constructor to find I2C bus reliably
...
The device number in /dev may not be reliable from one boot to another
due to the initialization order of each bus.
For example, in Minnow Board Max, the exposed I2C buses may be i2c-7 and
i2c-8 or i2c-8 and i2c-9 depending if the platform driver in the kernel
is initialized before or after the PCI.
It also may change with different version and configuration of the DT or
UEFI used making another kernel driver to bind to the device. This means that
for Minnow Board Max we need to use something like below to pass to the
constructor:
static const char * const i2c_devpaths[] = {
/* UEFI with lpss set to ACPI */
"/devices/platform/80860F41:05",
/* UEFI with lpss set to PCI */
"/devices/pci0000:00/0000:00:18.6",
NULL
};
The devpath here is the one returned by udev with the following command:
udevadm info -q path /dev/<i2c-device>
In contrary to the device number in /dev/i2c-N, this path in sysfs is
stable across reboots and can only change if there's a change in the
UEFI firmware or the board's device tree.
This patch assumes the currently supported boards don't have this
problem so it's not touching them.
2015-06-30 09:10:54 +10:00
Lucas De Marchi
ec5d0b6c08
AP_HAL_Linux: reorder members and methods and use C++ initializer
2015-06-30 09:10:53 +10:00
Michael du Breuil
a382ce2b0c
AP_GPS: Add support for logging ublox RXM-RAWX messages
...
Can only record 32 satellites raw info before memory corruption occurs. (And raised the limit on normal RXM-RAW messages to 22)
2015-06-30 09:05:49 +10:00
Michael du Breuil
d665c85c20
DataFlash: Add RXM-RAWX logging messages
2015-06-30 09:05:48 +10:00
mirkix
38a8a772f8
AP_GPS: Add fix status 3D+DGPS
2015-06-30 09:00:31 +10:00
Andrew Tridgell
15efae5a48
HAL_SITL: use SITL_NUM_CHANNELS
2015-06-30 08:55:02 +10:00
Andrew Tridgell
f8944ab6be
SITL: define number of RC out channels
2015-06-30 08:54:46 +10:00
Vladislav Zakharov
be4b6033e4
AP_HAL_Linux: Navio RCInput reimplemented.
2015-06-29 16:45:43 +10:00
Vladislav Zakharov
e505eb2cd8
AP_HAL_Linux: Changes in Scheduler: Added defines for delays, RCIN_RERIOD changed
2015-06-29 16:45:42 +10:00
Przemek Lekston
90378b21da
AP_BattMonitor: Fix battery monitor Floating Point Exception in SITL
...
Adds a sanity check to avoid division by zero when BATT_CAPACITY is set to 0.
2015-06-29 16:42:52 +10:00
Andrew Tridgell
ff88932091
SITL: setup turbulence in JSBSim
2015-06-29 11:25:59 +10:00
Andrew Tridgell
92c9779d18
HAL_SITL: pass turbulence to simulators
2015-06-29 11:25:44 +10:00
Randy Mackay
ef20676c67
GPS: fix INJECT_TO param desc and add definition
...
No functional change
2015-06-27 16:31:03 +09:00
Randy Mackay
0264b1aa84
AC_Circle: set only xy position targets
2015-06-27 15:43:49 +09:00
Randy Mackay
0b9c7c2a3b
SerialManager: add SToRM32 to protocol param description
2015-06-27 11:18:17 +09:00
Víctor Mayoral Vilches
ab5f1b3a24
BusTest: Fix compilation error with AP_ADC
2015-06-26 21:59:22 +10:00
Peter Barker
723c37bcf7
DataFlash: backend/frontend split
2015-06-26 16:02:50 +10:00
Andrew Tridgell
21c8a2d94a
AP_Common: override new and delete on all platforms to zero memory
...
this guarantees that all classes get zero initial members when
they are dynamically allocated.
2015-06-26 15:55:19 +10:00
Andrew Tridgell
eeb97800ae
AC_AttitudeControl: allow for tail pass-thru in ACRO mode
...
this allows for all channels to be passed through
2015-06-26 12:45:38 +09:00
Michael du Breuil
e45f3537cf
APM_Control: Remove duplicate include statements
2015-06-25 10:23:47 +10:00
Michael du Breuil
aa04c81e3c
APM_Control: Fix a typo in the docstring for YAW2SRV_SLIP
2015-06-25 10:22:36 +10:00
Tom Pittenger
e6122d1a4e
AP_Mission: ensure cache coherence on mission resume
...
- when resuming a mission we should read the value from storage of the same index to ensure we're not continuing an old cached version of the mission item.
- inherent problem: DO commands will continue and will be unaffected unless the new mission has a different DO_ command structure. If so, a set_current_cmd() or reset() should be issued by the GCS.
2015-06-25 10:21:06 +10:00
Andrew Tridgell
a81590f7ac
HAL_SITL: prevent FPE on zero range with optflow
2015-06-25 10:08:53 +10:00
Randy Mackay
9f17fc17ab
NavEKF: update parameter descriptions
2015-06-24 16:25:14 +09:00
Paul Riseborough
87e6a24154
AP_NavEKF: Add public method to reset EKF height datum and baro alt
2015-06-24 16:25:11 +09:00
Randy Mackay
1e3e65e443
AC_AttControl: add shift_ef_yaw_target
...
This allows shifting the target heading in case the EKF shifts it's
heading estimate
2015-06-24 11:49:32 +09:00
Paul Riseborough
e3ccb74e12
AP_NavEKF: Publish amount of in-flight yaw angle reset
2015-06-24 11:49:29 +09:00
Gustavo Jose de Sousa
c72dc9bd45
AP_InertialSensor: make single rotation on MPU9250
...
The previous implementation made some boards apply two rotations to suit
their default orientation. That was happening because there was an
unconditional rotation being done (commented as "rotate for bbone
default").
This commit makes that unconditional rotation as a default rotation
instead and adjusts the former additional rotations to be single
rotations.
2015-06-22 17:45:20 +10:00
Gustavo Jose de Sousa
3dad768e8b
AP_InertialSensor: log failure to initialize after max attempts on MPU9250
...
This happens for example when you are trying to use an SPI speed that's
above the one supported by the sensor or the controller.
2015-06-22 17:45:20 +10:00
Gustavo Jose de Sousa
587471ab54
AP_InertialSensor: disable I2C on MPU9250
...
As the datasheet says: "To prevent switching into I2C mode when using
SPI, the I2C interface should be disabled by setting the I2C_IF_DIS
configuration bit."
We also reset the sensor like PX4Firmware does for initializing the
MPU6000. See: ee1d8cd770/src/drivers/mpu6000/mpu6000.cpp (L695)
2015-06-22 17:45:20 +10:00
Michael du Breuil
6cd81ae1fb
APM_Control: Add PID logging to yaw controller
2015-06-22 15:41:44 +10:00
Michael du Breuil
225c946af0
DataFlash: Add PIDS for steering logging
2015-06-22 15:41:44 +10:00
Robert Lefebvre
11214b3414
AP_Motors: move constraints to set_throttle
2015-06-22 13:52:59 +09:00
Grant Morphett
84ac8abc42
AP_Mount: Fixed a bug with wrapping of panning angles.
2015-06-22 09:32:26 +09:00
Andrew Tridgell
a424686d2f
DataFlash: reduce future merge conflicts
...
an enum makes it easier to merge new messages
2015-06-20 16:18:50 +10:00
Andrew Tridgell
81e6d88560
StorageManager: fixed hang in erase()
...
found by coverity
2015-06-20 15:00:57 +10:00
Andrew Tridgell
4eab27abe9
AP_InertialSensor: fixed logic bug in MPU6000 init
...
thanks to coverity
2015-06-20 14:53:04 +10:00
Andrew Tridgell
131b345ccc
APM_Control: cleanup some coverity warnings
2015-06-20 13:30:32 +10:00
Andrew Tridgell
322a61635f
SITL: allow extra arguments to be passed to last_letter
2015-06-19 16:39:46 +10:00
Robert Lefebvre
0c92565d23
AP_MotorsHeli: add Critical Rotor Speed param, use to switch off runup_complete
2015-06-19 15:10:53 +09:00
Robert Lefebvre
3ad6700c5d
AP_MotorsHeli: add getters for rotor speed
2015-06-19 15:10:51 +09:00
Robert Lefebvre
8b917b82ee
AP_MotorsHeli: Simplify set_desired_rotor_speed function definition
2015-06-19 15:10:50 +09:00
Robert Lefebvre
79e8c8f7f7
AP_MotorsHeli: whitespace fixes
2015-06-19 15:10:47 +09:00
Georacer
b375a8debf
SITL: Allows last_letter to start at the location specified by the SITL arguments
2015-06-19 12:49:29 +10:00
Leonard Hall
cfc388934b
AC_AttControl: add set_accel_roll_max
...
Also equivalents for pitch and yaw
2015-06-18 23:06:33 +09:00
mirkix
7c55689aad
AP_HAL_Linux: Fix loading Firmware
2015-06-18 10:13:49 +10:00
Paul Riseborough
6ba8cd05ff
AP_NavEKF: Fix bug preventing GPS vertical velocity being used
...
This fixes a bug that prevents GPS velocity being used permanently if there is a temporary unavailability
2015-06-18 09:01:21 +10:00
mirkix
a1d478909a
AP_BattMonitor: Add Linux support for example
2015-06-18 09:00:01 +10:00
mirkix
d169fea9ec
AP_AHRS: Add Linux support for example
2015-06-18 08:59:16 +10:00
mirkix
588a16dec2
AP_InertialSensor: Add Linux support for VibTest example
2015-06-18 08:48:23 +10:00
Andrew Tridgell
de11b5394e
GCS_MAVLink: support NSH shell with SERIAL_CONTROL
2015-06-17 20:30:10 +10:00
Andrew Tridgell
a0594bd50e
GCS_MAVLink: regenerate headers
2015-06-17 20:30:10 +10:00
Andrew Tridgell
bdbe1a7553
GCS_MAVLink: added SERIAL_CONTROL_DEV_SHELL
2015-06-17 20:30:09 +10:00
Andrew Tridgell
d909f11ba3
HAL_PX4: added implementation of NSH shell stream
2015-06-17 20:30:09 +10:00
Andrew Tridgell
7f239f5d46
AP_HAL: added get_shell_stream()
2015-06-17 17:04:15 +10:00
Andrew Tridgell
4fe092fead
AP_InertialSensor: panic on bad gyro or accel sample rates
2015-06-17 15:01:23 +10:00
Andrew Tridgell
d3b85eb792
AP_InertialSensor: use driver supplied sample rate
...
this will work with a wider range of sensors
2015-06-17 14:44:19 +10:00
Andrew Tridgell
e91bfdfc1c
AP_InertialSensor: fixed VibTest example build
2015-06-17 14:15:58 +10:00
Andrew Tridgell
feb928dcd3
DataFlash: fixed build warnings
2015-06-17 13:10:26 +10:00
Andrew Tridgell
c9988d8b37
AP_NavEKF: rely on delta_velocity and delta_angles always being available
2015-06-17 13:10:26 +10:00
Andrew Tridgell
bc0ae630a1
AP_InertialSensor: always provide delta_velocity and delta_angles
...
this makes the NavEKF code simpler
2015-06-17 13:10:26 +10:00
Andrew Tridgell
a115182041
AP_NavEKF: fixed minimum deltat to be 100us
2015-06-17 13:10:26 +10:00
Andrew Tridgell
c221959d5a
AP_NavEKF: fixed corrected del velocity to use both accels
2015-06-17 13:10:25 +10:00
Andrew Tridgell
f831c16238
AP_InertialSensor: use fixed sensor sample times
...
this uses fixed sample times for PX4 IMUs, rather than reported
timestamps. It avoids timing jitter caused by the over-sampling in
the PX4 drivers
2015-06-17 13:03:56 +10:00
Andrew Tridgell
f77ffd30f6
AP_GPS: fixed HIL GPS driver to make have vertical velocity sticky
2015-06-17 12:46:56 +10:00
Randy Mackay
9d81856580
InertialSensor: fix name of get_delta_velocity method
2015-06-17 12:46:54 +10:00
Randy Mackay
384755e271
Dataflash: add IMT messages
2015-06-17 12:46:54 +10:00
Andrew Tridgell
727be87d84
AP_InertialSensor: support HIL functions for delta_velocity and delta_angles
2015-06-16 09:53:55 +10:00
Andrew Tridgell
4677c189e0
HAL_SITL: support balloon model
2015-06-15 09:20:56 +10:00
Andrew Tridgell
83cc60a699
SITL: added simple balloon simulator
...
for testing balloon release code in plane
2015-06-15 09:20:55 +10:00
Andrew Tridgell
5e80f0cf72
APM_Control: allow for multiple stop calls in autotune
2015-06-15 09:20:54 +10:00
Andrew Tridgell
9bd8e215b2
AP_Mission: enable DO_AUTOTUNE_ENABLE
2015-06-15 09:20:54 +10:00
Andrew Tridgell
08acde2766
AP_Mission: added ALTITUDE_WAIT NAV command
...
used for HAB launch
2015-06-15 09:20:54 +10:00
Andrew Tridgell
c415bfe766
GCS_MAVLink: regenerate headers
2015-06-15 09:20:54 +10:00
Andrew Tridgell
3ef44459c8
GCS_MAVLink: added ALTITUDE_WAIT message
2015-06-15 09:17:27 +10:00
Randy Mackay
69e59b2d99
GCS_MAVLink: update version after adding LANDING_TARGET
2015-06-12 21:37:09 +09:00
Randy Mackay
835a203566
GCS_MAVLink: generate after adding LANDING_TARGET
2015-06-12 21:37:07 +09:00
Randy Mackay
94aec19336
GCS_MAVLink: import LANDING_TARGET from upstream
2015-06-12 21:37:04 +09:00
Randy Mackay
76fdfdfcf2
GCS_MAVLink: do not send_vibration on APM2
2015-06-12 21:37:01 +09:00
Randy Mackay
0d239d2746
DataFlash: disable vibration logging on APM2
...
Also remove unnecessary include
2015-06-12 21:36:59 +09:00
Randy Mackay
8ceccd778d
InertialSensor: disable vibration checks on APM2
...
Also bug fix get_accel_clip_count's instance check
2015-06-12 21:36:56 +09:00
Randy Mackay
642aa74530
GCS_MAVLink: add send_vibration
2015-06-12 21:36:42 +09:00
Randy Mackay
581e43bd0e
GCS_MAVLink: update version after adding VIBRATION msg
2015-06-12 21:36:39 +09:00
Randy Mackay
afbb670e73
GCS_MAVLink: generate after adding VIBRATION message
2015-06-12 21:36:36 +09:00
Randy Mackay
e677a100c6
GCS_MAVLink: add VIBRATION message to common.xml
2015-06-12 21:36:34 +09:00
Randy Mackay
f0f262eb04
DataFlash: add Log_Write_Vibration
2015-06-12 21:36:28 +09:00
Randy Mackay
1289208244
LowPassFilter: add get method
2015-06-12 21:36:24 +09:00
Randy Mackay
0db7acc628
InertialSensor: calc vibration and accel clipping
2015-06-12 21:36:22 +09:00
Tom Pittenger
3544549cf4
AP_GPS: Allow switching primary GPS instance with 1 sat difference
...
Rapid switching between GPS receivers can cause real problems.
Switch if:
1) secondary GPS has 1 more satellite for at least 20 seconds
OR
2) secondary GPS has 2 more satellites for at least 5 seconds
Fixes https://github.com/diydrones/ardupilot/pull/2320
2015-06-11 21:33:06 +10:00
Andrew Tridgell
dea36c1ae9
HAL_PX4: fixed build on non-PX4 systems
2015-06-11 15:17:02 +10:00
Andrew Tridgell
88655b48e1
HAL_PX4: added px4_param stub functions
...
this replaces the PX4 parameter system with stub functions that fail
all parameter find calls
2015-06-11 13:31:41 +10:00
Randy Mackay
0b6323d5ed
Mount: default MNT_TYPE to servo gimbal if rc outputs defined
2015-06-10 16:47:08 +09:00
Randy Mackay
03a336d496
RC_Channel: update_aux_servo_function made public
2015-06-10 16:47:06 +09:00
Eugene Shamaev
40a5aa497a
HAL_PX4: added rc_bind for DSM bind
2015-06-10 17:19:09 +10:00
Eugene Shamaev
8cb367eaf8
AP_HAL: added rc_bind rcin method
2015-06-10 17:19:08 +10:00
Lucas De Marchi
b3da1579c1
AP_Notify: rename member to initialized
...
We are not only checking if there was an error, but if it was already
initialized. Let's make it explicit by inverting the value we store.
2015-06-10 16:39:01 +10:00
Lucas De Marchi
3f8dab41c4
AP_Notify: fix wrong boolean check
...
Check by false instead of checking by -1. Fix the following compiler warning
with gcc 5.1.0:
ardupilot/libraries/AP_Notify/ToneAlarm_Linux.cpp:64:13: warning: comparison of constant '-1' with boolean expression is always false [-Wbool-compare]
if (err == -1) {
^
Also change the initialization code not to use -1.
2015-06-10 16:39:01 +10:00
Andrew Tridgell
979a571d68
AP_HAL: fixed example build
2015-06-10 09:27:41 +10:00
Andrew Tridgell
d6af9fd0ee
HAL_PX4: prevent uavcan motor spin up while booting
2015-06-09 19:45:01 +10:00
Andrew Tridgell
6a33aeef67
HAL_PX4: cope with multi-instance actuator_outputs uORB
...
we need to subscribe to all of them
2015-06-09 19:45:00 +10:00
Andrew Tridgell
2167675b3d
AP_RangeFinder: update for upstream merge
2015-06-09 19:44:20 +10:00
Andrew Tridgell
23d291f144
AP_Notify: update for upstream merge
2015-06-09 19:44:20 +10:00
Andrew Tridgell
333778bac1
HAL_PX4: updates for upstream merge
2015-06-09 19:44:20 +10:00
Andrew Tridgell
02aa6983a7
APM_Control: fixed FF handling in steering controller
2015-06-09 13:28:26 +10:00
Andrew Tridgell
5105d510b8
APM_Control: added pid_info and FF to steering controller
...
used for realtime ground steering tuning
2015-06-09 12:48:55 +10:00
Andrew Tridgell
c44ab01be8
AP_HAL: use noreturn attribute on panic
...
should reduce coverity warnings
2015-06-08 21:09:08 +10:00
Randy Mackay
aa7a151fe5
AC_WPNav: init flags
...
Resolves Coverity warning
2015-06-08 14:46:39 +09:00
Randy Mackay
bb382a65e8
AC_Circle: init members and flags
...
Removed unused dir flag
Resolves Coverity warning
2015-06-08 14:46:37 +09:00
Randy Mackay
1bf0139162
AC_Sprayer: init flags
...
Resolves warning from Coverity
2015-06-08 14:46:35 +09:00
Randy Mackay
d2f93dd379
AC_PosControl: init flags
...
Resolves warning from Coverity
2015-06-08 14:46:32 +09:00
Randy Mackay
d366c30358
AP_RangeFinder: fix potential out-of-bounds read
...
Issue found by Coverity
2015-06-08 14:46:21 +09:00
Randy Mackay
2849430341
AP_Motors: init flags
...
resolves coverity issue
2015-06-08 14:46:16 +09:00
Randy Mackay
ac76562638
RangeFinder: init state and drivers
...
resolves a coverity defect
2015-06-08 14:46:14 +09:00
Randy Mackay
7bbaeac55f
OpticalFlow: init _last_update_ms member
...
This resolves a defect found with coverity
2015-06-08 14:46:11 +09:00
Eugene Shamaev
ca482cf44a
StorageManager: added example sketch
2015-06-08 10:05:05 +09:00
Eugene Shamaev
c6c6e2dc13
AP_GPS: add comments to example sketch
2015-06-08 10:04:36 +09:00
Max Basescu
32994a5b1e
AP_HAL_AVR: Changed constrain_period to use RC_OUTPUT bounds instead of RC_INPUT
...
Done in order to get full range of motion for servo output
2015-06-05 21:03:03 +10:00
Max Basescu
de50217809
AP_HAL: Added RC_OUTPUT_MIN_PULSEWIDTH set to 400 and RC_OUTPUT_MAX_PULSEWIDTH set to 2100
...
For use in AP_HAL_AVR in RCOutput_APMx
2015-06-05 21:03:03 +10:00
Randy Mackay
382f5d087f
AC_PosControl: explicitly set set_alt_target_from_climb_rate params
2015-06-05 15:51:02 +09:00
Randy Mackay
6ea60aa662
AC_PosControl: remove default from set_alt_target_from_climb_rate
2015-06-05 15:15:03 +09:00
Randy Mackay
11fee21f06
AC_PosControl: init accel_last_z_cms
2015-06-05 15:06:34 +09:00
Randy Mackay
b8e3fe8f26
Mount: AlexMos fix to stop crashing before init
2015-06-05 12:31:16 +09:00
Randy Mackay
66d2328163
Mount: Alexmos save 4 bytes of RAM
2015-06-05 12:31:14 +09:00
Randy Mackay
7a8fe5f4d4
Mount: Alexmos formatting fixes
2015-06-05 12:31:12 +09:00
Tim Ryan
d7fe6bfe0d
Terrain: cast grid_spacing to fix OSX clang error
2015-06-04 21:01:34 +09:00
Lucas De Marchi
1d39f548dc
AP_HAL: remove aliases FUNCTOR_[BIND|TYPEF]_VOID
...
Nobody is using them anymore, so kill them.
2015-06-04 13:37:41 +09:00
Lucas De Marchi
98a1a05933
AP_Scheduler: stop using alias FUNCTOR_BIND_VOID
2015-06-04 13:37:40 +09:00
Andrew Tridgell
2de8c26c06
AP_Arming: allow pre_arm_checks() to be subclassed
...
this allows for vehicle specific arming checks
2015-06-04 13:26:39 +10:00
Andrew Tridgell
dbff6cab43
HAL_Linux: added udp example to help
2015-06-03 21:47:01 +10:00
Paul Riseborough
d3f83e8ec6
AP_NavEKF: Improve gyro bias learning rate for plane and rover
...
This patch increases initial gyro bias uncertainty and plane and rover specific process noise to improve the rate of gyro bias learning.
This reduces the likelihood of a navigation failure due to rapid temperature changes in the inertial sensors causing rapid changes in zero rate offset.
The increase in process noise cannot be applied to Copter due to different numerical stability limits arising from the faster update rate.
2015-06-03 11:46:17 +10:00
Andrew Tridgell
367a87591a
AP_Param: fixed build of eedump_apparam
2015-06-03 11:46:00 +10:00
Andrew Tridgell
9a7b283322
AP_GPS: fixed enable of RXM_RAW on uBlox on Pixhawk
...
if version detection was disabled this would never trigger
2015-06-02 16:52:08 +10:00
Grant Morphett
7d1bf75aa8
DataFlash: Moving parameter logging to be after all systems have started
...
Moved Log_Write_Parameters to be public so we can call it from the
vehcile code at the end of the startup sequence.
We needed to do this because parameters like COMPASS_EXTERNAL are
modified by the startup code and if we log the parameters too early we
will be recording the wrong value.
2015-06-01 20:22:43 +09:00
Randy Mackay
9c28d61a5c
Mission: protect against endless loops of do-commands
2015-06-01 18:11:54 +09:00
Andrew Tridgell
e234844905
RC_Channel: fixed example sketch
2015-06-01 18:05:50 +10:00
Andrew Tridgell
767aeedf01
AP_Mission: fixed example sketch
2015-06-01 18:05:38 +10:00
Andrew Tridgell
b2a5de8a63
AP_Scheduler: fixed example sketch
2015-06-01 17:42:32 +10:00
Andrew Tridgell
214b61bfc0
AP_InertialSensor: fixed example build
2015-06-01 17:35:15 +10:00
Andrew Tridgell
3edac37929
AP_Math: removed unused include in example
2015-06-01 17:35:03 +10:00
Andrew Tridgell
407fbc7261
AP_Menu: remove unused AP_Vehicle.h include
2015-06-01 17:34:48 +10:00
Andrew Tridgell
9fa1e15238
AP_Menu: removed example sketch
...
not very useful
2015-06-01 17:34:34 +10:00
Andrew Tridgell
5c86005160
AP_HAL: removed spurious delay example
2015-06-01 17:28:45 +10:00
Andrew Tridgell
1bd61ae96e
AP_HAL: no need to include AP_Vehicle_Type.h here any more
2015-06-01 17:28:24 +10:00
Andrew Tridgell
d746e8fa29
AP_Motors: mark examples as nobuild
...
waiting for fix from Rob
2015-06-01 17:27:33 +10:00
Andrew Tridgell
7f408cae02
AP_PerfMon: convert example from .pde to .cpp
2015-06-01 17:07:09 +10:00
Andrew Tridgell
421c7e02ae
StorageManager: convert example from .pde to .cpp
2015-06-01 17:07:08 +10:00
Andrew Tridgell
6c1c2dd8bd
RC_Channel: convert example from .pde to .cpp
2015-06-01 17:07:08 +10:00
Andrew Tridgell
fce95178e7
PID: convert example from .pde to .cpp
2015-06-01 17:07:08 +10:00
Andrew Tridgell
3b48f68cce
GCS_MAVLink: convert example from .pde to .cpp
2015-06-01 17:07:07 +10:00
Andrew Tridgell
89c4e6fc21
GCS_Console: convert example from .pde to .cpp
2015-06-01 17:07:07 +10:00
Andrew Tridgell
b7f0735c2b
Filter: convert example from .pde to .cpp
2015-06-01 17:07:07 +10:00
Andrew Tridgell
e734f24cc1
DataFlash: convert example from .pde to .cpp
2015-06-01 17:07:07 +10:00