Subversion Repositories NaviCtrl

Rev

Rev 242 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
241 killagreg 1
#ifndef __MK3MAG_H
2
#define __MK3MAG_H
3
 
4
typedef struct
5
{
6
  u8 Major;
7
  u8 Minor;
8
  u8 Patch;
9
  u8 Compatible;
10
} __attribute__((packed)) MK3MAG_Version_t;
11
 
12
typedef struct
13
{
14
  s16 X;
15
  s16 Y;
16
  s16 Z;
17
} __attribute__((packed)) MK3MAG_MagVector_t;
18
 
19
typedef struct
20
{
21
  s16 Nick;
22
  s16 Roll;
23
} __attribute__((packed)) MK3MAG_WriteAttitude_t;
24
 
25
typedef struct
26
{
27
  u8 CalByte;
28
  u8 Dummy1;
29
  u8 Dummy2;
30
} __attribute__((packed)) MK3MAG_Cal_t;
31
 
32
typedef struct
33
{
34
  s16 Heading;
35
} __attribute__((packed)) MK3MAG_Heading_t;
36
 
37
 
38
#define MK3MAG_CMD_VERSION              0x01
39
#define MK3MAG_CMD_READ_MAGVECT         0x02
40
#define MK3MAG_CMD_READ_HEADING         0x03
41
#define MK3MAG_CMD_WRITE_CAL            0x04
42
 
43
extern volatile MK3MAG_Heading_t                MK3MAG_Heading;
44
extern volatile MK3MAG_MagVector_t              MK3MAG_MagVector;
45
extern volatile MK3MAG_Version_t                MK3MAG_Version;
46
 
47
void MK3MAG_Init(void);
48
void MK3MAG_SendCommand(u8 command);
49
void MK3MAG_GetVersion(void);
50
void MK3MAG_UpdateCompass(void);
51
 
52
#endif // MK3MAG_H