Commit Graph

1325 Commits

Author SHA1 Message Date
Andrew Tridgell 7256652de5 Quaternion: use GPS to correct for linear acceleration
this gives much better pitch estimates. We should do this with the
airspeed sensor if available.
2012-03-10 10:34:30 +11:00
Andrew Tridgell c7ef72cf28 Quaternion: don't update if we have a very long deltat
this can be caused by stopping the system in a debugger
2012-03-10 10:34:30 +11:00
Andrew Tridgell 6d356b6c6e Compass: fixed last_update time for HIL compass 2012-03-10 10:34:30 +11:00
Andrew Tridgell ebc55bb494 RC: disable interrupts when reading the RC registers
this prevents getting bogus values which could cause a flight mode
change
2012-03-10 10:34:30 +11:00
Andrew Tridgell 57f67ca6e3 GPS: added an acceleration estimate to the GPS driver
This uses the GPS ground speed to estimate acceleration
2012-03-10 10:34:30 +11:00
Andrew Tridgell 7fbfcc2721 GPS: fixed some stdint types 2012-03-10 10:34:29 +11:00
Andrew Tridgell e699e9ace0 Quaternion: added in reporting of gyro drift and rp/yaw errors 2012-03-10 10:34:29 +11:00
Andrew Tridgell 2a8b167d95 fixed comment 2012-03-10 10:34:29 +11:00
Andrew Tridgell c73c55aa90 DCM: fixed an uninitialised variable warning 2012-03-10 10:34:29 +11:00
Andrew Tridgell d8234882d4 Quaternion: tweak the quaternion gains a bit 2012-03-10 10:34:29 +11:00
Andrew Tridgell cc887949c9 AP_IMU: improved the gyro calibration code
this should give a much more accurate result
2012-03-10 10:34:29 +11:00
Andrew Tridgell ffa6786697 Quaternion: drop the gyro drift rates down
this should allow us to cope with noise more readily
2012-03-10 10:34:29 +11:00
Andrew Tridgell bee4bd9474 DCM: fixed bug in accel averaging
sorry Randy!
2012-03-10 10:34:29 +11:00
Andrew Tridgell 25e5ddeaa4 AP_Quaternion: fixed build on Arduino 1.0 2012-03-10 10:34:29 +11:00
Andrew Tridgell c369d9f60a AP_Quaternion: added DCM compatibility interfaces
useful for getting the code going quickly
2012-03-10 10:34:29 +11:00
Andrew Tridgell 6138f31cec AP_IMU: added new_data_available() interface 2012-03-10 10:34:29 +11:00
Andrew Tridgell a9dea35310 AP_InertialSensor: added new_data_available() interface 2012-03-10 10:34:28 +11:00
Andrew Tridgell c80ec9a55c AP_ADC: added new_data_available() interface
returns true if more samples are available
2012-03-10 10:34:28 +11:00
Andrew Tridgell c8a459ab0d fixed deltat in quaternion 2012-03-10 10:34:28 +11:00
Andrew Tridgell a791224d07 SITL: make SITL not depend on DCM 2012-03-10 10:34:28 +11:00
Andrew Tridgell 74eef7018a Quaternion: added an AP_Quaternion library
this is for experimenting with the Madgwick quaternion system, to see
if it is more or less noise sensitive than DCM
2012-03-10 10:34:28 +11:00
Andrew Tridgell fd2a24f8ed SITL: reduce the simulated compass offsets
this was causing us problems in getting DCM right
2012-03-10 10:34:28 +11:00
Andrew Tridgell bddc6ba241 SITL: separate out drift speed and drift level 2012-03-10 10:34:28 +11:00
Andrew Tridgell 25cad09746 SITL: added a drift_level multiplier
this makes it easier to experiment with different gyro drift levels
2012-03-10 10:34:28 +11:00
Andrew Tridgell b11b571778 DCM: fixed the averaging of accel values for update_DCM_fast()
this should improve drift correction for ArduCopter
2012-03-10 10:34:28 +11:00
Andrew Tridgell 145fc91701 AP_Math: added a .zero() method to Vector3f 2012-03-10 10:34:28 +11:00
Andrew Tridgell ae51173656 SITL: fixed delay() to account for signal interrupions
when a timer went off we stopped the delay() code
2012-03-10 10:34:28 +11:00
Andrew Tridgell fe173227de DCM_Test: fixed example code to work with SITL
this also fixes the compass setup
2012-03-10 10:34:27 +11:00
Andrew Tridgell 8424609924 SITL: push noise level to 2.0 for DCM testing 2012-03-10 10:34:27 +11:00
Andrew Tridgell 6ba6e11e7b DCM: added a small amount of accel smoothing to update_DCM_fast() 2012-03-10 10:34:27 +11:00
Andrew Tridgell 3b1782f369 DCM: don't use the z accel sensor for drift correction
the z accel is the noisest, and seems to do more harm than good. Using
just x and y is sufficient for drift correction by assuming the vector
length
2012-03-10 10:34:27 +11:00
Andrew Tridgell 4031320f7c DCM: added a small amount of gyro and accel smoothing
possibly not needed, but convenient to be able to test with different
values
2012-03-10 10:34:27 +11:00
Andrew Tridgell 94d0236b97 DCM: added reporting interfaces for DCM state 2012-03-10 10:34:27 +11:00
Andrew Tridgell 772c30ba86 SITL: added sitl_simstate_send()
used to report simulator state in logs
2012-03-10 10:34:27 +11:00
Andrew Tridgell 9df332f0ae MAVLink: import new message types DCM, HWSTATUS and SIMSTATE 2012-03-10 10:34:27 +11:00
Andrew Tridgell cc8278c1ac DCM: got rid of _error_roll_pitch from object state
this can be a local error variable in common with the yaw code. This
saves 12 bytes in the object.
2012-03-10 10:34:27 +11:00
Jason Short 486c56ce41 Consolidated Barometer pressure sensing to a single filter based on Randy's new filter class. 2012-03-08 23:13:04 -08:00
Jason Short e57b91c2e2 Updated on Barometer - increased the Temp filtering and decreased the pressure filtering to and get less temp noise, faster response from pressure. I'm filtering the Climb rate differently now, so this higher pressure noise should not hurt the derivative calcs at all now. 2012-03-06 20:55:35 -08:00
rmackay9 6c3cf9ad5b AP_RC - removed unused library 2012-03-04 18:21:52 +09:00
Andrew Tridgell 73dafe537e SITL: use the new noise model
use the new noise model at a low level for master until we sort out
DCM noise handling
2012-03-02 18:31:07 +11:00
Andrew Tridgell 5f749325f0 APM_RC: allow the fast RC speed to be passed as a parameter
this will allow users to test different speeds
2012-03-02 17:57:08 +11:00
Andrew Tridgell f4329d2680 AP_Param: ensure we can't have duplicate keys in Parameters.h
this is O(n^2), but only at startup, and takes less than 1ms to run.
It catches a very nasty coding error
2012-03-02 15:48:28 +11:00
Andrew Tridgell 1e8d98cdda I2C: added lockup_count() interface
used for reporting I2C problems
2012-03-02 15:48:27 +11:00
Andrew Tridgell 37275d229d SITL: implement cli()/sei() properly for desktop build
this disables simulated hardware interrupts during critical sections
2012-03-02 15:48:27 +11:00
Jason Short 41b435a487 Updated fastPWM to 490Hz 2012-02-29 22:17:38 -08:00
Pat Hickey 337af0c7a2 AP_Param: nested group recursion into next_group disableable by macro
* c.f. 0251932c81fe7eb, e5515bb6ef82
2012-02-29 19:48:43 -08:00
Pat Hickey 2648694489 AP_Param: One more nexted group recursion disableable by macro
* c.f. e5515bb6ef82
2012-02-29 18:48:54 -08:00
rmackay9 fa34ac076e AP_Compass - fixed compile warning 2012-02-29 22:57:35 +09:00
rmackay9 d81c951849 AP_Baro - fixed small compiler warning to do with order of parameters in constructor 2012-02-29 22:46:29 +09:00
rmackay9 c819a0f68a AP_Compass - fixed small compiler warning to do with order of parameters in constructor 2012-02-29 22:45:49 +09:00