Go Down

Topic: Windows/Linux/Mac Eclipse plugin to compile and upload arduino sketches (Read 319918 times) previous topic - next topic

Jantje

The only video I have on this subject is https://youtu.be/FrtiVYjF7vU
I'm considering to make some  more https://www.patreon.com/posts/are-you-in-video-15434866
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Gerry33

Edit: Got it: The json package must be moved above  the elder json package description files.
Then in the project settings, the new version appears and can be selected. Full re-compile and done !
-------------------------------------------------------------------------------
Hi all,
does anybody know how I  can add a  the ESP8266- SDK V2.4-RC2 from https://github.com/esp8266/Arduino/releases/tag/2.4.0-rc2  into SLOEBER. I want to incorporate the new WPA2 fix.

When adding the path

https://github.com/esp8266/Arduino/releases/download/2.4.0-rc2/package_esp8266com_index.json

through Preferences/'Third party index url's', nothing happens. No selection of 2.4 does appear.

Also adding  package_esp8266com_index.json or adding the 2.4 package manually does not work.

What is the official upgrade path ?


Thanks for any hint.

Gerry



Jantje

Make sure you do not have 2 json url's ending on the same last part. In your case "package_esp8266com_index.json'.
I would also advice to deinstall (remove packages and delete the folder on disk) everything related to the original json file before adding the new json url.
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Ullie76

I'd like to warn everyone to not blindly update to version 4.2 of the plugin: it will break your OTA update functionality with an ESP8266. Eclipse will try to use the 'generic ssh loader' and that will obviously fail. I don't have any clue nor documentation in order to find a fix. Just stay on plugin version 4.1, works like a charm.

Jantje

@ullie76
Have you made a issue for this? If not you should as it may work a bit different between 4.1 and 4.2 and not be a problem at all.
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Ullie76

Hi Jantje! Awesome software you made (the 4.1 version i mean). I haven't made an issue, how should I do that? Maybe you can explain the differences here? I've tried a lot, but it still uses the ssh loader instead of the generic loader (even in an entire new sketch).

Jantje

Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

KenK

I'm having a problem..

I downloaded the Sloeber version of the Elipse program this morning and have some issues.  

The version I am using is the 32 bit version of the Windows downloaded this morning.  I believe it is "4.2 2017-11-20-0109".


I loaded the program on the root of C drive as the setup routine complains about the path name being to long.   The current path name is C:\Sloeber. The work directory is also in the Sloeber directory.


When I start the program up, I get the following error:

Code: [Select]

The indexer option "index source files not included in the build" must be off in windows->preferences->C/C++->indexer
and
The indexer option "index unused headers" must be off in windows->preferences->C/C++->indexer

[/code]

What does that mean?? 


The program will load up and I did manage to generate, compile and upload a simple "Hello World" program once.


I saved the program and it is on the C: drive as expected.  When I try to reload, edit  and rebuild the program, I get the following error:

Code: [Select]

There are no projects selected in the project explorer or all selected projects are not arduino projects. Are you in the Arduino perspective?


I have not been able to get around this problem. 


The serial monitor is still working as expected. 

Once I get the Arduino version working, I hope to move over the Oxygen C++ version and start writing code for Windows. 


What am I doing or have done wrong??

Any help will be greatly appreciated.

Ken

 

Jantje

Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

KenK

Thanks for the quick update.  

You are correct, I am a REEEAAAALLL nooby.  I will watch your "You Tube" video.


I did manage to get around the "Program Explorer" issue.  Again Nooby problem..

I also found that when I tried to compile one of my more complex programs, the compiler could not find many of the Included libraries.  Some of them surprised me ie:
 #include <Adafruit_GPS.h>;
 #include <EEPROM.h> //AVR Hardware;
 #include <SD.h>;
 #include <SPI.h>; //AVR Hardware and
 #include <Wire.h>. //AVR Hardware


The following are drivers for my GLCD displays.  I did not expect the compiler to know about the following:  
 #include <U8x8lib.h>; and
 #include <U8g2lib.h>.

I did figure out how to add the path for all of the libraries.  

The compiler was happy with all of them except the "Wire" library.  I was not using it so I removed it.  

The program will now compile although I have not tried to upload an run it.  

Thanks for the program.  I have a long way to go before I understand what it can do.

I am looking forward to moving over to Oxygen to do some C++ programming on my windows machine.  In time, I may look into Java.  I am not a programmer by any stretch.  

Again Thanks


judge

I'll take a stab at this. Hopefully I won't confuse you more.

Git is a way of backing up your files with a few extra features, e.g.:

- You decide when that backup is made
- You can have multiple backups that run side-by-side
- You can compare the contents of backups
- You can add comments to each backup you do
- Only files that change get added to the backup
- Other people can read and add to that backup!

