// bit-banged i2c interface
// SCL = RA4									// RA4  output
// SDA = RA9									// RA9	i/o (init to output)
#define SCL                         LATAbits.LATA4
#define WRITE_scl()					TRISAbits.TRISA4 = 0
#define SDA                         LATAbits.LATA9
#define SDARD						PORTAbits.RA9
#define READ_sda()                  TRISAbits.TRISA9 = 1
#define WRITE_sda()					TRISAbits.TRISA9 = 0
#define I2C_DELAY					10
#define ACK     					1
#define NO_ACK  					0

void i2c_init (void);
void i2c_delay (unsigned char x);
void i2c_start(void);
void i2c_stop (void);
void i2c_ack_polling(unsigned char device_address);
unsigned char i2c_send_byte(unsigned char out_byte);
unsigned char i2c_read_byte (void);
unsigned char i2c_read_multibyte (void);
