New Arduino Eclipse Plugin V2.2 and Arduino Eclipse IDE

Status
Not open for further replies.

Headroom

Well-known member
Jantje has released a new version of the Arduino Eclipse Plugin. More info and some sparse installation information can be found HERE

I wrote some Mac instructions for the previous version 2.1.0.4 that mostly still apply. There is very little Mac specific about it!

The difficulty was/is that that Teensyduino does not yet support Arduino 1.5.x but the Eclipse Plugin requires 1.5.2 or 1.5.5 (NOT 1.5.4!!!). Jantje compiled a Teensy Extension File from the files/folder gathered from a Teensyduino 1.14 installation into Arduino 1.0.4. As time progressed Arduino the Arduino IDE was updated and Teensyduino raced ahead. the Extension File was hard to maintain and support. Essentially, it did not happen ;-)

As I provided the mac part for the initial extension file file I was aware of which files were needed and with Jantje's permission I have written INSTRUCTIONS that will allow a user to generate their own Extension File and allow to keep up-to-date with the latest Teensy developments. In fact it is rather simple!

If you have installed the previous version of the plugin and want to stick with it, then just update to the newest plugin. However, the Arduino Eclipse IDE bundles the newest version of Eclispe Kepler with the Plugin and is dead simple to install. Download, unpack and check/correct the preference settings and you're good to go. I had stuff compiling for an Uno and running on it in 5minutes.
All my projects were recognized and my Teensy 3 projects compiled and were running less than 10 minutes later.
 
I've written another set of installation instructions specifically for the new version 2.2 of the plugin and for the Arduino Eclipse IDE HERE
 
don't shoot me... I am not stupid, but confused:
The topic seems to be creating a work-around so that Eclipse Juno (and newer) can be compatible with Arduino 1.0.5, that being the older but compatible version that Teensy 3.x can use. I have an Eclipse Juno working with Arduino 1.5.2, for use with Teensy 2.x. But as I understand, that cannot be used with Teensy 3.x, and the author of the plugin hasn't addressed this. Hence, the instructions below from post #3 try to explain how to work-around.

This forum thread's post #3, the link takes me to
http://trippylighting.com/teensy-ar...ino-eclipse-ide-and-plugin-v2-2-installation/
.
Now does this:
Should you have worked with the previous version of the plugin but would like to upgrade to Eclipse Kepler, the Arduino Eclipse IDE and the Plugin V2.2 are compatible with projects created to maintained with Plugin V2.1.0.4.
really mean "If you have not yet, and do wish to upgrade to the Kepler version of Eclipse you may do so per the instructions at URLxxx. The new Plugin V2.2 for Teensyduino with Teeensy 2.x and Teensy 3.x will be compatible."

Then this isn't clear to dummy:
If you want to program Teensy ["use" ?] boards you will possibly already have Arduino 1.0.5 and Teensyduino installed and will need to create a Teensy Extension file as described HERE. Otherwise please skip this step.
does this mean "Assuming Ardino 1.0.5 and Teensyduino are installed, you will need to create a Teensy Extension file as described HERE". Yes?

Struggling on that page, being a non-MAC-literate dummy:
Step 2, for windows, hmmm. If I installed Arduino and Teensyduino in C:\Arduino, that's where I'd find
Step 3 says
Download and install Arduino 1.0.5 and the latest version Teensyduino which is RC 18.2 at the time of this writing.
but step 1 previously said:
Install Arduino 1.0.5 and the latest version Teensyduino which is RC 18.2 at the time of this writing.
OK. Ignore step 3?
step 4. Once installed, navigate to Applications folder, right click on the app icon and select “Show Package Contents” and navigate to:
Application folder is, I suppose, MAC-specific (MAC-illiterate). As is “Show Package Contents” (whazzat mean in a windows OS?).
Copy the “cores” folder and the contents of the “tools” folder as shown in the mage below to the folders into the locations into the”hardware” folder you created earlier in you private Arduino folder.
In windows, I have Teensy projects in various folders, on the desktop (which is a folder), and other places. I just move these folders as I please, as they have only projects, not config items. I don't use a single "my documents" or some such. The only global/universal place might be C:\Arduino\... Would that be the place to do what step 5 says?

