Windows/Linux/Mac Eclipse plugin to compile and upload arduino sketches

Hi beingobserver
It seems to me you are confused by the different installation options there currently are.
I have written this page to explain Sloeber- Pre Requisites the options.
please read the page and if something is not clear we can discus so it becomes clear to you and I can modify the page so it becomes clearer.

And here is a link to older arduino versions http://arduino.cc/en/Main/OldSoftwareReleases#.UxHZ0fFl7PE

Best regards
Jantje

Sounds like you have really tried to get it going, hopefully I can give you a few pointers to help you get up and working with this great plugin for Eclipse.

Before you start, you must have the correct version of the Arduino IDE already installed on your Mac. You can check on Jantje's site for the correct version you need for a specific version of the plugin. I do find it confusing how Jantje has detailed this and would like to see his instructions for this laid out differently so it is more clear and understandable. But, basically, only certain versions of the Arduino IDE can be used with the plugin. I believe this is because of changes in the way Arduino do things.

But, to let you know I use and others suggest using Arduino version 1.5.2 beta.
I use this version as I am playing with the DUE as well.

There are two basic approaches to having Eclipse work with Arduino, so that you can program and upload from Eclipse to your connected Arduino.

The first is along the lines of what you have done, and this was Jantje's first method of installation.
For this, you needed to download and install, as you have done the specified version of Eclipse CDT (The C/C++ dev system). After checking that Eclipse was installed and working correctly, you would then proceed to install Jantje's plugin.
Normally this is done from within Eclipse.
You can see this here http://www.baeyens.it/eclipse/Install_plugin.shtml.
From there you will see that you need to run up Eclipse and the select 'Help | Install New Software.
Follow the instructions step by step and you should end up with a system that works.

Also, as you are also on a Mac, this may also interest you, a link from Jantje's site Arduino Eclipse IDE and Plugin V2.2 installation | Trippy Lighting

Right, the second method, is far easier and should have you up and working in a very short time.
That is download one of Jan's prebuilt packages from his download area, http://www.baeyens.it/eclipse/download.php
Go down to see the Mac OSX packages and select a recent version.
You will need to unzip it and then you can install it..

Now, the problem.
I tried a few of these packages last week for you already, but, as you know I had problems with the installation.
I emailed Jan about this, but he is unfortunately unable to test the situation as he doesn't have a Mac.

To further test my research, I downloaded a bete testers package for Mac OSX and that installed fine for me.
Maybe you might like to try to download a prebuilt package from the download area with the link above and try.
That way, if you have problems, you may tell Jan and we will then need to see what the problem there is.
Maybe it was just me and I did something incorrect, but I tried on both my Macbook Pro and Mac Mini with the same results.
Both installs from the download are failed to install correctly,with errors being generated during the unzip process.
Yet on both my Mac's I could use the beta testers prebuilt package just fine.

Ok, I think that should be enough to get you well and truly confused Ersan :slight_smile:


Paul

I have written detailed installation instruction for Mac users here:

These are to be followed precisely. If it says Arduino 1.5.2 then don't attempt to use 1.5.6 because it is more convenient :wink:

