Code Monkey home page Code Monkey logo

arduino-eclipse-plugin's Introduction

Sloeber, the Arduino IDE for Eclipse

The Eclipse IDE (Integrated Developement Environment) is a full featured programming editor with many fantastic features to help you code more quickly and easily. The Arduino IDE is great for what it does – but it doesn't do much to help writing, navigating and understanding your (and other people's) code.

The Sloeber IDE bridges that gap and helps move you to a more powerful development environment whilst keeping the Arduino hardware and libraries that you love (and make life simple).

Software Logic to program Open Electronic Boards in an Eclipse Runtime (SLOEBER)

It works on MS Windows, Mac OSX and Linux.

Downloads

If you are not a developer and don't want to build from sources, then there are precompiled product packages and update sites available. You can find them here on github as releases. See the details at http://baeyens.it/.

Build from source

Below are instructions on how to download and compile the source code from the command line and from eclipse. You only need to do one.

Prerequisites

Please install git and maven.

Java 17 is required.

A 64-bit OS is required.

Build from the command line from source for your os and the default eclipse instance

git clone https://github.com/Sloeber/arduino-eclipse-plugin sloeber
cd sloeber
mvn clean verify -DskipTests=true

Running the Sloeber you just build

Windows

  • win32x64.cmd (if you are on 64 bits windows)

Mac OSX and Linux

  • ./build_then_launch_plugin.sh

Build Options

You can control the maven build with the following profiles:

  • latest (default, builds against the latest versions)
  • SDK (builds a Sloeber you can program Sloeber in. With Java.)
  • win64
  • linux64
  • mac64
  • macm1

Examples

  • Build the latest version for the platform you are running on:

    mvn clean verify -PNOSDK -DskipTests=true

  • Build Eclipse + Sloeber for 64-bit Windows: mvn clean verify -Pwin64,latest,NOSDK -DskipTests=true

  • Build Eclipse + Sloeber for 64-bit Linux: mvn clean verify -Plinux64,latest,NOSDK -DskipTests=true

  • Build the Sloeber SDK for 64-bit Windows (for Sloeber programmers): mvn clean verify -PSDK,win64,latest -DskipTests=true

Importing your build into another Eclipse

If you want to import the latest code based plugin to another Eclipse setup you have then it is possible to setup a local repository to install the plugin you have just built. Just add a local repository with location arduino-eclipse-plugin/io.sloeber.product/target/repository

alt text

Developing (Improving) the Plugin

After the build, find the Sloeber SDK product in the io.sloeber.product.sdk target directory. Unzip it somewhere in your home directory (mind you we cannot handle very long path names on windows)

Note that Sloeber itself is NOT included in the Sloeber SDK. 

Install the projects into the SDK via the EGit interface.

File → Import → Git → Projects from Git → Existing local repository

  • Now add the repository you just cloned
  • Press "Next".
  • Next
  • Select a wizard: Import Existing Projects
  • Next
  • Import Projects
  • Select all the projects
  • Finish

After all it should look like this:

alt text

Set the Warning Level

We want to keep the chance of missing a problem in the code to a minimum and to keep clean and tidy code. Development is aiming to keep compiler warnings to a minimum (items that show up in the Problems tab under Warnings) with specific settings. Please change your settings from default as follows:

Go to

Window → Preferences → Java → Compiler → Errors/Warnings

and change the following from their defaults.

My current settings are as follows:

alt text ![alt text](images_plugin_dev_setup/Screenshot-Preferences 2.png "screen capture") ![alt text](images_plugin_dev_setup/Screenshot-Preferences 3.png "screen capture") ![alt text](images_plugin_dev_setup/Screenshot-Preferences 4.png "screen capture") ![alt text](images_plugin_dev_setup/Screenshot-Preferences 5.png "screen capture")

  • Name shadowing and conflicts: Set all to Warning.
  • Unnecessary code: Set all to Warning.
  • Null analysis: Set all active (not greyed out) to Warning.
  • Potential programming problems: Set all to Warning.

Running Sloeber with local changes (Testing your stuff)

Running is very simple - just right click io.sloeber.core and select:

Run as → Eclipse Application

OR, if you'd like to debug,

Debug as → Eclipse Application

Eclipse will launch a new workbench disabling the installed version if any, and updating it with the plugin version loaded in the current workspace.

Now, just set up fresh again with your project settings, Preferences/Arduino, to point to IDE and private libs.

New Project → Arduino → New Arduino Sketch

All should work. You can set breakpoints in the launching Eclipse if you ran as debug. Happy developing!

FAQ

There are lots of issues in the release that seem fixed.

We close issues when they have been validated as part of the nightly. Therefore the open list no longer contains items fixed in the nightly. Known issue fixed in the last nightly can be found with this query: is:issue is:closed -label:"status: fixed in nightly"

arduino-eclipse-plugin's People

Contributors

jantje avatar wimjongman avatar rlogiacco avatar brodykenrick avatar marcelolimori avatar dajtxx avatar amorellgarcia avatar martinmikula avatar mjmeijer avatar henols avatar robamu avatar stefan-code avatar nafep avatar riban-bw avatar neuweiler avatar infthi avatar uzi18 avatar b3ndo avatar wmarkow avatar superook avatar bergmannm avatar kigster avatar davidtopham avatar alexandrezia avatar alex-kent avatar aalobaidi avatar tnarik avatar nicoverduin avatar jipp avatar eismeraldo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.