Arduino Forum

Development => Other Software Development => Topic started by: joshmarinacci on Nov 03, 2012, 03:58 am

Title: Need testers for a new IDE
Post by: joshmarinacci on Nov 03, 2012, 03:58 am
I've been working on a brand new Arduino IDE written from scratch (though it borrows some code from the existing IDE).  The goal is to be easier to use, clearer, and with some fun new features.  (see attached image. note that the visual design isn't started yet.)

Right now the IDE is very alpha but I'm ready to start sharing it with people.  I'm look for some Mac users who would like to test it. Don't worry, it will be fully cross platform but I've only built the Mac.app bundles so far. (With luck we can eventually get it into the Mac store tool!).

Interested?

- J
Title: Re: Need testers for a new IDE
Post by: graynomad on Nov 03, 2012, 09:47 am
I like the look, nice and clean, better font, line numbers, reference on hand etc. But I'd rather chew my own arm off rather than use a Mac :)

Let us know when you have it on the PC.

Does the serial monitor stay open so you don't have to relaunch it every time?

______
Rob
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 03, 2012, 09:41 pm
The serial monitor is attached to the code window, that way there is never any doubt about which serial port goes with which sketch.  The port will be automatically closed and reopened when uploading a sketch.



I like the look, nice and clean, better font, line numbers, reference on hand etc. But I'd rather chew my own arm off rather than use a Mac :)

Let us know when you have it on the PC.

Does the serial monitor stay open so you don't have to relaunch it every time?

______
Rob
Title: Re: Need testers for a new IDE
Post by: graynomad on Nov 04, 2012, 01:26 am
Quote
The port will be automatically closed and reopened when uploading a sketch.

Something people have been wanting for a long time.

One more thing, does the program remember it's size and position between invocations?

______
Rob
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 04, 2012, 01:56 am
Yes. Per sketch.




Quote
The port will be automatically closed and reopened when uploading a sketch.

Something people have been wanting for a long time.

One more thing, does the program remember it's size and position between invocations?

______
Rob
Title: Re: Need testers for a new IDE
Post by: graynomad on Nov 04, 2012, 02:52 am
Good, that's a real PITA with the standard IDE.

______
Rob
Title: Re: Need testers for a new IDE
Post by: mmcp42 on Nov 04, 2012, 10:06 am
very interested in PC release
Mac - nah!
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 13, 2012, 10:14 pm
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
Title: Re: Need testers for a new IDE
Post by: graynomad on Nov 14, 2012, 02:57 am
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
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 14, 2012, 04:58 am
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.



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
Title: Re: Need testers for a new IDE
Post by: graynomad on Nov 14, 2012, 05:23 am
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
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 17, 2012, 07:38 am
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.
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 18, 2012, 06:20 am
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/
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 18, 2012, 09:08 pm
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
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 19, 2012, 07:30 pm
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/
Title: Re: Need testers for a new IDE
Post by: graynomad on Nov 20, 2012, 01:02 am
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

Code: [Select]
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

Code: [Select]
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
Title: Re: Need testers for a new IDE
Post by: UnaClocker on Nov 20, 2012, 04:00 am
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. :)
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 20, 2012, 04:39 am
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


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

Code: [Select]
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

Code: [Select]
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
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 20, 2012, 04:40 am
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.
Title: Re: Need testers for a new IDE
Post by: graynomad on Nov 20, 2012, 01:55 pm
Quote
Does c:\tmp not exist on your computer?

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

Quote
Can you send me some console logs?

LIke this you mean?

Code: [Select]
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
Title: Re: Need testers for a new IDE
Post by: rexlee on Nov 22, 2012, 12:35 am
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!
Title: Re: Need testers for a new IDE
Post by: avenue33 on Nov 22, 2012, 07:40 pm
I tried to compile and get the following error message:

Quote
-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 <options> <source files>
    [javac] use -help for a list of possible options


There was another nice project called Cocoduino (forum (http://arduino.cc/forum/index.php/topic,86028.0.html), GitHub (https://github.com/fabiankr/Cocoduino)).

Are you using the same approach based on ino (website (http://inotool.org), GitHub (https://github.com/amperka/ino))?

You can even use Xcode, the excellent and free IDE provided with every Mac. Check the embedXcode project (website (http://embedxcode.weebly.com), download (http://embedxcode.weebly.com/download.html), forum (http://arduino.cc/forum/index.php/topic,49956.210.html)!
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 25, 2012, 07:14 am
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/



I tried to compile and get the following error message:

Quote
-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 <options> <source files>
    [javac] use -help for a list of possible options


There was another nice project called Cocoduino (forum (http://arduino.cc/forum/index.php/topic,86028.0.html), GitHub (https://github.com/fabiankr/Cocoduino)).

Are you using the same approach based on ino (website (http://inotool.org), GitHub (https://github.com/amperka/ino))?

You can even use Xcode, the excellent and free IDE provided with every Mac. Check the embedXcode project (website (http://embedxcode.weebly.com), download (http://embedxcode.weebly.com/download.html), forum (http://arduino.cc/forum/index.php/topic,49956.210.html)!
Title: Re: Need testers for a new IDE
Post by: joshmarinacci on Nov 25, 2012, 07:15 am
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


Quote
Does c:\tmp not exist on your computer?

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

Quote
Can you send me some console logs?

LIke this you mean?

Code: [Select]
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
Title: Re: Need testers for a new IDE
Post by: avenue33 on Nov 25, 2012, 09:15 am
Quote
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!