Also, I would really appreciate feedback on these instructions (there's a Windows version as well). I have anywhere between 40-50 visitors with 2-3 views per visitor on that section of my tiny blog and rarely receive any feedback. Occasionally a user asks question and needs help, but once I provide direction I don't necessarily receive feedback if it actually helped.

Yes I thought your instructions were quite well explained too.
I could have used them last year or was it the year before that, when I was going through this myself.
Still, I learn much by slogging through the hard way.

Thanks Headroom, I hope this will help Ersan and others with using Eclipse.

P.S. You would have had a few more visits just now so I could get the link in my post :slight_smile:
Maybe I should read it again.


Paul

And in the mean time there is a 3th option to install.
This option is basically the same as the first option (install eclipse and add the plugin) but it is done using the eclipse marketplace.
once you installed eclipse go to help->eclipse market place
In the dialog box enter arduino as search word and select go
select install from the arduino eclipse ide.
then configure the plugin as described from step 4 onwards http://eclipse.baeyens.it/Install_plugin.shtml
or from Headroom his link.

Believe me or not but next week you won't understand why it didn't work

Best regards
Jantje

hi.
First I installed from Eclipase market. It sayd V2 , I did not see "2.2" anywhere, si I uninstalled and installed 2.2 from
baeyens.it
Whenever i click verify (the least I can expect to work) I get :

Conflicting handlers for it.baeyens.arduino.actions.ArduinoBuildAction: {it.baeyens.arduino.actions.BuildHandler@4d8491ec} vs {it.baeyens.arduino.actions.BuildHandler}

Not sure if this can be blamed on "arduino-1.5.6-r2" - I had to take a chance on it, as I failed to find the approved versions.

eclipse.buildId=4.3.2.M20140221-1700
java.version=1.7.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -product org.eclipse.epp.package.cpp.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.cpp.product

AndreK:
Conflicting handlers for it.baeyens.arduino.actions.ArduinoBuildAction: {it.baeyens.arduino.actions.BuildHandler@4d8491ec} vs {it.baeyens.arduino.actions.BuildHandler}

If I understand you correctly you are talking about a logging in the error log which has no functional influence on the working of the plugin.
If so it has been fixed as you can see here. Travis CI - Test and Deploy with Confidence
The market place installs the latest officially released version (which is V2.2). To have this fix you need the latest and greatest which is only available as nightly build. easiest is to upgrade using the nightly update site This is not the way to install the plugin

Can you please confirm that the issue is only an logging in the error log and if not can you please explain what goes wrong?

Best regards
Jantje

I guess the correct nightly path is something like: http://www.baeyens.it/eclipse/download/product/linux64.2014-03-10_02-06-10.tar.gz
Installed, and used it - works much better - did not had chance to test with actual hardware, but it looks promising.

Jantje - Today, wanted to test the daily build , downloaded whole package from your site, (not only plugin)

Created a new sketch, imported (copied) a projetcs files.
On compile I get:

Building file: ../Functions.ino
Starting C++ compile
"/home/andre/prog/arduino-1.5.6-r2/hardware/tools/avr/bin/avr-g++" -c -g -Os -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=156-r2 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR    -I"/home/andre/prog/arduino-1.5.6-r2/hardware/arduino/avr/cores/arduino" -I"/home/andre/prog/arduino-1.5.6-r2/hardware/arduino/avr/variants/eightanaloginputs" -MMD -MP -MF"Functions.ino.d" -MT"Functions.ino.d" -D__IN_ECLIPSE__=1 -x c++ "../Functions.ino"  -o  "Functions.ino.o"   -w

../Functions.ino: In function ‘void timerEvent()’:
../Functions.ino:4: error: ‘hottV4_state’ was not declared in this scope

And the final line is the start of a lot of problems.
Instead of start by compiling [projectname].ino - it starts with apparently a random .ino

I guess there's something I missed ?

AndreK:
I guess there's something I missed ?

I guess you have not read the section Before continuing Note that : on http://eclipse.baeyens.it/
More specifically

The current version works with cpp files only (no pde or ino out of the box).
Therefore the plugin is not compatible with the IDE out of the box. (read a sketch may not compile in the plugin)
Below is a link to instructions on how to keep your plugin developed code Arduino IDE compatible. (read your eclipse project compiles in Arduino)
I use those and I can compile the code between the Arduino IDE and eclipse without changes and defines.

Best regards
Jantje

Thanks.
Will wait will test a little more in spare time, and wait till it and Arduino cooperates a bit smoother.
Please consider adding serial port selection in toolbar, I often choose between ttyUSB0 and 1 depending on other connected devices.

donation sent, keep up the good work, I'd like to see this become the "pro" IDE for arduino.

thanks for the support

Great Plugin, I love it :slight_smile:

But I have one problem. I like to share my Arduino projects with my Git repository. Sharing works (Team > Share Project...)
The files all show up in the Git repo. But after sharing, the Team menu item does not show all this nice Git commands, its still only shows Share Project... Also in the Project Properties, Git does not show up.

On plain C Projects this works just fine. Any ideas what is going on?

Environment:

  • Eclipse Kepler Service Release 2 (includes EGit)
  • Arduino eclipse extensions 2.2.0.1

mweissboeck:
On plain C Projects this works just fine. Any ideas what is going on?

No idea.
I use RTC as version control tool in eclipse and that works fine. I'm sure other people use other version control tools without problems. As the plugin itself is not version control tool aware I think you have some problem in your workspace which may or may not be related to the plugin.
Check your error log to see whether anything pops up there and/or try with a new work-space.
Best regards
Jantje

Hello, thank you very much for your plugin which I am curently using.
Is there any way to setup a dev environment for libraries ? Or to set another project as a library to the current project ?

Thank you very much for your work.

ENSTAR:
Hello, thank you very much for your plugin which I am curently using.
Is there any way to setup a dev environment for libraries ? Or to set another project as a library to the current project ?

Thank you very much for your work.

That is why you can specify your private library path.
I have a project called libraries which is referenced in private libraries path. This way I can have my libraries in version control as well.

Best regards
Jantje

***nevermind this question, "problem" solved! ***
***still buying you the beer though :slight_smile: ***

Hello Jantje,
firts of all, thanks for bulding this plugin, and all the time and effort you spent helping people out, waanzinnig man!. As soon as i have everything up and running i buy you a beer (or 2 ) ! ...it's a promise XD

As a smalle reference/introduction: I am just starting with arduino, but i am a reasonable experienced (oop) developer, although not in C++ (yet). So after playing around with the ArduinoIDE for a while i soon thought i wouldn't mind a decent development environment.
I am currently running the eclipseArduino IDE v2.2 with arduinoIDE 1.5.6r2 . Started with 64bit kepler and plugin, got a lot of noob issues, did a lot of searching and reading, changed to your 32bit intergrated version, some more noob issues, but by now, except for the everlasting "make: *** No rule to make target `clean" error (can it be solved?), i can upload the sketches to my Uno and Mega.
One real problem remains: the serial monitor doesn't work as it should.
Couldn't find an answer/solution anywhere , am i missing something very basic here or....?
using this code:

#include "tester.h"
#include "Arduino.h"

int ledPin = 13;
void setup()
{
	pinMode(ledPin, OUTPUT);
	Serial.begin(9600);
}

void loop()
{
	digitalWrite(ledPin, HIGH);
	delay(1000);
	digitalWrite(ledPin, LOW);
	delay(1000);
	Serial.println("test");
}

results in:
"[]àààà[][]àààà[][]àààà[][]àààà[][]àààà[][]àààà[][]àààà[][]àààà[][]àààà[][]àààà[][]àààà[][]àààà[]",
which makes debugging quit hard :slight_smile: ...sometimes i have to close the serial monitor or restart to be able to upload changes in the sketch.
Anyone who got this as well?
O , 1 more thing,: in your video you made changes in the Indexer, but that option is different in this version. I could not find it, so couldn't test if it would help. Is it hidden somewhere else?
Thanks!

naggelaar
Thanks for the nice words.
The serial monitor problem is probably a baud rate issue. Which baud rate do you use in the monitor?
V2.2 no longer needs the indexer changes. It should work fine out of the box (after the first compilation).

The nothing to clean error is actually not really a bug/error. The compilation starts with a clean due to configuration changes but nothing has been build so the makefile does not yet exist.
You should only get this message when there is no makefile when starting a build.
Best regards
Jantje

...that's a quick reply! :slight_smile: I was just editing my post , it was indeed the baudrate, completely overlooked that one :blush:
Thanks!