Step 6. (ignore, assume it's blank but doesn't matter).

Step 7.
Download the boards.txt and the platform.txt and save them into the “hardware -> teensy -> all” folder so you end up with a file structure as shown below.
Download from where? Because I installed Teensyduino, I already have C:\Arduino\hardware\teensy\boards.txt". I don't find "platform.txt" in the tree of folders starting with "C:\arduino" which is 1.0.5.

Confusing to only me is: What is V2.2? It's not a downloaded plugin as that version isn't in the download plugin list.

time for a Guinness stout about now.
Shoot the dummy.
 
Last edited:
The topic seems to be creating a work-around so that Eclipse Juno (and newer) can be compatible with Arduino 1.0.5,
Yes, exactly! I may just add that sentence to the Instructions.
I have an Eclipse Juno working with Arduino 1.5.2, for use with Teensy 2.x. But as I understand, that cannot be used with Teensy 3.x, and the author of the plugin hasn't addressed this.
Incorrect. It does work with Teensy3 and the Author has addressed this. The instructions for that version explain how to do this and provided a download link for the Teensy Extension File that includes all the necessary files to work with Teensy boards including Teensy 3.

The new Plugin V2.2 for Teensyduino with Teeensy 2.x and Teensy 3.x will be compatible."
Yes

does this mean "Assuming Ardino 1.0.5 and Teensyduino are installed, you will need to create a Teensy Extension file as described HERE". Yes?
Yes. I am not exactly sure why I phrased it that way. If you want to work with Teensy you'll have to create the file structure I call the Teensy Extension File, regardless of what you have installed or not. It is just less work if you already have Arduino 1.0.5 and Teensyduino installed. You'll need it to create the Extension File.
...Step 3 says...but step 1 previously said:...OK. Ignore step 3?
Well...you tell us at the beginning of the email not to shoot you but at the end of the email to go ahead and shoot you. You tell us you're not stupid ( I don't think you are and hope I have never suggest that ;-) and then call yourselves a dummy three times in that one post. So in this particular case I'd suggest to install Arduino 1.0.5 and Teensyduino RC 18.2 twice? At least! For good measure just to be sure you have really installed it. But, yeah, everyone else can skip step three.
Just kidding of course ;-)

On to the folders. Yes, I know that some of this is mac specific. There are no "package contents" of that nature on Windows. On a mac, when you install an application it's in that special packet. That packet contains all the files specific to that application. Double clicking it starts the application. Deleting the package deletes the complete application and all application specific files. To registry cleanup necessary. Pretty sweet actually!

Actually it really does not matter where exactly you put your Arduino libraries, or where you put that folder structure (Teesny Extension File) that has " hardware" as the root. In step 10 of the instruction, when you set your preferences, you just need to let the plugin know where you placed these folders so it can find them.

Download from where? Because I installed Teensyduino, I already have C:\Arduino\hardware\teensy\boards.txt". I don't find "platform.txt" in the tree of folders starting with "C:\arduino" which is 1.0.5.
correct! there is no " platform.txt" in Arduino 1.0.5. In the instructions these two file names are highlighted in blue, meaning they are links to these files. This works the same way on this forum. Clicking on them either downloads them or opens a text window and you may have to copy/paste them into a text editor and save with the correct file name.

Confusing to only me is: What is V2.2? It's not a downloaded plugin as that version isn't in the download plugin list.
hmmm....I actually have not checked that out. I don't use eclipse for anything else but for Teensy programming. I just went ahead installed the new Arduino Eclipse IDE. I'll test it and report back. Perhaps try the Arduino Eclipse IDE in the meantime.

