Popular Threads From Developers:
List Statistics
- Total Threads: 675
- Total Posts: 2049
Phrases Used to Find This Thread
|
# 1

15-04-2010 01:57 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 2

15-04-2010 01:57 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 3

15-04-2010 01:57 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 4

15-04-2010 03:45 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 5

15-04-2010 04:21 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 6

15-04-2010 04:32 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 7

15-04-2010 04:52 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 8

15-04-2010 04:58 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 9

15-04-2010 04:59 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 10

15-04-2010 05:01 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 11

15-04-2010 05:10 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 12

15-04-2010 08:33 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 13

15-04-2010 08:34 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
Hi all,
I've been lurking for a while. I work with colleagues on a port of the
occam programming language to the AVR and a concurrent library for
supporting the Arduino that we've called "Plumbing." Our website is
at:
http://concurrency.cc/
The book we've started might be the best place to get a quick
introduction to our tools:
http://concurrency.cc/book/
Or, a short blog post by an early experimenter might be of interest:
http://news.jeelabs.org/2010/02/04/fascinating-concurrency/
We install a bytecode interpreter (as a "sketch," essentially) that
leaves the bootloader intact. (There is no "cost" trying our tools and
then switching back to the default environment/language.) We then
upload bytecode separately. Our toolchain currently runs from a plugin
to JEdit, but we would, if there was interest, be happy to collaborate
on adding another language to the Arduino IDE. Everything we work with
is either GPL, LGPL, or (in the case of documentation) BY-SA.
It isn't my intent to hijack the original question, but if there is a
conversation about support for other languages, we would like to
contribute in any reasonable way.
Cheers,
Matt
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 14

15-04-2010 08:34 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
Hi all,
I've been lurking for a while. I work with colleagues on a port of the
occam programming language to the AVR and a concurrent library for
supporting the Arduino that we've called "Plumbing." Our website is
at:
http://concurrency.cc/
The book we've started might be the best place to get a quick
introduction to our tools:
http://concurrency.cc/book/
Or, a short blog post by an early experimenter might be of interest:
http://news.jeelabs.org/2010/02/04/fascinating-concurrency/
We install a bytecode interpreter (as a "sketch," essentially) that
leaves the bootloader intact. (There is no "cost" trying our tools and
then switching back to the default environment/language.) We then
upload bytecode separately. Our toolchain currently runs from a plugin
to JEdit, but we would, if there was interest, be happy to collaborate
on adding another language to the Arduino IDE. Everything we work with
is either GPL, LGPL, or (in the case of documentation) BY-SA.
It isn't my intent to hijack the original question, but if there is a
conversation about support for other languages, we would like to
contribute in any reasonable way.
Cheers,
Matt
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 15:58, j. eric townsend wrote:
> thoughts? comments? requests?
Why aren't you just using make or Ant? The existing sketch compilation
is not a good model as it recompiles code even when it isn't necessary,
as far as I can tell there's no dependency mechanism.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 15

15-04-2010 08:34 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
Hi all,
I've been lurking for a while. I work with colleagues on a port of the
occam programming language to the AVR and a concurrent library for
supporting the Arduino that we've called "Plumbing." Our website is
at:
http://concurrency.cc/
The book we've started might be the best place to get a quick
introduction to our tools:
http://concurrency.cc/book/
Or, a short blog post by an early experimenter might be of interest:
http://news.jeelabs.org/2010/02/04/fascinating-concurrency/
We install a bytecode interpreter (as a "sketch," essentially) that
leaves the bootloader intact. (There is no "cost" trying our tools and
then switching back to the default environment/language.) We then
upload bytecode separately. Our toolchain currently runs from a plugin
to JEdit, but we would, if there was interest, be happy to collaborate
on adding another language to the Arduino IDE. Everything we work with
is either GPL, LGPL, or (in the case of documentation) BY-SA.
It isn't my intent to hijack the original question, but if there is a
conversation about support for other languages, we would like to
contribute in any reasonable way.
Cheers,
Matt
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 15:58, j. eric townsend wrote:
> thoughts? comments? requests?
Why aren't you just using make or Ant? The existing sketch compilation
is not a good model as it recompiles code even when it isn't necessary,
as far as I can tell there's no dependency mechanism.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
I assume you've intentionally dismissed the possibility of modifying
the official Arduino IDE so it can run as a command-line tool due to
the fact such a solution would still require Java?
Is your intention that your sketch compilation program would be used
from within the official IDE as the canonical compilation method? If
not, from my perspective it's sub-optimal to have a tool that requires
continuing maintenance to perform in an equivalent manner to the
official IDE.
Also, is the aim to separate the "pre-pre-processing" and "compilation" steps?
I realise that if the desire is to avoid requiring Java and the
official IDE won't use the tool you propose then it would require a
parallel development process.
--Philip;
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 16

15-04-2010 08:34 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
Hi all,
I've been lurking for a while. I work with colleagues on a port of the
occam programming language to the AVR and a concurrent library for
supporting the Arduino that we've called "Plumbing." Our website is
at:
http://concurrency.cc/
The book we've started might be the best place to get a quick
introduction to our tools:
http://concurrency.cc/book/
Or, a short blog post by an early experimenter might be of interest:
http://news.jeelabs.org/2010/02/04/fascinating-concurrency/
We install a bytecode interpreter (as a "sketch," essentially) that
leaves the bootloader intact. (There is no "cost" trying our tools and
then switching back to the default environment/language.) We then
upload bytecode separately. Our toolchain currently runs from a plugin
to JEdit, but we would, if there was interest, be happy to collaborate
on adding another language to the Arduino IDE. Everything we work with
is either GPL, LGPL, or (in the case of documentation) BY-SA.
It isn't my intent to hijack the original question, but if there is a
conversation about support for other languages, we would like to
contribute in any reasonable way.
Cheers,
Matt
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 15:58, j. eric townsend wrote:
> thoughts? comments? requests?
Why aren't you just using make or Ant? The existing sketch compilation
is not a good model as it recompiles code even when it isn't necessary,
as far as I can tell there's no dependency mechanism.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
I assume you've intentionally dismissed the possibility of modifying
the official Arduino IDE so it can run as a command-line tool due to
the fact such a solution would still require Java?
Is your intention that your sketch compilation program would be used
from within the official IDE as the canonical compilation method? If
not, from my perspective it's sub-optimal to have a tool that requires
continuing maintenance to perform in an equivalent manner to the
official IDE.
Also, is the aim to separate the "pre-pre-processing" and "compilation" steps?
I realise that if the desire is to avoid requiring Java and the
official IDE won't use the tool you propose then it would require a
parallel development process.
--Philip;
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi,
This sounds like it would be useful to people trying to compile
Arduino sketches w/o using the Arduino IDE, but it's probably not
something I'd want to use / include in the distribution. Maintaining,
compiling, and calling out to external binaries is annoying, and
avrdude and avr-gcc are already a decent amount of work (and most of
that is done by the WinAVR, CrossPack, and Linux distribution folks).
You might also check out angbt ,
which is similar, but requires Java, so may not work for your
purposes.
David
On Mon, Apr 12, 2010 at 4:58 PM, j. eric townsend <> wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
>
> Here's the current plan:
> 1: make a working replacement that is as identical as possible to
> Compiler.java and minimize any changes to existing documentation, error
> messages, functionality, etc
> 2: improvements to support other IDEs
> 3: PROFIT!
>
> So that I don't make #2 harder than it should be, if you (collective) have
> any feature requests please let me know.
>
> By example, here are a couple of things I was thinking of that might be
> useful either for the Arduino IDE or for third party IDEs
>
> - print out what would be executed but don't execute anything. This makes it
> possible to dump the commands into a script or have a different program
> execute each compilation step
> - only pass through errors from the compiler
> - pass through warnings from the compiler
> - accept arguments for additional headers/libraries to include/load against
>
> thoughts? comments? requests?
>
> --jet
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 17

15-04-2010 08:35 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
Hi all,
I've been lurking for a while. I work with colleagues on a port of the
occam programming language to the AVR and a concurrent library for
supporting the Arduino that we've called "Plumbing." Our website is
at:
http://concurrency.cc/
The book we've started might be the best place to get a quick
introduction to our tools:
http://concurrency.cc/book/
Or, a short blog post by an early experimenter might be of interest:
http://news.jeelabs.org/2010/02/04/fascinating-concurrency/
We install a bytecode interpreter (as a "sketch," essentially) that
leaves the bootloader intact. (There is no "cost" trying our tools and
then switching back to the default environment/language.) We then
upload bytecode separately. Our toolchain currently runs from a plugin
to JEdit, but we would, if there was interest, be happy to collaborate
on adding another language to the Arduino IDE. Everything we work with
is either GPL, LGPL, or (in the case of documentation) BY-SA.
It isn't my intent to hijack the original question, but if there is a
conversation about support for other languages, we would like to
contribute in any reasonable way.
Cheers,
Matt
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 15:58, j. eric townsend wrote:
> thoughts? comments? requests?
Why aren't you just using make or Ant? The existing sketch compilation
is not a good model as it recompiles code even when it isn't necessary,
as far as I can tell there's no dependency mechanism.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
I assume you've intentionally dismissed the possibility of modifying
the official Arduino IDE so it can run as a command-line tool due to
the fact such a solution would still require Java?
Is your intention that your sketch compilation program would be used
from within the official IDE as the canonical compilation method? If
not, from my perspective it's sub-optimal to have a tool that requires
continuing maintenance to perform in an equivalent manner to the
official IDE.
Also, is the aim to separate the "pre-pre-processing" and "compilation" steps?
I realise that if the desire is to avoid requiring Java and the
official IDE won't use the tool you propose then it would require a
parallel development process.
--Philip;
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi,
This sounds like it would be useful to people trying to compile
Arduino sketches w/o using the Arduino IDE, but it's probably not
something I'd want to use / include in the distribution. Maintaining,
compiling, and calling out to external binaries is annoying, and
avrdude and avr-gcc are already a decent amount of work (and most of
that is done by the WinAVR, CrossPack, and Linux distribution folks).
You might also check out angbt ,
which is similar, but requires Java, so may not work for your
purposes.
David
On Mon, Apr 12, 2010 at 4:58 PM, j. eric townsend <> wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
>
> Here's the current plan:
> 1: make a working replacement that is as identical as possible to
> Compiler.java and minimize any changes to existing documentation, error
> messages, functionality, etc
> 2: improvements to support other IDEs
> 3: PROFIT!
>
> So that I don't make #2 harder than it should be, if you (collective) have
> any feature requests please let me know.
>
> By example, here are a couple of things I was thinking of that might be
> useful either for the Arduino IDE or for third party IDEs
>
> - print out what would be executed but don't execute anything. This makes it
> possible to dump the commands into a script or have a different program
> execute each compilation step
> - only pass through errors from the compiler
> - pass through warnings from the compiler
> - accept arguments for additional headers/libraries to include/load against
>
> thoughts? comments? requests?
>
> --jet
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 16:49, j. eric townsend wrote:
> Yes. The goal is to open up development to other IDEs without
> disrupting the current IDE.
I'm already using NetBeans, all it needed was a Makefile.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 18

