Go Down

Topic: UECIDE: A New Fork of the IDE (Read 57 times) previous topic - next topic

majenko


To my above replay:
Clean Build Folder... CTRL_R
Verify/Compile... CTRL_R
in the menu


Yeah - I keep seeing that and I keep thinking "I must change the clean accelerator key"...   :smiley-roll-sweat:
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

pito

#241
Jul 21, 2013, 01:05 pm Last Edit: Jul 21, 2013, 01:07 pm by pito Reason: 1
I've closed uecide (I messed with plugin manager before as well with cleaning /temp) and while the opening it it freezes during loading plugins now. How to unlock it?
Code: [Select]
Adding class uecide.plugin.Archiver
Adding class uecide.plugin.AutoFormat
Adding class uecide.plugin.FixEncoding
Adding class uecide.plugin.PluginManager
Adding class uecide.plugin.SerialTerminal
Adding class uecide.plugin.ColorSelector
Exception in thread "main" java.lang.NoClassDefFoundError: processing/core/PApplet
       at java.lang.ClassLoader.defineClass1(Native Method)
       at java.lang.ClassLoader.defineClass(Unknown Source)
       at java.security.SecureClassLoader.defineClass(Unknown Source)
       at java.net.URLClassLoader.defineClass(Unknown Source)
       at java.net.URLClassLoader.access$100(Unknown Source)
       at java.net.URLClassLoader$1.run(Unknown Source)
       at java.net.URLClassLoader$1.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(Unknown Source)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Unknown Source)
       at uecide.app.Base.loadPlugin(Unknown Source)
       at uecide.app.Base.loadPluginsFromFolder(Unknown Source)
       at uecide.app.Base.loadPlugins(Unknown Source)
       at uecide.app.Base.<init>(Unknown Source)
       at uecide.app.Base.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: processing.core.PApplet
       at java.net.URLClassLoader$1.run(Unknown Source)
       at java.net.URLClassLoader$1.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(Unknown Source)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       ... 18 more

majenko

Delete the color selector plugin from the plugins folder in your sketchbook.
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

pito


Delete the color selector plugin from the plugins folder in your sketchbook.

Hmm, why we copy plugins into my Sketchbook? It did help, but surprised what I've found in my Sketchbook..  :smiley-roll:

majenko

Blame Arduino.

It surprised me, too, when I discovered that the "correct" place to put libraries was in the sketchbook.

Everything goes in the sketchbook at the moment, though quite why Ardunio chose to do that, when there is a perfectly good .uecide (or .arduino etc) folder with your preferences in it (and soon an overriding theme.txt file) I have no idea.

I would like to move everything but the actual sketches into that folder, but it might confuse the poor arduinoites when they try and find a library...
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

pito

Quote
.."correct" place to put libraries was in the sketchbook

I would understand that as those are "libraries" related to my source-codes, so they are necessary for building my sources and therefore shall be put into my repo called Sketchbook and they shall survive an IDE upgrade.

Plugins are related to IDE so they have to be stored in the plugins folder we already have in uecide IDE. An upgrade of IDE shall upgrade those plugins as well.

majenko

Plugins are separate to the IDE.  They can be written by other people besides me.

Also, on systems that aren't Windows, you can install UECIDE in a system area which the user is unable to write to (i.e., install it as root), in which case installing a plugin to that system area as the user is going to fail.  Therefore all downloaded plugins, cores and boards have to go somewhere within the user's home directory. 
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

majenko

#247
Jul 21, 2013, 06:44 pm Last Edit: Jul 21, 2013, 06:47 pm by majenko Reason: 1
I spent last night and this morning replacing the whole property file handling system (preferences.txt, theme.txt, board.txt and core.txt).  It is now a proper Properties object based class that does all the work instead of strange manual piecemeal parsing of the files.  I decided it needed to be done after my preferences.txt file got corrupted the other day.  Now if anything goes wrong it's Oracle's fault ;)

It's also faster and lighter.

One knock-on effect is you can now put a theme.txt file in your .uecide (or wherever it is on your system) folder (the one with preferences.txt in it) and entries in that override the theme.txt in the lib/theme folder.

Another thing - because all the preferences system has changed, any plugins that reference the preferences, the board or core, or the theme, will need to be upgraded.  So that's pretty much all plugins.  I have bumped the version of them all, so you should be able to do an "upgrade all" in the plugins manager.
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

