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 maven PDE integration in your eclipse install.

In the menu select help->install new software in the field work with enter: http://download.eclipse.org/releases/latest in the field below enter m2e select m2e - pde integration select next and finish the install

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 target platform

in the menu select windows->preferences select plugindevelopment->target platform select Sloeber as target platform

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

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

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arduino-eclipse-plugin's Issues

Could not initialize class gnu.io.CommPortIdentifier

Mac OSX 10.7.3

Eclipse IDE for C/C++ Developers
Version: Indigo Service Release 1
Build id: 20110916-0149

Arduino-eclipse-plugin 1.2.0

I get the following error, if I try to upload my projekt to my arduino uno:

An internal error occurred during: "AVRDude Upload".
Could not initialize class gnu.io.CommPortIdentifier

If I start avrdude from shell it works (from the Release Directory):
avrdude -C /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -patmega328p -carduino -P/dev/tty.usbmodemfd141 -b115200 -Uflash:w:FirstArduino.hex:a

Do you have any ideas what's wrong?

By the way: great tool!

Thank you for your efforts.

Stefan

"Port already in use" in OS X 10.6.8 with walkaround

When uploading with avrdude the plugin give a error prompt saying "Port already in use" (while no other application is using the port). After clicking OK it actually uploads the program to Arduino board. It happened with versions 1.20 and 1.21.
Pic here:
http://ldy.name/images/stories/blog/port_in_use.png

Here's the error log:
!ENTRY org.eclipse.ui 4 4 2012-03-14 14:30:53.607
!MESSAGE Invalid preference page path: XML Syntax
!SESSION 2012-03-14 14:30:59.302 -----------------------------------------------
eclipse.buildId=M20120208-0800
java.version=1.6.0_29
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86, WS=cocoa, NL=en_US
Framework arguments: -keyring /Users/daoyuanli/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86 -keyring /Users/daoyuanli/.eclipse_keyring -showlocation

!ENTRY org.eclipse.core.net 1 0 2012-03-14 14:31:02.690
!MESSAGE System property http.nonProxyHosts has been set to local|.local|169.254/16|.169.254/16 by an external source. This value will be overwritten using the values from the preferences

!ENTRY org.eclipse.mylyn.tasks.ui 2 0 2012-03-14 14:31:03.121
!MESSAGE No search provider was registed. Tasks search is not available.

!ENTRY it.baeyens.core 4 0 2012-03-14 14:31:14.270
!MESSAGE Serial port /dev/tty.usbserial-A400hB3D already in use. Try quiting any programs that may be using it
!STACK 0
gnu.io.PortInUseException: Unknown Application
at gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:465)
at it.baeyens.arduino.arduino.Serial.(Serial.java:130)
at it.baeyens.arduino.arduino.Serial.(Serial.java:97)
at it.baeyens.arduino.common.Common.ResetArduino(Common.java:317)
at it.baeyens.avreclipse.ui.actions.UploadProjectAction$UploadJob.run(UploadProjectAction.java:409)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY it.baeyens.core 4 0 2012-03-14 14:31:28.529
!MESSAGE Serial port /dev/tty.usbserial-A400hB3D already in use. Try quiting any programs that may be using it
!STACK 0
gnu.io.PortInUseException: Unknown Application
at gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:465)
at it.baeyens.arduino.arduino.Serial.(Serial.java:130)
at it.baeyens.arduino.arduino.Serial.(Serial.java:97)
at it.baeyens.arduino.common.Common.ResetArduino(Common.java:317)
at it.baeyens.avreclipse.ui.actions.UploadProjectAction$UploadJob.run(UploadProjectAction.java:409)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY it.baeyens.core 2 0 2012-03-14 14:31:28.551
!MESSAGE Failed to handle Com port properly
!STACK 0
java.lang.NullPointerException
at it.baeyens.arduino.arduino.Serial.setDTR(Serial.java:503)
at it.baeyens.arduino.common.Common.ResetArduino(Common.java:332)
at it.baeyens.avreclipse.ui.actions.UploadProjectAction$UploadJob.run(UploadProjectAction.java:409)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

After reading issue #6 I check the librxtxSerial.jnilib in eclipse:

.cp$ file librxtxSerial.jnilib
librxtxSerial.jnilib: Mach-O universal binary with 4 architectures
librxtxSerial.jnilib (for architecture x86_64): Mach-O 64-bit bundle x86_64
librxtxSerial.jnilib (for architecture i386): Mach-O bundle i386
librxtxSerial.jnilib (for architecture ppc7400): Mach-O bundle ppc
librxtxSerial.jnilib (for architecture ppc64): Mach-O 64-bit bundle ppc64