15-04-2010 08:35 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
Hi all,
I've been lurking for a while. I work with colleagues on a port of the
occam programming language to the AVR and a concurrent library for
supporting the Arduino that we've called "Plumbing." Our website is
at:
http://concurrency.cc/
The book we've started might be the best place to get a quick
introduction to our tools:
http://concurrency.cc/book/
Or, a short blog post by an early experimenter might be of interest:
http://news.jeelabs.org/2010/02/04/fascinating-concurrency/
We install a bytecode interpreter (as a "sketch," essentially) that
leaves the bootloader intact. (There is no "cost" trying our tools and
then switching back to the default environment/language.) We then
upload bytecode separately. Our toolchain currently runs from a plugin
to JEdit, but we would, if there was interest, be happy to collaborate
on adding another language to the Arduino IDE. Everything we work with
is either GPL, LGPL, or (in the case of documentation) BY-SA.
It isn't my intent to hijack the original question, but if there is a
conversation about support for other languages, we would like to
contribute in any reasonable way.
Cheers,
Matt
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 15:58, j. eric townsend wrote:
> thoughts? comments? requests?
Why aren't you just using make or Ant? The existing sketch compilation
is not a good model as it recompiles code even when it isn't necessary,
as far as I can tell there's no dependency mechanism.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
I assume you've intentionally dismissed the possibility of modifying
the official Arduino IDE so it can run as a command-line tool due to
the fact such a solution would still require Java?
Is your intention that your sketch compilation program would be used
from within the official IDE as the canonical compilation method? If
not, from my perspective it's sub-optimal to have a tool that requires
continuing maintenance to perform in an equivalent manner to the
official IDE.
Also, is the aim to separate the "pre-pre-processing" and "compilation" steps?
I realise that if the desire is to avoid requiring Java and the
official IDE won't use the tool you propose then it would require a
parallel development process.
--Philip;
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi,
This sounds like it would be useful to people trying to compile
Arduino sketches w/o using the Arduino IDE, but it's probably not
something I'd want to use / include in the distribution. Maintaining,
compiling, and calling out to external binaries is annoying, and
avrdude and avr-gcc are already a decent amount of work (and most of
that is done by the WinAVR, CrossPack, and Linux distribution folks).
You might also check out angbt ,
which is similar, but requires Java, so may not work for your
purposes.
David
On Mon, Apr 12, 2010 at 4:58 PM, j. eric townsend <> wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
>
> Here's the current plan:
> 1: make a working replacement that is as identical as possible to
> Compiler.java and minimize any changes to existing documentation, error
> messages, functionality, etc
> 2: improvements to support other IDEs
> 3: PROFIT!
>
> So that I don't make #2 harder than it should be, if you (collective) have
> any feature requests please let me know.
>
> By example, here are a couple of things I was thinking of that might be
> useful either for the Arduino IDE or for third party IDEs
>
> - print out what would be executed but don't execute anything. This makes it
> possible to dump the commands into a script or have a different program
> execute each compilation step
> - only pass through errors from the compiler
> - pass through warnings from the compiler
> - accept arguments for additional headers/libraries to include/load against
>
> thoughts? comments? requests?
>
> --jet
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 16:49, j. eric townsend wrote:
> Yes. The goal is to open up development to other IDEs without
> disrupting the current IDE.
I'm already using NetBeans, all it needed was a Makefile.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 16:50, j. eric townsend wrote:
> Make and ant require, well, Make and ant as well as a C compiler. I'm
> trying to reduce the number of sw install requirements for the host system.
You already get Make as part of the AVR toolchain.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 19

