Andrew Tridgell
16f094a1c5
ADC: minor fix to the ADC Ch6() code
...
we don't need to add count any more, as floating point maths doesn't
need to round up
2012-03-27 15:37:24 +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
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
61d649e7ac
AP_ADC: added new_data_available() interface
...
returns true if more samples are available
2012-03-10 10:34:28 +11:00
rmackay9
ced49f7d01
AP_ADC - removed small compiler warning
2012-02-29 22:43:46 +09:00
Andrew Tridgell
3fbb5a2d6c
ADC: on channel overflow we should not zero last_ch6_micros
...
this happens every 64 seconds because of unused channels on the
ADC. Zeroing this creates a bad delta_t value for the DCM code.
2012-02-16 17:48:36 +11:00
Randy Mackay
98f3386ea0
Arduino 1.0 - changed all #includes of "WProgram.h", "wiring.h" and "WConstants.h to "Arduino.h".
...
Modified FastSerial's write function to return size_t (number of bytes written).
2012-01-28 12:25:47 +09:00
Jason Short
0e58efca89
Removed Gyro filter, In the end it doesn't help and I think it could actually hurt gyro integration.
2012-01-20 22:52:29 -08:00
Andrew Tridgell
f587a01165
ADC: update for new ap_proceduce prototype
2011-12-21 23:31:38 +11:00
Andrew Tridgell
3654c714e9
Revert "ADC: only read channels that are actually being used"
...
This reverts commit 95e6bb26f4772ca8c7faa62215de6f078d3df3c7.
ADC will be disabled on APM2
2011-12-17 07:29:09 +11:00
Andrew Tridgell
c18ad75504
Revert "ADC: added an enable_channel() API"
...
This reverts commit dafeac01d8f14162600cf821404ba4072dcae14d.
ADC will be disabled on APM2
2011-12-17 07:29:09 +11:00
Andrew Tridgell
c56e5735c2
ADC: added an enable_channel() API
...
enable_channel() must be used before the Ch6() method is called to
enable gathering of data on the required channels
2011-12-16 20:09:40 +11:00
Andrew Tridgell
af7e34fcc1
ADC: only read channels that are actually being used
...
on the APM2 we usually use none of the ADC channels, although we may
use the airspeed sensor. This change means we detect which channels
are being read, and only do the SPI transfers for those ones. That
saves us about 100usec per timer interrupt (ie. about 10% of our CPU)
2011-12-16 20:09:35 +11:00
Andrew Tridgell
9e9b229a1d
fixed formatting of ADC driver
...
it was a nasty mix of DOS and UNIX
2011-12-16 20:09:29 +11:00
Andrew Tridgell
47da2ec992
ADC: change adc.Ch() to return a float
...
this gives us a bit more precision in airspeed measurement, and costs
us virtually nothing as we are converting to float immediately after
getting the value
2011-12-12 15:14:55 +11:00
Andrew Tridgell
ff727e87ca
ADC: remove a very small (0.2 degrees/s) bias in the ADC code
...
small bias from integer rounding
2011-11-28 16:22:33 +11:00
Pat Hickey
6d876bc54d
AP_ADC: rework ADC library to use PeriodicProcess and ISR_Register
...
this makes it possible to build the ADC library when another driver
may also want that interrupt
2011-11-25 20:00:16 -08:00
Jason Short
945a7c13a7
Heavy Accel Filter + mild Gyro Filter. To use, filter_result must be set to true on ADC. Off by default.
2011-10-01 15:44:53 -07:00
Jason Short
9a4bd31a8b
Minimized the accel_filtered vector to be faster and more accurate.
...
Made the Filter include the Accels and moved from 8 to 4 terms in the filter
2011-09-30 18:40:29 -07:00
Jason Short
df1a39f650
Added ADC gyro Filtering for quads - this fixes a noise issue introduced into the controller
...
added Position mode
removed
Added back in the accelerometer experiment
Added filter_result boolean to enable filter on the fly
2011-09-29 23:27:23 -07:00
Andrew Tridgell
cc4bae4b42
fixed inconsistent linefeeds in ADC code
...
the linefeeds had bacome inconsistent in this library, making some
editors fail to load the code
2011-09-19 11:04:02 +10:00
Andrew Tridgell
a828d00125
ADC: randomise the sampling rate
...
this is based on suggestions from Kari and Mike, and should reduce the
aliasing effects we get from the simple averaging
2011-09-17 14:58:02 +10:00
Andrew Tridgell
2ae78e197e
ADC: the bottom 3 bits of ADC output are always zero
...
its a 12 bit ADC .... silly of me to think the bottom 3 bits are
valid!
2011-09-17 14:58:02 +10:00
Andrew Tridgell
1c5e8f0381
change ADC sample rate to 1kHz
...
this costs us about 9% of our CPU, but should make aliasing much less
of a problem.
2011-09-17 14:58:02 +10:00
Andrew Tridgell
8a31af801f
ADC: re-work for ADC code for full resolution and accurate timing
...
this changes the ADC code to return the full resolution of the
sensors. It also adds a new Ch6() interface that returns 6 channels at
once, so the IMU can read 3 accelerometers and 3 gyros at once, and
get the exact time that the values were accumulated over
2011-09-17 14:58:02 +10:00
jasonshort
5c3837757a
Added ability to grab an unfiltered value from the ADC
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2963 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 20:33:45 +00:00
jasonshort
3c27be40fc
silly formatting
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2566 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-16 16:43:43 +00:00
jasonshort
65345160d1
Implemented moving average filter to deal with noise issues on quads, default is a 6 member filter.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2551 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-12 23:50:15 +00:00
james.goppert
e6c4595d3c
Massive warning fixes.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2089 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-04 19:12:27 +00:00
mich146@hotmail.com
f4403be163
ADC Library - reimplement overflow
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1832 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-31 14:19:59 +00:00
mich146@hotmail.com
ea4700ad6e
Fix adc issue causing serial problems/other issues. (DOUG please check)
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1829 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-29 11:16:21 +00:00
deweibel@gmail.com
2dc7621e4e
Change ADC overflow correction
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1640 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-13 23:24:37 +00:00
james.goppert
cce122d387
Moved APM_ADC to AP_ADC
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@954 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 05:36:19 +00:00