Need testers for a new IDE

very interested in PC release Mac - nah!

I’ve overhauled the build system and set up a server to make the builds repeatable. That means we now have a Windows version. Here’s the zip:

http://hudson.joshy.org:9001/job/ArduinoX/lastSuccessfulBuild/artifact/dist/ArduinoX-win.zip

Just unzip it and run the EXE. It has Java and the compiler bundled with it. It runs on Windows 8. It should run on older versions of Windows down to XP, but I haven’t actually tried them yet since I’m using Win8 for my job.

This build only has support for a few devices and examples, but it’s easy to add more. Please try it out and tell me what bugs/features you want next.

Thanks.
Josh

Thanks Josh, at 92Mb I’ll just have to look at this month’s data usage, but I’ll grab it as soon as I can.


Rob

Yes, the downloads are a bit beefy still. I haven't had a chance to trim out unnecessary files from the JRE and gcc bundles.

Graynomad: Thanks Josh, at 92Mb I'll just have to look at this month's data usage, but I'll grab it as soon as I can.


Rob

It's no bigger than a standard IDE download (much smaller than 1.5) so I wouldn't worry about it too much. I just did a 240Mb download though so I have to count the pennies for a while :)


Rob

I've just put up a new build that fixes a ton of bugs. BTW, the Windows build is 64bit only. I'm working on a 32bit build.

Another new build is up. Fixes some build issues and adds a settings screen to turn off full compiler output. I've also managed to slim down the Mac build by about 20 MB. It's still my goal to get under 100MB.

http://hudson.joshy.org:9001/job/ArduinoX/lastSuccessfulBuild/artifact/

Actually, that build isn't any slimmer because I broke something. Fixed now. Just over 100MB now.

I've also started a wiki page for the design and roadmap.

https://github.com/joshmarinacci/arduinox/wiki/Design-and-Roadmap

I’ve added a Windows 32 build now. The avrtools seem to work underneath it, so I don’t know if there’s really a 32/64bit difference on the tools themselves. The IDE and it’s version of Java are now 32 or 64 bit depending on which zip you download. Please try it out. Thanks!

http://hudson.joshy.org:9001/job/ArduinoX/lastSuccessfulBuild/artifact/dist/

OK, downloaded and runs.

First thing, it looks good, I don't often use the IDE but when I do I'm inclined to use this one just because it is a more modern look and feel.

There is a list of examples in the right panel, how do you load them? Clicking, double-clicking, clicking the "Clone" button all have no obvious affect.

So to get some source code I ran the normal IDE to get the blink sketch.

It fails to compile

INFO: assembling sketch in directory: C:\Users\Rob\Documents\Arduino\Blink
INFO: using temp dir: C:\tmp\blah
INFO: generating C/C++ file: C:\tmp\blah\Blink.cpp
INFO: error!
INFO: null
INFO: java.lang.NullPointerException
    at com.joshondesign.arduino.common.CompileTask.assemble(CompileTask.java:129)
    at com.joshondesign.arduinox.Actions$2$1.run(Actions.java:73)
    at java.lang.Thread.run(Unknown Source)

Turns out C:\tmp\blah\Blink.cpp does not exist, at least not after the event but it may have been cleaned up.

I just repeated the exercise and the first line is now

INFO: assembling sketch in directory: C:\ArduinoX\win

A different folder to the last time.

Also it doesn't remember the window location and size and ^A doesn't highlight all the text even though the menu option does. I assume the "Meta" key is not set for Windows? ^C and ^V work.


Rob

Downloading it now. I’m trying out the Mac version. I’ll give it a try for a few days and report back. Thanks for taking the time to do this. :slight_smile:

Thank you for the feedback. That's the only way it will get better.

The clone button on the examples panel didn't work. I just implemented the code and pushed out a commit. In the newest build should work now. Press the clone button to open up a new instance of that example sketch. Eventually I'd like to make the example search be full text, including the example source, but for now it's just the description and tags.

Regarding the compile error, can you tell me more? Does c:\tmp not exist on your computer? I may need to find a different way of calculating the temp directories that is cross platform.

The window settings are stored per sketch. If it's not remembering them then it's because it's not saving the settings for some reason. Can you send me some console logs?

The keystrokes are hard coded right now for the Mac. ^C and ^V work only because they are built into Java. I will to create a new set for Windows. Since I'm not a regular Windows user I could use some suggestions on what you would like.

Thanks! - Josh

Graynomad: OK, downloaded and runs.

First thing, it looks good, I don't often use the IDE but when I do I'm inclined to use this one just because it is a more modern look and feel.

There is a list of examples in the right panel, how do you load them? Clicking, double-clicking, clicking the "Clone" button all have no obvious affect.

So to get some source code I ran the normal IDE to get the blink sketch.

It fails to compile

INFO: assembling sketch in directory: C:\Users\Rob\Documents\Arduino\Blink
INFO: using temp dir: C:\tmp\blah
INFO: generating C/C++ file: C:\tmp\blah\Blink.cpp
INFO: error!
INFO: null
INFO: java.lang.NullPointerException
    at com.joshondesign.arduino.common.CompileTask.assemble(CompileTask.java:129)
    at com.joshondesign.arduinox.Actions$2$1.run(Actions.java:73)
    at java.lang.Thread.run(Unknown Source)

Turns out C:\tmp\blah\Blink.cpp does not exist, at least not after the event but it may have been cleaned up.

I just repeated the exercise and the first line is now

INFO: assembling sketch in directory: C:\ArduinoX\win

A different folder to the last time.

Also it doesn't remember the window location and size and ^A doesn't highlight all the text even though the menu option does. I assume the "Meta" key is not set for Windows? ^C and ^V work.


Rob

BTW. I just added colorized output to the compiler console. Now you should see info and warnings in different colors and weights from compiler output and errors.

Does c:\tmp not exist on your computer?

The folder exists and has a subfolder names “blah” but no files.

Can you send me some console logs?

LIke this you mean?

ResourceManager resource configuration:
 - Resource category: JAVA
 - Current directory: C:\ArduinoX\win\
 - Property count: 18
 - Property:  =<>
 - Property: arguments=<>
 - Property: bundledvm=<jre>
 - Property: classpath=<lib\ArduinoX.jar;lib\RXTXcomm.jar;lib\arduinocompile.jar
;lib\jsyntaxpane-0.9.6.jar;lib\swing-layout-1.0.4.jar;lib\XMLLib.jar>
 - Property: currentdir=<${EXECUTABLEPATH}>
 - Property: embedjar=<false>
 - Property: javapropertiescount=<1>
 - Property: javaproperty_name_0=<java.library.path>
 - Property: javaproperty_value_0=<./lib>
 - Property: jvmsearch=<bundled>
 - Property: mainclassname=<com.joshondesign.arduinox.Start>
 - Property: maxversion=<>
 - Property: minversion=<1.6>
 - Property: skel_Debug=<1>
 - Property: skel_JniSmooth=<0>
 - Property: skel_PressKey=<1>
 - Property: skel_SingleInstance=<0>
 - Property: skel_SingleProcess=<1>