Git is totally independent of Eclipse and Sloeber. You can use it to store any type of file you like for whatever reason.

GitHub is a popular online place to store those backups.

Eclipse is an IDE (Integrated Development Environment). It provides a lot of tools to aid programming, all in one place. I love it. Other people hate it. They're wrong ;). It is designed to allow people to add plugins for specific programming tasks.

Sloeber is one of those. It is designed to program Arduinos. Or at least, it leverages the Arduino ecosystem. By living inside eclipse, it can benefit from all the standard features and other plugins.

EGit is one of those other plugins. It allows you to manage your Git backups without having to leave Eclipse. You could say it provides a Git GUI. You don't need Sloeber to use Git, you don't need Git to use Sloeber.

If you find yourself leaving eclipse to do a programming related task, you should either learn more about eclipse, or you should look for a plugin that achieves what you want to do.

Some useful eclipse hot keys:

Ctrl-t to search for a class.
Ctrl-r to search for any file in the workspace.
Hilight a variable/method/function/class and hit F3 to go to the definition of that thing.
Hilight a variable/method/function/class and hit ctrl-shift-G to list everywhere that that thing is used.
Hilight a block of code and hit ctrl-shift-F to reformat that block.

etc.

So, I've never done git-anything before except download Arduino libraries from GitHub.

But, I have been reading a lot online and understand the basic concepts at least. It should be pretty easy for me since I'll be the only "collaborator" working on my projects.

However, I'm still having difficulty understanding the relationship between Sloeber / Eclipse, e-git, git, GitHub, etc. And, I can't figure out what's necessary to start using e-git from within Sloeber to do version control on my own projects. Part of the problem is there is too much information on the web and I can't separate the applicable from the not applicable.

So, how do I start out? Sloeber is already installed. Do I have to also install a git-something program on the PC and somehow link it with Sloeber?

I just need a basic guide for a single-contributor setup. After that, I should eventually become smart enough to ask more intelligent questions.

Thanks.


gfvalvo

Thanks @judge.

OK, with this info, help from the web site, and some YouTube videos I've got Sloeber and Egit working and I'm groping my way through learning the basics.

I can use Egit to do basic version management (commits, branches, etc) on my projects.

I can use the technique shown here: http://eclipse.baeyens.it/how_to.shtml#/j to transfer class files (.h, .cpp) from my project into a folder in my private library folder. I can also add an 'examples' folder to that library and put .ino example sketches in it. I can then use those examples to start another project or just include the library in a project started from scratch.

So, now my question is -- how do I combine these two activities? Meaning, how do I use Sloeber / Egit to maintain and do version control on the new library itself (class files / example sketches)? Once I move them to the library folder, Egit seems to forget about them. And, the only way I can find to work with them is by starting another project with a main .ino or .cpp file. I can then edit them, but don't know how to get them under Egit version control. I'd like to just Egit manage just the library by itself so I could eventually push it up to GitHub as a unit.

Thanks

keesbakker

Hey,

After using Sloeber 4.0 for a long time (Linux Ubuntu 16.04, 64 bit) I decided to try out V4.2.

But no matter what I do, I always get "Failed to create project" when I create a project. The stack trace is like this:
Code: [Select]

java.lang.NullPointerException
at io.sloeber.core.tools.Libraries.findAllSubFolders(Libraries.java:77)
at io.sloeber.core.tools.Libraries.findAllPrivateLibraries(Libraries.java:125)
at io.sloeber.core.tools.Libraries.getAllInstalledLibraries(Libraries.java:198)
at io.sloeber.core.tools.Libraries.addLibrariesToProject(Libraries.java:205)
at io.sloeber.core.api.BoardDescriptor.createProject(BoardDescriptor.java:587)
at io.sloeber.ui.wizard.newsketch.NewSketchWizard.createProjectWrapper(NewSketchWizard.java:124)
at io.sloeber.ui.wizard.newsketch.NewSketchWizard$1.execute(NewSketchWizard.java:93)
at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:107)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:128)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:437)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:353)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:980)
at io.sloeber.ui.wizard.newsketch.NewSketchWizard.performFinish(NewSketchWizard.java:98)



What can I do to investigate this further?
-- Kees

Jantje

Kees
it looks like there is a bug in Sloeber in relation to libraries containing files without extensions.
I checked in a change so tomorrow the nightly should fix this.
Note for this kind of issues you should create a github issue.
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

keesbakker

Thanks Jantje

Next time I'll go via Github issues.

BTW. Is it on purpose that the Travis link on your website (http://eclipse.baeyens.it/nightly.php) points at 4.1.0-SNAPSHOT instead of 4.2.0-SNAPSHOT?

Go Up