X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=drivers%2Favr%2Fi2c_slave.c;h=4958a0f8e5a7e77a781ed1f86d92a6a262f4bd45;hb=ff0cb0cf9dc81db11459e7e59c01adadca3ec2b8;hp=18a29a45a5a440433c6a7b8376c2ae4777734545;hpb=3542e573c8ee464f62fc5e9a0f618d3a244048c0;p=qmk_firmware.git diff --git a/drivers/avr/i2c_slave.c b/drivers/avr/i2c_slave.c index 18a29a45a..4958a0f8e 100755 --- a/drivers/avr/i2c_slave.c +++ b/drivers/avr/i2c_slave.c @@ -1,3 +1,18 @@ +/* Copyright (C) 2019 Elia Ritterbusch + + + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ /* Library made by: g4lvanix * Github repository: https://github.com/g4lvanix/I2C-slave-lib */ @@ -16,7 +31,7 @@ static volatile bool slave_has_register_set = false; void i2c_slave_init(uint8_t address){ // load address into TWI address register - TWAR = (address << 1); + 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); } @@ -68,4 +83,4 @@ ISR(TWI_vect){ // Reset i2c state machine to be ready for next interrupt TWCR |= (1 << TWIE) | (1 << TWINT) | (ack << TWEA) | (1 << TWEN); -} \ No newline at end of file +}