Go Down

Topic: bridge and virtualwire (Read 1 time) previous topic - next topic

ProfePaco

It seems that bridge.h and virtualwire.h are not compatibles.

At least is what I understand from the errors:


src\Bridge.cpp.o: In function `crc16_update(unsigned int, unsigned char)':
C:\Users\Paco\Documents\Arduino\libraries\VirtualWire/util/crc16.h:50: multiple definition of `crc16_update(unsigned int, unsigned char)'
VirtualWire\VirtualWire.cpp.o:C:\Users\Paco\Documents\Arduino\libraries\VirtualWire/util/crc16.h:50: first defined here
src\Bridge.cpp.o: In function `crc_xmodem_update(unsigned int, unsigned char)':
C:\Users\Paco\Documents\Arduino\libraries\VirtualWire/util/crc16.h:66: multiple definition of `crc_xmodem_update(unsigned int, unsigned char)'
VirtualWire\VirtualWire.cpp.o:C:\Users\Paco\Documents\Arduino\libraries\VirtualWire/util/crc16.h:66: first defined here
src\Bridge.cpp.o: In function `_crc_ccitt_update':
C:\Users\Paco\Documents\Arduino\libraries\VirtualWire/util/crc16.h:79: multiple definition of `_crc_ccitt_update(unsigned int, unsigned char)'
VirtualWire\VirtualWire.cpp.o:C:\Users\Paco\Documents\Arduino\libraries\VirtualWire/util/crc16.h:79: first defined here
src\Bridge.cpp.o: In function `_crc_ibutton_update(unsigned char, unsigned char)':
C:\Users\Paco\Documents\Arduino\libraries\VirtualWire/util/crc16.h:90: multiple definition of `_crc_ibutton_update(unsigned char, unsigned char)'
VirtualWire\VirtualWire.cpp.o:C:\Users\Paco\Documents\Arduino\libraries\VirtualWire/util/crc16.h:90: first defined here



Am I right. Cannot use virtualwire and bridge at the same time?

Thanks in advance






ajitkommini

I'm facing similar problems. I need both Bridge and VirtualWire. Did you find any solution to this?

ProfePaco

#2
Mar 06, 2014, 12:12 pm Last Edit: Mar 06, 2014, 12:14 pm by ProfePaco Reason: 1
Finally I communicate Yun with a Nano, and Nano makes use of virtualwire.

Even communicating Yun with Nano was difficult. Fist, you cannot use TX, RX pins.

Second, I had problems with using other pins for serial communication... I do not remember the name of the library now...newsoft?... but it did not work for me.

So I decided to communicate Yun and Nano in the following way, using wires:

for example,
* pin 4 is for triggering (HIGH means that a message is sent to the Nano). When Nano reads pin 4 as HIGH, it knows a message is ready.
* pins 5,6 and 7 send the message. For example HIGH, HIGH, LOW. With 3 pins you have 2^3 possible messages.

So in this example you need 4 wires to communicate Yun and Nano.

This is the pseudo code for Yun

Yun, To send a message:
Pin 4 HIGH
Pin 5 HIGH, pin 6 HIGH, pin 7 LOW
delay(100)
pin4 LOW

pseudocode for Nano
loop()
{
if pin4 == HIGH read_message()
delay(50)
}

void read_message()
if pin5 = HIGH and pin6 = HIGH and pin7 = LOW do something (use virtualwire)
delay(80)

Cristo Bolaños

There is an issue because VirtualWire include a copy of file util/crc16.h (it's included on the Arduino beta enviroment with avr-libc).
You can fix it by removing your libraries/VirtualWire/util/crc16.h file
Once you remove it, your code will compile :)

AndyPhil

Great suggestion!  It fixed my problem.  Thanks for sharing.

_Alain_

@jessemonroy650

What exactly do we have to write in the Sketch ?

Kind regards
Alain

jessemonroy650

@jessemonroy650

What exactly do we have to write in the Sketch ?

Kind regards
Alain
I don't recall writing this.
I am deleting the answer.

Jesse

Dosis

Hola
también me he topado con ese problema, al utilizar arduino yun y el modulo de radiofrecuencia.
la solucion esta en editar los archivos de la librería VirtualWire.

En la carpeta de la librería VirtualWire editas el archivo VirtualWire.cpp en la parte que dice:

#include <util/crc16.h>

solo cambias el nombre del archivo que esta en la carpeta util dentro de la librería.
Por ejomplo yo lo hice así.

#include <util/crc162.h>

y el nombre del archivo que esta en la carpeta util crc16.h lo modifique a crc162.h

con esto debe esta funcionando la libreria sin conflictos con la Bridge.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy