Post by Marc H. on May 28, 2018 10:43:34 GMT -8
Hi,
iam using a wemos D1 mini pro but cannot get the example to work:
Arduino: 1.8.3 (Windows 10), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"
In file included from C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:240:0,
from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::begin()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:91:9: error: 'PORTD' was not declared in this scope
sbi(PORTD, 5);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.h:31:23: note: in definition of macro '_SFR_BYTE'
#define _SFR_BYTE(n) (n)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:91:5: note: in expansion of macro 'sbi'
sbi(PORTD, 5);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:95:7: error: 'TWSR' was not declared in this scope
cbi(TWSR, TWPS0);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.h:31:23: note: in definition of macro '_SFR_BYTE'
#define _SFR_BYTE(n) (n)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:95:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:95:13: error: 'TWPS0' was not declared in this scope
cbi(TWSR, TWPS0);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:95:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:96:13: error: 'TWPS1' was not declared in this scope
cbi(TWSR, TWPS1);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:96:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS1);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:97:3: error: 'TWBR' was not declared in this scope
TWBR = ((F_CPU / 100000) - 16) / 2;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:99:3: error: 'TWCR' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:99:14: error: 'TWEN' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:99:26: error: 'TWEA' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::end()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:104:3: error: 'TWCR' was not declared in this scope
TWCR = 0;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::setSpeed(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:116:5: error: 'TWBR' was not declared in this scope
TWBR = ((F_CPU / 100000) - 16) / 2;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:120:5: error: 'TWBR' was not declared in this scope
TWBR = ((F_CPU / 400000) - 16) / 2;
^
In file included from C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:240:0,
from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::pullup(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:136:11: error: 'PORTD' was not declared in this scope
sbi(PORTD, 0);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.h:31:23: note: in definition of macro '_SFR_BYTE'
#define _SFR_BYTE(n) (n)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:136:7: note: in expansion of macro 'sbi'
sbi(PORTD, 0);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:150:11: error: 'PORTD' was not declared in this scope
cbi(PORTD, 0);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.h:31:23: note: in definition of macro '_SFR_BYTE'
#define _SFR_BYTE(n) (n)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:150:7: note: in expansion of macro 'cbi'
cbi(PORTD, 0);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::read(uint8_t, uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:380:15: error: 'TWDR' was not declared in this scope
data = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::read(uint8_t, uint8_t, uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:445:15: error: 'TWDR' was not declared in this scope
data = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::read(uint8_t, uint8_t, uint8_t*)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:487:21: error: 'TWDR' was not declared in this scope
dataBuffer = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::read(uint8_t, uint8_t, uint8_t, uint8_t*)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:547:21: error: 'TWDR' was not declared in this scope
dataBuffer = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::start()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:567:3: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:567:14: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:567:25: error: 'TWSTA' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:567:36: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:63:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:578:8: note: in expansion of macro 'TWI_STATUS'
if ((TWI_STATUS == START) || (TWI_STATUS == REPEATED_START))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:582:7: note: in expansion of macro 'TWI_STATUS'
if (TWI_STATUS == LOST_ARBTRTN)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:588:10: note: in expansion of macro 'TWI_STATUS'
return(TWI_STATUS);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::sendAddress(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:593:3: error: 'TWDR' was not declared in this scope
TWDR = i2cAddress;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:595:3: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:595:14: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:595:27: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:63:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:606:8: note: in expansion of macro 'TWI_STATUS'
if ((TWI_STATUS == MT_SLA_ACK) || (TWI_STATUS == MR_SLA_ACK))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:610:28: note: in expansion of macro 'TWI_STATUS'
uint8_t bufferedStatus = TWI_STATUS;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::sendByte(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:625:3: error: 'TWDR' was not declared in this scope
TWDR = i2cData;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:627:3: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:627:14: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:627:27: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:63:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:638:7: note: in expansion of macro 'TWI_STATUS'
if (TWI_STATUS == MT_DATA_ACK)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:642:28: note: in expansion of macro 'TWI_STATUS'
uint8_t bufferedStatus = TWI_STATUS;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::receiveByte(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:660:5: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:660:16: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:660:29: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:660:41: error: 'TWEA' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:665:5: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:665:16: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:665:29: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:667:12: error: 'TWCR' was not declared in this scope
while (!(TWCR & (1<<TWINT)))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:667:23: error: 'TWINT' was not declared in this scope
while (!(TWCR & (1<<TWINT)))
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:63:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:676:7: note: in expansion of macro 'TWI_STATUS'
if (TWI_STATUS == LOST_ARBTRTN)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:682:10: note: in expansion of macro 'TWI_STATUS'
return(TWI_STATUS);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::receiveByte(uint8_t, uint8_t*)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:708:15: error: 'TWDR' was not declared in this scope
*target = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::stop()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:716:3: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:716:14: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:716:25: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:716:36: error: 'TWSTO' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::lockUp()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:732:3: error: 'TWCR' was not declared in this scope
TWCR = 0; //releases SDA and SCL lines to high impedance
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:733:14: error: 'TWEN' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA); //reinitialize TWI
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:733:26: error: 'TWEA' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA); //reinitialize TWI
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
exit status 1
Fehler beim Kompilieren für das Board WeMos D1 R2 & mini.
Is the i2c library compatible to a ESP8266?
Best regards
Marc
iam using a wemos D1 mini pro but cannot get the example to work:
Arduino: 1.8.3 (Windows 10), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"
In file included from C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:240:0,
from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::begin()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:91:9: error: 'PORTD' was not declared in this scope
sbi(PORTD, 5);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.h:31:23: note: in definition of macro '_SFR_BYTE'
#define _SFR_BYTE(n) (n)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:91:5: note: in expansion of macro 'sbi'
sbi(PORTD, 5);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:95:7: error: 'TWSR' was not declared in this scope
cbi(TWSR, TWPS0);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.h:31:23: note: in definition of macro '_SFR_BYTE'
#define _SFR_BYTE(n) (n)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:95:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:95:13: error: 'TWPS0' was not declared in this scope
cbi(TWSR, TWPS0);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:95:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:96:13: error: 'TWPS1' was not declared in this scope
cbi(TWSR, TWPS1);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:96:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS1);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:97:3: error: 'TWBR' was not declared in this scope
TWBR = ((F_CPU / 100000) - 16) / 2;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:99:3: error: 'TWCR' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:99:14: error: 'TWEN' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:99:26: error: 'TWEA' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::end()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:104:3: error: 'TWCR' was not declared in this scope
TWCR = 0;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::setSpeed(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:116:5: error: 'TWBR' was not declared in this scope
TWBR = ((F_CPU / 100000) - 16) / 2;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:120:5: error: 'TWBR' was not declared in this scope
TWBR = ((F_CPU / 400000) - 16) / 2;
^
In file included from C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:240:0,
from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::pullup(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:136:11: error: 'PORTD' was not declared in this scope
sbi(PORTD, 0);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.h:31:23: note: in definition of macro '_SFR_BYTE'
#define _SFR_BYTE(n) (n)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:136:7: note: in expansion of macro 'sbi'
sbi(PORTD, 0);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:150:11: error: 'PORTD' was not declared in this scope
cbi(PORTD, 0);
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/pgmspace.h:31:23: note: in definition of macro '_SFR_BYTE'
#define _SFR_BYTE(n) (n)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:150:7: note: in expansion of macro 'cbi'
cbi(PORTD, 0);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::read(uint8_t, uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:380:15: error: 'TWDR' was not declared in this scope
data = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::read(uint8_t, uint8_t, uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:445:15: error: 'TWDR' was not declared in this scope
data = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::read(uint8_t, uint8_t, uint8_t*)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:487:21: error: 'TWDR' was not declared in this scope
dataBuffer = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::read(uint8_t, uint8_t, uint8_t, uint8_t*)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:547:21: error: 'TWDR' was not declared in this scope
dataBuffer = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::start()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:567:3: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:567:14: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:567:25: error: 'TWSTA' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:567:36: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:63:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:578:8: note: in expansion of macro 'TWI_STATUS'
if ((TWI_STATUS == START) || (TWI_STATUS == REPEATED_START))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:582:7: note: in expansion of macro 'TWI_STATUS'
if (TWI_STATUS == LOST_ARBTRTN)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:588:10: note: in expansion of macro 'TWI_STATUS'
return(TWI_STATUS);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::sendAddress(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:593:3: error: 'TWDR' was not declared in this scope
TWDR = i2cAddress;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:595:3: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:595:14: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:595:27: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:63:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:606:8: note: in expansion of macro 'TWI_STATUS'
if ((TWI_STATUS == MT_SLA_ACK) || (TWI_STATUS == MR_SLA_ACK))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:610:28: note: in expansion of macro 'TWI_STATUS'
uint8_t bufferedStatus = TWI_STATUS;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::sendByte(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:625:3: error: 'TWDR' was not declared in this scope
TWDR = i2cData;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:627:3: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:627:14: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:627:27: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:63:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:638:7: note: in expansion of macro 'TWI_STATUS'
if (TWI_STATUS == MT_DATA_ACK)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:642:28: note: in expansion of macro 'TWI_STATUS'
uint8_t bufferedStatus = TWI_STATUS;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::receiveByte(uint8_t)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:660:5: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:660:16: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:660:29: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:660:41: error: 'TWEA' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:665:5: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:665:16: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:665:29: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT) | (1<<TWEN);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:667:12: error: 'TWCR' was not declared in this scope
while (!(TWCR & (1<<TWINT)))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:667:23: error: 'TWINT' was not declared in this scope
while (!(TWCR & (1<<TWINT)))
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:63:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:676:7: note: in expansion of macro 'TWI_STATUS'
if (TWI_STATUS == LOST_ARBTRTN)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.h:79:26: error: 'TWSR' was not declared in this scope
#define TWI_STATUS (TWSR & 0xF8)
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:682:10: note: in expansion of macro 'TWI_STATUS'
return(TWI_STATUS);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::receiveByte(uint8_t, uint8_t*)':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:708:15: error: 'TWDR' was not declared in this scope
*target = TWDR;
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'uint8_t I2C::stop()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:716:3: error: 'TWCR' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:716:14: error: 'TWINT' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:716:25: error: 'TWEN' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:716:36: error: 'TWSTO' was not declared in this scope
TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp: In member function 'void I2C::lockUp()':
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:732:3: error: 'TWCR' was not declared in this scope
TWCR = 0; //releases SDA and SCL lines to high impedance
^
In file included from C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:57:0:
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:733:14: error: 'TWEN' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA); //reinitialize TWI
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
C:\Users\ASUS\Documents\Arduino\libraries\I2C\I2C.cpp:733:26: error: 'TWEA' was not declared in this scope
TWCR = _BV(TWEN) | _BV(TWEA); //reinitialize TWI
^
C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:184:25: note: in definition of macro '_BV'
#define _BV(b) (1UL << (b))
^
exit status 1
Fehler beim Kompilieren für das Board WeMos D1 R2 & mini.
Is the i2c library compatible to a ESP8266?
Best regards
Marc