I would have thought this code by now would have been used and compiled by many users, yet all I get is a screen full of errors, this is the screen dump, can anyone help with why?
Arduino: 1.6.9 (Windows 10), Board: "Arduino/Genuino Uno"
In file included from sketch\libraries\TimerFive\TimerFive.h:16:0,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp: In function 'void TIMER5_OVF_vect()':
sketch\libraries\TimerFive\TimerFive.cpp:20:5: warning: 'TIMER5_OVF_vect' appears to be a misspelled signal handler [enabled by default]
ISR(TIMER5_OVF_vect) // interrupt service routine that wraps a user defined function supplied by attachInterrupt
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::initialize(long int)':
sketch\libraries\TimerFive\TimerFive.cpp:27:3: error: 'TCCR5A' was not declared in this scope
TCCR5A = 0; // clear control register A
^
sketch\libraries\TimerFive\TimerFive.cpp:28:3: error: 'TCCR5B' was not declared in this scope
TCCR5B = _BV(WGM53); // set mode as phase and frequency correct pwm, stop the timer
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:28:16: error: 'WGM53' was not declared in this scope
TCCR5B = _BV(WGM53); // set mode as phase and frequency correct pwm, stop the timer
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::setPeriod(long int)':
sketch\libraries\TimerFive\TimerFive.cpp:35:62: error: 'CS50' was not declared in this scope
if(cycles < RESOLUTION) clockSelectBits = _BV(CS50); // no prescale, full xtal
sketch\libraries\TimerFive\TimerFive.cpp:36:62: error: 'CS51' was not declared in this scope
else if((cycles >>= 3) < RESOLUTION) clockSelectBits = _BV(CS51); // prescale by /8
sketch\libraries\TimerFive\TimerFive.cpp:37:62: error: 'CS51' was not declared in this scope
else if((cycles >>= 3) < RESOLUTION) clockSelectBits = _BV(CS51) | _BV(CS50); // prescale by /64
sketch\libraries\TimerFive\TimerFive.cpp:37:74: error: 'CS50' was not declared in this scope
else if((cycles >>= 3) < RESOLUTION) clockSelectBits = _BV(CS51) | _BV(CS50); // prescale by /64
sketch\libraries\TimerFive\TimerFive.cpp:38:62: error: 'CS52' was not declared in this scope
else if((cycles >>= 2) < RESOLUTION) clockSelectBits = _BV(CS52); // prescale by /256
sketch\libraries\TimerFive\TimerFive.cpp:39:62: error: 'CS52' was not declared in this scope
else if((cycles >>= 2) < RESOLUTION) clockSelectBits = _BV(CS52) | _BV(CS50); // prescale by /1024
sketch\libraries\TimerFive\TimerFive.cpp:39:74: error: 'CS50' was not declared in this scope
else if((cycles >>= 2) < RESOLUTION) clockSelectBits = _BV(CS52) | _BV(CS50); // prescale by /1024
sketch\libraries\TimerFive\TimerFive.cpp:40:62: error: 'CS52' was not declared in this scope
else cycles = RESOLUTION - 1, clockSelectBits = _BV(CS52) | _BV(CS50); // request was out of bounds, set as maximum
sketch\libraries\TimerFive\TimerFive.cpp:40:74: error: 'CS50' was not declared in this scope
else cycles = RESOLUTION - 1, clockSelectBits = _BV(CS52) | _BV(CS50); // request was out of bounds, set as maximum
sketch\libraries\TimerFive\TimerFive.cpp:41:3: error: 'ICR5' was not declared in this scope
ICR5 = pwmPeriod = cycles; // ICR1 is TOP in p & f correct pwm mode
^
sketch\libraries\TimerFive\TimerFive.cpp:42:3: error: 'TCCR5B' was not declared in this scope
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52));
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:42:19: error: 'CS50' was not declared in this scope
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52));
sketch\libraries\TimerFive\TimerFive.cpp:42:31: error: 'CS51' was not declared in this scope
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52));
sketch\libraries\TimerFive\TimerFive.cpp:42:43: error: 'CS52' was not declared in this scope
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52));
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::setPwmDuty(char, int)':
sketch\libraries\TimerFive\TimerFive.cpp:51:17: error: 'OCR5A' was not declared in this scope
if(pin == 46) OCR5A = dutyCycle;
sketch\libraries\TimerFive\TimerFive.cpp:52:17: error: 'OCR5B' was not declared in this scope
if(pin == 45) OCR5B = dutyCycle;
sketch\libraries\TimerFive\TimerFive.cpp:53:17: error: 'OCR5C' was not declared in this scope
if(pin == 44) OCR5C = dutyCycle;
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::pwm(char, int, long int)':
sketch\libraries\TimerFive\TimerFive.cpp:62:19: error: 'DDRE' was not declared in this scope
if(pin == 46) { DDRE |= _BV(PORTL3); TCCR5A |= _BV(COM5A1); }
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:62:31: error: 'PORTL3' was not declared in this scope
if(pin == 46) { DDRE |= _BV(PORTL3); TCCR5A |= _BV(COM5A1); }
sketch\libraries\TimerFive\TimerFive.cpp:62:40: error: 'TCCR5A' was not declared in this scope
if(pin == 46) { DDRE |= _BV(PORTL3); TCCR5A |= _BV(COM5A1); }
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:62:54: error: 'COM5A1' was not declared in this scope
if(pin == 46) { DDRE |= _BV(PORTL3); TCCR5A |= _BV(COM5A1); }
sketch\libraries\TimerFive\TimerFive.cpp:63:19: error: 'DDRE' was not declared in this scope
if(pin == 45) { DDRE |= _BV(PORTL4); TCCR5A |= _BV(COM5B1); }
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:63:31: error: 'PORTL4' was not declared in this scope
if(pin == 45) { DDRE |= _BV(PORTL4); TCCR5A |= _BV(COM5B1); }
sketch\libraries\TimerFive\TimerFive.cpp:63:40: error: 'TCCR5A' was not declared in this scope
if(pin == 45) { DDRE |= _BV(PORTL4); TCCR5A |= _BV(COM5B1); }
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:63:54: error: 'COM5B1' was not declared in this scope
if(pin == 45) { DDRE |= _BV(PORTL4); TCCR5A |= _BV(COM5B1); }
sketch\libraries\TimerFive\TimerFive.cpp:64:19: error: 'DDRE' was not declared in this scope
if(pin == 44) { DDRE |= _BV(PORTL5); TCCR5A |= _BV(COM5C1); }
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:64:31: error: 'PORTL5' was not declared in this scope
if(pin == 44) { DDRE |= _BV(PORTL5); TCCR5A |= _BV(COM5C1); }
sketch\libraries\TimerFive\TimerFive.cpp:64:40: error: 'TCCR5A' was not declared in this scope
if(pin == 44) { DDRE |= _BV(PORTL5); TCCR5A |= _BV(COM5C1); }
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:64:54: error: 'COM5C1' was not declared in this scope
if(pin == 44) { DDRE |= _BV(PORTL5); TCCR5A |= _BV(COM5C1); }
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::disablePwm(char)':
sketch\libraries\TimerFive\TimerFive.cpp:71:17: error: 'TCCR5A' was not declared in this scope
if(pin == 46) TCCR5A &= ~_BV(COM5A1); // clear the bit that enables pwm on PE3
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:71:32: error: 'COM5A1' was not declared in this scope
if(pin == 46) TCCR5A &= ~_BV(COM5A1); // clear the bit that enables pwm on PE3
sketch\libraries\TimerFive\TimerFive.cpp:72:17: error: 'TCCR5A' was not declared in this scope
if(pin == 45) TCCR5A &= ~_BV(COM5B1); // clear the bit that enables pwm on PE4
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:72:32: error: 'COM5B1' was not declared in this scope
if(pin == 45) TCCR5A &= ~_BV(COM5B1); // clear the bit that enables pwm on PE4
sketch\libraries\TimerFive\TimerFive.cpp:73:17: error: 'TCCR5A' was not declared in this scope
if(pin == 44) TCCR5A &= ~_BV(COM5C1); // clear the bit that enables pwm on PE5
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:73:32: error: 'COM5C1' was not declared in this scope
if(pin == 44) TCCR5A &= ~_BV(COM5C1); // clear the bit that enables pwm on PE5
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::attachInterrupt(void (*)(), long int)':
sketch\libraries\TimerFive\TimerFive.cpp:80:3: error: 'TIMSK5' was not declared in this scope
TIMSK5 = _BV(TOIE5); // sets the timer overflow interrupt enable bit
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:80:16: error: 'TOIE5' was not declared in this scope
TIMSK5 = _BV(TOIE5); // sets the timer overflow interrupt enable bit
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::detachInterrupt()':
sketch\libraries\TimerFive\TimerFive.cpp:87:3: error: 'TIMSK5' was not declared in this scope
TIMSK5 &= ~_BV(TOIE5); // clears the timer overflow interrupt enable bit
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:87:18: error: 'TOIE5' was not declared in this scope
TIMSK5 &= ~_BV(TOIE5); // clears the timer overflow interrupt enable bit
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::start()':
sketch\libraries\TimerFive\TimerFive.cpp:92:3: error: 'TCCR5B' was not declared in this scope
TCCR5B |= clockSelectBits;
^
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::stop()':
sketch\libraries\TimerFive\TimerFive.cpp:97:3: error: 'TCCR5B' was not declared in this scope
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52)); // clears all clock selects bits
^
In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,
from sketch\libraries\TimerFive\TimerFive.h:15,
from sketch\libraries\TimerFive\TimerFive.cpp:16:
sketch\libraries\TimerFive\TimerFive.cpp:97:19: error: 'CS50' was not declared in this scope
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52)); // clears all clock selects bits
sketch\libraries\TimerFive\TimerFive.cpp:97:31: error: 'CS51' was not declared in this scope
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52)); // clears all clock selects bits
sketch\libraries\TimerFive\TimerFive.cpp:97:43: error: 'CS52' was not declared in this scope
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52)); // clears all clock selects bits
sketch\libraries\TimerFive\TimerFive.cpp: In member function 'void TimerFive::restart()':
sketch\libraries\TimerFive\TimerFive.cpp:102:3: error: 'TCNT5' was not declared in this scope
TCNT5 = 0;
^
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.