15-04-2010 08:37 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
Hi all,
I've been lurking for a while. I work with colleagues on a port of the
occam programming language to the AVR and a concurrent library for
supporting the Arduino that we've called "Plumbing." Our website is
at:
http://concurrency.cc/
The book we've started might be the best place to get a quick
introduction to our tools:
http://concurrency.cc/book/
Or, a short blog post by an early experimenter might be of interest:
http://news.jeelabs.org/2010/02/04/fascinating-concurrency/
We install a bytecode interpreter (as a "sketch," essentially) that
leaves the bootloader intact. (There is no "cost" trying our tools and
then switching back to the default environment/language.) We then
upload bytecode separately. Our toolchain currently runs from a plugin
to JEdit, but we would, if there was interest, be happy to collaborate
on adding another language to the Arduino IDE. Everything we work with
is either GPL, LGPL, or (in the case of documentation) BY-SA.
It isn't my intent to hijack the original question, but if there is a
conversation about support for other languages, we would like to
contribute in any reasonable way.
Cheers,
Matt
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 15:58, j. eric townsend wrote:
> thoughts? comments? requests?
Why aren't you just using make or Ant? The existing sketch compilation
is not a good model as it recompiles code even when it isn't necessary,
as far as I can tell there's no dependency mechanism.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
I assume you've intentionally dismissed the possibility of modifying
the official Arduino IDE so it can run as a command-line tool due to
the fact such a solution would still require Java?
Is your intention that your sketch compilation program would be used
from within the official IDE as the canonical compilation method? If
not, from my perspective it's sub-optimal to have a tool that requires
continuing maintenance to perform in an equivalent manner to the
official IDE.
Also, is the aim to separate the "pre-pre-processing" and "compilation" steps?
I realise that if the desire is to avoid requiring Java and the
official IDE won't use the tool you propose then it would require a
parallel development process.
--Philip;
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi,
This sounds like it would be useful to people trying to compile
Arduino sketches w/o using the Arduino IDE, but it's probably not
something I'd want to use / include in the distribution. Maintaining,
compiling, and calling out to external binaries is annoying, and
avrdude and avr-gcc are already a decent amount of work (and most of
that is done by the WinAVR, CrossPack, and Linux distribution folks).
You might also check out angbt ,
which is similar, but requires Java, so may not work for your
purposes.
David
On Mon, Apr 12, 2010 at 4:58 PM, j. eric townsend <> wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
>
> Here's the current plan:
> 1: make a working replacement that is as identical as possible to
> Compiler.java and minimize any changes to existing documentation, error
> messages, functionality, etc
> 2: improvements to support other IDEs
> 3: PROFIT!
>
> So that I don't make #2 harder than it should be, if you (collective) have
> any feature requests please let me know.
>
> By example, here are a couple of things I was thinking of that might be
> useful either for the Arduino IDE or for third party IDEs
>
> - print out what would be executed but don't execute anything. This makes it
> possible to dump the commands into a script or have a different program
> execute each compilation step
> - only pass through errors from the compiler
> - pass through warnings from the compiler
> - accept arguments for additional headers/libraries to include/load against
>
> thoughts? comments? requests?
>
> --jet
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 16:49, j. eric townsend wrote:
> Yes. The goal is to open up development to other IDEs without
> disrupting the current IDE.
I'm already using NetBeans, all it needed was a Makefile.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 16:50, j. eric townsend wrote:
> Make and ant require, well, Make and ant as well as a C compiler. I'm
> trying to reduce the number of sw install requirements for the host system.
You already get Make as part of the AVR toolchain.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 13 April 2010 04:39, Alan Burlison <> wrote:
> I'm already using NetBeans, all it needed was a Makefile.
Although presumably your use of NetBeans doesn't include the
pre-preprocessing which is part of the motivation of what's being
proposed.
--Philip;
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
# 20

