Subversion Repositories NaviCtrl

Rev

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

Rev Author Line No. Line
1 ingob 1
#ifndef __I2C
2
#define __I2C
3
 
4
 
5
#define I2C_SLAVE_ADDRESS 0x50
6
 
7
#define I2C_CMD_VERSION   0x01
8
struct str_I2C_Version
9
{
10
  u8 Hauptversion;
11
  u8 Nebenversion;
12
  u8 Comp;
13
} __attribute__((packed));
14
 
15
#define I2C_CMD_WRITE_EEPROM   0x0A
16
#define I2C_CMD_READ_EEPROM    0x0B
17
struct str_I2C_EEPROM
18
{
19
  u8 Adresse;
20
  u16 Inhalt;
21
} __attribute__((packed));
22
 
23
#define I2C_CMD_READ_MAG     0x02
24
struct str_I2C_Mag
25
{
26
  u16 MagX;
27
  u16 MagY;
28
  u16 MagZ;
29
} __attribute__((packed));
30
 
31
#define I2C_CMD_READ_HEADING     0x03
32
struct str_I2C_WriteNickRoll
33
{
34
  s16 Nick;
35
  s16 Roll;
36
} __attribute__((packed));
37
 
38
#define I2C_CMD_WRITE_CAL     0x04
39
struct str_I2C_WriteCal
40
{
41
  u8 CalByte;
42
  u8 Dummy1;
43
  u8 Dummy2;
44
} __attribute__((packed));  
45
 
46
struct str_I2C_Heading
47
{
48
  u16 Heading;
49
} __attribute__((packed));
50
 
51
 
52
extern u8 Tx_Idx, Rx_Idx, I2C_Direction;
53
 
54
extern struct str_I2C_Heading       I2C_Heading;
55
extern struct str_I2C_WriteNickRoll I2C_WriteNickRoll;
56
extern struct str_I2C_Mag           I2C_Mag;
57
extern struct str_I2C_EEPROM        I2C_ReadEEPROM, I2C_WriteEEPROM;
58
extern struct str_I2C_Version       I2C_Version;
59
extern struct str_I2C_WriteCal      I2C_WriteCal;
60
extern void I2C1_Init(void);
61
extern void SendI2C_Command(u8 command);
62
extern u8 CompassUpdateActiv;
63
extern volatile u8 I2C_ReadRequest;
64
extern u8 CompassCalState;
65
 
66
 
67
#endif
68