Subversion Repositories Projects

Rev

Rev 2203 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2203 Rev 2204
Line 55... Line 55...
55
                                6183, 6275, 6366, 6455, 6542, 6627, 6710, 6791, 6870, 6947, 7022, 7094, \
55
                                6183, 6275, 6366, 6455, 6542, 6627, 6710, 6791, 6870, 6947, 7022, 7094, \
56
                                7165, 7233, 7299, 7363, 7424, 7484, 7541, 7595, 7648, 7698, 7746, 7791, \
56
                                7165, 7233, 7299, 7363, 7424, 7484, 7541, 7595, 7648, 7698, 7746, 7791, \
57
                                7834, 7875, 7913, 7949, 7982, 8013, 8041, 8068, 8091, 8112, 8131, 8147, \
57
                                7834, 7875, 7913, 7949, 7982, 8013, 8041, 8068, 8091, 8112, 8131, 8147, \
58
                                8161, 8172, 8181, 8187, 8191, 8192};
58
                                8161, 8172, 8181, 8187, 8191, 8192};
Line 59... Line -...
59
 
-
 
60
//double c_cos_8192(int16_t angle)
59
 
61
int16_t c_cos_8192(int16_t angle)
60
int16_t c_cos_8192(int16_t angle)
62
{
61
{
63
        int8_t m,n;
62
        int8_t m,n;
Line 83... Line 82...
83
        // get lookup value
82
        // get lookup value
84
        sinus = sinlookup[angle];
83
        sinus = sinlookup[angle];
85
        // calculate sinus value
84
        // calculate sinus value
86
        return (sinus * m * n);
85
        return (sinus * m * n);
87
}
86
}
-
 
87
 
-
 
88
int16_t c_sin_8192(int16_t angle)
-
 
89
{
-
 
90
        int8_t m, n;
-
 
91
        int16_t sinus;
-
 
92
 
-
 
93
        // avoid negative angles
-
 
94
        if (angle < 0)
-
 
95
        {
-
 
96
                        m = -1;
-
 
97
                        angle = -angle;
-
 
98
        }
-
 
99
        else m = +1;
-
 
100
 
-
 
101
        // fold angle to interval 0 to 359
-
 
102
        angle %= 360;
-
 
103
 
-
 
104
        // check quadrant
-
 
105
        if (angle <= 90) n = 1; // first quadrant
-
 
106
        else if ((angle > 90) && (angle <= 180)) {angle = 180 - angle; n = 1;} // second quadrant
-
 
107
        else if ((angle > 180) && (angle <= 270)) {angle = angle - 180; n = -1;} // third quadrant
-
 
108
        else {angle = 360 - angle; n = -1;}     //fourth quadrant
-
 
109
        // get lookup value
-
 
110
        sinus = sinlookup[angle];
-
 
111
        // calculate sinus value
-
 
112
        return (sinus * m * n);
-
 
113
}
Line 88... Line 114...
88
 
114
 
Line 89... Line 115...
89
// ----------------------------------------------------------------------------------------------
115
// ----------------------------------------------------------------------------------------------