While in my Arduino application the librxtxSerial.jnilib output is:

librxtxSerial.jnilib: Mach-O universal binary with 2 architectures
librxtxSerial.jnilib (for architecture i386): Mach-O bundle i386
librxtxSerial.jnilib (for architecture ppc): Mach-O bundle ppc

So I just copied the Arduino.app//Contents/Resources/Java/librxtxSerial.jnilib file to eclipse/configuration/org.eclipse.osgi/bundles/419/1/.cp/librxtxSerial.jnilib
It works after restarting eclipse. No error prompts are shown.

Great work! Thanks!

The latest version does not load in debug (and run mode) in juno and eclipse

I wanted to continue working on the migration of my multichannel monitor code but I cant even run the plugin any more.
So I installed a kepler and it doesn't work there as well.
There are no errors and no plugins are loaded (help->about->loaded plugins)
I tried some things to get it back to work but nothing seems to work.

Creating Arduino Project Error

Hi,

I'm using:
Windows7/32bit
Eclipse Version: Juno Service Release 1, Build id: 20120920-0800
ArduinoPlugIn 2.1.0.4

While creating the first Project I get an Error:

"Error parsing C:/Program Files/Arduino/hardware/arduino/platform.txt or C:/Program Files/Arduino/hardware/arduino/boards.txt
C:\Program Files\Arduino\hardware\arduino\platform.txt (Das System kann die angegebene Datei nicht finden)" => "File not found".

I have a boards.txt in C:\Program Files\Arduino\hardware\arduino.

Maybe the PlugIn uses "/" insteand of ""?

Thanks a lot

New projects have a spurious include.

When creating projects with plugin version 1.2.4 (OSX/Indigo) - I see the following warning:

Invalid project path: Include path not found (leonardo_test).

This included project seems to be due to an include path in .cproject:

<listOptionValue builtIn="false" value="&quot;${workspace_loc:/leonardo_test}&quot;"/>

Removal of these elements appears to correct the issue.

avrDude not recognized

hi,
i've installed the beta version on eclipse juno 64bit on linux, and setted as ide an arduino 1.0.1 installation but the selection of the MCU in the avrdude say that all chips are unsupported
if i run thr avrdude test, it say that the response from avrdude is not recognized.
the file exists, seems like a response parsing error

Combiner should link the Arduino sketch before the libraries (like Arduino IDE)

The combiner using INPUTS variable for the objects can cause for linking issues. The "sketch" should be linked first (per the Arduino IDE -- the source code specifically treats the sketch first in the linking) but the order is left up to Eclipse in the plugin.

This is generally not an issue, but there are some libraries that do not work properly if linked after the sketch. For example SoftTWI can have an issue preventing it working if linked in before the sketch (that is what got me looking into this).

The combining step has the recipe (Project Properties>C/C++ Build>Settings>Arduino combiner):
${A.RECIPE.C.COMBINE.PATTERN.1} ${FLAGS} ${INPUTS} ${A.RECIPE.C.COMBINE.PATTERN.2} ${A.RECIPE.C.COMBINE.PATTERN.3}

In my project INPUTS resolves to:

./Libraries/panstamp/cc1101.cpp.o ./Libraries/panstamp/spi.cpp.o ./Libraries/SoftTWI/SoftTWI.cpp.o ./Libraries/MMA7660/MMA7660.cpp.o ./Libraries/EEPROM/EEPROM.cpp.o ./my_sketch.cpp.o

with the "sketch" code linked at the end.

Ideally sketch would be at the start as in the following:

./my_sketch.cpp.o ./Libraries/panstamp/cc1101.cpp.o ./Libraries/panstamp/spi.cpp.o ./Libraries/SoftTWI/SoftTWI.cpp.o ./Libraries/MMA7660/MMA7660.cpp.o ./Libraries/EEPROM/EEPROM.cpp.o

If the sketch can be put before the libraries then the behaviour will be more similar to IDE and avoid strange differences.

Low priority as there is a workaround.

Workaround:
This is an easy workaround (after you determine the issue is this combining/linking problem -- that is the hard part). Replace INPUTS in the recipe with your own reordered set of object files (easily copied from the Eclipse output).

PluginDev: "Failed to create project" from "run as Eclipse Application" of latest code in github

Hi Jantje,

I forked the code to look at adding in the support for the other issue on order #43 . However I am having some strange things occur on creating a new project under a new workspace with the plugins from source on my machine.

I execute the plugins per this readme.md @ https://github.com/brodykenrick/arduino-eclipse-plugin/blob/master/readme.md

I get a pop-up mid execution that indicates a failure to create the project. dialog has details of "Failed to create project Test"

The error log has "unable to apply the invalid project description for project Test" in it also.

