Andrew Tridgell
6d06d9d070
MAVLink: bring the v1.0 MAVLink in sync with 0.9
2012-03-10 10:34:34 +11:00
Andrew Tridgell
fed5426274
DCM: after some experimentation, raise the ki values a bit
...
this tracks the max gyro drift more accurately
2012-03-10 10:34:34 +11:00
Andrew Tridgell
89b4a9f4ed
Quaternion: use gyro drift value from sensor driver
2012-03-10 10:34:34 +11:00
Andrew Tridgell
fd74414884
Quaternion: go back to the full update_MARG()
...
the separate drift controller is too erratic on yaw hold to be usable
at the moment
2012-03-10 10:34:34 +11:00
Andrew Tridgell
1002bbcbfe
SITL: cleanup the gyro drift calculations
...
use units that are more easily understood
2012-03-10 10:34:34 +11:00
Andrew Tridgell
ad21913605
Quaternion: make the quaternion test more generic
...
works with DCM too
2012-03-10 10:34:33 +11:00
Andrew Tridgell
a889135e78
Quaternion: update to get_gyro_drift() interface
2012-03-10 10:34:33 +11:00
Andrew Tridgell
e0cc9c93a1
Quaternion: removed some unused variables
2012-03-10 10:34:33 +11:00
Andrew Tridgell
f39d8dbde8
GCS: get_integrator() is now get_gyro_drift() in DCM
2012-03-10 10:34:33 +11:00
Andrew Tridgell
b67b0afd10
DCM: separate out the omega_yaw_P from omega_P
...
this cleans up the separation of drift rates and proportional
correction from yaw source and accelerometers, allow the yaw
to run at a different rate to the accel correction
2012-03-10 10:34:33 +11:00
Andrew Tridgell
f4b1dae7cf
IMU: added get_gyro_drift_rate() interface
...
this just calls down to the InertialSensor layer
2012-03-10 10:34:33 +11:00
Andrew Tridgell
f46fba54dc
AP_InertialSensor: added a get_gyro_drift_rate() interface
...
this returns the expected max drift rate for the particular type of
gyro being used
2012-03-10 10:34:33 +11:00
Andrew Tridgell
9e07fa3af6
DCM: removed the limit on linear acceleration
...
we get linear accelerations of more than 1g when turning corners
2012-03-10 10:34:33 +11:00
Andrew Tridgell
4f739ea28f
make 'ENABLE' and 'ENABLED' mean the same things
...
users get this wrong far too often!
2012-03-10 10:34:33 +11:00
Andrew Tridgell
ab1aec0f77
Quaternion: minor tuning
2012-03-10 10:34:33 +11:00
Andrew Tridgell
e470bf2354
DCM: minor tuning based on testing my quad
2012-03-10 10:34:33 +11:00
Andrew Tridgell
97faa47ba6
SITL: make the yaw match the APM conventions
2012-03-10 10:34:33 +11:00
Andrew Tridgell
d1713bd2fb
SITL: fixed the pwm output on startup
2012-03-10 10:34:33 +11:00
Andrew Tridgell
8b37790bd1
Quaternion: code cleanups and added comments
2012-03-10 10:34:32 +11:00
Andrew Tridgell
f5e5ccff6a
DCM: code cleanup and added more comments
2012-03-10 10:34:32 +11:00
Andrew Tridgell
e2b2c9181e
Quaternion: bumb up gyro drift limit to match DCM
2012-03-10 10:34:32 +11:00
Andrew Tridgell
a874f920d5
ACM: removed the ADC filtering code
2012-03-10 10:34:32 +11:00
Andrew Tridgell
2b6fae6e16
ADC: removed the ADC level accel smoothing
...
the quaternion code does a better job of handling this noise than this
filter does
2012-03-10 10:34:32 +11:00
Andrew Tridgell
8ad6b5f4d1
Quaternion: separate out drift correction from main updates
2012-03-10 10:34:32 +11:00
Andrew Tridgell
ff4f7ccc65
InertionSensor: update for new Ch6() interface
2012-03-10 10:34:32 +11:00
Andrew Tridgell
d1976449fd
IMU: fixed a warning
2012-03-10 10:34:32 +11:00
Andrew Tridgell
e9f35bfa7f
GPS: expose last_fix_time
2012-03-10 10:34:32 +11:00
Andrew Tridgell
17daa2f31c
Compass: change last_update to be in microseconds
2012-03-10 10:34:32 +11:00
Andrew Tridgell
404a4e4896
ADC: use floats for ADC averaging
...
this costs almost nothing and improved accel/gyro calibration
2012-03-10 10:34:32 +11:00
Andrew Tridgell
d17a7e81e3
APM: removed quaternion special cases
2012-03-10 10:34:32 +11:00
Andrew Tridgell
3239a00b23
APM: avoid fetching the DCM matrix twice
...
also no special case for quaternions
2012-03-10 10:34:32 +11:00
Andrew Tridgell
e2c525434a
ACM: removed quaternion special cases in CLI code
2012-03-10 10:34:31 +11:00
Andrew Tridgell
e870e7bd82
ACM: removed the DCM tuning overrides
...
not needed now that DCM scales with deltat
2012-03-10 10:34:31 +11:00
Andrew Tridgell
13bddf05b0
ACM: removed the special case for quaternions in GCS code
2012-03-10 10:34:31 +11:00
Andrew Tridgell
1547977e1b
ACM: no need to fetch offsets at startup
...
AP_Param handles this
2012-03-10 10:34:31 +11:00
Andrew Tridgell
34d25ab298
ACM: removed a lot of the special case code for quaternions
2012-03-10 10:34:31 +11:00
Andrew Tridgell
e780dd2b44
ACM: change DCM loop to 100Hz
...
On my APM2 quad this seems to give better results
2012-03-10 10:34:31 +11:00
Andrew Tridgell
4c6afa36cb
DCM: removed update_DCM_fast
...
this combines the functionality of the 'fast' DCM with the normal one,
and also speeds up both the yaw drift correction and the matrix update
code
2012-03-10 10:34:31 +11:00
Andrew Tridgell
2c279639a3
AP_IMU: fixed led flashing in gyro cal
...
thanks Pat!
2012-03-10 10:34:31 +11:00
Andrew Tridgell
b39323bf1b
AP_Math: expanded the math test suite
2012-03-10 10:34:31 +11:00
Andrew Tridgell
a8fd31a5e1
AP_Math: added quaternion->matrix and earth frame routines
...
this will be used for 3d acceleration
2012-03-10 10:34:31 +11:00
Andrew Tridgell
d3dc5bd751
AP_Math: better way of handling safe_sqrt()
...
better to test the result, than predict it
2012-03-10 10:34:31 +11:00
Andrew Tridgell
b273df0725
SITL: avoid parent pid code on cygwin
...
this causes problems on windows
2012-03-10 10:34:31 +11:00
Andrew Tridgell
e1ff9a641b
SITL: prevent nested timer interrupts
2012-03-10 10:34:31 +11:00
Andrew Tridgell
d11aab610d
Quat: test patch for michael
2012-03-10 10:34:31 +11:00
Andrew Tridgell
a954f68f27
Quaternion: added NaN paranoid checking
...
this is for Michael to run
2012-03-10 10:34:30 +11:00
Andrew Tridgell
756a91a3ee
ACM: removed incorrect mode definition
2012-03-10 10:34:30 +11:00
Andrew Tridgell
d24b055b66
Math: added comment on quaternion constructor
2012-03-10 10:34:30 +11:00
Andrew Tridgell
1f5095e722
Math: added is_inf() on vector3f
2012-03-10 10:34:30 +11:00
Andrew Tridgell
89a10c584d
Quaternion: added more numerical safety in the quaternion code
...
prevent infinities from creeping in and prevent large drift changes
2012-03-10 10:34:30 +11:00