OOP and howto link against wiring libraries


i’m currently working out if i better go with wiring/atmega128 + programmer or if arduino/atmega8 is enough. As allways, my budget is limited, so I can’t just try both.
I guess that with the plan to support more porcessors by arduino in the future, an atmega128 will someday be supported.
But there is one issue that keeps me thinking:
What are the plans for using OOP and external librarys with arduino? Would OOP create too much overhead for the atmega8’s limited memory?

And in the release notes for arduino 0002 it says “can now link against wiring libraries”. How exactly? Can I for example reuse the new library from N.Zambetti for led matrixes that is recently available in the wiring/arduino CVS?

I really love the clean and selfexplaining code style of the wiring examples, e.g. the servo example. Actually, this is the first time that I undertsand why OOP can be a good thing ;-). I will use arduino or wiring for my diploma thesis, for what I want to develope a full blown RFID transmitter library to locate objects equipped with RFID tags (yes, the thesis will be about some interaction design… :). So, all in all, for at least one project I would be glad to become a developer (i’m experienced with uC and C programming, but a newbie with AVRs).

Greetings from munich, bavaria

Hallochen aus Schweden,

you would be surprised about what the Arduino IDE can actually do :wink:

As a matter of fact, last weekend in London we had Nick Zambetti’s library for dot-matrix LEDs ported to Arduino working like a charm.

You can write your own C libraries and by just adding them to the folder /lib/targets/arduino, they will become part of your project if you happen to use them. (I haven’t checked, but I guess that it would also work fine to have the libraries in the same folder as your actual arduino code).

Libraries are only compiled and included in the code if you happen to call any of their functions, otherwise they take no space in memory.


would you point a link to the dot-matrix led library please ?

I don’t find it in the wiring’s site !



The software (IDE) for Arduino and Wiring is fairly similar, with both supporting, or able to support more or less the same functionality. If you are trying to decide which platform to use, I would look mainly the functionality vs. cost of the boards. Arduino is cheaper but less powerful (e.g. fewer pins, less memory). It does, however, have the advantage that the atmega8 chip can be easily removed and placed in a PCB or prototyping board for a PCB. The Wiring board is good if you need complex programs or lots of pins, but it costs more and you need one for each project.

it’s in the wiring CVS repostitory:

@david and mellis
for what is the wiring lib folder then?

Does it mean future arduino versions will utilize wiring libs? I don’t get it…
And “can now link against wiring libs” just means can be ported, right?

Bye, Oli

We’re in the process of making the Arduino IDE support the Wiring board. Soon, you’ll be able to pick “Arduino” or “Wiring” in the IDE and then compile and upload your program for that board. The files in lib/targets/wiring are the Wiring libraries, but most are specific to the Wiring board’s atmega128 and won’t work on the Arduino board. We’re also trying to port those libraries for use with the Arduino board.

Nice! This is the kind of information I wanted to hear. :slight_smile:
I hope you keep the OOP/C++ approach of the wiring libs when ported to arduino. Somewhere i saw even the proycorn avr libs in the svn folders, too. Well, that would be really neat, if they become integrated.

Now, if only smartprojects would answer me…
Bye, oli


Smartprojects is finishing a batch of 1000 pre-assembled USB boards this week (the demand is huge), therefore I can imagine Gianluca being extremely busy in Ivrea these days.