I have traced this down to the file ShouldHaveBeenInCDT.java and the line:
mngr.setProjectDescription(project, des);

I looked at the code and could see that the root error is in CProjectDescriptionManager.java

if(!des.isValid() && (!fAllowEmptyCreatingDescription || !des.isCdtProjectCreating()))
    throw ExceptionFactory.createCoreException(SettingsModelMessages.getString("CProjectDescriptionManager.17") + project.getName());

Both of the boolean conditions being tested return false in my setup:
System.out.println("des.isValid()=" + des.isValid());
System.out.println("des.isCdtProjectCreating()=" + des.isCdtProjectCreating());
mngr.setProjectDescription(project, des);

Any thoughts?

I am now setting up a pristine Juno CDT to begin working solely from there for this plugin work. I'll see what that does for this and issue #42.

Hex file not being created

I haven been away from my project for a couple months, but everything should still work as I left it.
For some reason now, I keep receiving the error that the hex file is not being created.
I clean my entire project and build all, but still receive the same issue.

I then created a new project using instructions @ http://www.baeyens.it/eclipse/UsethePlugin.html .
This still leads to the same issue. Any tips?

Arduino v1.5.2 not supported - required for Due support

The latest Arduino IDE has changed its path structure. E.g. for BOARDS_FILE_SUFFIX the directory was split into "hardware/arduino/avr/boards.txt" and "hardware/arduino/arm/boards.txt".
As a first sign of trouble, the IDE can not be specified in the preferences.

arduino plugin fails on Eclipse 4.2 (Juno) 64 bits install

I have made some testings and I couldn't install arduino plugin on Ubuntu 12.04 64 bits and eclipse Juno 4.2. I am continuously getting the following error message:

An error occurred while collecting items to be installed
session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.eclipse.update.ui,3.2.300.v20100512

I wonder if it is an arduino plugin issue or a eclipse Juno issue. Please, give me some advice.

Turning on serial monitor during deployment to device

connecting serial monitor view while deploying to Arduino, causes errors and a decently long timeout. Unable to work for the minute or so while the deploy process is timing out.

PS: I'd be tempted to call it normal behavior...as in "don't do that".

Steps:

  1. click the green Arduino arrow to deploy to device
  2. while step 1 in progress, turn on the serial monitor
  3. deployment hangs, eventually timing out.

screen shot 2013-07-27 at 9 24 35 pm

a space anywhere in the path makes the project wont compile

I had a space in my path and I got following error when compiling (verifying or building):

16:15:34 **** Incremental Build of configuration Release for project test ****
make all
Building file: ../test.cpp
Starting C++ compile
"/home/jan/programs/arduino-1.5.2/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=152 -I"/home/jan/programs/arduino-1.5.2/hardware/arduino/avr/cores/arduino" -I"/home/jan/programs/arduino-1.5.2/hardware/arduino/avr/variants/standard" -MMD -MP -MF"test.cpp.d" -MT"test.cpp.d" -x c++ "../test.cpp" -o "test.cpp.o"
Finished building: ../test.cpp

make: *** No rule to make target /home/jan/workspaces/eclipse', needed bytest.elf'. Stop.

16:15:35 Build Finished (took 645ms)

basically there was a space after "/home/jan/workspaces/eclipse" in "/home/jan/workspaces/eclipse plugin"

replacing the space with _ solved the problem. It took a while for the indexer to catch up.

Best regards
Jantje

Solved

Thanks for your tips. The Stacktrace in the error view was more informative:

java.lang.NoClassDefFoundError: Could not initialize class gnu.io.CommPortIdentifier
at it.baeyens.arduino.arduino.Serial.(Serial.java:121)
at it.baeyens.arduino.arduino.Serial.(Serial.java:97)
at it.baeyens.arduino.common.Common.ResetArduino(Common.java:317)
at it.baeyens.avreclipse.ui.actions.UploadProjectAction$UploadJob.run(UploadProjectAction.java:409)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

And I've seen this before. So I did a search for the librxtxSerial.jnilib Lib in the eclipse directory and found it here: /Applications/eclipseCPP/configuration/org.eclipse.osgi/bundles/318/1/.cp . The installed lib ist just for 32 bit:

file librxtxSerial.jnilib.old
librxtxSerial.jnilib.old: Mach-O universal binary with 2 architectures
librxtxSerial.jnilib.old (for architecture ppc): Mach-O dynamically linked shared library ppc
librxtxSerial.jnilib.old (for architecture i386): Mach-O dynamically linked shared library i386

I replaced the 32-bit with a 64-bit version:

file librxtxSerial.jnilib
librxtxSerial.jnilib: Mach-O universal binary with 4 architectures
librxtxSerial.jnilib (for architecture x86_64): Mach-O 64-bit bundle x86_64
librxtxSerial.jnilib (for architecture i386): Mach-O bundle i386
librxtxSerial.jnilib (for architecture ppc7400): Mach-O bundle ppc
librxtxSerial.jnilib (for architecture ppc64): Mach-O 64-bit bundle ppc64

And now it works like a charme. And the Ports are displayed, too.

I made a post in my blog (most in german, but with a little note in english): http://www.stepqom.de/pblog/2012/02/24/arduino-entwicklung-mit-eclipse-auf-mac-osx-10-7-64-bit/

And again. Thank you for respons und for the plugin.

Odd Build Error When Using Eclipse Juno

Hi Jantje,
I get an error every time I build my project in Juno. Everything builds fine and it compiles, but then this message comes up.

Errors occurred during the build.
Errors running builder 'CDT Builder' on project 'Copter'.
Internal error building project Copter configuration Release
java.lang.NullPointerException
Internal error building project Copter configuration Release
java.lang.NullPointerException

PC: Windows 7 (64 bit)
I believe I'm running 64 bit eclipse but I'm not entirely sure about that
Java 7 update 5

Minor: Clean project doesn't delete the hex file

Clean project doesn't delete the hex file.

Build a project then clean project.

Right click in project explorer, "Build Project" then right click in project explorer, "Clean Project". The PROJECT_NAME.hex is not deleted.

Output that shows issue:
12:49:02 **** Clean-only build of configuration Release for project MovementAlerter ****
make clean
rm -rf MovementAlerter.elf /home/brody/git/MovementAlerter/MovementAlerter/Release/arduino.ar ./arduino/WInterrupts.c.d ./arduino/hooks.c.d ./arduino/malloc.c.d ./arduino/wiring.c.d ./arduino/wiring_analog.c.d ./arduino/wiring_digital.c.d ./arduino/wiring_pulse.c.d ./arduino/wiring_shift.c.d Release/MovementAlerter.hex ./arduino/CDC.cpp.o ./arduino/HID.cpp.o ./arduino/HardwareSerial.cpp.o ./arduino/IPAddress.cpp.o ./arduino/Print.cpp.o ./arduino/Stream.cpp.o ./arduino/Tone.cpp.o ./arduino/USBCore.cpp.o ./arduino/WInterrupts.c.o ./arduino/WMath.cpp.o ./arduino/WString.cpp.o ./arduino/hooks.c.o ./arduino/main.cpp.o ./arduino/malloc.c.o ./arduino/new.cpp.o ./arduino/wiring.c.o ./arduino/wiring_analog.c.o ./arduino/wiring_digital.c.o ./arduino/wiring_pulse.c.o ./arduino/wiring_shift.c.o ./MovementAlerter.cpp.d ./arduino/CDC.cpp.d ./arduino/HID.cpp.d ./arduino/HardwareSerial.cpp.d ./arduino/IPAddress.cpp.d ./arduino/Print.cpp.d ./arduino/Stream.cpp.d ./arduino/Tone.cpp.d ./arduino/USBCore.cpp.d ./arduino/WMath.cpp.d ./arduino/WString.cpp.d ./arduino/main.cpp.d ./arduino/new.cpp.d ./Libraries/panstamp/cc1101.cpp.d ./Libraries/panstamp/spi.cpp.d ./Libraries/SoftTWI/SoftTWI.cpp.d ./Libraries/MMA7660/MMA7660.cpp.d ./Libraries/EEPROM/EEPROM.cpp.d ./MovementAlerter.cpp.o ./Libraries/panstamp/cc1101.cpp.o ./Libraries/panstamp/spi.cpp.o ./Libraries/SoftTWI/SoftTWI.cpp.o ./Libraries/MMA7660/MMA7660.cpp.o ./Libraries/EEPROM/EEPROM.cpp.o MovementAlerter.eep MovementAlerter

See the file delete references the hex as Release/MovementAlerter.hex when it is already in the release directory and should be ./MovementAlerter.hex

NB: Minor issue. I'll probably get around to fixing myself later.

Serial monitor shows no serial ports

Platform: Ubuntu
Eclipse Juno SR1
Arduino IDE 1.0.1
Plugin version 1.2.5.5

Firstly, everything builds perfectly fine. I have no problems with the rest of the plugin at all. Except for where serial ports are involved. In the serial monitor I go to add a monitor and the droplist to select the serial port is empty and greyed out. :(

Also, I noticed that when creating a project and selecting the serial port, no ports are listed, but that field is editable so I can type the port device in manually.

In my case, the port device is /dev/ttyACM0.

I'm happy to help debug this as required. I think even as a simple fix, changing the serial monitors serial port selection field to an editable drop list so I can type it in manually would be enough for me.

And lastly, I just wanted to add that this plugin rocks. Thanks Jantje! And thanks for keeping it open sourced! (Donation coming when I get paid, haha).

incorrect Arduino IDE version detection

This is related to #11

On ubuntu 13.04, the plugin has determined the Arduino IDE Version to be "1:1.0.5+dfsg-2" (this is displayed in the Arduino-Arduino preferences page, but is not editable)

This gets passed thru to the compile flags as "-DARDUINO=1:105+dfsg2-1"

Then during compilation the ":" and other special characters give a syntax error in the standard external library version check "#if ARDUINO < 100"

A workaround is to override the project's Build Variable ARDUIONO_IDE_VERSION to simply "105" in project settings.

Further info: on another machine, the ide version is simply detected as "1.0.3" and passed thru as "103", despite the installed package version being "1:1.0.3+dfsg-2". I have no idea why one is is simplified and the other is not.

#if ARDUINO < 100

When using the Arduino IDE version 1.0.1, the eclipse plugin defines an environment variable ARDUINO_IDE_VERSION to be 10.1. This Environment variable is then Used to define the ARDUINO symbol.

This causes issues when using external libraries which check to see whether to include WProgram.h or Arduino.h by using for example:

 #ifdef ARDUINO
    #if ARDUINO < 100
        #include "WProgram.h"
    #else
        #include "Arduino.h"

In the above case not only does the compiler try to include the wrong header file (10.1 < 100), but I also get an error for using a floating point constant in a preprocessor expression.

Serial monitor does not find arduino's TTY to connect to

Hello,

I am running the plugin on Ubuntu in Eclipse indigo. I am able to compile and flash the project. Avrdude is invoked with the following command:
avrdude -patmega2560 -cstk500v2 -P/dev/ttyACM1 -b115200 -Uflash:w:arduino_test.hex:a

When I open serial monitor and try to add new connection it does not let choosing any port

I run ubuntu in virtual box

Thanks

Import dialog: when pasting in a path, still have to opendialog to get the path accepted

env: Mac Mountain Lion (10.8.4), Eclipse Juno (Service Release 2 Build id: 20130225-0426)

Steps:

  1. right click project
  2. import
  3. choose library path
  4. paste in a legit path, leave the edit with the legit path
  5. finish does not become enabled
    screen shot 2013-07-25 at 11 44 00 pm

work-around:

  1. right click project
  2. import
  3. choose library path
  4. paste in a legit path, leave the edit with the legit path
  5. click browse
  6. click Open on the file open dialog
  7. finish is enabled

Create Tycho build

I have created a tycho build for the plugins

Creating and Eclipse product and Update site is now easy as:

git clone https://github.com/wimjongman/arduino-eclipse-plugin
mvn verify

The file system will contain a target directory in the product folder which will contain an eclipse product for your platform.

The P2 repo is contained in the updatesite plug-in

"Import Arduino libraries in the current project" doesn't bring up useful dialog

<First off thanks for all the effort Jantje!>

"Import Arduino libraries in the current project" is not allowing for the selection of Arduino libraries (either Arduino or Sketchbook/Private) on my system.

Setup:
Ubuntu 13.04 (64-bit)
Eclipse 3.8.1 (installed to system via apt-get)
Arduino 1.5.2 (installed to a directory)
arduino-eclipse-plugin V2.1.0.4 (installed from update site)

Arduino IDE path: /home/brody/arduino-1.5

Private Library Path: /home/brody/Dropbox/Arduino/arduino_sketchbook/libraries
(has 25 entries -- many of which are symlinked)

I right click on my project in the project explorer pane, select Import.
Select "Import Arduino libraries in the current project" from under Arduino

Then I receive a "select the Arduino libraries" dialog but it is empty. It contains a field for options but contains no entries/check boxes. I am expecting that there would be a list of arduino and libraries in my private/sketchbook options - but ehre is nothing.

I can click finish and nothing happens (as nothing was selected) other than the dialog closing.

This was working on the older version -- I just updated and re-created my project.

This is low priority issue. I have a workaround for as "Import a folder cont....." works -- but introduces linker (combiner) order issues -- which then has another workaround.

Serial port not found when using a programmer

Using linux. It is possible to set up an avrdude "Programmer configuration" for an external programmer, rather than the arduino boot loader. Avrdude works, but the plugin gives a serial port error first. Here is an example command line:

avrdude -patmega328p -cdragon_isp -Pusb -Uflash:w:xbeeFio.hex:a

It would be nice to be able to stop the plugin from trying to access the port itself with a check box, for cases where a programmer is used instead of the boot loader.

Thank you.

New arduino sketch does not work

When I try to create a new arduino sketch the third page (Provide the Arduino Information.) provides only disabled buttons and thus does not allow to validate the new project.

I tried with a new workspace too but it does not work anymore.

Using plugin version 1.1.7
Eclipse version: Indigo Service Release 1
Build id: 20110916-0149

NullPointerException on build

I get a NullPointerException consistently when building projects. However, the project does appear to build ok and I can upload to the Arduino. I am using plug-in version 1.2.4. The errors/environments are as follows:

Error 1
org.eclipse.core.runtime.CoreException: Internal error building project ws2801-test configuration Release
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:142)
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:72)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:753)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
    at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:513)
    at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:422)
    at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:180)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.NullPointerException
    at org.eclipse.cdt.core.resources.RefreshScopeManager.initializeConfigMap(RefreshScopeManager.java:523)
    at org.eclipse.cdt.core.resources.RefreshScopeManager.getConfigurationToResourcesMap(RefreshScopeManager.java:305)
    at org.eclipse.cdt.core.resources.RefreshScopeManager.getResourcesToExclusionsMap(RefreshScopeManager.java:283)
    at org.eclipse.cdt.core.resources.RefreshScopeManager.getResourcesToRefresh(RefreshScopeManager.java:395)
    at org.eclipse.cdt.core.resources.RefreshScopeManager.shouldResourceBeRefreshed(RefreshScopeManager.java:773)
    at org.eclipse.cdt.core.resources.RefreshScopeManager$2.refreshResources(RefreshScopeManager.java:350)
    at org.eclipse.cdt.core.resources.RefreshScopeManager$2.run(RefreshScopeManager.java:374)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
    at org.eclipse.cdt.internal.core.BuildRunnerHelper.refreshProject(BuildRunnerHelper.java:334)
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:133)
    ... 17 more
