Subversion Repositories NaviCtrl

Rev

Rev 483 | Rev 489 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 483 Rev 487
1
#ifndef _COMPASS_H
1
#ifndef _COMPASS_H
2
#define _COMPASS_H
2
#define _COMPASS_H
3
 
3
 
4
typedef struct
4
typedef struct
5
{
5
{
6
  s16 X;
6
  s16 X;
7
  s16 Y;
7
  s16 Y;
8
  s16 Z;
8
  s16 Z;
9
} __attribute__((packed)) s16vec_t;
9
} __attribute__((packed)) s16vec_t;
10
 
10
 
11
extern volatile s16vec_t MagVector;       // current magnetic field vector
11
extern volatile s16vec_t MagVector;       // current magnetic field vector
12
extern volatile s16 Compass_Heading;  // current heading direction
12
extern volatile s16 Compass_Heading;  // current heading direction
13
extern volatile u8  Compass_CalState; // current calibration state
13
extern volatile u8  Compass_CalState; // current calibration state
14
extern s32 EarthMagneticField;
14
extern s32 EarthMagneticField;
15
extern s32 EarthMagneticInclination;
15
extern s32 EarthMagneticInclination;
16
extern s32 EarthMagneticInclinationFiltered;
16
extern s32 EarthMagneticInclinationFiltered;
17
extern s32 EarthMagneticInclinationTheoretic;
17
extern s32 EarthMagneticInclinationTheoretic;
18
extern s32 EarthMagneticFieldFiltered;
18
extern s32 EarthMagneticFieldFiltered;
19
extern u8  ErrorDisturbedEarthMagnetField;
19
extern u8  ErrorDisturbedEarthMagnetField;
20
extern s16 EarthMagneticStrengthTheoretic;
20
extern s16 EarthMagneticStrengthTheoretic;
21
extern s16 Hx, Hy;
21
extern s16 Hx, Hy;
-
 
22
 
-
 
23
extern u32 CompassValueErrorCount;
22
 
24
 
23
#define COMPASS_NONE    0
25
#define COMPASS_NONE    0
24
#define COMPASS_MK3MAG  1
26
#define COMPASS_MK3MAG  1
25
#define COMPASS_NCMAG   2
27
#define COMPASS_NCMAG   2
26
extern u8 Compass_Device;
28
extern u8 Compass_Device;
27
 
29
 
28
void Compass_Init(void);
30
void Compass_Init(void);
29
void Compass_Update(void);
31
void Compass_Update(void);
30
void Compass_CalcHeading(void);
32
void Compass_CalcHeading(void);
31
void Compass_SetCalState(u8 CalState);
33
void Compass_SetCalState(u8 CalState);
32
void Compass_UpdateCalState(void);
34
void Compass_UpdateCalState(void);
33
 
35
 
34
#endif  //  _COMPASS_H
36
#endif  //  _COMPASS_H
35
 
37