Subversion Repositories NaviCtrl

Rev

Rev 146 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 146 Rev 189
Line 1... Line 1...
1
#ifndef __I2C_H
1
#ifndef __I2C_H
2
#define __I2C_H
2
#define __I2C_H
Line 3... Line -...
3
 
-
 
4
 
-
 
5
#define I2C_SLAVE_ADDRESS               0x50
-
 
6
 
3
 
7
#define I2C_CMD_VERSION                 0x01
4
#define I2C_CMD_VERSION                 0x01
8
#define I2C_CMD_READ_MAG        0x02
5
#define I2C_CMD_READ_MAG        0x02
9
#define I2C_CMD_READ_HEADING    0x03
6
#define I2C_CMD_READ_HEADING    0x03
Line 43... Line 40...
43
typedef struct
40
typedef struct
44
{
41
{
45
  s16 Heading;
42
  s16 Heading;
46
} __attribute__((packed)) I2C_Heading_t;
43
} __attribute__((packed)) I2C_Heading_t;
Line 47... Line -...
47
 
-
 
48
typedef enum
-
 
49
{
-
 
50
        I2C_UNDEF,
-
 
51
        I2C_IDLE,
-
 
52
        I2C_TX_PROGRESS,
-
 
53
        I2C_RX_PENDING,
-
 
54
        I2C_RX_PROGRESS,
-
 
55
        I2C_OFF
-
 
56
} I2C_State_t;
-
 
57
 
-
 
58
extern volatile I2C_State_t I2C_State;
-
 
59
extern volatile u8 I2C_Direction;
44
 
Line 60... Line 45...
60
extern volatile u32 I2C1_Timeout;
45
extern volatile u32 I2C1_Timeout;
61
 
-
 
62
extern volatile I2C_Heading_t           I2C_Heading;
46
 
63
extern volatile I2C_WriteAttitude_t I2C_WriteAttitude;
47
extern volatile I2C_Heading_t           I2C_Heading;
64
extern volatile I2C_Mag_t                       I2C_Mag;
-
 
65
extern volatile I2C_Version_t           MK3MAG_Version;
-
 
Line 66... Line 48...
66
extern volatile I2C_Cal_t                       I2C_WriteCal;
48
extern volatile I2C_Mag_t                       I2C_Mag;
67
extern volatile I2C_Cal_t                       I2C_ReadCal;
49
extern volatile I2C_Version_t           MK3MAG_Version;
68
 
50
 
69
void I2C1_Init(void);
51
void I2C1_Init(void);