Error 2
eclipse.buildId=M20120208-0800
java.version=1.6.0_33
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product -keyring /Users/teabot/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -keyring /Users/teabot/.eclipse_keyring -showlocation

Error
Sun Sep 16 18:38:08 BST 2012
Internal error building project ws2801-test configuration Release

java.lang.NullPointerException
    at org.eclipse.cdt.core.resources.RefreshScopeManager.initializeConfigMap(RefreshScopeManager.java:523)
    at org.eclipse.cdt.core.resources.RefreshScopeManager.getConfigurationToResourcesMap(RefreshScopeManager.java:305)
    at org.eclipse.cdt.core.resources.RefreshScopeManager.getResourcesToExclusionsMap(RefreshScopeManager.java:283)
    at org.eclipse.cdt.core.resources.RefreshScopeManager.getResourcesToRefresh(RefreshScopeManager.java:395)
    at org.eclipse.cdt.core.resources.RefreshScopeManager.shouldResourceBeRefreshed(RefreshScopeManager.java:773)
    at org.eclipse.cdt.core.resources.RefreshScopeManager$2.refreshResources(RefreshScopeManager.java:350)
    at org.eclipse.cdt.core.resources.RefreshScopeManager$2.run(RefreshScopeManager.java:374)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
    at org.eclipse.cdt.internal.core.BuildRunnerHelper.refreshProject(BuildRunnerHelper.java:334)
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeExternalBuild(ExternalBuildRunner.java:133)
    at org.eclipse.cdt.managedbuilder.core.ExternalBuildRunner.invokeBuild(ExternalBuildRunner.java:72)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:753)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
    at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
    at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:513)
    at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:422)
    at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:180)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Project doesn't work after removing a library

Hi there,

firstly, thanks for this amazing plugin. It has taken Arduino development to another level.

secondly, I think I might have found a bug. Every time I delete or rename a library that has been imported, the project stops compiling.
One of the symptoms is that some basic libraries paths get deleted, like /${ARDUINOBOARDNAME}/arduino and /${ARDUINOBOARDNAME}/${ARDUINOBOARDVARIANT}.
I am checking that at C/C++ General -> Path and Symbols.

Steps to reproduce:

  1. Create an Arduino Project.
  2. Import TWO libraries
  3. Right some code to use those libraries.
  4. Compile.
  5. Delete or rename one of the libraries.
  6. Remove the just created code to use the library which has been deleted.
  7. Compile again

It won't compile.

Thanks,
Franklin

Failed to import SoftwareSerial library

I cannot import standard Arduino libraries. Specifically, I'm trying to import SoftwareSerial and followed the wizard. When I click Finish, I get an error that it Failed to import library:

'ArduinoLibPath/SoftwareSerial' is not a valid location. The location is relative to undefined workspace path variable 'ArduinoLibPath'.