Let me say at the end that I really appreciate your feedback! These blog pages see an increasing number of visitors, currently about 30 a day, of which about 20-30% make it to the second step " first steps with the blink sketch". There is very, very little feedback. People are gladly are taking but are too lazy to contribute.
Neither the author, nor I are good people to write these instructions as we are too involved in the tool to still be able to put ourselves in the shoes of a newcomer and understand and anticipate what struggles they may encounter. As such feedback is very necessary to make exactly the concise insructions that we all would like to have.
 
thanks for the thoughtful response.
I don't think this clarifies enough for success though.
Please know that I don't mean to be questioning/challenging, but rather just trying to get the big picture correct, then the details will make sense...

the second response leads to head-scratching: that response says: "Incorrect. It [Arduino 1.5.2] does work with Teensy3 and the Author has addressed this."
Then why is a Teensy Extension file needed? (indeed, I don't know what a Teensy Extension File is, nor its purpose, nor how it relates to the plug-in.

Then on to the last response: "hmm.... I have not checked that out...". More confusion on what is "V2.2"? It's not a new plugin version to be downloaded. It's not (?) the Teensy Extension File. So... ?
 
In order to work with Teensy3.x boards you must use what you described as a workaround with any version of plugin. You must use the Teesny Extension file. This applies to the old 2.1.0.4 version, or the new 2.2 version or the new Arduino Eclipse IDE.
If you follow the instructions for creating the Teensy Extension File you will find that it simply consists of copying Teensyduino specific files/folders into a folder "hardware".
This is a necessary step because Teensyduino only comes in form of an installer, which during the installation process copies all necessary Teensyduino files into the Arduino 1.0.5 IDE but will not do that for the Arduino 1.5.x IDE, for a variety of very valid reasons.
The instructions for the Teensy Extension File were not available for the for the old version 2.4.0.1 of the plugin. In order to make the Teensy world available for people that wanted to use the Arduino Eclipse Plugin Jantje, the author of the plugin, assembled a file that contained all these Teensyduino specific files/folders. That had to be downloaded, unzipped and then moved into the Arduino 1.5.x IDE.

Fast Forward to the New Plugin version 2.2 and the new Arduino Eclipse IDE.

Functionally these are mostly the same, but there are improvements that are only available in the Arduino Eclipse IDE and that are not in the new Arduino Eclipse Plugin v2.2. There are always advanced users that for one reason or another have configured their Eclipse environment in specific ways and don't want to loose that work, so they prefer not to upgrade from say Eclipse Juno to Eclipse Kepler. Those people are better off installing the new Arduino Eclipse Plugin version 2.2.
For all others I'd recommend to install the new Arduino Eclipse IDE, which includes the latest version of Eclipse - Kepler.

Thus, I personally have installed the new Arduino Eclipse IDE.

I had not attempted to install the new version of the plugin, as I had no personal need (anymore). The new plugin will have to be installed the same way the old did, through Eclipse itself. It's not a separate 'clickable' download, but you have to open Eclipse, select "Help"->"Install new software" etc, the same process that is described for the old version of the plugin. tThose instructions are still online on my blog. However, when attempting to do so this evening it appears hat I cannot locate the new plugin in Eclipse in the said Install new software-window, so I emailed a request to Jantje and will update the instructions when I have the necessary info.

Again, in your case I'd try downloading and unzipping the new Arduino Eclipse IDE and then copy the Teensyduino files from the Arduino 1.0.5 IDE into the "hardware" folder, and then point the Arduino Eclipse IDE preferences to the location of that "hardware" folder. That last sentence in its simplicity summarizes the entire installation process.
 
Does this comment, from the above post:
However, when attempting to do so this evening it appears hat I cannot locate the new plugin in Eclipse in the said Install new software-window, so I emailed a request to Jantje and will update the instructions when I have the necessary info.
Correlate to my confusion that I see only two downloadable plug-ins for Eclipse? Neither is named v2.2?
That has been confusing to me while trying to follow the lengthy instructions/discussions.
 
Yes, unfortunately the only two version you can see currently are the old 2.1.0.4 and an even older 2.0.0.18. The reason for this is that the new version is actually not out of beta testing yet and ... ahem...cough... I was actually not yet supposed to provide download links. Oops! :p
Jantje will try to release it very soon though. (days rather than weeks).
 
So does this mean that Eclipse for Arduino 1.0.5 (and thus Teensy) remains a no-go until Jantje releases it?
 
Jantje told me today that've there are a few bugs in the plugin that he wants to fix before releasing it possibly as soon as this weekend. I would wait a few days.

If you don't want to wait that long I can tell you how to get Teensy's 3.x working with the old plugin V2.4.0.1. You will basically also have to create the same file structure I call Teensy Extension File but place it in the Arduino 1.5.2 IDE.
 
Thanks, I'll wait for V2.2.

Playing with Visual Micro for now. But to do so, I have to cuddle up with Microsoft's Visual Studio - not horrible, but Eclipse would be the same user experience no matter the programming language or target CPU.
E.g., I did a large Python program with it, to an embedded system target.
 
Great!
I'm still on Eclipse/Juno.
I downloaded/installed this V2.0.1.
Windows 7.
First run, I got this. And on subsequent runs.

Problem running CDT Scanner Discovery provider it.baeyens.arduino.languageSettingsProvider
Error running Builtin Specs Detector
java.lang.NullPointerException
Error running Builtin Specs Detector
java.lang.NullPointerException

Now trying to switch Eclipse from Ardino 1.5.2 to 1.0.5 to be able to use Teensy 3.
 
Last edited:
I am assuming you downloaded V2.2.0.1.
The error messages you are listing look like something went wrong with the Plugin installation.

While I have moved to the new Arduino Eclipse IDE, I still have Eclipse Juno installed as well. It did not want to let me install it stright away. It complained that "The plugin already installed and upgrading is not allowed". Un-installing the existing one was not possible either (greyed out button) so: instead of "Help"->"Install New Software..." I selected "Help"-."Check for Updates". This checks for updates on all plugins and installs them. This did install the new plugin. To verify that the new version is actually installed, please select "Help"->"Install New Software" and click on "What is already installed":
What_is_already_installed.png

the window that opens should list the plugin:

Screen Shot 2014-01-19 at 6.49.31 PM.png

Perhaps you can install a fresh version of Eclipse Juno, or go a head and Install the Arduino Eclipse IDE as that in general is much less work.
 
OK. So I installed Eclipse/Keppler. I had been using Juno.
Then I downloaded/installed the V2.2 plugin.
I exited and re-launched Keppler.
Error again:
Problem running CDT Scanner Discovery provider it.baeyens.arduino.languageSettingsProvider
Error running Builtin Specs Detector
java.lang.NullPointerException
Error running Builtin Specs Detector
java.lang.NullPointerException
I ignored that and now see the Ardino toobar icons.
Compiling a bare bones gave these sorts of errors
Building file: ../zzz1.cpp
Starting C++ compile
I"C:\Arduino\hardware\teensy\cores" -MMD -MP -MF"zzz1.cpp.d" -MT"zzz1.cpp.d" -D__IN_ECLIPSE__=1 -x c++ "../zzz1.cpp" "zzz1.cpp.o"
/bin/sh: IC:\Arduino\hardware\teensy\cores: command not found
make: [zzz1.cpp.o] Error 127 (ignored)
Finished building: ../zzz1.cpp

I suppose that's because I haven't done this:
Teensy Extension File you will find that it simply consists of copying Teensyduino specific files/folders into a folder "hardware".
I have to go back and try to re-read and understanding this. For example, the quote above says
into a folder "hardware".
Perhaps the instructions say where that has to be located.

I'd make a nice paypal donation if there could be a wizard/installer or batch file for all of this.
 
Last edited:
Aha..this seems to be a hard case of Windows resisting ;-)
What Win7 are you running, 32bit or 64 bit ?
I am thinking that this may be an error in the plugin and it would help determining what to look at:

