Low-Pass function for compass project (troubles)

60 views Asked by At

Alright I'm using a low-pass method() for a compass-like project in android. I got some troubles when my azimut is to the North (mooving from 0 to 360 then...). I thought the problem could come from my low pass function.

What do you think about it :

private float[] lowPass( float[] input, float[] output ) {
    if ( output == null || (output[0] == 0.0 && output[1] == 0.0 && output[2] == 0.0)) {
        return input;
    }
    else {
        for (int i = 0; i < input.length; i++) {
            output[i] = output[i] + 0.15f * (input[i] - output[i]);
            // 0.25
        }
        return output;
    }
}

I saw that radians angles must be use instead of degrees... Can the problem come from here ?

thank's for your help !

0

There are 0 answers