Pages: 1 ... 28 29 [30] 31 32 ... 40   Go Down
Author Topic: UECIDE: A New Fork of the IDE  (Read 35050 times)
0 Members and 1 Guest are viewing this topic.
UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No problem. I'm patient smiley-grin

By the way, I notice that the avr-gcc compiler hasn't had the linker fix applied that I asked about a while back (https://github.com/TCWORLD/ATTinyCore/tree/master/PCREL%20Patch%20for%20GCC). This is needed for it to work with Attiny8x processors and won't have any affect any other processor smiley. I've made the change myself for now.
I'll get on it - it slipped from my tiny mind
Quote
The other thing is, is there any guidance on the new programmer stuff in core.txt? I will need to add options for various programmers for the Tiny core.
It's basically as it was before, but with a .programmername. added in there, and a  .name=Blah Blah entry as a requirement:
Code:
upload.arduino.name=Upload direct to an Arduino board
upload.arduino.command.linux_arm=${core.root}/tools/linux_pi/avrdude::-D::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/linux_pi/avrdude.conf::-c${upload.protocol}::-Uflash:w:${build.path}/${filename}.hex:i::${verbose}
upload.arduino.command.linux_amd64=${core.root}/tools/linux64/avrdude::-D::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/linux64/avrdude.conf::-c${upload.protocol}::-Uflash:w:${build.path}/${filename}.hex:i::${verbose}
upload.arduino.command.linux_i386=${core.root}/tools/linux32/avrdude::-D::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/linux32/avrdude.conf::-c${upload.protocol}::-Uflash:w:${build.path}/${filename}.hex:i::${verbose}
upload.command.macosx=${core.root}/tools/macosx/avrdude::-D::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/macosx/avrdude.conf::-c${upload.protocol}::-Uflash:w:${build.path}/${filename}.hex:i::${verbose}
upload.arduino.command.windows=${core.root}/tools/windows/avrdude::-D::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/windows/avrdude.conf::-c${upload.protocol}::-Uflash:w:${build.path}/${filename}.hex:i::${verbose}

upload.arduino.using=serial
upload.arduino.verbose=-v
upload.arduino.quiet=-q::-q
upload.arduino.dtr=yes
upload.arduino.rts=yes
Plus you now have the entry "sketch.upload=" for defining the list of applicable programmers:
Code:
sketch.upload=arduino
You can have multiple programmers with, say,
Code:
sketch.upload=arduino::avrisp
If you haven't selected one for a board before, then the first one in the list is picked as default.

I'd define the available programmers in core.txt, along with a "default" sketch.upload - then in the boards you just add a custom sketch.upload with the programmers that are applicable to that specific board.
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

And now, just for you poor little windows users, there is a nice easy .exe installer for you smiley-razz

The -full version contains JRE.  The -lite version can be used to upgrade a -full installation, or on a system with JRE 7 already installed.

I have scrapped the upgrade package as it's pointless now with the smaller packages.
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

Leeds, UK
Offline Offline
Edison Member
*
Karma: 72
Posts: 1641
Once the magic blue smoke is released, it won't go back in!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

just a quick  question about the lite version which uses a preinstalled java folder. I tried that but it doesn't work on my computer.

I am using Win7 x64 and have both the 32bit and 64bit JRE7 installations (one C:\Program Files\Java\jre7, and the other C:\Program Files (x86)\Java\jre7). Neither work with the IDE for some reason. When I double click on the uecide.exe file, nothing happens.

I've tried the debug.bat file and get this:

Code:
C:\Users\Thomas>java -Xms128m -Xmx128m -classpath "lib;lib\uecide.jar;lib\uecide.jar;lib\jna.jar;lib\ecj.jar;lib\RXTXcomm.jar;lib\log4j-1.2.16.jar;lib\log4j.properties" uecide.app.Base
Error: Could not find or load main class uecide.app.Base

Interestingly if I copy the java folder in from the full version, the uecide.exe runs fine and java loads, but the debug.bat file still gives the same error.