15-04-2010 09:05 AM
|
|
|
On 12/04/2010 18:00, follower wrote:
> On 13 April 2010 04:39, Alan Burlison<> wrote:
>> I'm already using NetBeans, all it needed was a Makefile.
> Although presumably your use of NetBeans doesn't include the
> pre-preprocessing which is part of the motivation of what's being
> proposed.
It includes a simplified preprocessing step, so you can use it on
standard sketches.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 18:21, Paul Stoffregen wrote:
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
The existing IDE's handling of libraries is pretty poor which is why I
went down the Make route in the first place. Sharing libraries that
aren't in the global libraries location is more-or-less impossible with
the IDE. Here's a complete example Makefile:
----------
BOARD = mega
PORT = /dev/term/0
LIB_DIRS = ../Common ../../libraries/Task ../../libraries/VirtualWire
include ../../Makefile.master
----------
It wouldn't take much to generate that Makefile automatically
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Gnu make has the notion of dependency files. These are files that list
dependencies, are included into the makefile, and are built by make.
For example, Makefile would include SKETCH.d, have SKETCH.d depend
upon SKETCH.pde, with an implicit rule for .d.pde that would run a
preprocessor to generate library and other dependencies.
giuliano
On Apr 12, 2010, at 10:21 AM, Paul Stoffregen wrote:
>
>> You already get Make as part of the AVR toolchain.
>
> How will Make parse the input to discover which libraries need to be
> built and create the function prototypes? Isn't a "real" language
> needed, like C/C++, Perl, or maybe Java?
>
>
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Alan Burlison wrote:
> On 12/04/2010 16:49, j. eric townsend wrote:
>
>> Yes. The goal is to open up development to other IDEs without
>> disrupting the current IDE.
>
> I'm already using NetBeans, all it needed was a Makefile.
I considered using make (and I might change mind) but it seemed like one
more package dependency.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hans-Christoph Steiner wrote:
> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
> (pre-?)preprocessing step. Currently the PDE preprocessing does two key
> things: add an #include and generate function prototypes. It should be
> possible to use cpp to generate the function prototypes and stick them
> into a tmp file, then include that file in the gcc command line as well
> and include the WProgram.h file. Then that would eliminate the Java
> code that does the PDE pre-preprocessing.
So the includes are effectively in the same order, and there would be no
change to things like error messages?
nice.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Something like this may save some effort ...
http://freequaos.host.sk/genproto/
http://sourceforge.net/projects/cproto/
There seem to be quite a few options for generating function prototypes in C/C++. I just gave those two a quick try on Mac 10.6 and they seem to be a bit rough (genproto segfaults after listing the prototypes), but perhaps it's worth picking them over?
On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
> Hans-Christoph Steiner wrote:
>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE (pre-?)preprocessing step. Currently the PDE preprocessing does two key things: add an #include and generate function prototypes. It should be possible to use cpp to generate the function prototypes and stick them into a tmp file, then include that file in the gcc command line as well and include the WProgram.h file. Then that would eliminate the Java code that does the PDE pre-preprocessing.
>
> So the includes are effectively in the same order, and there would be no change to things like error messages?
>
> nice.
>
>
>
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi Eric,
since I tried this
http://code.google.com/p/angbt/
without getting much feedback here are a few tips
On Monday 12 April 2010 11:02:37 j. eric townsend wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
So this is going to be some commandline-app which is called with a list of
arguments. The app will then call the compiler internally just like the IDE
does right now. It's nice to be able to compile from the commandline and I'd
wish the Arduino-IDE had such an user-interface, but I don't see any benefit
from doing this from another application.
Your new app has to do the same processing steps the IDE already does.
You said its going to be a C++ app. This makes me think immediatly which of
the currently supported Operating systems will be left standing in the rain.
I know most C/C++ programmers hate Java, but for the whole process of building
a Sketch across platforms which involves
- parsing the preferences boards.txt, programmers.txt,
- processing the sketch-code
- calling the compiler and uploader
Java is a very good choice and so is Python and Ruby and probably a few other
programing languages which all produce cross-platform code, because they were
created for exactly that reason.
With the right Toolkit (Qt for instance) you will be able to do the same with
C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
32+64 bits).
Since most of the compiling steps involves disk-IO there is also not increase
in performance to be expected from using C++.
Most people who are interested in commandline compiling of Sketches will not
really like your app anyway because no Makefile is involved (you already see
this in the first replys).
I think writing a Makefile generator for Skteches would stir up some postive
feedback from people.
Good luck
Eberhard
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Eberhard Fahle wrote:
> You said its going to be a C++ app. This makes me think immediatly which of
> the currently supported Operating systems will be left standing in the rain.
What systems have Java but not C/C++?
> With the right Toolkit (Qt for instance) you will be able to do the same with
> C++, but you still have to build at least 6 versions of the app (Mac/Win/Linux
> 32+64 bits).
I don't know that the 64 bit versions *need* to be built, but it's worth
investigating.
> Since most of the compiling steps involves disk-IO there is also not increase
> in performance to be expected from using C++.
This isn't about performance, it's about not being tied to Java. I
don't hate Java (I use it at work and in Processing projects), it's
simply not supported everywhere.
> Most people who are interested in commandline compiling of Sketches will not
> really like your app anyway because no Makefile is involved (you already see
> this in the first replys).
I'm not sure why people are hung up on using make. I've been using it
since SVR0, think it's a great tool, but it's overkill if you know in
advance what the majority of the dependencies and steps are. In this
particular case, I like how Compiler.java manages things, I just wish it
were written in a more portable language.
> I think writing a Makefile generator for Skteches would stir up some postive
> feedback from people.
I agree that this would be a useful tool for some set of people,
including people like me who live in emacs.
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
> I'm not sure why people are hung up on using make.
hey, that thing looks like a nail. Where's my hammer?
It's the compile-assist tool many are already familiar with.
> I agree that this would be a useful tool for some set of people, including
> people like me who live in emacs.
me too. I'd love to emacs/make/make upload my arduino sketches.
Nothing against the arduino IDE, it's just that I've been doing things
this way for 20 years...
-Jason
kg4wsv
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Adding a new C/binary dependency would add a lot of work. I think it
makes sense to either keep the code in Java or use the tools from gcc
suite, which are required already anyway.
.hc
On Apr 13, 2010, at 1:29 AM, Nicholas Zambetti wrote:
> Something like this may save some effort ...
> http://freequaos.host.sk/genproto/
> http://sourceforge.net/projects/cproto/
>
> There seem to be quite a few options for generating function
> prototypes in C/C++. I just gave those two a quick try on Mac 10.6
> and they seem to be a bit rough (genproto segfaults after listing
> the prototypes), but perhaps it's worth picking them over?
>
> On Apr 12, 2010, at 3:22 PM, j. eric townsend wrote:
>
>> Hans-Christoph Steiner wrote:
>>> At Arduino 1.0, Dave and I tested using gcc to do the current PDE
>>> (pre-?)preprocessing step. Currently the PDE preprocessing does
>>> two key things: add an #include and generate function prototypes.
>>> It should be possible to use cpp to generate the function
>>> prototypes and stick them into a tmp file, then include that file
>>> in the gcc command line as well and include the WProgram.h file.
>>> Then that would eliminate the Java code that does the PDE pre-
>>> preprocessing.
>>
>> So the includes are effectively in the same order, and there would
>> be no change to things like error messages?
>>
>> nice.
>>
>>
>>
>>
>> --
>> J. E. 'jet' Townsend, IDSA
>> Design, Fabrication, Hacking
>> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
>> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>>
>> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Jason KG4WSV wrote:
> On Tue, Apr 13, 2010 at 8:42 AM, j. eric townsend <> wrote:
>
>> I'm not sure why people are hung up on using make.
>
> hey, that thing looks like a nail. Where's my hammer?
Which is why we use it now! Oh wait... :-)
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
hey kids,
Yesterday I started working on a sketch compliation program in C++ that
Compiler() can call instead of doing the compilation internally.
Here's the current plan:
1: make a working replacement that is as identical as possible to
Compiler.java and minimize any changes to existing documentation, error
messages, functionality, etc
2: improvements to support other IDEs
3: PROFIT!
So that I don't make #2 harder than it should be, if you (collective)
have any feature requests please let me know.
By example, here are a couple of things I was thinking of that might be
useful either for the Arduino IDE or for third party IDEs
- print out what would be executed but don't execute anything. This
makes it possible to dump the commands into a script or have a different
program execute each compilation step
- only pass through errors from the compiler
- pass through warnings from the compiler
- accept arguments for additional headers/libraries to include/load against
thoughts? comments? requests?
--jet
--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
Hi all,
I've been lurking for a while. I work with colleagues on a port of the
occam programming language to the AVR and a concurrent library for
supporting the Arduino that we've called "Plumbing." Our website is
at:
http://concurrency.cc/
The book we've started might be the best place to get a quick
introduction to our tools:
http://concurrency.cc/book/
Or, a short blog post by an early experimenter might be of interest:
http://news.jeelabs.org/2010/02/04/fascinating-concurrency/
We install a bytecode interpreter (as a "sketch," essentially) that
leaves the bootloader intact. (There is no "cost" trying our tools and
then switching back to the default environment/language.) We then
upload bytecode separately. Our toolchain currently runs from a plugin
to JEdit, but we would, if there was interest, be happy to collaborate
on adding another language to the Arduino IDE. Everything we work with
is either GPL, LGPL, or (in the case of documentation) BY-SA.
It isn't my intent to hijack the original question, but if there is a
conversation about support for other languages, we would like to
contribute in any reasonable way.
Cheers,
Matt
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 15:58, j. eric townsend wrote:
> thoughts? comments? requests?
Why aren't you just using make or Ant? The existing sketch compilation
is not a good model as it recompiles code even when it isn't necessary,
as far as I can tell there's no dependency mechanism.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On Mon, Apr 12, 2010 at 10:58 AM, j. eric townsend <> wrote:
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
I assume you've intentionally dismissed the possibility of modifying
the official Arduino IDE so it can run as a command-line tool due to
the fact such a solution would still require Java?
Is your intention that your sketch compilation program would be used
from within the official IDE as the canonical compilation method? If
not, from my perspective it's sub-optimal to have a tool that requires
continuing maintenance to perform in an equivalent manner to the
official IDE.
Also, is the aim to separate the "pre-pre-processing" and "compilation" steps?
I realise that if the desire is to avoid requiring Java and the
official IDE won't use the tool you propose then it would require a
parallel development process.
--Philip;
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
Hi,
This sounds like it would be useful to people trying to compile
Arduino sketches w/o using the Arduino IDE, but it's probably not
something I'd want to use / include in the distribution. Maintaining,
compiling, and calling out to external binaries is annoying, and
avrdude and avr-gcc are already a decent amount of work (and most of
that is done by the WinAVR, CrossPack, and Linux distribution folks).
You might also check out angbt ,
which is similar, but requires Java, so may not work for your
purposes.
David
On Mon, Apr 12, 2010 at 4:58 PM, j. eric townsend <> wrote:
> hey kids,
>
> Yesterday I started working on a sketch compliation program in C++ that
> Compiler() can call instead of doing the compilation internally.
>
> Here's the current plan:
> 1: make a working replacement that is as identical as possible to
> Compiler.java and minimize any changes to existing documentation, error
> messages, functionality, etc
> 2: improvements to support other IDEs
> 3: PROFIT!
>
> So that I don't make #2 harder than it should be, if you (collective) have
> any feature requests please let me know.
>
> By example, here are a couple of things I was thinking of that might be
> useful either for the Arduino IDE or for third party IDEs
>
> - print out what would be executed but don't execute anything. This makes it
> possible to dump the commands into a script or have a different program
> execute each compilation step
> - only pass through errors from the compiler
> - pass through warnings from the compiler
> - accept arguments for additional headers/libraries to include/load against
>
> thoughts? comments? requests?
>
> --jet
>
> --
> J. E. 'jet' Townsend, IDSA
> Design, Fabrication, Hacking
> design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
> PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8
>
> _______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 16:49, j. eric townsend wrote:
> Yes. The goal is to open up development to other IDEs without
> disrupting the current IDE.
I'm already using NetBeans, all it needed was a Makefile.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 12/04/2010 16:50, j. eric townsend wrote:
> Make and ant require, well, Make and ant as well as a C compiler. I'm
> trying to reduce the number of sw install requirements for the host system.
You already get Make as part of the AVR toolchain.
--
Alan Burlison
--
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
On 13 April 2010 04:39, Alan Burlison <> wrote:
> I'm already using NetBeans, all it needed was a Makefile.
Although presumably your use of NetBeans doesn't include the
pre-preprocessing which is part of the motivation of what's being
proposed.
--Philip;
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
> You already get Make as part of the AVR toolchain.
How will Make parse the input to discover which libraries need to be
built and create the function prototypes? Isn't a "real" language
needed, like C/C++, Perl, or maybe Java?
_______________________________________________
___________________________________________________
Posted on the Developers mailing list. Go to http://arduino.cc/mailman/listinfo/developers_arduino.cc to subscribe.
|
NewsArc Lists
| Culture Pages
| Computing Archive
| Media-Pages
Link to this page on your blog or website by copying the HTML code below and pasting it into your site:
|
|