summaryrefslogtreecommitdiffstats
path: root/drivers/avr/i2c_slave.h
blob: 1c3b9ecc00333e8c98e2220ba15a39615b7b0ae7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* Library made by: g4lvanix
 * Github repository: https://github.com/g4lvanix/I2C-slave-lib

 Info: Inititate the library by giving the required address.
       Read or write to the necessary buffer according to the opperation.
 */

#ifndef I2C_SLAVE_H
#define I2C_SLAVE_H

#define TX_BUFFER_SIZE 30
#define RX_BUFFER_SIZE 30

volatile uint8_t buffer_address;
static volatile bool slave_has_register_set = false;
volatile uint8_t txbuffer[TX_BUFFER_SIZE];
volatile uint8_t rxbuffer[RX_BUFFER_SIZE];

void i2c_init(uint8_t address);
void i2c_stop(void);
ISR(TWI_vect);

#endif // I2C_SLAVE_H