Hi, I'm a beginner to Arduino and currently am using Arduino as ISP to program my Attiny84. I'm using DS3231 as an interrupt for certain intervals. Initially, I tried everything successfully interfacing Arduino and DS3231 without Attiny. When I replaced Attiny instead Arduino, I came to know that Wire.h library doesn't support with Attiny. So I searched online and started using the TinyWireM.h library. Since am a noob, am unable to understand the error codes. I have attached my code below and commented my error in the comments. Kindly help me with this.
#include <TinyWireM.h>
#include <ds3231.h>
//#define Wire TinyWireM
volatile boolean interruptActive = false;
int pinLed1 = 7;
int pinLed2 = 0;
int interruptPin = 8;
struct ts t;
uint8_t wake_HOUR;
uint8_t wake_MINUTE;
uint8_t wake_SECOND;
void gotoSleep(void);
void flash(int pinLed) {
digitalWrite(pinLed, HIGH); // turn the LED on (HIGH is the voltage level)
delay(200); // wait for a second
digitalWrite(pinLed, LOW); // turn the LED off by making the voltage LOW
delay(200);
}
void setup() {
// Serial.begin(9600);
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(interruptPin, INPUT_PULLUP);
TinyWireM.begin();
DS3231_init(DS3231_CONTROL_INTCN);
flash(pinLed1);
flash(pinLed2);
// attachInterrupt(0, wake, FALLING);
attachInterrupt(8, wake, FALLING);
//Disable ADC - don't forget to flip back after waking up if using ADC in your application ADCSRA |= (1 << 7);
ADCSRA &= ~(1 << 7);
MCUCR |= (1<<4);
MCUCR |= (1<<5);
}
void loop() {
// put your main code here, to run repeatedly:
DS3231_get(&t);
if (interruptActive) {
digitalWrite(pinLed1, HIGH); // turn the LED on (HIGH is the voltage level)
for (int i = 0;i < 10;i++) {
flash(pinLed2);
}
digitalWrite(pinLed1, LOW); // turn the LED on (HIGH is the voltage level)
delay(1000);
}
interruptActive = false;
gotoSleep();
}
void set_waketime(int minutes)
{
DS3231_get(&t);
wake_SECOND = t.sec + minutes;
wake_MINUTE = t.min;
wake_HOUR = t.hour;
while (wake_SECOND > 60) {
wake_MINUTE++;
wake_SECOND-=60;
}
while (wake_MINUTE > 60) {
wake_HOUR++;
wake_MINUTE-=60;
}
if (wake_HOUR > 24) {
wake_HOUR -= 24;
}
}
void set_alarm1(void)
{
// flags define what calendar component to be checked against the current time in order
// to trigger the alarm - see datasheet
// A1M1 (seconds) (0 to enable, 1 to disable)
// A1M2 (minutes) (0 to enable, 1 to disable)
// A1M3 (hour) (0 to enable, 1 to disable)
// A1M4 (day) (0 to enable, 1 to disable)
// DY/DT (dayofweek == 1/dayofmonth == 0)
uint8_t flags[5] = { 0, 0, 0, 1, 1 };
DS3231_clear_a1f();
// set Alarm1
DS3231_set_a1(wake_SECOND, wake_MINUTE, wake_HOUR, 0, flags);
// activate Alarm1
DS3231_set_creg(DS3231_CONTROL_INTCN | DS3231_CONTROL_A1IE);
}
void wake()
{
digitalWrite(pinLed1, HIGH);
// flash(pinLed2);
// flash(pinLed2);
// cancel sleep as a precaution
// sleep_disable();
//----------ADCSRA |= (1 << 7);
interruptActive = true;
// precautionary while we do other stuff
//--- detachInterrupt(0);
} // end of wake
void gotoSleep()
{
delay(100);
set_waketime(5);
set_alarm1();
//Disable ADC - don't forget to flip back after waking up if using ADC in your application ADCSRA |= (1 << 7);
//--------------ADCSRA &= ~(1 << 7);
// set_sleep_mode (SLEEP_MODE_PWR_DOWN);
// sleep_enable();
// Do not interrupt before we go to sleep, or the
// ISR will detach interrupts and we won't wake.
// noInterrupts ();
// will be called when pin D2 goes low
// attachInterrupt(0, wake, FALLING);
// We are guaranteed that the sleep_cpu call will be done
// as the processor executes the next instruction after
// interrupts are turned on.
// interrupts (); // one cycle
//BOD DISABLE - this must be called right before the __asm__ sleep instruction
MCUCR = (MCUCR | (1 <<2)) | (1<<7);
MCUCR = (MCUCR & ~(1 << 2)) | (1<<7);
__asm__ __volatile__("sleep");
}
digitalWrite(SDA, 1);
^~~
DDA0
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:88:16: note: each undeclared identifier is reported only once for each function it appears in
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:89:16: error: 'SCL' undeclared (first use in this function); did you mean 'SPL'?
digitalWrite(SCL, 1);
^~~
SPL
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:92:7: error: 'TWSR' undeclared (first use in this function); did you mean 'ACSR'?
cbi(TWSR, TWPS0);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:92:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^~~
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:92:13: error: 'TWPS0' undeclared (first use in this function); did you mean 'TWSR'?
cbi(TWSR, TWPS0);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:92:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS0);
^~~
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:93:13: error: 'TWPS1' undeclared (first use in this function); did you mean 'TWPS0'?
cbi(TWSR, TWPS1);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:93:3: note: in expansion of macro 'cbi'
cbi(TWSR, TWPS1);
^~~
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:94:3: error: 'TWBR' undeclared (first use in this function); did you mean 'TWSR'?
TWBR = ((F_CPU / TWI_FREQ) - 16) / 2;
^~~~
TWSR
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:102:3: error: 'TWCR' undeclared (first use in this function); did you mean 'TWBR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^~~~
TWBR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:102:14: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:102:26: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:102:38: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_disable':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:114:3: error: 'TWCR' undeclared (first use in this function); did you mean 'EECR'?
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^~~~
EECR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:114:17: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:114:29: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:114:41: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR &= ~(_BV(TWEN) | _BV(TWIE) | _BV(TWEA));
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:117:16: error: 'SDA' undeclared (first use in this function); did you mean 'DDA0'?
digitalWrite(SDA, 0);
^~~
DDA0
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:118:16: error: 'SCL' undeclared (first use in this function); did you mean 'SPL'?
digitalWrite(SCL, 0);
^~~
SPL
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_setAddress':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:130:3: error: 'TWAR' undeclared (first use in this function); did you mean 'EEAR'?
TWAR = address << 1;
^~~~
EEAR
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_setFrequency':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:141:3: error: 'TWBR' undeclared (first use in this function); did you mean 'DWDR'?
TWBR = ((F_CPU / frequency) - 16) / 2;
^~~~
DWDR
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_readFrom':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:204:7: error: 'TWDR' undeclared (first use in this function); did you mean 'DWDR'?
TWDR = twi_slarw;
^~~~
DWDR
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:209:13: error: 'TWCR' undeclared (first use in this function); did you mean 'TWDR'?
} while(TWCR & _BV(TWWC));
^~~~
TWDR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:209:24: error: 'TWWC' undeclared (first use in this function); did you mean 'TWCR'?
} while(TWCR & _BV(TWWC));
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:210:16: error: 'TWINT' undeclared (first use in this function)
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:210:29: error: 'TWEA' undeclared (first use in this function); did you mean 'TWWC'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:210:41: error: 'TWEN' undeclared (first use in this function); did you mean 'TWEA'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:210:53: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:213:65: error: 'TWSTA' undeclared (first use in this function); did you mean 'TWEA'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_writeTo':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:301:7: error: 'TWDR' undeclared (first use in this function); did you mean 'DWDR'?
TWDR = twi_slarw;
^~~~
DWDR
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:306:13: error: 'TWCR' undeclared (first use in this function); did you mean 'TWDR'?
} while(TWCR & _BV(TWWC));
^~~~
TWDR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:306:24: error: 'TWWC' undeclared (first use in this function); did you mean 'TWCR'?
} while(TWCR & _BV(TWWC));
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:307:16: error: 'TWINT' undeclared (first use in this function)
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:307:29: error: 'TWEA' undeclared (first use in this function); did you mean 'TWWC'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:307:41: error: 'TWEN' undeclared (first use in this function); did you mean 'TWEA'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:307:53: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE); // enable INTs, but not START
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:310:65: error: 'TWSTA' undeclared (first use in this function); did you mean 'TWEA'?
TWCR = _BV(TWINT) | _BV(TWEA) | _BV(TWEN) | _BV(TWIE) | _BV(TWSTA); // enable INTs
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_reply':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:5: error: 'TWCR' undeclared (first use in this function); did you mean 'EECR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^~~~
EECR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:16: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:28: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:40: error: 'TWINT' undeclared (first use in this function); did you mean 'TWIE'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:397:53: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_stop':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:3: error: 'TWCR' undeclared (first use in this function); did you mean 'EECR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^~~~
EECR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:14: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:26: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:38: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:50: error: 'TWINT' undeclared (first use in this function); did you mean 'TWIE'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:412:63: error: 'TWSTO' undeclared (first use in this function)
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_releaseBus':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:3: error: 'TWCR' undeclared (first use in this function); did you mean 'EECR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^~~~
EECR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:14: error: 'TWEN' undeclared (first use in this function); did you mean 'TWCR'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:26: error: 'TWIE' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:38: error: 'TWEA' undeclared (first use in this function); did you mean 'TWEN'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:444:50: error: 'TWINT' undeclared (first use in this function); did you mean 'TWIE'?
TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_handleTimeout':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:475:29: error: 'TWBR' undeclared (first use in this function); did you mean 'DWDR'?
uint8_t previous_TWBR = TWBR;
^~~~
DWDR
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:476:29: error: 'TWAR' undeclared (first use in this function); did you mean 'TWBR'?
uint8_t previous_TWAR = TWAR;
^~~~
TWBR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\compat\twi.h:36:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:29:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'TWI_vect':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWSR' undeclared (first use in this function); did you mean 'ACSR'?
switch(TW_STATUS){
^
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS7' undeclared (first use in this function); did you mean 'TWSR'?
switch(TW_STATUS){
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS6' undeclared (first use in this function); did you mean 'TWS7'?
switch(TW_STATUS){
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS5' undeclared (first use in this function); did you mean 'TWS6'?
switch(TW_STATUS){
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS4' undeclared (first use in this function); did you mean 'TWS5'?
switch(TW_STATUS){
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:505:10: error: 'TWS3' undeclared (first use in this function); did you mean 'TWS4'?
switch(TW_STATUS){
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:510:7: error: 'TWDR' undeclared (first use in this function); did you mean 'TWSR'?
TWDR = twi_slarw;
^~~~
TWSR
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:530:10: error: 'TWCR' undeclared (first use in this function); did you mean 'TWDR'?
TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
^~~~
TWDR
In file included from c:\users\rahul\documents\arduinodata\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:26:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:530:21: error: 'TWINT' undeclared (first use in this function)
TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:530:34: error: 'TWSTA' undeclared (first use in this function); did you mean 'TWS3'?
TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
^
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:530:46: error: 'TWEN' undeclared (first use in this function); did you mean 'TWINT'?
TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
When you made your original program I assume you worked from examples to learn how to use wire.h, correct?
Have you checked examples for TinyWireM.h to be sure that you are using it correctly?
I am not sure about this case, but not every library can be directly swapped out. In fact that is the exception rather than the norm.