Also you'd be better suited to post this at the normal Arduino thread as Jantje usually responds very quickly to posts there:
LINK to Thread on Arduino Forum

What I have been suggesting is loading down the Arduino Eclipse IDE as that eliminates the step of having to install a plugin. It includes Eclipse Kepler with the plugin already installed in it.
The only thing you have to do is to edit the preferences to point eclipse to the right directories.

This is a link to the nightly builds that usually reflect the latest builds of the Arduino Eclipse IDE:
LINK to the Arduino Eclipse IDE

Pick the one that suits your OS and let us know how it went.

A batch file is difficult to do across three different OS and 32/64 bit variants and it is impossible to predict where people have installed the Arduino IDE and their private Arduino libraries.

Lastly, I agree that there is a need for better instructions that ties these things together better. I am working on it but it'll take a while ;-)
 
Using Win 7 64 bit.
I did download Eclipse Keppler, then installed the V2.2 plugin.
I probably don't have something setup as needed. Am I supposed to copy some parts of Teensyduino's folder tree?

My confusion stems from a lack of concise and explicit "install/config instructions for dummies", for Arduino+Eclipse/Keppler+pluginV2.2+Teensyduino secret sauce.
Reading the Arduino forums probably won't help, as they don't address Teensyduino.

If I could ever get this to work for Teensy3 (I had Juno working with Arduino 1.5.2 and Teensy 2), I'd post some instructions for Windows 7 users.

