Arduino Due libraries (official and 3rd party)

ivanseidel:
Hi!
As i like libraries, i have done one for Timers on the Arduino DUE.

You can check it out here: GitHub - ivanseidel/DueTimer: ⏳ Timer Library fully implemented for Arduino DUE

All 6 timers are fully implemented, and ready to play with...

I have merged all the features of my timer library with his. This is a great timer library, and we would love feedback for any features that people would like to see.

The Time library has been updated for compatibility with Arduino Due.

http://playground.arduino.cc/Code/Time

A Due-specific example was added, using Markus Lange's rtc_clock library to access the Due's on-chip RTC.

What on-chip RTC? I just built a DS1307 project for Arduino Mini; does the Arduino Due have an internal RTC so a chip like DS1307 is not needed?

Due does have an on-chip RTC. The way the reset signals are wired makes it less useful for many projects, but there is indeed a RTC on the chip.

For more info, please download the new version of the Time library and look at its TimeArduinoDue example. You'll also need Markus's rtc_clock libary. Again, see the comments in TimeArduinoDue for more info.

ivanseidel:
Hi!
As i like libraries, i have done one for Timers on the Arduino DUE.

You can check it out here: GitHub - ivanseidel/DueTimer: ⏳ Timer Library fully implemented for Arduino DUE

All 6 timers are fully implemented, and ready to play with...

May I ask you how I can use your file? I cannot include any library from out side. Is there anyway to run within one file? I would like to use a timer and change the REG by Serial Monitor.

henrimontreal:

ivanseidel:
Hi!
As i like libraries, i have done one for Timers on the Arduino DUE.

You can check it out here: GitHub - ivanseidel/DueTimer: ⏳ Timer Library fully implemented for Arduino DUE

All 6 timers are fully implemented, and ready to play with...

May I ask you how I can use your file? I cannot include any library from out side. Is there anyway to run within one file? I would like to use a timer and change the REG by Serial Monitor.

Hi,
If you want to include the library to your project, than all you nees to do is to copy DueTimer.h and DueTimer.cpp to your sketch folder and include it normaly (#include "DueTimer.h").
What do you mean by change REG? And might I ask why can't you install the library?
Thanks,
Ivan

I ported Ken Shirriff's IRremote library to work with the Due with a few improvements:

Note: Don't forget to use a transistor to drive the IR LED. It might work powered directly, but probably not for long. :slight_smile:

I updated the RF24 (Nordic nRF24L01+) library to run on the Due. I ran the basic ping/pong dyn example for testing.

Code: https://github.com/mcrosson/RF24

Edit: You'll need to use the "due" branch from the above repo with the DUE.

Hi!

Finaly, I made the code independent from my own aplications, and could sucessfuly comment EVERY line of code.

What am I talking about?

Well, it's the First, Object Oriented User Interface for Arduino, with an Advanced controller of Touch and Views

All based in Events and Callbacks, and also inspired on real Android code, you can easily implement whatever you want with it.

Some key features:

  • Touch is handled BOTH in interrupt and Timer
    (Once a touch is triggered on the interrupt, Timer is the one who start trigering the event. Once no touch is detected, controll is passed to the Interrupt)

  • Callbacks. Every view has it's own callbacks and events. onClick, onTouch, onChange.

  • Touch Events. Like Android, touch events are implemented, such as: ACTION_DOWN, ACTION_UP, ACTION_MOVE, ACTION_HOVER_ENTER, ACTION_HOVER_EXIT

  • Views are implemented extending main class View, or other that implements View. Object oriented allows user to extend a class and improve whatever he wants to.
    Views already implemented: SeekBar, ProgressBar, Button, CheckBox, TextView and ViewGroup, that allows many views in a single views.

  • Tree Rendering: Once a render is triggered, the view start rendering it's own tree. For example:
    If you have 5 views inside a ViewGroup, and one of the 5 is also a ViewGroup containing more 10 views, calling a "render()" on the top view of the tree, will start rendering all the views. Also, calling a "render(false)" will start rendering ONLY the "invalidated" views (only what is necessary).

  • Relative rendering: If one view is inside the other, it's relative to the other. One position in a view is ALWAYS relative to it's parent. Moving a view that has views inside, cause it's childs to move with it. Rendering, and Touch are handled relative also.

  • Changing Between rootViews is very easy (for example, running another function, state,...). Prepare all your views, and then register the current one on ArdUI. He will make the rest...

Documentation is not done yet, and there is a lot to be done (and improved). I'm using it currently on my robots: TendaDigital.net and it seems to be VERY robust and thrustable.

This is the kind of library, that does everything, you just need to know how to use it (Yet, a little complicated, since I'm still documenting).

Hi,
I always use this library for myself, and I personaly think that is VERY usefull. Its clear that Arduino doesen't support real parallel processes, but we can "sort" of do it with scheduled tasks.

Yes, there is already an class called "Scheduller", but for big projects (likes the ones I do, with more than 15.000 lines), it's not "good" enought...

I LOVE Object Oriented stuff, and this follows it pretty much.

Check out the library here: GitHub - ivanseidel/ArduinoThread: ⏳ A simple way to run Threads on Arduino

It also works for ANY arduino, but I implemented thinking on the DUE, since it's capable of more stuff (I use it with my ArduinOS, and it's just perfect =] )

Any suggestions are welcome!

First version of the DueGUI library is now downloadable...

http://forum.arduino.cc/index.php?topic=164788.0

Hey everyone,

I rewrote the T6963 library to interface a graphics LCD using the Toshiba driver with the arduino due.
It is significantly faster than the old version since all data bus lines are on port C of the AT91. All pins used are on the vertical 18*2 pin connector what allows you to use a ribbon cable.
Examples and instructions to hook it up included.

Edit: Fixed bug for UpdateBuff(), speed optimizations

T6963_due_0_31.zip (10.8 KB)

I modify SFEMP3Shield library from Bill Porter and Michael Flaga so that Sparkfun MP3 shield work with Arduino Due.
You can play files from SD memories or listen to web radios.
See Listen web radio with Arduino Due, Ethernet shield and Sparkfun MP3 shield - Arduino Due - Arduino Forum

DueGUI library is now at version 0.13 and with the start of some quite thorough documentation. All the most important GUI objects are already implemented with more to come. Why not give it a try:

http://forum.arduino.cc/index.php?topic=164788.0

DueGUI seems to be very good. is it possible to run on mega?. Is it possible to run on iboard pro?. I am working now on a iboard pro project.

c-agua:
DueGUI seems to be very good. is it possible to run on mega?. Is it possible to run on iboard pro?. I am working now on a iboard pro project.

It should do but I will have to look up how do the interrupts on the mega too.

Hi guys... Nothing about VirtualWire?

http://www.airspayce.com/mikem/arduino/

I can't compile with Due... does anybody succeeded?

I'm hoping for one for the RFM12 line of wireless modules. Anyone know if that one has been ported yet?

I sort of formalized and hopefully simplified randomvibe's original code to run the Due hardware PWM pins 6, 7, 8, and 9 which avoids using slower analogWrite calls. This was paramount for my application because I'm really pushing the limits of what the Due is capable of. I'm heavily using nearly every pin on the board and taking advantage of as many of the optimization and hardware features as possible is extremely important. It's attached...

DuePWM.zip (4.24 KB)

Adafruit ST7735 and GFX libraries modified to run on the Arduino Due here:

regards