It doesn't matter for me as I don't mind having a java folder in the uecide folder (I just download the lite version and keep the existing java folder), I just thought I should bring it to your attention.
« Last Edit: August 10, 2013, 03:12:53 pm by Tom Carpenter » Logged

~Tom~

Rapa Nui
Offline Offline
Edison Member
*
Karma: 53
Posts: 1990
Pukao hats cleaning services
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've installed the -lite version and it works nice smiley (XP SP3, no idea which java version "1.7.0_25" here..)
PS: the plugin manager indent still not good, but acceptable..
« Last Edit: August 10, 2013, 03:28:53 pm by pito » Logged

UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I've installed the -lite version and it works nice smiley (XP SP3, no idea which java version here..)
PS: the plugin manager indent still not good, but acceptable..
Yeah, I'll get round to fixing that.  I want to add some kind of spinner thingy while it's updating, too.
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

just a quick  question about the lite version which uses a preinstalled java folder. I tried that but it doesn't work on my computer.

I am using Win7 x64 and have both the 32bit and 64bit JRE7 installations (one C:\Program Files\Java\jre7, and the other C:\Program Files (x86)\Java\jre7). Neither work with the IDE for some reason. When I double click on the uecide.exe file, nothing happens.

I've tried the debug.bat file and get this:

Code:
C:\Users\Thomas>java -Xms128m -Xmx128m -classpath "lib;lib\uecide.jar;lib\uecide.jar;lib\jna.jar;lib\ecj.jar;lib\RXTXcomm.jar;lib\log4j-1.2.16.jar;lib\log4j.properties" uecide.app.Base
Error: Could not find or load main class uecide.app.Base

Interestingly if I copy the java folder in from the full version, the uecide.exe runs fine and java loads, but the debug.bat file still gives the same error.

It doesn't matter for me as I don't mind having a java folder in the uecide folder (I just download the lite version and keep the existing java folder), I just thought I should bring it to your attention.
Debug only uses the system installed JVM.  I'll install the JRE into the system at some point (my windows VM is just installing 106 updates... urk...) and try it out.
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, this is a bittiness problem.  The JNA that's bundled with UECIDE has no 64-bit support in it.  I have an updated version that I'm going to look at using instead, but it still doesn't cure the entire problem - once JNA works you then have the problem that rxtxSerial.dll is 32-bit, so won't work on Java 64-bit.

