Quadrotor from scratch
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
694 B

#ifndef __I2C_H
#define __I2C_H
#include "types.h"
#define I2C_IN_PROGRESS 0
#define I2C_SUCCESS 1
#define I2C_FAIL 2
typedef int i2c_result;
struct i2c_transaction {
int address; /* i2c first byte, including address and r/w flag */
int bytes; /* number of bytes to read or write */
unsigned char *data; /* pointer to the data */
i2c_result *result; /* pointer to store the result */
unsigned int event; /* Which event to set when complete */
struct i2c_transaction *next; /* NULL or next transaction */
void init_i2c(void);
int i2c_conreg(void);
int i2c_statreg(void);
bool i2c_start_transaction(struct i2c_transaction *t);
bool i2c_busy(void);
#endif /* __I2C_H */