Subversion Repositories NaviCtrl

Compare Revisions

Ignore whitespace Rev 22 → Rev 23

/tags/V0.1/i2c.h
0,0 → 1,68
#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