You can "hack" your own setup by downloading the latest jna.jar (avilable on github: https://github.com/twall/jna/raw/master/dist/jna.jar) and the 64-bit version of rxtxSerial.dll (http://jlog.org/v4/windows/win64/rxtxSerial.dll) and replacing them in your install's lib folder and root folder respectively.
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Any update to the tiny core I should integrate into the distribution packages?  Programmer definitions?
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

Leeds, UK
Offline Offline
Edison Member
*
Karma: 72
Posts: 1641
Once the magic blue smoke is released, it won't go back in!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I haven't had a chance yet to look at it. Should be able to come up with something this weekend.
Logged

~Tom~

UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I haven't had a chance yet to look at it. Should be able to come up with something this weekend.
That's cool.  There was another Q on here about programming the ATTiny, and I was going to recommend they try UECIDE, but then thought they wouldn't be able to program it, so didn't smiley-wink
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

Rapa Nui
Offline Offline
Edison Member
*
Karma: 53
Posts: 1990
Pukao hats cleaning services
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

When I disconnect Teraterm in order to upload a sketch it takes sometimes 3-6 attempts to upload (COMx not available etc.). Sometimes it uploads immediately. It seems there is still something with the COM stuff. BTooth and XP (your favorite combination). Otherwise uecide works fine.. smiley
Logged

Leeds, UK
Offline Offline
Edison Member
*
Karma: 72
Posts: 1641
Once the magic blue smoke is released, it won't go back in!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I was just browsing around and came across this:
http://andybrown.me.uk/wk/2011/01/15/the-standard-template-library-stl-for-avr-with-c-streams/
http://andybrown.me.uk/wk/files/avr-stl-1.1.zip

Some neat features from the C++ standard libraries have been implemented (sets, maps, hash maps, vectors, lists, bitset, etc).

Not tried it yet, but it might be interesting to include somehow.
Logged

~Tom~

Leeds, UK
Offline Offline
Edison Member
*
Karma: 72
Posts: 1641
Once the magic blue smoke is released, it won't go back in!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I still don't follow how this programmer stuff works.

Do you have more than one example so that I have something to compare/work from
Logged

~Tom~

UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

It's pretty simple really.

A programmer is a block of definitions:

Code:
upload.progname.name=My Programmer Name
upload.progname.command.[os]=path/to/my/command::and::the::arguements
upload.progname.using=serial (or usb, or uscbdc)
Have one command.[os] entry for each os:
Code:
upload.progname.command.linux=blah::blah::blahh
upload.progname.command.windows=blah::blah::blahh
upload.progname.command.macosx=blah::blah::blahh
You can include the archetecture too:
Code:
upload.progname.command.linux_amd64=blah::blah::blahh
You can also, for serial devices, have
Code:
upload.progname.dtr=yes
upload.progname.rts=yes
and for usbcdc devices, have
Code:
upload.progname.reset.baud=1200

You can have as many blocks like that as you like, replacing progname for each block.

The blocks can go in the core.txt or in the board.txt, whichever is more suitable - if it's common to multiple boards, put it in the core.txt.  If it's specific to just one board, put it in the board.txt.

Then, in the core.txt and, if it differs for a board, the board.txt, you specify which programmers are applicable:
Code:
sketch.upload=progname::otherprogname
And that's it.

Here's an avrdude/mphid combination:
Code:
upload.mphid.name=Upload using Microchip HID bootloader
upload.mphid.command.windows=${core.root}/tools/windows/mphidflash::-w::${filename}.hex
upload.mphid.command.macosx=${core.root}/tools/osx/mphidflash::-w::${filename}.hex
upload.mphid.command.linux=${core.root}/tools/linux/pic32prog::-p::${filename}.hex

upload.avrdude.name=Upload to chipKIT board
upload.avrdude.command.linux_arm=${core.root}/tools/linux_arm/avrdude::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/linux_arm/avrdude.conf::-cstk500v2::-Uflash:w:${filename}.hex:i::${verbose}
upload.avrdude.command.linux_i386=${core.root}/tools/linux32/avrdude::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/linux32/avrdude.conf::-cstk500v2::-Uflash:w:${filename}.hex:i::${verbose}
upload.avrdude.command.linux_amd64=${core.root}/tools/linux64/avrdude::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/linux64/avrdude.conf::-cstk500v2::-Uflash:w:${filename}.hex:i::${verbose}
upload.avrdude.command.windows=${core.root}/tools/windows/avrdude::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/windows/avrdude.conf::-cstk500v2::-Uflash:w:${filename}.hex:i::${verbose}
upload.avrdude.command.macosx=${core.root}/tools/macosx/avrdude::-V::-p${build.mcu}::-P${port}::-b${upload.speed}::-C${core.root}/tools/macosx/avrdude.conf::-cstk500v2::-Uflash:w:${filename}.hex:i::${verbose}
upload.avrdude.verbose=-v
upload.avrdude.quiet=-q::-q
upload.avrdude.dtr=yes
upload.avrdude.rts=yes

sketch.upload=avrdude::mphid
The first one in the sketch.upload list is selected as default if a board is selected for the first time, which will be avrdude in this example.

Absolutely anything that appears in the board.txt file, the core.txt file, or the compiler.txt file can be placed inside ${...} and it gets replaced at runtime.  This means you have parameters in the board.txt file that get fed into the core.txt command structure, for example.
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

Leeds, UK
Offline Offline
Edison Member
*
Karma: 72
Posts: 1641
Once the magic blue smoke is released, it won't go back in!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks, that makes more sense now.
Logged

~Tom~

Pages: 1 ... 28 29 [30] 31 32 ... 40   Go Up
Jump to: