Pages: 1 ... 32 33 [34] 35 36 ... 42   Go Down
Author Topic: UECIDE: A New Fork of the IDE  (Read 52264 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You missed it in a fart of other questions. 
Humbly, and sincerely - that was a typo. I had meant to use the expression "raft of other...." ! D'oh!
The editor is a third party plugin and I have yet to work out all the colour tweaking interface to it.
Hopefully, it's of some help that this is the only colour I've observed not to be effective. I've got quite a decent "light on grey-ish" scheme to work. As soon as we figure out how to change the colour of the literals, I think I'll be flying!
Logged

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

You missed it in a fart of other questions. 
Humbly, and sincerely - that was a typo. I had meant to use the expression "raft of other...." ! D'oh!
I think I prefer "fart of other questions" personally...  smiley-wink
Logged

Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

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

Does UECIDE suppress all warnings in the verbose output? I've been noticing that when compiling the same code that the Arduino IDE shows gcc warnings in the verbose output, but UECIDE never shows any.

As a simple test:
Code:
#warning boo
void setup(){

}
void loop(){

}
In the Arduino IDE, that emits "warning: #warning boo", whereas in UECIDE nothing appears. The same is true for example if you use a signed variable type as an array index, Arduino IDE tells you, UECIDE doesn't.
Logged

~Tom~

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

UECIDE doesn't, but the core or compiler might.
Logged

Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

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

Just thought I'd take a moment to mention the new version I am just releasing - 0.7.5b

The big changes in this version are to the library and tab systems.

Recursive library inclusion now works.  If a library requires another library to function, that library is automatically included in the build process.  So no need to include SPI along with the Ethernet library any more (and other similar situations).

If you manually add a library to your libraries folder in your sketchbook you now no longer need to restart the IDE.  You can now select the "Rescan Libraries" menu entry in the "Sketch -> Import Library" menu.

Tabs now open in a specific order.  First comes any .ino files in alphabetical order, followed by .pde files.  Then come the other source files .cpp, .c and .S also in alphabetical order.  Finally come header (.h) files in alphabetical order.

The "New File" routine has been completely re-written and now uses a nice little popup window to enter the new filename instead of a text entry in the status line.  Much nicer.

A "Rename Tab" routine has been written, which uses a similar popup box to edit the filename of the currently selected tab.

There are a few other bug fixes, including the but that stopped you properly selecting a serial port when more than one window was open.

As always, you can download the latest version from http://www.uecide.org.
« Last Edit: October 05, 2013, 05:20:23 pm by majenko » Logged

Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

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

I was trying to get the:
 #pragma parameter cflags
thing to work, but it didn't add the additional flags to the compiler string.

edit: I figured out why warnings are missing. The cppflags and cflags for the avr-gcc compiler.txt file have '-w' in them which suppresses all warnings.
edit2: you beat me too it.
« Last Edit: October 05, 2013, 05:28:26 pm by Tom Carpenter » Logged

~Tom~

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

The warnings are being suppressed by a setting in the compiler.txt file in avr-gcc:
Quote
cflags=-g::-Os::-w::-ffunction-sections::-fdata-sections
cppflags=-g::-Os::-w::-fno-exceptions::-ffunction-sections::-fdata-sections
If you try this sketch:
Code:
#pragma parameter cflags=-g::-Os::-Wall::-Werror::-ffunction-sections::-fdata-sections
#pragma parameter cppflags=-g::-Os::-Wall::-Werror::-fno-exceptions::-ffunction-sections::-fdata-sections

#warning moo

void setup() {
}

void loop() {
}
this is the output you get:
Code:
cc1plus: warnings being treated as errors
Error at line 1 in file untitled12.ino:
    ignoring #pragma parameter cflags
Error at line 2 in file untitled12.ino:
    ignoring #pragma parameter cppflags
untitled12.ino:4:2: error: #warning moo

I thought I had added code to convert spaces into :: in the #pragma lines, but evidently not  smiley-roll-sweat so you have to separate your parameters with :: at the moment.

Edit: The fix to allow spaces instead of :: is a very simple one - it will be in the next release.
« Last Edit: October 05, 2013, 05:31:00 pm by majenko » Logged

Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

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

With 0.7.5b when compiling my standard stuff:
Code:
.. -LD:\ProgramFiles\arduino\uecide\hardware\cache\my_arduino\mighty1284p -Wl,--start-group -lNilTimer1 -lSPI -lNilAnalog -lTime -lNilRTOS -lSerialPort -lSdFat -lWire -lRtc_Pcf8563 -lTwiMaster -lcore -Wl,--end-group -lm
D:\ProgramFiles\arduino\uecide\hardware\cache\my_arduino\mighty1284p\libTwiMaster.a(WireMaster.o): In function `TwoWireMaster':
C:\MyCode\Arduino\libraries\TwiMaster/WireMaster.cpp:56: multiple definition of `Wire'
D:\ProgramFiles\arduino\uecide\hardware\cache\my_arduino\mighty1284p\libWire.a(Wire.o):C:\MyCode\Arduino\libraries\Wire/Wire.cpp:48: first defined here
D:\ProgramFiles\arduino\uecide\hardware\cache\my_arduino\mighty1284p\libTwiMaster.a(TwiMasterCore.o): In function `__vector_26':
C:\MyCode\Arduino\libraries\TwiMaster/TwiMasterCore.cpp:172: multiple definition of `__vector_26'
D:\ProgramFiles\arduino\uecide\hardware\cache\my_arduino\mighty1284p\libWire.a(twi.o):C:\MyCode\Arduino\libraries\Wire\utility/twi.c:364: first defined here

WireMaster.cpp does not include Wire (ORG_FILE = 0):
Code:
#if ORG_FILE
extern "C" {
  #include <stdlib.h>
  #include <string.h>
  #include <inttypes.h>
  #include "twi.h"
}
#include "Wire.h"
#else  // ORG_FILE
#include <TwiMasterCore.h>
#include <TwiState.h>
#include <WireMaster.h>
#endif  // ORG_FILE
The same error with the original arduino core updated now.

PS: the twiDS1307Utility.ino compiles fine:
Code:
-LD:\ProgramFiles\arduino\uecide\hardware\cache\my_arduino\mighty1284p -Wl,--start-group -lWire -lTwiMaster -lcore -Wl,--end-group -lm
« Last Edit: October 06, 2013, 08:32:31 am by pito » Logged

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

What do you call you "standard stuff"?  I just compiled all the TwiMaster examples fine, and the NilRTOS TWI example.
Logged

Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

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

"My standard stuff" is a source (or better several versions of it) which compiled fine with 0.7.4g smiley
Upgrading to 0.7.5b stops with above issue (without touching the sources).. The only point where Wire.h is included is in above code chunk.
My includes in main are:
Code:
#include <Time.h>
#include <SerialPort.h>
#include <NilRTOS.h>
#include <NilTimer1.h>
#include <NilAnalog.h>
#include <TwiMaster.h>
#include <SdFat.h>
#include <SdFatUtil.h>
#include <NilFIFO.h>
#include <Rtc_Pcf8563.h>
#include "formatDOSfilename.h"
#include "ads1110.h"
« Last Edit: October 06, 2013, 07:47:25 am by pito » Logged

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

I can't make the ldflags parameter work.

I've tried this line:
Code:
#pragma parameter ldflags=-Os::-Wl,--gc-sections::-Wl,--relax::-Wl,--section-start=.text=1700
But it has no effect. In the verbose output I see:
Code:
avr-gcc -Os -Wl,--gc-sections ...
Which is the default ldflags from compiler.txt



There is also a weird glitch where UECIDE won't open .c files in the sketch directory into tabs.
If I rename my c file to .cpp, it appears as a tab. If I then rename that tab to be .c, it remains as a tab. However next time I open the project, the c file again doesn't appear.
« Last Edit: October 06, 2013, 07:44:27 am by Tom Carpenter » Logged

~Tom~

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

Quote
If a library requires another library to function, that library is automatically included in the build process.
It seems your new include mechanism includes and links wire.h probably automatically, even we do not include it from within the sources. Therefore above double def of "Wire" (as we do define Wire in TwiMaster lib instead)..
« Last Edit: October 06, 2013, 08:34:30 am by pito » Logged

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

When parsing a file for includes it is unable to handle any #if macros, so the "#if ORG_FILE" is being ignored and Wire.h is being included regardless.

I have no idea what can be done about that, as the parser has no concept (and neither do I) of ORG_FILE.
Logged

Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

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

I commented out the stuff with that ORG_FILE (including the wire include) and the same issue.. Not sure you can scan files for #includes and based on that include the libs.. The key is it worked with 74g, so you know the difference..
« Last Edit: October 06, 2013, 08:39:24 am by pito » Logged

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

There is also a weird glitch where UECIDE won't open .c files in the sketch directory into tabs.
If I rename my c file to .cpp, it appears as a tab. If I then rename that tab to be .c, it remains as a tab. However next time I open the project, the c file again doesn't appear.
Oops, my bad.  Fixing that now.  The same happens for .S files.
Logged

Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

Pages: 1 ... 32 33 [34] 35 36 ... 42   Go Up
Jump to: