Mercurial > public > hwos_code
comparison src/compass.h @ 0:11d4fc797f74
init
| author | heinrichsweikamp |
|---|---|
| date | Wed, 24 Apr 2013 19:22:45 +0200 |
| parents | |
| children | 7d9edd3b8c86 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:11d4fc797f74 |
|---|---|
| 1 ////////////////////////////////////////////////////////////////////////////// | |
| 2 // HISTORY | |
| 3 // 2013-03-29 [jDG] Creation for tests. | |
| 4 | |
| 5 //---- Storage classes ------------------------------------------------------- | |
| 6 // Declaring PIC18 and VC++/G++ functions. | |
| 7 #ifdef UNIX | |
| 8 # define PARAMETER | |
| 9 # define OVERLAY | |
| 10 #else | |
| 11 //---- Bank 9 parameters ----------------------------------------------------- | |
| 12 # pragma udata overlay bank9_compass = 0x900 | |
| 13 # define PARAMETER static | |
| 14 # define OVERLAY overlay | |
| 15 #endif | |
| 16 | |
| 17 ////////////////////////////////////////////////////////////////////////////// | |
| 18 | |
| 19 #define Q_PI (18000) | |
| 20 #define Q_PIO2 (9000) | |
| 21 | |
| 22 typedef short int Int16; | |
| 23 typedef signed char Int8; | |
| 24 typedef Int16 Angle; | |
| 25 | |
| 26 // The (filtered) components of the magnetometer sensor: | |
| 27 extern Int16 compass_DX_f; | |
| 28 extern Int16 compass_DY_f; | |
| 29 extern Int16 compass_DZ_f; | |
| 30 | |
| 31 // Found soft-iron calibration values, deduced from already filtered values. | |
| 32 extern Int16 compass_CX_f; | |
| 33 extern Int16 compass_CY_f; | |
| 34 extern Int16 compass_CZ_f; | |
| 35 | |
| 36 // The (filtered) components of the accelerometer sensor: | |
| 37 extern Int16 accel_DX_f; | |
| 38 extern Int16 accel_DY_f; | |
| 39 extern Int16 accel_DZ_f; | |
| 40 | |
| 41 // The compass result value. | |
| 42 extern Int16 compass_heading; | |
| 43 extern Int16 compass_roll; | |
| 44 extern Int16 compass_pitch; | |
| 45 | |
| 46 extern Int16 umul(PARAMETER Int16 a, PARAMETER Int16 b); | |
| 47 extern Int16 imul(PARAMETER Int16 a, PARAMETER Int16 b); | |
| 48 extern Int16 udiv(PARAMETER Int16 a, PARAMETER Int16 b); | |
| 49 extern Angle utan(PARAMETER Int16 a, PARAMETER Int16 b); | |
| 50 extern Angle itan(PARAMETER Int16 a, PARAMETER Int16 b); | |
| 51 extern Angle cosxh(PARAMETER Int16 a, PARAMETER Int16 b); | |
| 52 extern void sincos(PARAMETER Int16 a, PARAMETER Int16 b, Int16* sin, Int16* cos); |
