/******************************************************************
 * lcd_driver.h | Arduino Duemilanove w/ ATmega328
 ******************************************************************
 * Author: Jonathan A. Feucht
 * Date created: 29 May 2010
 */
 
#ifndef I2C_DRIVER_H_
#define I2C_DRIVER_H_

// I2C Communication settings
#define SDA  2
#define SCL  3

#define I2C_DELAY_TIME 10

void setup_i2c(void);
void i2c_report_all(void);
void i2c_init(void);
unsigned char i2c_send_packet(unsigned char*, unsigned int);
unsigned char i2c_read(boolean);
void report_setting(setting_t setting, unsigned char value);
void i2c_stop(void);
void i2c_start(void);
boolean i2c_write(unsigned char);
void force_wire(char, boolean);

#endif // I2C_DRIVER_H_

