LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW to Arduino Compiler Questions

Solved!
Go to solution

Hello, as I am sure many of us are aware, TSXperts has created (years ago) a LabVIEW compiler with the target being an Arduino.  I've tried to contact them regarding some questions and have had no luck with responses.  Here's to hoping the LabVIEW community can help me out (by the way, I haven't purchased yet, I wish to but need these answers first - also I'm a heavy LabVIEW user, and minimal microprocessor experience):

 

- TSXperts have specified a number of Arduino boards that they've approved.  Because the processor is really the thing anyone cares about, can I still use the processor on a custom board?  What would be required to make this work?  I know I still need the Arduino IDE, but what about the processor.  Do I need to do something to it before hand?

 

- Is a BIN file created from all of this?  How do I distribute what I flash onto the device?   If I wanted to mass produce something, do I need a specialized JTAG or will any generic work? 

0 Kudos
Message 1 of 3
(3,514 Views)
Solution
Accepted by topic author DailyDose

Have you had any luck on their forum? http://www.geverywhere.com/forum/arduino-compatible-compiler-for-labview/

 

I've dabbled with Arduino and broader Atmel microcontroller programming, though haven't had any experience with the LabVIEW Arduino compiler, so take this post with a grain or two of salt.

 

I'd hazard a guess that the compiled code should work on any equivalent microcontroller based board. There's nothing particularly special about Arduino hardware - it's the software environment that makes it so simple to pickup and use. For example the Uno uses an ATmega328, so any dev board using that chip, or even just the chip itself should in theory be programmable. For example I have written code sketches in the Arduino IDE and been able to flash the compiled result direct to a standalone microcontroller.

 

The chips on the Arduino boards include a pre-installed bootloader to make uploading new sketches simpler, which it sounds like the LabVIEW Arduino compiler leverages to upload a compiled sketch. You can flash this bootloader yourself, though micros without native USB support also need separate USB-serial interface hardware. Past iterations of Arduino boards used an FTDI chip to do this, while newer ones include a second USB based Atmel chip pre-programmed to act as a USB-serial converter.

 

The LabVIEW Arduino compiler must be generating some sort of bin file (or more likely some intermediate code for the Arduino compiler, which then spits out an Intel format hex file). The Arduino compiler will place the hex file in a temp location on disk which you can find with a bit of digging around. If the hex file isn't made accessible during the compile/upload process, you can always dump the contents of the microcontroller. This can then be flashed to new microcontrollers.

 

Flashing/dumping Atmel microcontrollers can be done in a number of ways. I've primarily used a second Arduino programmed with the ArduinoISP sketch to act as a programmer, though any ISP programmer should work. This can then be used with avrdude where you can set fuses, flash/dump memory, etc. The ArduinoISP board I use also has a shield with a 40-pin DIP ZIF socket for quickly inserting and flashing standalone chips, and an ICSP header + cable for programming boards with ICSP headers.

 

I hope this offered a bit of help, and wasn't too much to take in. If you need further Atmel/AVR info, AVR Freaks is a great resource.

 

Edit: OK, after typing all that I've had a quick play with the compiler evaluation, and it's as I suspected in terms of hex file output. The file(s) are all named temp.ino.*, located in a random subfolder within the %temp% folder. This includes the intermediate C++ code, hex file, and EEPROM file. I'd be fairly confident flashing the hex and EEPROM direct to a microcontroller would work.




Certified LabVIEW Architect
Unless otherwise stated, all code snippets and examples provided
by me are "as is", and are free to use and modify without attribution.
Message 2 of 3
(3,456 Views)

This was extremely helpful!  You the ma.... Developer!  😄

0 Kudos
Message 3 of 3
(3,400 Views)