teddytrowbridge
a4690a7b0a
SITL_State: fixed _set_param_default
...
Fixed _set_param_default() so that it finds the parameter using it's
NAME rather than the entire NAME=VALUE string
2015-10-16 10:20:31 +11:00
José Roberto de Souza
30610fb17d
AP_InertialSensor: Remove misspelled and unused method
2015-10-16 10:16:24 +11:00
José Roberto de Souza
3888579c07
AP_Compass: HMC5843: Use the correctly spelled method
2015-10-16 10:16:24 +11:00
José Roberto de Souza
daa32725ac
AP_InertialSensor: Fix typo: auxiliar to auxiliary
2015-10-16 10:16:24 +11:00
José Roberto de Souza
c53e9d1ff0
AP_Baro: Fix typo
2015-10-16 10:05:03 +11:00
José Roberto de Souza
9a98eb35fc
AP_Baro: Add MS5637 over I2C to init()
2015-10-16 10:05:03 +11:00
José Roberto de Souza
6215a3d224
AP_HAL: Add MS5637 over I2C to the supported barometers list
2015-10-16 10:05:03 +11:00
José Roberto de Souza
c373ce34d1
AP_Baro: MS56XX: Some minor fixes
2015-10-16 10:05:03 +11:00
José Roberto de Souza
d9931b5f34
AP_Baro: Add support to MS5637
...
As AVR2560 is not supported anymore and do integer operations is
usually faster than float-point the _calculate() implementation was
done using only integer operations and as more close to what
datasheet says.
2015-10-16 10:05:03 +11:00
Randy Mackay
6bdeae97b6
Compass: update param descriptions
...
offset parameter units are milligauss
User settable parameters should have a User category defined. Those that should never be set by a user should not have this.
2015-10-15 20:52:38 +09:00
Randy Mackay
131536a3a7
Compass: resolve compiler warning
2015-10-15 20:33:25 +09:00
Randy Mackay
35769035d4
AP_NavEKF2: resolve compiler warning related to init order
2015-10-15 20:03:05 +09:00
Gustavo Jose de Sousa
0caaef7394
AP_Compass: mention mag field unit in existing documentation
...
We are now always using milligauss for mag field unit, so let's update
documentation accordingly.
2015-10-15 19:56:15 +09:00
Gustavo Jose de Sousa
9927cf066f
AP_Compass: remove use of milligauss_ratio
...
Now, we have all current compasses publishing their values already in
milligauss, so there's no need for that variable anymore.
2015-10-15 19:56:14 +09:00
Gustavo Jose de Sousa
b603641d7c
AP_Compass: AK8963: fix where to apply sensitivity adjustments
...
The function rotate_field() can change the values axes and the function
correct_field() applies offsets (which are already in milligauss). Thus any
sensitivity adjustment must be done for two reasons:
(1) The offsets must be applied to the values already in milligauss;
(2) The factory sensitivity adjustment values are per axis, if any rotation
that switches axes is applied, that'll mess with the adjustment.
Experiments showed that before this patch the length of the mag field reported
quite different from the expected. After this patch, the same experiments
showed reasonable values.
2015-10-15 19:56:13 +09:00
Gustavo Jose de Sousa
6198e81bb3
AP_Compass: AK8963: scale mag field internally
...
This is part of the transition to make all mag field values be used in
milligauss.
2015-10-15 19:56:12 +09:00
Gustavo Jose de Sousa
256c9c06c9
AP_Compass: HMC5843: scale mag field internally
...
This is part of the transition to make all mag field values be used in
milligauss. Additionally the value of _gain_multiple is adapted to the new way
we're using it and corrected accordingly to the datasheets.
2015-10-15 19:56:11 +09:00
Gustavo Jose de Sousa
814442563e
AP_Compass: HMC5843: fix _calibrate()
...
The use of _gain_multiple is not necessary because the values of
expected_{x,yz} and _mag_{x,y,z} are both in sensor raw unit (i.e., lsbs).
That wasn't fixed before in order not to make APM users to recalibrate their
compasses.
2015-10-15 19:56:10 +09:00
Gustavo Jose de Sousa
88a1a928e9
AP_Compass: remove get_{field,offsets}_milligauss() functions
...
Those functions are not being used anymore.
2015-10-15 19:56:09 +09:00
Gustavo Jose de Sousa
f0dee75ab3
GCS_MAVLink: use compass get_{field,offsets}() functions
...
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:08 +09:00
Gustavo Jose de Sousa
363f9cf82a
DataFlash: use compass get_{field,offsets}() functions
...
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:07 +09:00
Gustavo Jose de Sousa
afccf615d5
AP_NavEKF: use compass get_{field,offsets}() functions
...
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:03 +09:00
Gustavo Jose de Sousa
99a55f9379
AP_Compass: use compass get_{field,offsets}() functions
...
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:02 +09:00
Gustavo Jose de Sousa
9a2808a593
AP_Arming: use compass get_{field,offsets}() functions
...
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:01 +09:00
Gustavo Jose de Sousa
84f811fe76
AP_AHRS: use compass get_{field,offsets}() functions
...
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:00 +09:00
Gustavo Jose de Sousa
4375606eeb
AP_Compass: make get_field() and get_offsets() return milligauss
...
This is part of a transition to make AP_Compass always use a single unit for
magnetic field values, namely milligauss.
2015-10-15 19:55:59 +09:00
Paul Riseborough
0c61e09b70
AP_NavEKF2: Critical big fix - states not initialised
...
The failure to initialise the magnetometer bias states to zero can result in a large jump in yaw gyro bias and heading when a heading reset is performed.
2015-10-15 09:52:55 +11:00
Paul Riseborough
e3013b493b
AP_NavEKF2: Critical bug fix - perf counter not initialised
2015-10-15 09:48:13 +11:00
Grant Morphett
4f01aaf5e3
AP_Arming: fixing up some ARMING_CHECK param doco
2015-10-13 19:53:55 +09:00
Paul Riseborough
3479a0e209
AP_NavEKF: Prevent blocking of synthetic position fusion
...
Fixes a potential error where changes to timing and arrival rate of magnetometer and baro data could block the fusion of synthetic position and velocity measurements, allowing unrestrained tilt errors during operation without GPS or optical flow.
Fusion of synthetic position or velocity measurements is now timed to coincide with fusion of barometer observations.
If a new barometer observation has not arrived after 200 msec then the synthetic position or velocity is fused anyway so that fusion of synthetic position or velocity observations cannot occur any slower than 5 Hz
2015-10-13 14:05:36 +09:00
Paul Riseborough
a895b16fa6
AP_NavEKF: Prevent GPS glitch activating EKF failsafe
2015-10-12 16:29:21 +09:00
Paul Riseborough
a82c8b241f
DataFlash: Update NKF4 data logging
...
Add roll/pitch error metric
Reduce normalised magnetometer vector with a vector length
2015-10-10 21:22:57 +09:00
Paul Riseborough
20a3f9782e
AP_NavEKF2: Add full set of selectable pre-flight GPS checks
2015-10-10 21:22:53 +09:00
Paul Riseborough
f451a81ef9
AP_NavEKF: Add missing GPs check report
2015-10-10 21:22:49 +09:00
Paul Riseborough
a3a1dabb94
AP_NavEKF: Update GPS check description and default setting
...
Previous check default only checked the number of satellites and horizontal position accuracy.
Updated default value also checks HDoP and speed accuracy.
2015-10-10 21:21:25 +09:00
Paul Riseborough
db4dfce7b1
AP_NavEKF2: Add fix status to GPS check report message
2015-10-10 14:49:07 +09:00
Paul Riseborough
ef5049862a
AP_NavEKF: Add fix status to GPS check report message
2015-10-10 14:49:05 +09:00
Paul Riseborough
ba6387f206
DataFlash: Add logging of EKF GPS check status
2015-10-10 14:49:03 +09:00
Paul Riseborough
5177746c00
AP_NavEKF: Add reporting of GPS check status
2015-10-10 14:49:01 +09:00
Paul Riseborough
22920aafad
AP_NavEKF2: Improve GPS status reporting
2015-10-10 14:48:59 +09:00
Paul Riseborough
d0080b66cd
AP_NavEKF: Define a structure for reporting of GPS checks
2015-10-10 14:48:56 +09:00
Paul Riseborough
1cb2220107
AP_NavEKF2: Critical Bugfix
2015-10-10 14:48:54 +09:00
Paul Riseborough
f467a89fa3
AP_NavEKF2: Update comments for filter status output function
2015-10-10 14:48:52 +09:00
Paul Riseborough
b142cc7fd2
AP_NavEKF2: Rename files and re-distribute content
2015-10-10 14:48:50 +09:00
Siddharth Bharat Purohit
1ce3276d74
AP_NavEKF2: split EKF control and output get functions from state specific libs
2015-10-10 14:48:48 +09:00
Siddharth Bharat Purohit
2e388fb2f9
AP_NavEKF2: split otp flow from PosVelNED
2015-10-10 14:48:46 +09:00
Siddharth Bharat Purohit
290ea0e1e8
AP_NavEKF2: split up EKF_core into different files
2015-10-10 14:48:44 +09:00
Caio Marcelo de Oliveira Filho
b5abab9d37
AP_GPS_GSOF: minor tweak to avoid warning
...
Fixes the issue of three unused variables, two of which were used in a
commented Debug() call.
To keep the convenient debug message (and the variable names for the
data bytes), this patch uncomment the debug call but wrap the variables
and the debug call around an ifdef for the local symbol
gsof_DEBUGGING. So by turning it on, the debug will already be in place.
The Debug() call was modified to actually compile and include the third
variable in the output.
2015-10-10 14:34:54 +09:00
Paul Riseborough
2b0434f089
AP_NavEKF: Improved detection of GPS glitch behaviour
2015-10-08 15:09:45 +09:00
Paul Riseborough
d48d4ac950
AP_NavEKF: Add GPS glitching monitor to EKF status report
2015-10-08 15:09:43 +09:00
Paul Riseborough
8a9d9c04c5
AP_NavEKF: Add public function to declare GPS glitch
2015-10-08 15:09:40 +09:00
Paul Riseborough
21e4910149
AP_NavEKF: Allow user to select preflight GPS checks
2015-10-08 15:09:37 +09:00
Paul Riseborough
cdae84aec1
AP_NavEKF: Additional pre-arm GPS quality checks
2015-10-08 15:09:34 +09:00
Paul Riseborough
8a66c9c2ed
AP_NavEKF: Critical Bugfix
2015-10-08 10:54:34 +09:00
Randy Mackay
825abdbedc
Compass: example sketch displays in milligauss
2015-10-07 21:35:24 +09:00
Randy Mackay
d3066fcdad
GCS_MAVLink: send compass vector to GCS in milligauss
2015-10-07 21:35:21 +09:00
Randy Mackay
e9254ca1a9
DataFlash: log compass as milligauss
2015-10-07 21:35:19 +09:00
Randy Mackay
2deaf5280e
RangeFinder: add User to param descriptions
...
First sensor appears in standard list, second in advanced
2015-10-07 14:10:24 +09:00
Julien BERAUD
b37c52f7a3
AP_InertialSensor_MPU6000: Add heat support
...
Send current tempertaure to the Heater so the control loop sets the correct
temperature to the imu
2015-10-06 15:21:39 +11:00
Julien BERAUD
f231182cd9
AP_HAL: Add support for a Heater
...
Add heater class and non-pure virtual method to Util class in order to do
nothing in case the function is not implemented
2015-10-06 15:21:39 +11:00
Julien BERAUD
ffbb892a01
AP_HAL_Linux: add support for a pwm heater
...
It uses a heating resistor controlled by a pwm.
By changing the duty cycle of the pwm, we can control the temperature.
A simple PI algorithm is used in order to get to the correct temperature
fast enough and without too much overshoot
It is implemented as a member of the Util class in order not to make to much
modification to the current codebase
2015-10-06 15:21:39 +11:00
Julien BERAUD
1aadcdf538
AP_InertialSensor_MPU6000: read temperature
...
Read temperature as part of the normal burst. This is not very costly since it
is part of the burst read in i2c and already read in spi.
It is meant to be used for imu heating.
The filter is set to 1Hz on temperature because of the inherent inertia of
heating systems.
2015-10-06 15:21:39 +11:00
Peter Barker
af4ad01f23
DataFlash: make CAM a critical message
2015-10-06 15:20:08 +11:00
Michael Oborne
8ec9ab6ad3
AP_GPS: add SBF and GSOF to gps documentation
2015-10-06 15:00:46 +11:00
Michael Oborne
0fceb76493
AP_GPS_GSOF: add trimble gsof driver
2015-10-06 15:00:46 +11:00
Lucas De Marchi
0dad58ae8b
AP_HAL_Linux: RCOutput_Bebop: group writes
...
This allows to remove the hard limit of 4 motors in Bebop, allowing to
execute the motor test.
2015-10-06 11:03:30 +11:00
Lucas De Marchi
24f41538cb
AP_HAL_Linux: RCOutput_PCA9685: group writes
2015-10-06 11:03:30 +11:00
Lucas De Marchi
f43f6c53f7
AP_Motors: Group writes to motors
...
Surround calls to rcout->write() with rcout->cork() and rcout->push().
If the RCOutput implementation allows the writes are grouped and only
sent together to the underlying hardware.
2015-10-06 10:42:18 +11:00
Lucas De Marchi
fb643fbb53
AP_HAL: RCOutput: add methods to allow grouping writes
2015-10-06 10:42:18 +11:00
mirkix
ddb8e67954
AP_Compass: Add support for more then one AK8963
2015-10-06 10:38:21 +11:00
Julien BERAUD
22af74bfe6
AP_Menu: Fix warning
...
Declare member in an appropriate type so there is no warning
2015-10-06 10:36:22 +11:00
Julien BERAUD
1c46205c2b
AP_HAL_Linux: fix warning
...
Fix warning and use htole16 instead of trying to implement it.
The current code does nothing on little endian platforms.
Moreover, the status variable was unused.
2015-10-06 10:34:59 +11:00
Randy Mackay
6145794da2
AP_Math: remove duplicate RADIUS_OF_EARTH definition
2015-10-05 21:00:14 +09:00
Paul Riseborough
cde140354a
AP_NavEKF2: Clean up control logic
2015-10-05 13:35:32 +09:00
Paul Riseborough
f4db78fc11
AP_NavEKF2: Allow for larger gyro bias errors
...
MPU6000 data sheet indicates that variation on gyro ZRO across temperature range from -40 to +85 is +-20 deg/sec.
The limits on the gyro bias states have been increased to allow for this.
To enable the EKF to accommodate such large gyro bias values in yaw without the yaw error wrapping, leading to continual heading drift, an unwrap function has been applied to the compass heading error.
2015-10-05 13:35:29 +09:00
Paul Riseborough
325f4139fe
AP_NavEKF2: Clean up mode change logic
2015-10-05 13:35:26 +09:00
Paul Riseborough
ef624199f9
AP_NavEKF2: Enable GPS velocity fusion to be inhibited
2015-10-05 13:35:23 +09:00
Randy Mackay
9b96a2c385
GCS_MAVLink: send_home and send_home_all methods
2015-10-03 12:50:42 +09:00
Randy Mackay
88f32bc86f
GCS_MAVLink: version update after generate
2015-10-03 12:50:39 +09:00
Randy Mackay
544220b599
GCS_MAVLink: generate after importing home-position messages
2015-10-03 12:50:36 +09:00
Randy Mackay
b84b069080
GCS_MAVLink: home-position message defs from upstream
2015-10-03 12:50:33 +09:00
Lucas De Marchi
d3e8e8fd43
AP_InertialSensor: disable backend's copy constructor
...
We never want to copy a backend. This protects us of accidentally using
a copy instead of a reference for all subclasses.
2015-10-01 20:57:22 -03:00
Lucas De Marchi
a58bb0fc32
AP_InertialSensor: MPU6000: Fix using copy instead of reference
...
In 294298e
("AP_InertialSensor: use method for downcast") I was too eager
to use "auto" and ended up using the implicit copy constructor instead
of actually getting a reference to the object.
2015-10-01 20:57:22 -03:00
raspilot
aa4d16622e
HAL_Linux_Class: Init spi before rcin & rcout, because raspilot rcin & rcout use spi.
2015-10-02 09:54:55 +10:00
raspilot
831bb554e7
AP_Baro_MS5611: suspend timer when init to prevent other SPI drivers grabbing the bus.
2015-10-02 09:54:55 +10:00
mirkix
ba4db34c83
AP_Baro: Prevent busy waiting
2015-10-02 09:49:12 +10:00
raspilot
5dc18b9a54
HAL_Linux_Class: Fix the broken declare of "LinuxUtilRPI utilInstance" at building raspilot.
2015-10-02 09:47:18 +10:00
José Roberto de Souza
1a2b5ff677
AP_Compass: AK8963: Remove unused AP_HAL::Semaphore attributes
2015-10-01 10:42:51 -03:00
José Roberto de Souza
a9d34ac3bd
AP_Compass: AK8963: Rename some SPI/I2C method parameters
...
On read/write operations the argument is the register that will be read or
write not the address, SPI don't even have the concept of device address.
2015-10-01 10:42:40 -03:00
Randy Mackay
3d7ec3704d
Mount: add param descriptions to allow RC9 ~ RC12 inputs to be used to control gimbal
2015-09-29 16:41:51 +09:00
Lucas De Marchi
e938075581
AP_MotorsCoax: get rid of _motor_to_channel_map
2015-09-29 12:01:41 +09:00
Lucas De Marchi
ec4ebfde83
AP_MotorsSingle: get rid of _motor_to_channel_map
2015-09-29 12:01:28 +09:00
Lucas De Marchi
537599c01b
AP_MotorsTri: get rid of _motor_to_channel_map
2015-09-29 12:01:14 +09:00
Lucas De Marchi
1572c9d4f4
AP_MotorsMatrix: get rid of _motor_to_channel_map
2015-09-29 12:00:56 +09:00
Lucas De Marchi
43268b9822
AP_MotorsHeli: get rid of _motor_to_channel_map
2015-09-29 12:00:18 +09:00
Lucas De Marchi
7ea141b774
AP_Motors_Multi: get rid of _motor_to_channel_map
2015-09-29 11:59:48 +09:00
Lucas De Marchi
d97d97dc54
AP_Motors: get rid of _motor_to_channel_map
...
This was only used for supporting APM1. The removal was mostly automatic
with:
sed -i 's/pgm_read_byte(&_motor_to_channel_map\[\([^]]*\)\])/\1/g' libraries/AP_Motors/*.cpp
sed -i 's/_motor_to_channel_map\[\([^]]*\)\]/\1/g' libraries/AP_Motors/*.cpp
And then remove references to MOTOR_TO_CHANNEL_MAP and
_motor_to_channel_map and make sure the variable used in shifts is
unsigned
2015-09-29 11:59:25 +09:00
Lucas De Marchi
139b88f544
AP_HAL_VRBRAIN: remove unused write method
2015-09-29 11:53:53 +09:00
Lucas De Marchi
7d9c75478f
AP_HAL_SITL: remove unused write method
2015-09-29 11:53:51 +09:00
Lucas De Marchi
ce674f6926
AP_HAL_PX4: remove unused write method
2015-09-29 11:53:49 +09:00
Lucas De Marchi
191ec10554
AP_HAL_Linux: remove unused write method
2015-09-29 11:53:46 +09:00
Lucas De Marchi
9b4be3bf74
AP_HAL_FLYMAPLE: remove unused write method
2015-09-29 11:53:44 +09:00
Lucas De Marchi
302252d096
AP_HAL_Empty: remove unused write method
2015-09-29 11:53:42 +09:00
Lucas De Marchi
f1e53a9bdd
AP_HAL_AVR: remove unused write method
2015-09-29 11:53:40 +09:00
Lucas De Marchi
666dc3e440
AP_HAL: RCOutput: remove unused write method
...
This method is not used anymore since the introduction of channel map and
allowing motors to be enabled/disabled in AP_Motors.
Later we may introduce a method to write multiple values with a default
implementation that supports the channel and enable maps rather than
requiring all subclasses to implement this method.
2015-09-29 11:53:38 +09:00
Lucas De Marchi
a5cc0be531
AP_HAL_FLYMAPLE: remove the only user of multiwrite
...
This is the only place where this variant of RCOutput::write() is
called. Remove it so to use the common interface. It can be added back
later when there's support for asynchronous write.
2015-09-29 11:53:36 +09:00
Andrew Tridgell
b9aad88d17
SITL: moved ignition to channel 6
2015-09-29 10:59:41 +10:00
Andrew Tridgell
232fc8a64d
AP_AHRS: added send_ekf_status_report()
2015-09-29 10:58:54 +10:00
Lucas De Marchi
7ba6f92eb5
AP_Common: give some type safety to ARRAY_SIZE macro
...
Now that most places in the code use the ARRAY_SIZE macro instead of
coding it by hand, let's use some type safety in its definition. This is
a C++ version of similar macros used in kmod, Linux kernel and the
source of them, ccan.
A C++ version like this is used in V8 (the JS engine) and other open
source projects.
The main benefit of this version is that you get a compile error if you
pass in a variable that's not an array. For example,
Bla y[10];
Bla *y_ptr = y;
void foo(Bla x[])
{
// build error since x[] decay to a pointer in function
// parameter
for (int i = 0; i < ARRAY_SIZE(x); i++) {
...
}
// build error since y_ptr is not an array
for (int i = 0; i < ARRAY_SIZE(y_ptr); i++) {
...
}
}
I added the additional specialization to allow arrays of size 0.
2015-09-28 18:20:14 +10:00
stew@lovinggibbard.com
9ed6e6afa4
Copy paste errors and naming issues in documentation help.
2015-09-28 18:17:07 +10:00
Andrew Tridgell
e0810c2e54
AP_RSSI: fixed doc prefixes for RSSI variables
2015-09-25 22:00:22 +10:00
Paul Riseborough
53e58f1075
AP_NavEKF2: Update default parameters
...
Updates from preliminary tuning in Replay
2015-09-25 19:22:56 +10:00
Paul Riseborough
73686dfa89
DataFlash: fix error in NKF descriptor
2015-09-25 19:20:52 +10:00
Paul Riseborough
2fb72b6e6a
AP_NavEKF2: Clean up loss of GPS logic
2015-09-25 19:20:52 +10:00
Paul Riseborough
df0eb9d9d7
AP_NavEKF2: Don't run GPS checks when not required
2015-09-25 19:20:52 +10:00
Paul Riseborough
1986af021f
AP_NavEKF2: Remove un-used flight mode and duplicate variable
2015-09-25 19:20:52 +10:00
Paul Riseborough
7230472516
AP_NavEKF2: Adjust parameter defaults
2015-09-25 19:20:52 +10:00
Paul Riseborough
8bcedb228b
AP_NavEKF2: Bring pre-flight GPS checks up to date with EKF1
2015-09-25 19:20:52 +10:00
Andrew Tridgell
f22a1d3e6d
AP_Motors: display message in heli parameter_check()
2015-09-25 12:30:34 +10:00
Andrew Tridgell
9da2b2b430
AP_Motors: added H_GYR_GAIN_ACRO
2015-09-25 12:30:33 +10:00
Andrew Tridgell
ac363c5447
AP_RPM: added RPM_MAX parameter
...
attempt to avoid noise in the pulses
2015-09-25 12:05:43 +10:00
Andrew Tridgell
e3f7b002c2
AC_AttitudeControl: use non-flybar leaky I handling
...
The standard leaky-I handling works fine on a flybar, so better not to
have a special case that isn't needed
2015-09-25 12:05:43 +10:00
Randy Mackay
9f59b6f7b5
AP_AHRS: getLastYawResetAngle returns reset time
2015-09-24 16:57:41 +09:00
Randy Mackay
015f700bc0
AP_NavEKF2: getLastYawResetAngle returns last reset time
2015-09-24 16:57:38 +09:00
Randy Mackay
b5c49e0792
AP_NavEKF: minor comment fix
...
No functional change
2015-09-24 16:57:36 +09:00
Jonathan Challinger
51fb13a329
AP_NavEKF: fix getLastYawResetAngle to return yaw reset system time
2015-09-24 16:57:33 +09:00
Andrew Tridgell
06c0ad987e
AP_AHRS: fixed divide by zero in SITL
...
fixes issue#2875
2015-09-24 16:49:22 +10:00
Lucas De Marchi
fc2a1d27b4
AP_HAL_Linux: fix build for raspilot after Util change
...
Make sure raspilot also builds after making the Util class common for
RPI-based boards.
2015-09-24 15:31:32 +10:00
Lucas De Marchi
55e1d60b54
AP_HAL_Linux: Use from() method for downcast in Util class
2015-09-24 15:31:32 +10:00
Michael du Breuil
cf6e6b7e82
DataFlash: Remove stale UBX3 message
2015-09-23 20:42:42 -07:00
Michael du Breuil
75c0644b9a
AP_GPS: Use state.instance instead of trying to track instance numbers inside of the ublox driver
2015-09-23 20:42:42 -07:00
Andy Piper
5adb6d2b89
AP_GPS: Support UBX messages for dual UBLOX GPS setups.
...
Add extra DOP information to UBX precision messages.
2015-09-23 20:41:50 -07:00
mirkix
eee9522ca5
AP_Compass: Add MPU9250 multiple instance support
2015-09-24 13:11:38 +10:00
mirkix
840f583d23
AP_InertialSensor: Add MPU9250 multiple instance support
2015-09-24 13:11:38 +10:00
dgrat
15b3717d89
AP_HAL_Linux: Move RPi version check to util class
...
- Moved the version check functions to util.
- Removed a redundant version check.
- Removed redundant version check functions from RCInput.
2015-09-24 13:04:18 +10:00
dgrat
2590db378a
AP_HAL_Linux: remove extra spaces in RCInput_Navio
2015-09-24 13:04:18 +10:00
dgrat
e96a1bae8a
AP_HAL_Linux: cleanup pointer casts in RCInput_Navio
...
Although RPi is 32 bits, use uintptr_t and friends for casts.
2015-09-24 13:04:18 +10:00
Paul Riseborough
80e182f827
AP_NavEKF2: Update EKF2 data logging
2015-09-24 12:58:44 +10:00
Paul Riseborough
86ad1e6e66
DataFlash: Update EKF2 data logging
2015-09-24 12:58:44 +10:00
Paul Riseborough
f77bdd90fc
AP_AHRS: Update EKF2 data logging
2015-09-24 12:58:44 +10:00
Paul Riseborough
4acd6c129a
AP_NavEKF2: Update parameters
2015-09-24 12:58:43 +10:00
Paul Riseborough
9c5e48e7e9
AP_NavEKF2: Remove unused variables and improve variable names
2015-09-24 12:58:43 +10:00
Paul Riseborough
4a7714e15d
AP_NavEKF2: Remove unused parameters and improve naming consistency
2015-09-24 12:58:43 +10:00
Paul Riseborough
8afb26087d
AP_NavEKF2: Remove unused function
2015-09-24 12:58:43 +10:00
Paul Riseborough
02408861a1
AP_NavEKF: Remove unused function
2015-09-24 12:58:43 +10:00
Andrew Tridgell
fe76662faf
AP_NavEKF2: added set_enable() API
2015-09-23 18:55:12 +10:00
Andrew Tridgell
ba8e63d8e7
DataFlash: handle unitialised EKF2 in logging
2015-09-23 18:54:46 +10:00
Andrew Tridgell
dde8330077
AP_AHRS: rename using_EKF to active_EKF_type()
...
thanks to Randy for the suggestion
2015-09-23 17:53:44 +10:00
Paul Riseborough
f270573acc
AP_NavEKF2: Use library functions for quaternion corrections
2015-09-23 17:48:48 +10:00
Andrew Tridgell
f9348887c5
AP_AHRS: added getLastYawResetAngle() and resetHeightDatum()
2015-09-23 17:46:51 +10:00
Andrew Tridgell
0677c2c80c
AP_AHRS: run astyle for formatting
2015-09-23 17:31:00 +10:00
Andrew Tridgell
cbc62238a9
AP_NavEKF2: run astyle for reformatting
2015-09-23 17:29:28 +10:00
Andrew Tridgell
7a3b59652f
GCS_MAVLink: show EKF2 status via AHRS3 message
2015-09-23 12:22:54 +10:00
Andrew Tridgell
ce9fa45b3a
DataFlash: added logging of EKF2
2015-09-23 12:09:48 +10:00
Andrew Tridgell
13f72e5ba9
AP_AHRS: expose EKF2 for logging
2015-09-23 12:09:36 +10:00
Andrew Tridgell
760dafbb9d
AP_NavEKF2: added enabled() function
2015-09-23 12:09:26 +10:00
Andrew Tridgell
7ba45444a2
AP_AHRS: added selection of EKF type using AHRS_EKF_TYPE
2015-09-23 11:57:18 +10:00
Andrew Tridgell
ed25c85d21
AP_AHRS: added NavEKF2 to constructor
2015-09-23 11:56:42 +10:00
Andrew Tridgell
b4555f30a5
AP_NavEKF2: added frontend calls to core code
2015-09-23 11:56:42 +10:00
Andrew Tridgell
3ac75aeffb
AP_NavEKF2: added EK2_ENABLE parameter
2015-09-23 11:56:42 +10:00
Paul Riseborough
f500474a86
AP_NavEKF2: initial import of new maths EKF
2015-09-23 09:51:14 +10:00
Tom Pittenger
583c1fc229
GCS_MAVLink: Add "Abort Alt" description to NAV_LAND mission item p1.
...
This abort Alt value is the altitude used to climb to if a land is aborted.
2015-09-23 09:25:46 +10:00
Julien BERAUD
3b5d73b1fe
AP_Baro_MS5611: Fix state machine in case of error
...
If there is a read error, reading from the adc will return 0 but moreover,
we need to re-initiate a read or else we are stuck forever.
From MS5611-01BA03 datasheet, p. 10, CONVERSION SEQUENCE:
"After the conversion, using ADC read command the result is clocked out with the MSB first.
If the conversion is not executed before the ADC read command, or the ADC read command is
repeated, it will give 0 as the output result."
2015-09-23 09:19:22 +10:00
Lucas De Marchi
0ed7f94bfc
AP_HAL_SITL: use method for downcast
...
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:
- When we have data shared on the parent class, the code is cleaner in
child class when it needs to access this data. Almost all the data
we use in AP_HAL benefits from this
- There's a minimal type checking because now we are using a method
that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Lucas De Marchi
6c19f741df
AP_BattMonitor: use method for downcast
...
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:
- When we have data shared on the parent class, the code is cleaner in
child class when it needs to access this data. Almost all the data
we use in AP_HAL benefits from this
- There's a minimal type checking because now we are using a method
that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Lucas De Marchi
294298ea34
AP_InertialSensor: use method for downcast
...
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:
- When we have data shared on the parent class, the code is cleaner in
child class when it needs to access this data. Almost all the data
we use in AP_HAL benefits from this
- There's a minimal type checking because now we are using a method
that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Lucas De Marchi
54c2c5f682
AP_HAL_Linux: use method for downcast
...
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:
- When we have data shared on the parent class, the code is cleaner in
child class when it needs to access this data. Almost all the data
we use in AP_HAL benefits from this
- There's a minimal type checking because now we are using a method
that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Andrew Tridgell
0d26252bdb
AP_Terrain: don't allocate cache array when terrain not enabled
...
this makes it easy to save 22k of ram when running other experiments
2015-09-23 08:31:17 +10:00
Tom Pittenger
e2fde36ec6
AP_NavEKF: index out of range due to incorrect assignment
2015-09-22 11:41:51 +09:00
Jonathan Challinger
d2b103b323
AP_SmallEKF: replace incorrect quaternion rotations with library call
2015-09-22 11:15:05 +10:00
Andrew Tridgell
eabdee2b3c
DataFlash: only log two rangefinders
...
this prevents a array index build error on PX4
2015-09-22 09:24:55 +10:00
Andrew Tridgell
5800f0c884
AP_RangeFinder: default to two rangefinders
...
and fixed documentation strings for rangefinder 3 and 4 if enabled
2015-09-22 09:04:47 +10:00
Paul Riseborough
5c32bb8858
AP_NavEKF: Add pre-flight check for gyro quality
2015-09-21 17:06:31 +09:00
Randy Mackay
73e7e64bb8
AP_Arming: remove unused set_skip_gyro_cal
2015-09-21 17:06:29 +09:00
Randy Mackay
87cada1d54
Scheduler: remove INS start style from example sketch
2015-09-21 17:06:25 +09:00
Randy Mackay
b5e1ad89b3
AHRS: remove INS start style from example sketch
2015-09-21 17:06:23 +09:00
Randy Mackay
ada26082ca
InertialSensor: remove INS start style from example sketch
2015-09-21 17:06:20 +09:00
Randy Mackay
ec82aa68c4
InertialSensor: add GYR_CAL to control when gyro calibration occurs
2015-09-21 17:06:16 +09:00
mirkix
038ad31f81
AP_HAL_FLYMAPLE: Add support for using SPI devices of the same type.
2015-09-18 09:15:09 +10:00
mirkix
07d50b5fbb
AP_HAL_Empty: Add support for using SPI devices of the same type.
2015-09-18 09:15:09 +10:00
mirkix
f48bdc281f
AP_HAL: Add support for using SPI devices of the same type.
2015-09-18 09:15:09 +10:00
mirkix
93941c3349
AP_HAL_Linux: Add support for using SPI devices of the same type.
2015-09-18 09:15:09 +10:00
Peter Barker
8f1471c137
DataFlash: leave room in buffer for non-startup messages
2015-09-18 09:13:45 +10:00
Peter Barker
63a45000b4
DataFlash: take log messages after putting FMTs out
2015-09-18 09:13:45 +10:00
raspilot
1b5e6849d9
AP_Compass: fix milligauss code in LSM303D driver
2015-09-16 16:52:17 +09:00
Randy Mackay
ce6fe0e746
AP_RSSI: add enabled method
2015-09-16 16:41:41 +09:00
Randy Mackay
f633733b3b
AP_RSSI: make parameters private
2015-09-16 16:41:38 +09:00
Randy Mackay
9a648117a7
AP_RSSI: use is_zero and add break for avoid compile warning
2015-09-16 16:41:36 +09:00
Randy Mackay
1369179046
AP_RSSI: formatting fixes
2015-09-16 16:41:33 +09:00
Stewart Loving-Gibbard
4dcf6b8dc3
DataFlash: Adding Logging of RSSI data.
2015-09-16 16:41:31 +09:00
Paul Riseborough
8cfde42e15
AP_NavEKF: Ensure bad mag data cannot cause the heading to reset too often
2015-09-16 15:13:37 +09:00
Paul Riseborough
930f730612
AP_NavEKF: Reset mag and heading states to try and pass pre-flight checks
2015-09-16 15:13:36 +09:00
Randy Mackay
fff5ec09eb
AP_Compass: fix consistent check for less than three compasses
...
Also use vector functions where available
Use get_field_milligause instead of just get_field
2015-09-16 15:11:01 +09:00
Jonathan Challinger
87bbf1a487
AP_Compass: add consistent() function
2015-09-16 15:10:27 +09:00
Randy Mackay
39340e70f8
Math: add Vector2 is_zero method
2015-09-16 15:10:25 +09:00
Andrew Tridgell
094b9cb35e
AP_TECS: reformat using astyle
2015-09-16 14:24:45 +10:00
Andrew Tridgell
36432e6515
AP_TECS: use climb rate filter consistently between DCM and EKF
...
we should use baro height not hgt_afe for the climb rate filter. This
makes the climb rate consistent with the one from the EKF. The lidar
correction comes in with the demanded height, not the observed height
2015-09-16 14:24:44 +10:00
Randy Mackay
bc06d67645
AP_Camera: fix configure command id sent to components
...
Also removed unnecessary setting of target system, component and
confirmation and minor formatting fix
2015-09-16 13:06:46 +09:00
squilter
8391764c60
AP_Camera: add support for do_digicam_x via command_long
2015-09-16 13:06:44 +09:00
Grant Morphett
b2751d876c
AP_AHRS: Fixed spelling error in parameter desc.
2015-09-16 09:33:30 +09:00
Grant Morphett
417188d7eb
APM_Control: Fixed spelling error in parameter desc.
2015-09-16 09:33:27 +09:00
Julien BERAUD
5602e4055b
AP_Compass_AK8963: Fix Rotation on the Bebop
2015-09-15 14:45:17 +09:00
Andrew Tridgell
fa9ff5b604
AP_Compass: added parameter for compass calibration fitness threshold
2015-09-14 17:01:14 +10:00
Andrew Tridgell
eea54c9e09
DataFlash: fixed flymaple build
2015-09-14 16:44:45 +10:00
Andrew Tridgell
5aa54be718
GCS_MAVLink: send SCALED_PRESSURE3 for 3 baros
2015-09-14 14:27:42 +10:00
Andrew Tridgell
afe1fce94e
GCS_MAVLink: regenerate headers
2015-09-14 14:27:42 +10:00
Andrew Tridgell
91623322f9
GCS_MAVLink: added SCALED_PRESSURE3
2015-09-14 14:27:41 +10:00
Andrew Tridgell
a5462fec0b
AP_Baro: allow selection of primary barometer and add 3rd baro
...
this is useful for external I2C barometers on a PH2
2015-09-14 14:27:41 +10:00
Andrew Tridgell
61441ab35d
HAL_Linux: fixed apm2 build
2015-09-14 14:22:16 +10:00
Andrew Tridgell
bf001f19ff
HAL_Linux: don't panic on runtime failures
2015-09-14 14:22:16 +10:00
Andrew Tridgell
582318448f
AP_HAL: make new GPIO functions optional
...
not available on all boards
2015-09-14 14:22:16 +10:00
Andrew Tridgell
e0db1ad93e
AP_Notify: added support for raspilot LED
2015-09-14 14:22:16 +10:00
raspilot
9f91eb020e
AP_HAL_Linux: new files for raspilot
2015-09-14 14:22:16 +10:00
raspilot
30a2fe0857
AP_HAL_Linux: added scheduler hooks for raspilot
2015-09-14 14:22:16 +10:00
raspilot
25cddbcbaa
AP_HAL_Linux: added SPI support for raspilot
2015-09-14 14:22:16 +10:00
raspilot
7d329205ec
AP_HAL_Linux: added tonealarm support for raspilot
2015-09-14 14:22:16 +10:00
raspilot
a6736d8e61
AP_HAL_Linux: fixed ublox debug message
2015-09-14 14:22:16 +10:00
raspilot
444081d38d
AP_HAL_Linux: added support for raspilot objects
2015-09-14 14:22:16 +10:00
raspilot
f057fe3d02
AP_HAL_Linux: added support for raspilot GPIO
2015-09-14 14:22:15 +10:00
raspilot
9a73df1bea
AP_HAL_Linux: added support for raspilot RCInput
2015-09-14 14:22:15 +10:00
raspilot
1421cf600a
AP_InertialSensor: added support for raspilot
2015-09-14 14:22:15 +10:00
Lucas De Marchi
309e75f9ac
AP_Compass: LSM303D: use c++11 initializer to avoid Wreorder
2015-09-14 14:22:15 +10:00
Lucas De Marchi
3a017c8702
AP_Compass: LSM303D: rename members to follow convention
...
Make the members have similar names as HMC5843 driver and prepend
underscore on private fields.
2015-09-14 14:22:15 +10:00
raspilot
19b4f5559a
AP_Compass: added LSM303D driver
2015-09-14 14:22:15 +10:00
raspilot
6df83f46c5
AP_HAL: new GPIO APIs
2015-09-14 14:22:15 +10:00
raspilot
dcc7cf2739
AP_HAL: raspilot board type
2015-09-14 14:22:15 +10:00
Andrew Tridgell
76aa1a9704
SITL: ensure zero rotor speed with ignition off in gas heli
2015-09-14 12:46:04 +10:00
Andrew Tridgell
6fbe88ba3a
AP_GPS: improved fake ublox to give enough for EKF health
2015-09-14 11:36:15 +10:00
Andrew Tridgell
e87139eb32
AP_GPS: fixed a build warning
2015-09-14 11:36:10 +10:00
Andrew Tridgell
43ac3f86c5
DataFlash: added RNFD logging and 3 baros
2015-09-13 11:29:59 +10:00
Andrew Tridgell
8538aa9840
AP_Rangefinder: allow for up to 4 rangefinders
2015-09-13 11:29:56 +10:00
Daniel Nugent
58b7bf1588
AC_PrecLand: add companion computer implementation
2015-09-11 20:56:08 +09:00
Daniel Nugent
2f92876865
AC_PrecLand: remove const from get_angle_to_target
2015-09-11 20:56:07 +09:00
Daniel Nugent
21ac12f1c3
AC_Precland: bug fix to update ef angles only with new readings
2015-09-11 20:56:05 +09:00
Daniel Nugent
db8f28f2aa
GCS_MAVLink: version update after generating LANDING_TARGET
2015-09-11 20:56:04 +09:00
Daniel Nugent
3aa0063f31
GCS_MAVLink: generate after updating LANDING_TARGET msg
2015-09-11 20:56:03 +09:00
Daniel Nugent
eba8dcffde
GCS_MAVLink: update LANDING_TARGET from upstream mavlink
2015-09-11 20:56:02 +09:00
Andrew Tridgell
d07d2f3a46
AP_GPS: removed UBX3 message
...
replaced by GPA and GPA2 messages
2015-09-09 15:01:45 +10:00
Andrew Tridgell
c5cd310818
DataFlash: added GPA and GPA2 messages for GPS accuracy
...
this reverts the GPS format to the old format, thus fixing log
analysers
2015-09-09 14:53:11 +10:00
Andrew Tridgell
c59bdc12df
AP_Compass: fix the milligauss handling
...
the previous approach assumed a 1:1 mapping between compass backends
and compass instances, which isn't true on PX4.
It also only setup milligauss offsets on a set_and_save call, which is
not the only way offsets change
this adds a milligauss_ratio per instance, which is considerably
simpler
2015-09-09 14:53:11 +10:00
Andrew Tridgell
3699932417
AP_Compass: fixed SITL compass
2015-09-09 14:53:11 +10:00
Randy Mackay
f1322252ae
GPS: fix GNSS_MODE param descriptions
...
Thanks to Michael DuBreuil for noticing the problem and providing the correction
2015-09-09 13:40:32 +09:00
Buzz
684dfaf26f
DataFlash: fix OSX build
2015-09-09 13:09:01 +09:00
Michael Oborne
88cf710f94
AP_GPS_SBF: add accuracy estimates
2015-09-09 12:28:25 +10:00
Peter Barker
60010e794e
DataFlash: ensure 10% free space when initialising logging
2015-09-09 12:22:35 +10:00
Angus Peart
95c66a794e
AP_Notify: sync oreoleds before a reboot
2015-09-09 10:39:54 +09:00
Angus Peart
a887c1d1f2
AP_Notify: fix oreoled race causing startup flicker
2015-09-09 10:39:53 +09:00
Angus Peart
d48f1b0ccf
AP_Notify: oreoled - remove dangerous send_bytes
2015-09-09 10:39:52 +09:00
Angus Peart
662a3aa4cb
AP_Notify: oreoled - always use full brightness
2015-09-09 10:39:51 +09:00
Jonathan Challinger
d205de2d7e
AP_Notify: use new macros for white/red pattern
2015-09-09 10:39:51 +09:00