Go to most recent revision |
Blame |
Last modification |
View Log
| RSS feed
#ifndef __I2C
#define __I2C
#define I2C_SLAVE_ADDRESS 0x50
#define I2C_CMD_VERSION 0x01
struct str_I2C_Version
{
u8 Hauptversion;
u8 Nebenversion;
u8 Comp;
} __attribute__((packed));
#define I2C_CMD_WRITE_EEPROM 0x0A
#define I2C_CMD_READ_EEPROM 0x0B
struct str_I2C_EEPROM
{
u8 Adresse;
u16 Inhalt;
} __attribute__((packed));
#define I2C_CMD_READ_MAG 0x02
struct str_I2C_Mag
{
u16 MagX;
u16 MagY;
u16 MagZ;
} __attribute__((packed));
#define I2C_CMD_READ_HEADING 0x03
struct str_I2C_WriteNickRoll
{
s16 Nick;
s16 Roll;
} __attribute__((packed));
#define I2C_CMD_WRITE_CAL 0x04
struct str_I2C_WriteCal
{
u8 CalByte;
u8 Dummy1;
u8 Dummy2;
} __attribute__((packed));
struct str_I2C_Heading
{
u16 Heading;
} __attribute__((packed));
extern u8 Tx_Idx, Rx_Idx, I2C_Direction;
extern struct str_I2C_Heading I2C_Heading;
extern struct str_I2C_WriteNickRoll I2C_WriteNickRoll;
extern struct str_I2C_Mag I2C_Mag;
extern struct str_I2C_EEPROM I2C_ReadEEPROM, I2C_WriteEEPROM;
extern struct str_I2C_Version I2C_Version;
extern struct str_I2C_WriteCal I2C_WriteCal;
extern void I2C1_Init(void);
extern void SendI2C_Command(u8 command);
extern u8 CompassUpdateActiv;
extern volatile u8 I2C_ReadRequest;
extern u8 CompassCalState;
#endif