pito

#248
Jul 21, 2013, 07:55 pm Last Edit: Jul 21, 2013, 08:26 pm by pito Reason: 1
I installed the 0.6.2a full, no sketchbook found, no recent sketches, I pointed it to my sketchbook, opened PP_MWII, and tried to compile. It freezes with Compiling the sketch and it took arduino robot board even pragma is pro5v328. I see only 5 boards in the menu. The first exception comes from opening the PP_MWII.ino in editor, the second one from compiling.

I opened the old 0.6.1a, no sketchbook found, no recent sketches, but compilation works..

Where is the trick?

Code: [Select]

D:\ProgramFiles\arduino\uecide-0.6.2>java -Xms128m -Xmx128m -classpath "lib;lib\uecide.jar;lib\uecid
e.jar;lib\jna.jar;lib\ecj.jar;lib\RXTXcomm.jar;lib\log4j-1.2.16.jar;lib\log4j.properties" uecide.app
.Base
Stable Library
=========================================
Native lib Version = RXTX-2.2pre2
Java lib Version   = RXTX-2.1-7
WARNING:  RXTX Version mismatch
       Jar version = RXTX-2.1-7
       native lib Version = RXTX-2.2pre2
ITLT size: 14
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
       at uecide.app.Editor.selectBoard(Unknown Source)
       at uecide.app.Editor.selectBoard(Unknown Source)
       at uecide.app.Sketch.checkForSettings(Unknown Source)
       at uecide.app.Editor.openInternal(Unknown Source)
       at uecide.app.Base.createNewEditor(Unknown Source)
       at uecide.app.Base.handleOpenPrompt(Unknown Source)
       at uecide.app.Editor$11.actionPerformed(Unknown Source)
       at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
       at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
       at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
       at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
       at javax.swing.AbstractButton.doClick(Unknown Source)
       at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
       at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
       at java.awt.Component.processMouseEvent(Unknown Source)
       at javax.swing.JComponent.processMouseEvent(Unknown Source)
       at java.awt.Component.processEvent(Unknown Source)
       at java.awt.Container.processEvent(Unknown Source)
       at java.awt.Component.dispatchEventImpl(Unknown Source)
       at java.awt.Container.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
       at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
       at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
       at java.awt.Container.dispatchEventImpl(Unknown Source)
       at java.awt.Window.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
       at java.awt.EventQueue.access$200(Unknown Source)
       at java.awt.EventQueue$3.run(Unknown Source)
       at java.awt.EventQueue$3.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
       at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
       at java.awt.EventQueue$4.run(Unknown Source)
       at java.awt.EventQueue$4.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
       at java.awt.EventQueue.dispatchEvent(Unknown Source)
       at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.NullPointerException
       at uecide.app.Sketch.gatherIncludes(Unknown Source)
       at uecide.app.Sketch.prepare(Unknown Source)
       at uecide.app.Editor$DefaultRunHandler.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)


This is the latest preferences.txt from uecide (a big mess):
Code: [Select]
#Sun Jul 21 20:22:30 CEST 2013
export.application.fullscreen=false
export.save_hex=true
editor.correct_numbers=false
preproc.imports.list=java.applet.*,java.awt.Dimension,java.awt.Frame,java.awt.event.MouseEvent,java.awt.event.KeyEvent,java.awt.event.FocusEvent,java.awt.Image,java.io.*,java.net.*,java.text.*,java.util.*,java.util.zip.*,java.util.regex.*
editor.font.macosx=Monaco,plain,10
preproc.web_colors=true
export.application.platform=true
editor.indent=true
serial.stopbits=1
serial.databits=8
editor.font=Monospaced,plain,16
editor.window.height.default=600
run.options.memory=false
serial.height=24
editor.divider.size=2
editor.caret.blink=true
preproc.color_datatype=true
export.applet.separate_jar_files=false
editor.update_extension=false
preproc.output_parse_tree=false
run.window.bgcolor=\#ECE9D8
compiler.combine_ino=true
console.lines=4
serial.autocr_in=true
console.error.file=stderr.txt
run.options.memory.maximum=256
editor.tabs.expand=true
editor.window.height.min=530
editor.keys.home_and_end_travel_far=false
board=robotMotor
console=true
sketch.mru.9=C\:MyCodeArduinolibrariesCosaExamplesSandboxCosaLCDmenu
run.present.exclusive.macosx=true
sketch.mru.8=C\:MyCodeArduinoCosaCanvasST7735
serial.parity=N
sketch.mru.7=C\:MyCodeArduinoOthers_8_Queens
editor.tabs.size=2
sketch.mru.6=C\:MyCodeArduinoCosaLCDmenu1
sketch.mru.5=C\:MyCodeArduinoCosaBenchmarkPins
sketch.mru.4=C\:MyCodeMPIDE_9test
console.length=500
sketch.mru.3=C\:MyCodeArduinoads1110_1
sketch.mru.2=C\:MyCodeArduinoAstroEQ6
sketch.mru.1=C\:MyCodeArduinoPP_MWII
last.sketch0.location=236,87,813,600,346
sketch.mru.0=C\:MyCodeArduinoGrapher example1
platform=avr
compiler.verbose=true
serial.port=COM6
run.options=
console.auto_clear=true
editor.window.width.min=400
run.present.exclusive=false
export.application.platform.linux=true
editor.window.width=1230
export.verbose=true
editor.keys.home_and_end_travel_far.macosx=true
editor.window.height.min.windows=530
run.present.bgcolor=\#666666
export.application.platform.windows=true
run.options.memory.initial=64
editor.keys.alternative_cut_copy_paste=true
serial.debug_cursor=true
editor.window.width.default=500
console.output.file=stdout.txt
preproc.substitute_unicode=true
compiler.disable_prototypes=false
export.save_lss=true
run.present.stop.color=\#cccccc
editor.external=false
last.screen.height=800
compiler.generate_lss=true
editor.keys.shift_backspace_is_delete=true
editor.window.height.min.macosx=450
last.sketch.count=0
export.delete_target_folder=false
last.sketch0.path=C\:MyCodeArduinoHAMDDSlonglongDDSlonglong.ino
preproc.substitute_floats=true
grapher.font=Monospaced,plain,12
editor.keys.alternative_cut_copy_paste.macosx=false
browser.linux=mozilla
editor.invalid=false
serial.autocr_out=false
serial.debug_rate=115200
serial.font=Consolas,bold,16
sketchbook.path=C\:\\Documents and Settings\\pito\\My Documents\\uecide
export.application.stop=true
console.font=Monospaced,plain,12
editor.window.y=170
editor.divider.size.windows=2
serial.width=80
editor.window.x=14
preproc.enhanced_casting=true
editor.window.height=690
run.display=1
editor.antialias=false
platform.auto_file_type_associations=true
preproc.save_build_files=false
last.screen.width=1280
export.application.platform.macosx=true

majenko

I see the problem here.  Some of the boards have the core name specified with a space after it.  The old system trimmed those spaces, but the new one doesn't.  Just tweaking it now.
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

majenko

Ok, fixed that one now :)

There's also a new color selector now which doesn't use anything Processing.
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

pito

#251
Jul 21, 2013, 08:53 pm Last Edit: Jul 21, 2013, 09:04 pm by pito Reason: 1
The preferences stuff does not work.. It does not save my sketchbook location, for example (still the default one there). This is the preferences.txt after upgrade to 0.6.2b and setting to my sketchbook (I deleted the above one, lot of mess with paths there, see above):
Code: [Select]
#Sun Jul 21 20:50:00 CEST 2013
export.save_lss=false
platform.auto_file_type_associations=true
board=mega2560
sketchbook.path=C\:\\Documents and Settings\\pito\\My Documents\\uecide
export.delete_target_folder=true
serial.autocr_out=false
serial.autocr_in=false
editor.external=false
serial.font=
editor.font=Monospaced,plain,12
editor.window.width=880
compiler.generate_lss=false
compiler.verbose=false
serial.width=80
serial.height=24
console.font=
editor.window.height=597
editor.window.y=60
compiler.combine_ino=true
export.verbose=false
editor.window.x=160
compiler.disable_prototypes=false
export.save_hex=false

majenko

Somehow the line that stores the contents of the sketchbook path field in the preferences table got deleted.  I'm just putting it back, better than before.
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

pito

Also the recent sketches paths are not saved..

majenko


Also the recent sketches paths are not saved..

Yes they are.  However, they aren't (weren't) added to the MRU until the sketch was saved - opening the sketch did nothing.
Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

Go Up