diff options
author | Andrew Tridgell <tridge@samba.org> | 2013-08-02 23:09:40 +1000 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-08-02 16:35:54 +0200 |
commit | a9c1882ea01aa0cf00448bc874c97087853bb13c (patch) | |
tree | d63f8e8cfc17578e93eeae56436f4241cbf20c41 | |
parent | b9446af3f9758604211aefe64f91e27a7e71c631 (diff) | |
download | px4-firmware-a9c1882ea01aa0cf00448bc874c97087853bb13c.tar.gz px4-firmware-a9c1882ea01aa0cf00448bc874c97087853bb13c.tar.bz2 px4-firmware-a9c1882ea01aa0cf00448bc874c97087853bb13c.zip |
l3gd20: fixed bit definitions for filter rates
and allow requests for the rates in table 21 of the l3gd20H datasheet
-rw-r--r-- | src/drivers/l3gd20/l3gd20.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/drivers/l3gd20/l3gd20.cpp b/src/drivers/l3gd20/l3gd20.cpp index 423adc76d..61a38b125 100644 --- a/src/drivers/l3gd20/l3gd20.cpp +++ b/src/drivers/l3gd20/l3gd20.cpp @@ -86,8 +86,8 @@ static const int ERROR = -1; /* keep lowpass low to avoid noise issues */ #define RATE_95HZ_LP_25HZ ((0<<7) | (0<<6) | (0<<5) | (1<<4)) #define RATE_190HZ_LP_25HZ ((0<<7) | (1<<6) | (1<<5) | (1<<4)) -#define RATE_380HZ_LP_30HZ ((1<<7) | (0<<6) | (1<<5) | (1<<4)) -#define RATE_760HZ_LP_30HZ ((1<<7) | (1<<6) | (1<<5) | (1<<4)) +#define RATE_380HZ_LP_20HZ ((1<<7) | (0<<6) | (1<<5) | (0<<4)) +#define RATE_760HZ_LP_30HZ ((1<<7) | (1<<6) | (0<<5) | (0<<4)) #define ADDR_CTRL_REG2 0x21 #define ADDR_CTRL_REG3 0x22 @@ -598,19 +598,20 @@ L3GD20::set_samplerate(unsigned frequency) if (frequency == 0) frequency = 760; - if (frequency <= 95) { + // use limits good for H or non-H models + if (frequency <= 100) { _current_rate = 95; bits |= RATE_95HZ_LP_25HZ; - } else if (frequency <= 190) { + } else if (frequency <= 200) { _current_rate = 190; bits |= RATE_190HZ_LP_25HZ; - } else if (frequency <= 380) { + } else if (frequency <= 400) { _current_rate = 380; - bits |= RATE_380HZ_LP_30HZ; + bits |= RATE_380HZ_LP_20HZ; - } else if (frequency <= 760) { + } else if (frequency <= 800) { _current_rate = 760; bits |= RATE_760HZ_LP_30HZ; |