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 | // ---------------------------------------------------------------------------------------------- |