It's a bit of a shame for the good work to go underutilized for lack of Teensyduino specific installation instructions. Probably simple, but currently it's a needle in a haystack for me.
 
OK. You have chosen to challenge my writing skills :cool:

So I rebooted the mac into Bootcamp/Windows 7 and wrote instructions for for Windows 7

Please follow these exactly. Don't load down a separate copy of Eclipse Kepler. Just follow the download links - text highlighted in blue - provided in the instructions.
I have verified that this works by compiling the Blink example and uploading it to a Teensy 3

Wish us good luck ;-)
 
Yep, that's the link. As you are on Win-7 64-bit THIS is the one you need to download. Not sure a 32-bit version would work on win 64 but I do know that a 64-bit version will not work on Win 7 32-bit. I had accidentally downloaded the wrong one and Windows will complain ;-)

I don't think you need to un-install Eclipse Kepler, or Juno. When you load those down they are in their own directory and environment.

I would general recommend with any new installation to try first to compile and upload a basic Blink sketch. If that's working then you can proceed to get the old projects working.
 
Beware Step 8 says "contents of" rather than what step 7 which said copy one folder.
Step 8 copied 5,000+ files and 191MB.
Odd, to have to duplicate all these files.

step 9 - downloaded files wind up with Unix type text line endings (LF only). I opened each with Programmer's Notepad and did a save as and chose the option for windows compatibility (CR + LF).

step 12- needs more specific instruction. I did, I think, find it and choose the correct path names.
step 12- probably better to test new install with a new project, if that works, worry about updating pathnames in old projects.

alas, when I did a build...
What I got was
Building file: ../zzz1.cpp
Starting C++ compile
"C:/Arduino_152-IsInstalled/hardware/teensy/tools/windows/arm-none-eabi/bin/arm-none-eabi-g++" -c -g -Os -w -ffunction-sections -fdata-sections -nostdlib -fno-rtti -fno-exceptions -mcpu=cortex-m4 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -MMD -DARDUINO=152 -mthumb -D__MK20DX128__ -felide-constructors -std=gnu++0x -I"C:\Arduino_152-IsInstalled\hardware\teensy\all\cores\teensy3" -MMD -MP -MF"zzz1.cpp.d" -MT"zzz1.cpp.d" -D__IN_ECLIPSE__=1 -x c++ "../zzz1.cpp" -o "zzz1.cpp.o"
/bin/sh: C:/Arduino_152-IsInstalled/hardware/teensy/tools/windows/arm-none-eabi/bin/arm-none-eabi-g++: Invalid argument
make: *** [zzz1.cpp.o] Error 126

