I have a simple sketch that compiles and works on my UNO but trying to compile on the tiny core for an ATtiny85 microcontroller fails at delay commands.
The sketch
// High/Low microsecond timings, first value is high timing, the rest alternate low/high
const int hlUsTimings[] = {
380,440,700,800,360,440,720,780,380,440,700,800,360,460,700,780,380,440,700,800,360,800,360,460,720,13000};
const int x = sizeof(hlUsTimings) / sizeof(hlUsTimings[0]);
const int pinChangeDelay = 17; // Value to subtract from numbers to compensate for instruction timings
const int outPin = 3; // Transmitter output pin
const int ledPin = 4; // LED output pin
void setup() {
pinMode(ledPin,OUTPUT);
pinMode(outPin,OUTPUT);
digitalWrite(outPin,LOW);
delayMicroseconds(12000);
}
void loop() {
digitalWrite(ledPin,HIGH);
byte pinState = 0;
for (int y = 0; y < x; y++){
pinState = !pinState;
digitalWrite(outPin,pinState);
int z = hlUsTimings[y] - pinChangeDelay;
delayMicroseconds(z);
}
digitalWrite(ledPin,LOW);
}
The error
In file included from sketch_jul04a.ino:2:
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663:28: error: macro "TC_DDR_Z" requires 4 arguments, but only 1 given
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663:28: error: macro "TC_PIN_Z" requires 4 arguments, but only 1 given
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663:28: error: macro "TC_PORT_Z" requires 4 arguments, but only 1 given
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663:28: error: macro "TC_DIDR_Z" requires 4 arguments, but only 1 given
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663:28: error: macro "TC_DIO_BIT_Z" requires 4 arguments, but only 1 given
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663:28: error: macro "TC_DIO_TIMER_Z" requires 4 arguments, but only 1 given
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663:28: error: macro "TC_DIO_CHANNEL_Z" requires 4 arguments, but only 1 given
In file included from sketch_jul04a.ino:2:
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663: error: 'TC_DDR_Z' was not declared in this scope
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663: error: 'TC_PIN_Z' was not declared in this scope
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663: error: 'TC_PORT_Z' was not declared in this scope
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663: error: 'TC_DIDR_Z' was not declared in this scope
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663: error: 'TC_DIO_BIT_Z' was not declared in this scope
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663: error: 'TC_DIO_TIMER_Z' was not declared in this scope
D:\Shared_arduino-1.0.5_Tiny\hardware\arduino\cores\tiny/Arduino.h:663: error: 'TC_DIO_CHANNEL_Z' was not declared in this scope
sketch_jul04a.ino: In function 'void setup()':
sketch_jul04a:14: error: 'delayMicroseconds' was not declared in this scope
sketch_jul04a.ino: In function 'void loop()':
sketch_jul04a:24: error: 'delayMicroseconds' was not declared in this scope
Is delay() & delayMicroseconds() not supported on tiny core?