Subversion Repositories NaviCtrl

Rev

Rev 330 | Rev 340 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
242 killagreg 1
#ifndef _COMPASS_H
2
#define _COMPASS_H
3
 
4
typedef struct
5
{
6
  s16 X;
7
  s16 Y;
8
  s16 Z;
253 killagreg 9
} __attribute__((packed)) s16vec_t;
242 killagreg 10
 
254 killagreg 11
extern volatile s16vec_t MagVector;       // current magnetic field vector
12
extern volatile s16 Compass_Heading;  // current heading direction
13
extern volatile u8  Compass_CalState; // current calibration state
330 holgerb 14
extern s32 EarthMagneticField;
15
extern s32 EarthMagneticInclination;
338 holgerb 16
extern s32 EarthMagneticInclinationTheoretic;
330 holgerb 17
extern s32 EarthMagneticFieldFiltered;
18
extern u8  ErrorDisturbedEarthMagnetField;
19
extern s16 Hx, Hy;
242 killagreg 20
 
254 killagreg 21
#define COMPASS_NONE    0
22
#define COMPASS_MK3MAG  1
23
#define COMPASS_NCMAG   2
24
extern u8 Compass_Device;
25
 
242 killagreg 26
void Compass_Init(void);
292 killagreg 27
void Compass_Update(void);
28
void Compass_CalcHeading(void);
254 killagreg 29
void Compass_SetCalState(u8 CalState);
30
void Compass_UpdateCalState(void);
242 killagreg 31
 
32
#endif  //  _COMPASS_H