summaryrefslogtreecommitdiff
path: root/drivers/avr/i2c_slave.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/avr/i2c_slave.c')
-rw-r--r--[-rwxr-xr-x]drivers/avr/i2c_slave.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/avr/i2c_slave.c b/drivers/avr/i2c_slave.c
index 4958a0f8e5..3fb684f70a 100755..100644
--- a/drivers/avr/i2c_slave.c
+++ b/drivers/avr/i2c_slave.c
@@ -27,24 +27,24 @@
volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT];
static volatile uint8_t buffer_address;
-static volatile bool slave_has_register_set = false;
+static volatile bool slave_has_register_set = false;
-void i2c_slave_init(uint8_t address){
+void i2c_slave_init(uint8_t address) {
// load address into TWI address register
TWAR = address;
// set the TWCR to enable address matching and enable TWI, clear TWINT, enable TWI interrupt
TWCR = (1 << TWIE) | (1 << TWEA) | (1 << TWINT) | (1 << TWEN);
}
-void i2c_slave_stop(void){
+void i2c_slave_stop(void) {
// clear acknowledge and enable bits
TWCR &= ~((1 << TWEA) | (1 << TWEN));
}
-ISR(TWI_vect){
+ISR(TWI_vect) {
uint8_t ack = 1;
- switch(TW_STATUS){
+ switch (TW_STATUS) {
case TW_SR_SLA_ACK:
// The device is now a slave receiver
slave_has_register_set = false;
@@ -53,14 +53,14 @@ ISR(TWI_vect){
case TW_SR_DATA_ACK:
// This device is a slave receiver and has received data
// First byte is the location then the bytes will be writen in buffer with auto-incriment
- if(!slave_has_register_set){
+ if (!slave_has_register_set) {
buffer_address = TWDR;
if (buffer_address >= I2C_SLAVE_REG_COUNT) { // address out of bounds dont ack
- ack = 0;
- buffer_address = 0;
+ ack = 0;
+ buffer_address = 0;
}
- slave_has_register_set = true; // address has been receaved now fill in buffer
+ slave_has_register_set = true; // address has been receaved now fill in buffer
} else {
i2c_slave_reg[buffer_address] = TWDR;
buffer_address++;