Rev 1 | Details | Compare with Previous | 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 |