(.text+0x0): multiple definition of `__vector_11'

Hi, i run into an issue with using two/three libs.

#include <Servo.h>
#include <RH_RF69.h>
#include <RHReliableDatagram.h>
libraries\RadioHead-master\RH_ASK.cpp.o (symbol from plugin): In function `RH_ASK::maxMessageLength()':

(.text+0x0): multiple definition of `__vector_11'

libraries\Servo\avr\Servo.cpp.o (symbol from plugin):(.text+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino Nano.

I am not deep enough into the code, that i can figure out whats the problem. I just see, that there is a multible definition frtom "vector 11". I guess its a timer something...

Is it still possible to use the SERVO an dRF69 lib together? i really need this PWM from the servo.h to control an ESC.

best regards,
Stefan

You could try the ServoTimer2 library.

Looks like it works, thanks!

I am not shure about the ServoTimer2.write instead of the Servo.writeMilliseconds but it should be the same. The .write just calls the .writeMilliseconds. So it should work.

StefanMe12345:
I am not deep enough into the code, that i can figure out whats the problem. I just see, that there is a multible definition frtom "vector 11". I guess its a timer something...

Just a fyi

The libraries that you use want to use the same interrupt. Download the datasheet for your processor and you can find out which interrupt it is.

The interrupt chapter contains a table with the interrupt vectors. Note that that table starts from 1 while the compiler starts counting from 0; so you have to add 1 to the reported vector number and in your case it's vector 12 in the table. In your case it's theTIMER1_COMPA interrupt.

Some libraries allow you to easily modify the used interrupt (e.g. the IRremote library by Ken Shirriff); you can check the source code of the libraries that you use and see if they can easily be hacked. It requires a bit of analysis 8)