don't know which command line arg it didn't like nor why.

This new installation procedure is explicit.. mostly. Better than before. But still very error prone, vs. using an installer or script. I think that's essential for popular use.

I didn't see Teensy 3.1 in the boards list - perhaps because of the download site's iinfo out of date.

Is this bit of copying folder trees related to why this procedure seems to be trying to use Arduino 1.5.2 rather than 1.5.0 which is what Teensy 3 requires?

Sigh.
 
Last edited:
Looks like everything is installed correctly.
I am wondering if your compilation error is the result of something not going exactly correct with the conversion from Unix to windows line endings. The boards.txt is exactly where a lot of the tool chain info and command line options are set. When I click on these links in Google chrome using win7 or Safari they open as plain text in a new browser window. I'll have to copy paste them into a text editor e.g. Notepad and save them as text files. Maybe try that. I have not used that horrendous Internet Explorer browser. May try that at work.

Yes, you are correct that all this file/ folder copying has To do with the fact that Teesnyduino only install directly into Arduino 1.0.5 but The Arduino Eclipse IDE requires Arduino 1.5.2. That's the real stumbling block. However as time progresses I am hoping that Paul will make Teensyduino compatible with the newer Arduino IDEs. That heavily depends on the Arduino Team making these IDEs more stable and have a consistent API.

When you select Teensy 3 from the board selection that will also work with Teensy 3.1. the difference between the two is handled by the Teesnyduino header files and defines ( or so I believe ).
 
New boards txt file needed for Teensy 3.1

I had believe I had previously made the statement that a the new Plugin and Arduino Eclipse IDE should work with the Teensy 3 and Teensy 3.1 board.
However, that appears not to be 100% correct.
Another user reported problems so I compared the boards.txt file of the current Teesnyduino RC 18.2 with the one that comes t=with the Plugin and Arduino Eclipse IDE. The Teensyduino version includes a new section for the Teesny 3.1 , while the Plugin version does not.
Attached is a new boards.txt with the necessary changes (hopefully :) . I don't have a Teensy 3.1 so I cannot test if that works. So, please test it out and report back in this thread whether it works.

If it does I'll send it to Jantje so he can include it.
 

Attachments

  • boards.txt
    28.6 KB · Views: 206
The Teensy 3.1 does show up now, but does not have any options for picking speed, keyboard, etc. Also, if I pick the Teensy 3.1 and try to compile it appears to pick the arduino ARM compiler which fails:

Starting C++ compile
"C:/arduino-1.5.2/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=cortex-m4 -DF_CPU= -DARDUINO=152 -I"C:\arduino-eclipse\hardware\teensy\all\cores\teensy3" -I"C:\arduino-1.5.2\libraries\FastSPI_LED2" -I"C:\arduino-1.5.2\libraries\Bounce" -I"C:\arduino-1.5.2\libraries\Encoder" -I"C:\arduino-1.5.2\libraries\LowPower_Teensy3" -MMD -MP -MF"ArcadeButtonActions.cpp.d" -MT"ArcadeButtonActions.cpp.d" -D__IN_ECLIPSE__=1 -x c++ "../ArcadeButtonActions.cpp" -o "ArcadeButtonActions.cpp.o"
unknown MCU 'cortex-m4' specified

But if I pick a Teensy 3.0 this works fine.
 
Last edited:
Status
Not open for further replies.
Back
Top