Main class: com.joshondesign.arduinox.Start
Currentdir: C:\ArduinoX\win
Now searching the JVM installed on the system...
JVM Lookup: found VM (V(1)(6)(0)) in registry.
JVM Lookup: found VM (V(1)(6)(0)) in registry.
JVM Lookup: Env-Var JAVA_HOME not defined on this system.
JVM Lookup: Env-Var JRE_HOME not defined on this system.
JVM Lookup: Env-Var JDK_HOME not defined on this system.
Found a vm bundled with the application: (jre)
Current directory is C:\ArduinoX\win\
Running now <C:\ArduinoX\win\jre><><0.0.0>, instanciate=no
Launching <C:\ArduinoX\win\jre><><0.0.0>
RuntimeLibPath used: C:\ArduinoX\win\jre\bin\client\jvm.dll
No version, trying with 1.6.0
Saving jnismoothjar in C:\Users\Rob\AppData\Local\Temp\temp4.jar
Created temporary filename to hold the jar (C:\Users\Rob\AppData\Local\Temp\temp
4.jar)
ClassPath element is C:\ArduinoX\win\ + lib\ArduinoX.jar
ClassPath element 0=C:\ArduinoX\win\lib\ArduinoX.jar
ClassPath element is C:\ArduinoX\win\ + lib\RXTXcomm.jar
ClassPath element 1=C:\ArduinoX\win\lib\RXTXcomm.jar
ClassPath element is C:\ArduinoX\win\ + lib\arduinocompile.jar
ClassPath element 2=C:\ArduinoX\win\lib\arduinocompile.jar
ClassPath element is C:\ArduinoX\win\ + lib\jsyntaxpane-0.9.6.jar
ClassPath element 3=C:\ArduinoX\win\lib\jsyntaxpane-0.9.6.jar
ClassPath element is C:\ArduinoX\win\ + lib\swing-layout-1.0.4.jar
ClassPath element 4=C:\ArduinoX\win\lib\swing-layout-1.0.4.jar
ClassPath element is C:\ArduinoX\win\ + lib\XMLLib.jar
ClassPath element 5=C:\ArduinoX\win\lib\XMLLib.jar
VM Created successfully
DLL Setup on 1.6.0
Classpath: -Djava.class.path=C:\Users\Rob\AppData\Local\Temp\temp4.jar;C:\Arduin
oX\win\lib\ArduinoX.jar;C:\ArduinoX\win\lib\RXTXcomm.jar;C:\ArduinoX\win\lib\ard
uinocompile.jar;C:\ArduinoX\win\lib\jsyntaxpane-0.9.6.jar;C:\ArduinoX\win\lib\sw
ing-layout-1.0.4.jar;C:\ArduinoX\win\lib\XMLLib.jar;
Option added:-Djava.library.path=./lib
VM 1.2+ Created successfully !!
Looking up for class <jsmooth/Native>
Looking up for class <jsmooth/Native>
Looking up for class <jsmooth/Native>
Looking up for class <jsmooth/Native>
Looking up for class <jsmooth/Native>
Looking up for class <jsmooth/Native>
Looking up for class <jsmooth/Native>
Result code on DLL: 1
Looking up for class <com/joshondesign/arduinox/Start>
Looking up for class <java/lang/String>
Looking up for class <com/joshondesign/arduinox/Start>
Invoke Static main ([Ljava/lang/String;)V
the toolchain path = null
WARNING:  RXTX Version mismatch
        Jar version = RXTX-2.2pre1
        native lib Version = RXTX-2.2pre2
resources dir = C:\ArduinoX\win\resources
parsing: C:\ArduinoX\win\resources\hardware\boards\diecimila.xml
parsing: C:\ArduinoX\win\resources\hardware\boards\mega2560.xml
parsing: C:\ArduinoX\win\resources\hardware\boards\uno.xml
basedir = C:\ArduinoX\win\resources\examples
Loaded settings: 3
Nov 20, 2012 10:50:08 PM jsyntaxpane.DefaultSyntaxKit loadConfig
INFO: unable to load configuration for: class jsyntaxpane.syntaxkits.CSyntaxKit
from: jsyntaxpane/syntaxkits/CSyntaxKit/config.properties
installing font: java.awt.Font[family=Courier New,name=Courier New,style=plain,s
ize=12]
prop = componentPopupMenu
prop = document
preferred size = 26.0
prop = editorKit
prop = background
prop = caretColor
prop = selectionColor
installing font: java.awt.Font[family=Courier New,name=Courier New,style=plain,s
ize=12]
prop = componentPopupMenu
prop = componentPopupMenu
prop = font
preferred size = 28.0
prop = font
preferred size = 28.0
prop = ancestor
prop = ancestor
saved settings to : C:\settings.properties
serial port = COM11
saved settings to : C:\settings.properties
serial port = COM11

This is from an invocation after using the app with a maximised window. It came up at the standard small size.


Rob

Thought I would try this as I need some functionality which I cannot get with standard IDE. (Win 7/64 bit & Arduino UNO) Getting quite a few compile warnings regarding HardwareSerial. Does not stop the sketch running though!

I really need to be able to "cut" from the Serial terminal output, for debugging/documentation purpose. Unfortunatily, ArduinoX does not do that at this time! Will it be able to in the future? I will keep an eye on this development, as the standard IDE is not all that good!

I tried to compile and get the following error message:

-do-compile:
[javac] Compiling 21 source files to /Users/reivilo/Downloads/arduinox-master/build/classes
[javac] javac: invalid target release: 1.7
[javac] Usage: javac
[javac] use -help for a list of possible options

There was another nice project called Cocoduino (forum, GitHub).

Are you using the same approach based on ino (website, GitHub)?

You can even use Xcode, the excellent and free IDE provided with every Mac. Check the embedXcode project (website, download, forum!

You must have Java 7 installed to compile it. I’ve switched to Java 7 because it’s identical across all platforms now that the builds are provided directly by Oracle/Sun instead of Apple.

If you just want to try it out, download the pre-built version here:

http://hudson.joshy.org:9001/job/ArduinoX/lastSuccessfulBuild/artifact/dist/

avenue33:
I tried to compile and get the following error message:

-do-compile:
[javac] Compiling 21 source files to /Users/reivilo/Downloads/arduinox-master/build/classes
[javac] javac: invalid target release: 1.7
[javac] Usage: javac
[javac] use -help for a list of possible options

There was another nice project called Cocoduino (forum, GitHub).

Are you using the same approach based on ino (website, GitHub)?

You can even use Xcode, the excellent and free IDE provided with every Mac. Check the embedXcode project (website, download, forum!

I’ve put up a new build here:

http://hudson.joshy.org:9001/job/ArduinoX/lastSuccessfulBuild/artifact/dist/

This improves compiler output and now uses a proper temp directory. Does this fix the issue?

  • J

Graynomad:

Does c:\tmp not exist on your computer?

The folder exists and has a subfolder names “blah” but no files.

Can you send me some console logs?

LIke this you mean?

ResourceManager resource configuration:
  • Resource category: JAVA
  • Current directory: C:\ArduinoX\win\
  • Property count: 18
  • Property:  =<>
  • Property: arguments=<>
  • Property: bundledvm=
  • Property: classpath=<lib\ArduinoX.jar;lib\RXTXcomm.jar;lib\arduinocompile.jar
    ;lib\jsyntaxpane-0.9.6.jar;lib\swing-layout-1.0.4.jar;lib\XMLLib.jar>
  • Property: currentdir=<${EXECUTABLEPATH}>
  • Property: embedjar=
  • Property: javapropertiescount=<1>
  • Property: javaproperty_name_0=<java.library.path>
  • Property: javaproperty_value_0=<./lib>
  • Property: jvmsearch=
  • Property: mainclassname=<com.joshondesign.arduinox.Start>
  • Property: maxversion=<>
  • Property: minversion=<1.6>
  • Property: skel_Debug=<1>
  • Property: skel_JniSmooth=<0>
  • Property: skel_PressKey=<1>
  • Property: skel_SingleInstance=<0>
  • Property: skel_SingleProcess=<1>
    Main class: com.joshondesign.arduinox.Start
    Currentdir: C:\ArduinoX\win
    Now searching the JVM installed on the system…
    JVM Lookup: found VM (V(1)(6)(0)) in registry.
    JVM Lookup: found VM (V(1)(6)(0)) in registry.
    JVM Lookup: Env-Var JAVA_HOME not defined on this system.
    JVM Lookup: Env-Var JRE_HOME not defined on this system.
    JVM Lookup: Env-Var JDK_HOME not defined on this system.
    Found a vm bundled with the application: (jre)
    Current directory is C:\ArduinoX\win
    Running now <C:\ArduinoX\win\jre><><0.0.0>, instanciate=no
    Launching <C:\ArduinoX\win\jre><><0.0.0>
    RuntimeLibPath used: C:\ArduinoX\win\jre\bin\client\jvm.dll
    No version, trying with 1.6.0
    Saving jnismoothjar in C:\Users\Rob\AppData\Local\Temp\temp4.jar
    Created temporary filename to hold the jar (C:\Users\Rob\AppData\Local\Temp\temp
    4.jar)
    ClassPath element is C:\ArduinoX\win\ + lib\ArduinoX.jar
    ClassPath element 0=C:\ArduinoX\win\lib\ArduinoX.jar
    ClassPath element is C:\ArduinoX\win\ + lib\RXTXcomm.jar
    ClassPath element 1=C:\ArduinoX\win\lib\RXTXcomm.jar
    ClassPath element is C:\ArduinoX\win\ + lib\arduinocompile.jar
    ClassPath element 2=C:\ArduinoX\win\lib\arduinocompile.jar
    ClassPath element is C:\ArduinoX\win\ + lib\jsyntaxpane-0.9.6.jar
    ClassPath element 3=C:\ArduinoX\win\lib\jsyntaxpane-0.9.6.jar
    ClassPath element is C:\ArduinoX\win\ + lib\swing-layout-1.0.4.jar
    ClassPath element 4=C:\ArduinoX\win\lib\swing-layout-1.0.4.jar
    ClassPath element is C:\ArduinoX\win\ + lib\XMLLib.jar
    ClassPath element 5=C:\ArduinoX\win\lib\XMLLib.jar
    VM Created successfully
    DLL Setup on 1.6.0
    Classpath: -Djava.class.path=C:\Users\Rob\AppData\Local\Temp\temp4.jar;C:\Arduin
    oX\win\lib\ArduinoX.jar;C:\ArduinoX\win\lib\RXTXcomm.jar;C:\ArduinoX\win\lib\ard
    uinocompile.jar;C:\ArduinoX\win\lib\jsyntaxpane-0.9.6.jar;C:\ArduinoX\win\lib\sw
    ing-layout-1.0.4.jar;C:\ArduinoX\win\lib\XMLLib.jar;
    Option added:-Djava.library.path=./lib
    VM 1.2+ Created successfully !!
    Looking up for class <jsmooth/Native>
    Looking up for class <jsmooth/Native>
    Looking up for class <jsmooth/Native>
    Looking up for class <jsmooth/Native>
    Looking up for class <jsmooth/Native>
    Looking up for class <jsmooth/Native>
    Looking up for class <jsmooth/Native>
    Result code on DLL: 1
    Looking up for class <com/joshondesign/arduinox/Start>
    Looking up for class <java/lang/String>
    Looking up for class <com/joshondesign/arduinox/Start>
    Invoke Static main ([Ljava/lang/String;)V
    the toolchain path = null
    WARNING:  RXTX Version mismatch
            Jar version = RXTX-2.2pre1
            native lib Version = RXTX-2.2pre2
    resources dir = C:\ArduinoX\win\resources
    parsing: C:\ArduinoX\win\resources\hardware\boards\diecimila.xml
    parsing: C:\ArduinoX\win\resources\hardware\boards\mega2560.xml
    parsing: C:\ArduinoX\win\resources\hardware\boards\uno.xml
    basedir = C:\ArduinoX\win\resources\examples
    Loaded settings: 3
    Nov 20, 2012 10:50:08 PM jsyntaxpane.DefaultSyntaxKit loadConfig
    INFO: unable to load configuration for: class jsyntaxpane.syntaxkits.CSyntaxKit
    from: jsyntaxpane/syntaxkits/CSyntaxKit/config.properties
    installing font: java.awt.Font[family=Courier New,name=Courier New,style=plain,s
    ize=12]
    prop = componentPopupMenu
    prop = document
    preferred size = 26.0
    prop = editorKit
    prop = background
    prop = caretColor
    prop = selectionColor
    installing font: java.awt.Font[family=Courier New,name=Courier New,style=plain,s
    ize=12]
    prop = componentPopupMenu
    prop = componentPopupMenu
    prop = font
    preferred size = 28.0
    prop = font
    preferred size = 28.0
    prop = ancestor
    prop = ancestor
    saved settings to : C:\settings.properties
    serial port = COM11
    saved settings to : C:\settings.properties
    serial port = COM11



This is from an invocation after using the app with a maximised window. It came up at the standard small size.

______
Rob

If you just want to try it out, download the pre-built version here:

http://hudson.joshy.org:9001/job/ArduinoX/lastSuccessfulBuild/artifact/dist/

Thank you!