Amilcar Lucas
46d20c2d6b
Remove unused function, remove unnecessary angle wrapping.
13 years ago
Amilcar Lucas
bccb07cbd0
Allow mount control when no AHRS exists
...
Allow mount control on non stabilized axes
13 years ago
Andrew Tridgell
a72f6acef6
AP_Math: added get_distance_cm() to return in centimeters
13 years ago
Andrew Tridgell
165604a55c
AHRS: fixed HIL build
13 years ago
Andrew Tridgell
0f9fb2c64b
AHRS: added AHRS_GPS_GAIN parameter
...
this allows control of how much GPS velocity information is used in
doing centripetal correction in DCM
13 years ago
Andrew Tridgell
e1725e9ea5
AP_Param: added some docs on the eeprom header format
13 years ago
Craig Elder
6d3fdfc03a
DataFlash: The current method for checking if chip erase worked is producing false positives. We are forcing the block erase until we have a deterministic test method.
13 years ago
Amilcar Lucas
af338939be
RC_Channel: Improve documentation
13 years ago
Amilcar Lucas
46552b4222
AP_Mount: Fix radians/degrees scaling regressions
...
Rename calculate() into stabilize()
Implement MAV_MOUNT_MODE_RC_TARGETING initialization
Document to make sure this radians/degrees mess up does not happen again
13 years ago
Andrew Tridgell
d755fedc26
AnalogSource: prevent a division by zero on zero ADC data
13 years ago
Andrew Tridgell
f6d7d1bc59
APM: changed PID library to do automatic deltat calculation
...
this fixes a problem with the HDNG2RLL PID, which was using the wrong
time base and prevents similar bugs from happening in the future
13 years ago
Andrew Tridgell
f501503eb0
AP_Baro: improved barometer averaging
...
this changes the barometer calculations to floating point. On a MS5611
this is actually about twice as fast as the previous 64 bit
calculations, but gains us more accuracy as we are able to take
advantage of sub-bit precision when we average over 8 samples.
13 years ago
Andrew Tridgell
520d762382
Filter: split the DerivativeFilter steps into update() and slope()
...
this allows us to apply new data at a different rate than we calculate
the slope.
13 years ago
Andrew Tridgell
3c7e521f70
AP_Baro: update MS5611 test to use baro library altitude
13 years ago
Andrew Tridgell
302696951a
AHRS: make the yaw independent drift correction optional and disable
...
the new correction algorithm copes poorly with gyro drift, leading to
signification attitude errors in the face of drift
13 years ago
Andrew Tridgell
8c5ef3e60f
AHRS: only enable barometer for AHRS if it is smooth enough
...
if we used less than 5 samples to compute the pressure then don't use
it for climb rate
13 years ago
Andrew Tridgell
ec0995eea1
SITL: lower baro noise a bit
13 years ago
Andrew Tridgell
6534dab719
Filter: fixed DerivativeFilter example build
13 years ago
Andrew Tridgell
d29b6ce0a8
SITL: run the HIL barometer at 80Hz to match APM2
13 years ago
Andrew Tridgell
209136386b
AP_Baro: added get_pressure_samples() interface
...
this returns how many samples were used to calculate the last pressure
13 years ago
Andrew Tridgell
1a42b10255
Filter: fixed typo in 9 point DerivativeFilter
13 years ago
Andrew Tridgell
185c6e5b32
AP_Baro: change to a 7 point DerivativeFilter for climb rate
13 years ago
Andrew Tridgell
75470dc912
Filter: cope with non-uniform time steps in the DerivativeFilter
...
this helps with the barometer a lot, as the timing is quite variable
13 years ago
Andrew Tridgell
f03ba86d9d
SITL: add some minimal noise when motors are off
...
this actually improves the gyro calibration
13 years ago
Andrew Tridgell
60caaa4b04
MAVLink: remove MAVLink 0.9 protocol support
...
this simplifies the code a lot. We're not going back to 1.0
13 years ago
Andrew Tridgell
2cd6da2539
AHRS: only use GPS for yaw when compass is not being used
...
this avoids having two competing controllers
13 years ago
Andrew Tridgell
adfa97b6f8
AHRS: enable barometer for vertical velocity
...
this re-enables the barometer for vertical velocity information
for drift correction, now that we have a better filter
on the climb rate
13 years ago
Andrew Tridgell
f9fc7aafe7
AP_Baro: use DerivativeFilter in barometer climb rate
13 years ago
Andrew Tridgell
f19e5a6273
Filter: added DerivativeFilter implementation
...
this adds a DerivativeFilter implementation of up to 10 points
13 years ago
Andrew Tridgell
9f8703274c
AP_Baro: show climb rate in baro test sketch
13 years ago
rmackay9
b5f47f5e63
AP_Motors: clarified some doxygen descriptions for TradHeli
13 years ago
Amilcar Lucas
0febf76d9d
Document++
13 years ago
Amilcar Lucas
e9c72822dc
Remove unused function
13 years ago
Andrew Tridgell
c35a2e999b
SITL: added SIM_GPS_DELAY parameter
...
this allows a delay to be added to the gps data to test the impact on
AHRS/DCM
13 years ago
rmackay9
faeda3713e
AP_AHRS: removed DCM_test example sketch
...
No longer required because it doesn't compile and is redundant anyway because the AP_AHRS_DCM class is tested in the AHRS_Test example sketch.
13 years ago
Andrew Tridgell
3849ca8b5c
AHRS: make DCM drift correction not rely on accurate yaw
...
this uses a new formulation of the GPS based drift correction from
Bill Premerlani that rotates the error vector to avoid relying on
accurate yaw. This means we should get accurate roll/pitch correction
even with lots of magnetometer interference
It also makes it possible to fly a multicopter with no compass. It can
even navigate and correct yaw (slowly!)
13 years ago
Andrew Tridgell
1cd8c54f21
AP_Math: cope with co-located waypoints in location_passed_point()
13 years ago
Andrew Tridgell
468dfe3faa
AP_Math: the windows arduino build is missing acosf()
13 years ago
Andrew Tridgell
0bdce404a5
AP_Math: add include of math.h
...
this is needed for location.cpp
13 years ago
Andrew Tridgell
be9b9f3e67
DataFlash: fixed SITL build
13 years ago
Andrew Tridgell
dd24330645
DataFlash: fallback to BlockErase if ChipErase fails
...
The errata on the APM2 dataflash chip says that ChipErase may not work
on some chips
13 years ago
Andrew Tridgell
dd200cba31
Math: added location functions to math library
...
these do common calculations on struct Location
13 years ago
Andrew Tridgell
1314e4f872
AHRS: make P gain on PI roll/pitch controller tunable
...
this is to make it easier for Craig and Alan to tune
13 years ago
Andrew Tridgell
060cbe2030
AP_Mount: removed unused enum
13 years ago
Andrew Tridgell
99b11e4f19
Mount: enable mount control via eeprom parameters
...
this enables MNT_* parameter control of the camera mount code. It also
fixes the conversion of calculated angles between degrees and
integers, and fixes stabilised mount control when yaw control is not
available.
13 years ago
Andrew Tridgell
057eb5e6f6
Baro: average over all pressure/temperature samples on MS5611
...
this allows us to use the MS5611 barometer at its full 100Hz sample
rate (80Hz for pressure, 20Hz for temperature). The pressure and
temperature values are averaged between reads without adding any
latency. Previously the driver would throw away values between
readings
This also fixes a race condition in reading from the SPI bus that
could lead to bad values from the barometer
13 years ago
Andrew Tridgell
f70cd71791
Baro: fixed build of MS5611 test code
13 years ago
Andrew Tridgell
769011e947
AnalogSource: added some example code
13 years ago
Andrew Tridgell
1fdcc3e8f0
SITL: added support for new analog source
...
removed analogRead() to prevent people using it
13 years ago
Andrew Tridgell
c8befe4536
AnalogSource: make the Arduino AnalogSource interrupt driven
...
this fixes several problems with reading analog sources:
- we were getting poor values because we didn't wait long enough for
an analog source to settle
- we wasted a lot of CPU cycles waiting for conversions
- we were not taking averages over many samples, which we did with
the old AP_ADC driver on the APM1
13 years ago