Hi I'm new to Arduino and I'm having problems with VarSpeedServo

Here's my error message's,

C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp: In function 'void TIMER1_COMPA_vect()':
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:160:31: error: 'TCNT1' was not declared in this scope
   handle_interrupts(_timer1, &TCNT1, &OCR1A);
                               ^~~~~
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:160:31: note: suggested alternative: 'TCB1'
   handle_interrupts(_timer1, &TCNT1, &OCR1A);
                               ^~~~~
                               TCB1
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:160:39: error: 'OCR1A' was not declared in this scope
   handle_interrupts(_timer1, &TCNT1, &OCR1A);
                                       ^~~~~
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp: In function 'void initISR(timer16_Sequence_t)':
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:206:5: error: 'TCCR1A' was not declared in this scope
     TCCR1A = 0;             // normal counting mode
     ^~~~~~
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:206:5: note: suggested alternative: 'TCB1'
     TCCR1A = 0;             // normal counting mode
     ^~~~~~
     TCB1
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:207:5: error: 'TCCR1B' was not declared in this scope
     TCCR1B = _BV(CS11);     // set prescaler of 8
     ^~~~~~
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:207:5: note: suggested alternative: 'TCB1'
     TCCR1B = _BV(CS11);     // set prescaler of 8
     ^~~~~~
     TCB1
In file included from c:\users\sirac\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\io.h:99:0,
                 from c:\users\sirac\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\interrupt.h:38,
                 from C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:71:
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:207:18: error: 'CS11' was not declared in this scope
     TCCR1B = _BV(CS11);     // set prescaler of 8
                  ^
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:207:18: note: suggested alternative: 'B111'
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:208:5: error: 'TCNT1' was not declared in this scope
     TCNT1 = 0;              // clear the timer count
     ^~~~~
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:208:5: note: suggested alternative: 'TCB1'
     TCNT1 = 0;              // clear the timer count
     ^~~~~
     TCB1
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:214:5: error: 'TIFR1' was not declared in this scope
     TIFR1 |= _BV(OCF1A);     // clear any pending interrupts;
     ^~~~~
In file included from c:\users\sirac\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\io.h:99:0,
                 from c:\users\sirac\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\interrupt.h:38,
                 from C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:71:
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:214:18: error: 'OCF1A' was not declared in this scope
     TIFR1 |= _BV(OCF1A);     // clear any pending interrupts;
                  ^
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:215:5: error: 'TIMSK1' was not declared in this scope
     TIMSK1 |=  _BV(OCIE1A) ; // enable the output compare interrupt
     ^~~~~~
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:215:5: note: suggested alternative: 'TIMERB1'
     TIMSK1 |=  _BV(OCIE1A) ; // enable the output compare interrupt
     ^~~~~~
     TIMERB1
In file included from c:\users\sirac\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\io.h:99:0,
                 from c:\users\sirac\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include\avr\interrupt.h:38,
                 from C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:71:
C:\Users\sirac\Documents\Arduino\libraries\VarSpeedServo-master\VarSpeedServo.cpp:215:20: error: 'OCIE1A' was not declared in this scope
     TIMSK1 |=  _BV(OCIE1A) ; // enable the output compare interrupt
                    ^

exit status 1

Compilation error: exit status 1

Welcome to the forum

Which Arduino board are you using and which board have you got selected in the IDE ?

Please post your code

Please follow the advice given in the link below when posting code, in particular the section entitled 'Posting code and common code problems'

Use code tags (the </> icon above the compose window) to make it easier to read and copy for examination

Im using a Arduino Nano Every

#include <VarSpeedServo.h>

VarSpeedServo servo_3;
VarSpeedServo servo_5;

void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
servo_3.attach(3);
servo_5.attach(5);
}

void loop() {
if(digitalRead(2) == 1) {
servo_3.write(135, 85, true);
servo_5.write(45, 85, true);
delay(1500);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
if(digitalRead(2) == 0) {
servo_3.write(20, 67, true);
servo_5.write(160, 67, true);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
}
}


Did you deliberately ignore the request to use code tags when posting your code ?

That is the problem because that board uses a processor that does not have the registers used by the library

See this note

NOTE: This library is no longer maintained due to hardware dependencies and wide variety of devices to support.

in GitHub - netlabtoolkit/VarSpeedServo: Arduino library for servos that extends the standard servo.h library with the ability to set speed, and wait for position to complete

no i was having some trouble i will fix it

Thanks for your help

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.