I'm using version 1.2.2 of the plugin with Eclipse Indigo on OS X. How can I set this workspace path variable?

Kepler is not supported

I installed the plugin prerequisites from default repository, under Ubuntu 12.04, 32 bit. In Eclipse Kepler, select Window->Preferences, then click the AVR tree view entry. After selecting Paths tab, the whole dialog freezes. Happened every time when I tried. Any ideas or suggestions? Thanks.

Import project to eclipse - Arduino settings do not restore

Hello,

I use version 1.2.4.

Steps to reproduce:

  1. Create Arduino sketch project by plugin's wizard (File->Project->Arduino->New Arduino sketch)
  2. Delete project from IDE (Right-click on the project and choose delete, but dont mark "Delete project contents on disk"
  3. Import project (File->Import->Existing projects into workspace)
  4. Select deleted project root directory for "Select root directory"
  5. Press Finish
  6. Go to imported project properties

Actual result:

  • Board selection is lost under "Your arduino board specifications"
  • Port selection and other parameters for AVRDude and Target Hardware seem right
  • Under C/C++ Build -> Environment environment variables ARDUINOBOARDNAME, ARDUINOBOARDVARIANT etc are emptied

As the result, IDE can not resolve include path to Arduino.h

Expected result:
Board setting maintained and environment variables are right

How to recover:
Choose correct board - environment variables will restore. Then right-click project and do Index->Freshen all files

Thanks for your attention

Absolute paths in .project file prevent sharing of Arduino projects

When more than one developer is working on a project (e.g. like on https://github.com/neuweiler/GEVCU ) some path variables are stored in the .project file which usually could be shared in a repository. Although one sets the arduino paths in global preferences, they are stored in the .project file and not in the workspace settings:

Here's an excerpt of my .project file:

<variableList>
<variable>
<name>ArduinoHardwareLibPath</name>
<value>file:/Z:/development/arduino/arduino-1.5.2/hardware/arduino/sam/libraries</value>
</variable>
<variable>
<name>ArduinoPinPath</name>
<value>file:/Z:/development/arduino/arduino-1.5.2/hardware/arduino/sam/variants</value>
</variable>
<variable>
<name>ArduinoPlatformPath</name>
<value>file:/Z:/development/arduino/arduino-1.5.2/hardware/arduino/sam</value>
</variable>
</variableList>

Is it possible to move these to another location so the .project file can be shared on different platforms like it is the case with standard eclipse projects?

Build Options: Included Features

The current build contains the C/C++ environment, git and the Arduino plugins.

I have left out: Mylyn and CVS

We can include all sorts of other features in the main build, even those directly from marketplace.

Is this basic product enough (let people install their own features if they want) or should be provide additional features in the base product?

Create Arduino Project Error

1
2
3

Prerequisite:

  1. Unselect "Use default location" when "Create a new Arduino Sketch"
  2. Under that workspace, the core project of the chosen board has not been created before

Environment:

  1. Windows 7 x64, Java 1.6.0_29 x86, Eclipse Indigo SR2 x86, CDT 8.0.2, Arduino Extension 1.2.55, Arduino 1.0.3
  2. Windows 7 x64, Java 1.6.0_32 x64, Eclipse Indigo SR2 x64, CDT 8.0.2, Arduino Extension 1.2.55, Arduino 1.0.3

Error Description:
When create a new Arduino Sketch project named "ArduinoMegaAdk_EclipseDemo2", by chosen "MegaADK" board, then below error will pop up:


Failed to create project ArduinoMegaAdk_EclipseDemo2
Invalid project description.
OK
F:\PROJECTS\Arduino\ArduinoMegaAdk_EclipseDemo2 overlaps the location of another project: 'ArduinoMegaAdk_EclipseDemo2'


Result:

  1. The core project is not created.
  2. "F:\PROJECTS\Arduino\ArduinoMegaAdk_EclipseDemo2" created, with ArduinoMegaAdk_EclipseDemo2.h, ArduinoMegaAdk_EclipseDemo2.cpp inside.

Build options: Continuous Integration

It is possible with the new build method to provide a snapshot build of the latest and the greatest. It would build every time a change is made to the master repo. It could be instructed to build for all major platforms.

This means that we can setup a jenkins build server that will automatically build the product and the update site.

Is this possible in the current infrastructure (looking at cost and bandwidth)? Is there a server that we can use?

If no should we find ways to mirror it somehow?

Create new sketch and name start with numbers -> problematic

Creating a new sketch with name "100_Blink" failed on V1.2.4/Indigo.
The reason could be the lines below in the included/generated header file.

ifndef 100_Blink_H_

define 100_Blink_H_

Eventually the "define" must be only start with a not numeric sign.

Workaround: Create the sketch without numbers at the beginning of the name. After creating it successfully rename the project in eclipse.

Hardware serial port as "Serial"

First of all: Thanks for the great plugin! It has made the work with
Eclipse and Arduino much easier - especially linking libraries.

Unfortunately the Serial library doesn't work out of the box.

The solution is quite simple: Include

extern HardwareSerial Serial;

in the specific project .h file.

A new version of the plugin could do this by default.

Unable to create new project in Linux; port cannot be configured properly

When creating a new Arduino project (sketch), then the selection box for port does not have any items. Typing /dev/ttyUSB0 leads to unclear errors:
screenshot from 2013-09-29 10 36 38

When trying to by-pass the problem by clicking OK, the project seems to have been created already, and OK will prevent closing the dialog. See next message:
screenshot from 2013-09-29 10 56 44

Eclipse crashes when connecting serial console (Ubuntu 12.04)

Hi jantje,
first of all thank for the great plug-in. I was happy to find there is an Eclipse plug-in, when I got my little Arduino this week.
I installed the plugin following the instructions in your video and resolved the issues mentioned there without a hitch. So now compiling and transfering to my Arduino works (e.g. serial not showing up and the supposedly unresolved dependencies).

But I have an issue, when I want to connect to my Arduino from the Eclipse serial console (the Arduino IDE console works fine) and I am unable to resolve it.

I press the green '+' button to add a new connection and select the port and baud-rate correctly. After hitting 'OK' it shortly shows something like 'Connected to /dev/ttyACM0 at 9600 baud.' and then shortly afterwards Eclipse crashes.
When running Eclipse from bash heres the error message it gives me when crashing:

=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ffaae2f4462, pid=14222, tid=140714640856832
#
# JRE version: 6.0_24-b24
# Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.11.3
# Distribution: Ubuntu 12.04 LTS, package 6b24-1.11.3-1ubuntu0.12.04.1
# Problematic frame:
# C  [librxtxSerialx86_64.so+0x6462]  read_byte_array+0x52
#
# An error report file with more information is saved as:
# /run/lock/hs_err_pid14222.log
#
# If you would like to submit a bug report, please include
# instructions how to reproduce the bug and visit:
#   https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

As you can see I am running Ubuntu 12.04 LTS 64bit using the Ubuntu-provided OpenJDK 6 and JRE.
If you need the error log that it points to I can send it to you. Hope you have an idea on how to solve this issue. BTW what JRE/JDK version do you use?
Best regards,
M.

bug with some arduino boad config

the pugin works well when i select the arduino boad as Mega or Diecemila whick are largly used . However ,when i specify the boad as mini pro 3.3v ,error occurs.the error log is just as following:

eclipse.buildId=M20110909-1335
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.cpp.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.cpp.product

Error
Tue Feb 21 16:16:44 CST 2012
Path variable name cannot contain character: ,.

some other uncommon boards seems the same problem .Hope for you answer!
[email protected]

All fields greyed out on "create new project" screen.

Hi

When creating a New Arduino sketch project, all the fields on the "Provide the Arduino Information" screen are greyed out.

The behaviour is the same under root account.

There are no errors on the console:
Experimental: JNI_OnLoad called.
Stable Library
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7

PS: Information is spelled incorrectly ;-)

Create Project1

Create Project

AVRDude reports that serial port not found

Ubuntu
Eclipse Indigo
Arduino IDE 1.0
Plugin version 1.2.0

When I try to upload to my arduino, I get a dialog box that states that the port doesn't exist. I dismiss the dialog box, and then the upload happens normally. It asks me if I've chosen the correct port on the properties page. When I go to the properties page, the port DOES appear to be a drop-down list, but the drop-down button is disabled. So I just enter my port name: /dev/ttyACM0 - this is the same port name as is used by the arduino IDE.

I noticed that the port name appears in two places - on the project properties page for Arduino, and under each configuration for AVRDUDE. If I remove the port name from the arduino page, I get the same result. If I remove the port name from the avrdude configuration, I get a different error and it seems to be trying to use an alternate port name.

I guess since it ultimately works, this isn't really a bug, but I thought I should bring it to your attention.

BTW - this is a GREAT plugin. I'm so happy that there is a professional alternative to the Arduino IDE.

Information is wrongly spelled

I'm unable to create a new sketch project.
Platform: Ubuntu 13.4
Eclipse: Kepler
Arduino: 1.0.5
Plugin source: http://www.baeyens.it/eclipse/V2

I'm new to Arduino, so maybe I've got a config item wrong.
(But the Arduino IDE is working OK for me.)

A BIG problem is that 'information' is spelled wrong on the page below. :)

broken

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.