LabVIEW Interface for Arduino Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

LIFA_base_2012_Build _79 Compilation Error

Hi,

I am in the process of interfacing LabView to my Arduino Uno to LabView 2010. I downloaded and installed LabView Interface for Arduino v2.2.0.79 and the LIFA_base.ino was not in the installed examples folder. Per a previous post I downloaded the zipped base file LIFA_Base_2012_Build_79, opened LIFA_base.ino in Arduino 1.0.3. I get the following compilation errors:

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::distanceToGo()':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:72: multiple definition of `AccelStepper::distanceToGo()'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:72: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::targetPosition()':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:77: multiple definition of `AccelStepper::targetPosition()'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:77: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::currentPosition()':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:82: multiple definition of `AccelStepper::currentPosition()'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:82: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:204: multiple definition of `AccelStepper::AccelStepper(void (*)(), void (*)())'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:204: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:204: multiple definition of `AccelStepper::AccelStepper(void (*)(), void (*)())'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:204: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::setSpeed(float)':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:236: multiple definition of `AccelStepper::setSpeed(float)'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:236: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::computeNewSpeed()':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:94: multiple definition of `AccelStepper::computeNewSpeed()'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:94: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::setAcceleration(float)':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:230: multiple definition of `AccelStepper::setAcceleration(float)'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:230: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::setMaxSpeed(float)':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:224: multiple definition of `AccelStepper::setMaxSpeed(float)'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:224: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::setCurrentPosition(long)':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:88: multiple definition of `AccelStepper::setCurrentPosition(long)'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:88: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::moveTo(long)':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:14: multiple definition of `AccelStepper::moveTo(long)'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:14: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::move(long)':

C:\Users\a\Documents\Arduino\libraries\LVIFA_Base/AccelStepper.cpp:20: multiple definition of `AccelStepper::move(long)'

AccelStepper.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/AccelStepper.cpp:20: first defined here

LVIFA_Base\AccelStepper.cpp.o: In function `AccelStepper::speed()':

C:\Users\a\Documents\Arduino\libraries\LIFA_Base/IRremote.cpp:63: multiple definition of `IRsend::sendNEC(unsigned long, int)'

IRremote.cpp.o:C:\Users\a\AppData\Local\Temp\build6299050924682727687.tmp/IRremote.cpp:63: first defined here

I also tried installing 2.1.1.69 as recommended by another post. I tried using this with LVIFA_Base_2.1.1.69 also downloaded via a discussion post .zip file. Using the previous version of the software results in the same compilaton error. My Uno otherwise works.

Has anyone seen anything like this before? Thoughts on how to fix it?

Thanks

0 Kudos
Message 1 of 5
(8,398 Views)

I was just going through this and I will tell you how I so far resolved this. I am however running the IDE Arduino 1.0.1 and I see you have a later version of 1.0.3, this may or may not make a difference. Also I am running LABVIEW 2011. But maybe there might be a piece of your puzzle in all of this..

Just as a reference for those browsing this post looking for answers.... I will summarize my entire process....af33 you may want to skip to end where it says "To summarize then...."

First things first, there is this constant reference to a LIFA_ Base.pde file in the set documentation from LABVIEW. This was my first obstacle. You don't find this anywhere...instead you find an LIFA_BASE.ino of which you need to compile yourself in Arduino IDE. This was not clear and I can tell by all the discussion boards with "Where is LIFA_Base.pde?" that I am not alone in this confusion.

Okay. So I figure out that I need to compile the LIFA_Base ino file in Arduino. When I try the one that VPM installed in Labview for me it does not compile. I get a whole lot of errors but many of them seem to mention multiple defintions of AccelStepper objects. I realized that the LIFA comes with a version of AccelStepper in it and it may be conflicting with the existing version of AccelStepper that I put in Arduino's libraries folder myself. So my first move was to delete that. ( made a copy of it however so I could put it back if needed)

Next I tried to open the LIFA_Base.ino file and compile it and once again a long list of errors.

Then after a lot of searching I came to the zip file posted by Sammy K that is mentioned in this post. LIFA_Base_2012_Build_79 . So I got it and opened the LIFA_Base.ino from Arduino. Still many errors.

Lastly I thought that maybe I had to actually put LIFA_Base_2012_Build_79 into the Firmware folder of the LabView Interface for Arduino located in vi lib folder. So made a copy of the existing one just in case I needed to put it back. Then I extracted the zip file LIFA_Base_2012_Build_79  to the Firmware folder. ( this was located at C:\Program Files (x86)\National Instruments\LabVIEW 2011\vi.lib\LabVIEW Interface for Arduino\Firmware )

I then went back into Arduino IDE and opened the new version of LABVIEW_Base.ino compiled it and VIOLA!! no compilation errors to my surprise.

To summarize then....you may want to remove the exisiting LIFA_Base folder in your Firmware folder for the LABVIEW Interface for Arduino in LABVIEW program files. Extract the new files from LIFA_Base_2012_Build_79 directly into the Firmware folder as the replacement. (Again the location of this on my system was: C:\Program Files (x86)\National Instruments\LabVIEW 2011\vi.lib\LabVIEW Interface for Arduino\Firmware )  Then open the LABVIEW_Base.ino file from within Ardunio IDE and try to verify it.

Also try removing multiple versions of the same libraries in Arduinos libraries folder and the Firmware folder such as AccelStepper.

That solved my issues with compilation.....I hope it does the same for you.

Best of Luck,

tyroneaphone

0 Kudos
Message 2 of 5
(3,509 Views)

Thanks for this in depth answer. This turned out to be a problem in Arduino rather than in the Labview firmware. I redirected my sketchbook folder to:

C:\Users\a\Documents\Arduino\libraries

and copied the LIFA_base folder from:

LabView2010\vi.lib\LabVIEW Interface for Arduino\Firmware

into the Arduino libraries folder. Now I can compile and upload the Labview interface 2.2.0.79 using Arduino 1.0.3 no problem!

I am a newbie at this, but at least I see some progress!

Thank you again

Message 3 of 5
(3,509 Views)

install VIPM first and then install labview interface for Arduino   driver.....(possible only with internet connection)...then u will see LIFA_base folder..hope this will help u

0 Kudos
Message 4 of 5
(3,509 Views)

make sure that the arduino file LabVIEWInterface is in the Lifa_Base folder.

0 Kudos
Message 5 of 5
(3,509 Views)