Pages: 1 ... 29 30 [31] 32 33 ... 40   Go Down
Author Topic: UECIDE: A New Fork of the IDE  (Read 35097 times)
0 Members and 1 Guest are viewing this topic.
Rapa Nui
Offline Offline
Edison Member
*
Karma: 53
Posts: 1990
Pukao hats cleaning services
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This does not build on 0.7.3a

Code:
..
#include <TwiMaster.h>   // NilRtos lib
#include <Rtc_Pcf8563.h>
Rtc_Pcf8563 rtc;
..

Code:
D:\ProgramFiles\arduino\uecide73\hardware\cache\arduino\mighty1284p\libRtc_Pcf8563.a(Rtc_Pcf8563.o): In function `Rtc_Pcf8563::getTime()':
C:\MyCode\Arduino\libraries\Rtc_Pcf8563/Rtc_Pcf8563.cpp:333: undefined reference to `Wire'
C:\MyCode\Arduino\libraries\Rtc_Pcf8563/Rtc_Pcf8563.cpp:333: undefined reference to `Wire'
.....

Works fine on 1.5.2
« Last Edit: August 19, 2013, 03:35:07 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

TwiMaster is yet another badly formatted library.

It has no TwiMaster.cpp file, nor a TwiMaster.c file.  As such it isn't recognised as a legitimate library, and is just treated as a lone header file.

Yes, the .cpp files are compiled into the library .a file, but the sketch isn't linked against it as it doesn't think it's a real library.

Creating an empty TwiMaster.cpp file in the library makes it work.
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

Nope, I can see now -lTwiMaster there

Code:
-LD:\ProgramFiles\arduino\uecide73\hardware\cache\arduino\mighty1284p -lTime -lNilTimer1 -lTwiMaster -lRtc_Pcf8563 -lNilAnalog -lNilRTOS -lcore -lm
D:\ProgramFiles\arduino\uecide73\hardware\cache\arduino\mighty1284p\libRtc_Pcf8563.a(Rtc_Pcf8563.o): In function `Rtc_Pcf8563::getTime()':
C:\MyCode\Arduino\libraries\Rtc_Pcf8563/Rtc_Pcf8563.cpp:333: undefined reference to `Wire'
C:\MyCode\Arduino\libraries\Rtc_Pcf8563/Rtc_Pcf8563.cpp:333: undefined reference to `Wire'
Logged

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

Can you point me to (or attach) the actual sketch and any extra libraries needed?
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

Enclosed the demo, compiles fine in 152 (mighty1284p board)
Code:
c:\MyCode\Arduino\ABuild/nilBlink_CLI2majen.cpp.elf c:\MyCode\Arduino\ABuild/nilBlink_CLI2majen.cpp.hex
Binary sketch size: 6,388 bytes (of a 130,048 byte maximum) - 4% used
« Last Edit: August 19, 2013, 04:51:51 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

Right, this appears to be the order in which the libraries are specified for linking.

Doesn't work: -lTime -lTwiMaster -lRtc_Pcf8563 -lNilRTOS -lcore -lm
Works: -lTime -lRtc_Pcf8563 -lTwiMaster -lNilRTOS -lcore -lm

Now... How can I get that order right...

I think at the moment it's in the order of the #include entries... maybe if I get that to reverse itself...?
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, I've got this sussed now.

I have re-written the library detection routine so it finds the library without the LibName.{c|cpp} file.

I have adjusted the compiler so it wraps the library list in -Wl,--start-group and -Wl,--end-group, so it no longer cares about the order.  Linking may take a moment or two longer as it does multiple passes through the libraries, but it now works.

Just compiling and uploading... check for the new version in a bit, and upgrade the avr-gcc compiler as well.
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

ok. it works now..
Logged

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

This is the problem with a completely new style of compiling - what worked before with the old cludgy system (the system that did it all very wrong) doesn't always work now.  Still, these little bugs all serve to make the whole system better and more flexible.
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

The upload works better now with the latest uecide, even I see an error message there:
Code:
Error grabbing serial port: uecide.plugin.AutoFormat.releasePort(java.lang.String)
Avrdude finds it and uploads..
Logged

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

The upload works better now with the latest uecide, even I see an error message there:
Code:
Error grabbing serial port: uecide.plugin.AutoFormat.releasePort(java.lang.String)
Avrdude finds it and uploads..
Yeah, you can ignore that error.  It's basically because the AutoFormat plugin doesn't have a releasePort function (since it doesn't do anything with serial ports).  I just need to catch that special case in the exception at some point.
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

1. sometimes I have to restart uecide as it cannot find the com for upload..  smiley-confuse
2. how can I save a new .h file with uecide?  smiley-wink
Logged

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

1. sometimes I have to restart uecide as it cannot find the com for upload..  smiley-confuse
2. how can I save a new .h file with uecide?  smiley-wink
1. That's bluetooth for you.  I contacted the author of RXTX about it, and he admitted that he had only played briefly with Bluetooth, and had moderate success:
Quote from: Trent Jarvi
rxtx does a timed out read to test if a device is actually there.  I too messed with rxtx and bluetooth.  Some devices work well.  Some don't.
2. The whole file creation system needs a rewrite.  It's on my todo.  It's coupled in with the removal of that ghastly status wedge in the middle of the window.
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

BT: it seems to me it has something to do with uecide. Something locks inside so I have to restart it. Frankly, never seen that with 1.5.2 IDE (or when then it was a few times in total)..
Logged

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

BT: it seems to me it has something to do with uecide. Something locks inside so I have to restart it. Frankly, never seen that with 1.5.2 IDE (or when then it was a few times in total)..
Yes, but 1.5.2 has a very very simplistic approach to serial.  There is only ever one serial port in existance at a time, and only one part of the code ever tries to do anything with it.  With the advent of plugins, and multiple concurrent serial ports I think we are seeing more and more failures in RXTX when working with Bluetooth.

I will try and see about adding more debugging to try and see what is actually happening with serial and bluetooth.
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.

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