Subversion Repositories FlightCtrl

Rev

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

Rev 1612 Rev 1821
Line 1... Line 1...
1
#include "dongfangMath.h"
1
#include "dongfangMath.h"
2
#include <inttypes.h>
2
#include <inttypes.h>
3
#include <avr/pgmspace.h>
3
#include <avr/pgmspace.h>
Line 4... Line -...
4
 
-
 
5
const int16_t SIN_TABLE[] PROGMEM = {
4
 
6
  (int16_t) (0.0 * MATH_UNIT_FACTOR + 0.5),
5
const int16_t SIN_TABLE[] PROGMEM = { (int16_t) (0.0 * MATH_UNIT_FACTOR + 0.5),
7
  (int16_t) (0.01745240643728351 * MATH_UNIT_FACTOR + 0.5),
6
                (int16_t) (0.01745240643728351 * MATH_UNIT_FACTOR + 0.5),
8
  (int16_t) (0.03489949670250097 * MATH_UNIT_FACTOR + 0.5),
7
                (int16_t) (0.03489949670250097 * MATH_UNIT_FACTOR + 0.5),
9
  (int16_t) (0.05233595624294383 * MATH_UNIT_FACTOR + 0.5),
8
                (int16_t) (0.05233595624294383 * MATH_UNIT_FACTOR + 0.5),
10
  (int16_t) (0.0697564737441253 * MATH_UNIT_FACTOR + 0.5),
9
                (int16_t) (0.0697564737441253 * MATH_UNIT_FACTOR + 0.5),
Line 90... Line 89...
90
  (int16_t) (0.9945218953682733 * MATH_UNIT_FACTOR + 0.5),
89
                (int16_t) (0.9945218953682733 * MATH_UNIT_FACTOR + 0.5),
91
  (int16_t) (0.9961946980917455 * MATH_UNIT_FACTOR + 0.5),
90
                (int16_t) (0.9961946980917455 * MATH_UNIT_FACTOR + 0.5),
92
  (int16_t) (0.9975640502598242 * MATH_UNIT_FACTOR + 0.5),
91
                (int16_t) (0.9975640502598242 * MATH_UNIT_FACTOR + 0.5),
93
  (int16_t) (0.9986295347545738 * MATH_UNIT_FACTOR + 0.5),
92
                (int16_t) (0.9986295347545738 * MATH_UNIT_FACTOR + 0.5),
94
  (int16_t) (0.9993908270190958 * MATH_UNIT_FACTOR + 0.5),
93
                (int16_t) (0.9993908270190958 * MATH_UNIT_FACTOR + 0.5),
95
  (int16_t) (0.9998476951563913 * MATH_UNIT_FACTOR + 0.5),
94
                (int16_t) (0.9998476951563913 * MATH_UNIT_FACTOR + 0.5), (int16_t) (1.0
96
  (int16_t) (1.0 * MATH_UNIT_FACTOR) };
95
                                * MATH_UNIT_FACTOR) };
Line 97... Line 96...
97
 
96
 
98
const int16_t TAN_TABLE[] PROGMEM = {
97
const int16_t TAN_TABLE[] PROGMEM
99
  (int16_t) (0.0 * MATH_UNIT_FACTOR + 0.5),
98
                = { (int16_t) (0.0 * MATH_UNIT_FACTOR + 0.5),
100
  (int16_t) (0.017455064928217585 * MATH_UNIT_FACTOR + 0.5),
99
                                (int16_t) (0.017455064928217585 * MATH_UNIT_FACTOR + 0.5),
101
  (int16_t) (0.03492076949174773 * MATH_UNIT_FACTOR + 0.5),
100
                                (int16_t) (0.03492076949174773 * MATH_UNIT_FACTOR + 0.5),
102
  (int16_t) (0.0524077792830412 * MATH_UNIT_FACTOR + 0.5),
101
                                (int16_t) (0.0524077792830412 * MATH_UNIT_FACTOR + 0.5),
103
  (int16_t) (0.06992681194351041 * MATH_UNIT_FACTOR + 0.5),
102
                                (int16_t) (0.06992681194351041 * MATH_UNIT_FACTOR + 0.5),
Line 184... Line 183...
184
  (int16_t) (11.430052302761348 * MATH_UNIT_FACTOR + 0.5),
183
                                (int16_t) (11.430052302761348 * MATH_UNIT_FACTOR + 0.5),
185
  (int16_t) (14.300666256711896 * MATH_UNIT_FACTOR + 0.5),
184
                                (int16_t) (14.300666256711896 * MATH_UNIT_FACTOR + 0.5),
186
  (int16_t) (19.08113668772816 * MATH_UNIT_FACTOR + 0.5),
185
                                (int16_t) (19.08113668772816 * MATH_UNIT_FACTOR + 0.5),
187
  (int16_t) (28.636253282915515 * MATH_UNIT_FACTOR + 0.5),
186
                                (int16_t) (28.636253282915515 * MATH_UNIT_FACTOR + 0.5),
188
  (int16_t) (57.289961630759876 * MATH_UNIT_FACTOR + 0.5),
187
                                (int16_t) (57.289961630759876 * MATH_UNIT_FACTOR + 0.5),
189
  (int16_t) (32767)
188
                                (int16_t) (32767) };
190
};
-
 
Line 191... Line 189...
191
 
189
 
192
int16_t int_sin(int32_t arg) {
190
int16_t int_sin(int32_t arg) {
193
  int8_t sign;
191
        int8_t sign;
194
  int16_t result;
192
        int16_t result;