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.
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 =] )
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
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:
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...
You can't. They've not only wired the backup power pins to the +3.3V and GND, but also they have not populated the 32kHz crystal so you couldn't use the RTC even with normal power.
There is also a Moving Average class, called "GaussianAverage". It works great with Gaussians and also simple values.
GaussianAverage myAverage(10); // 10 samples to keep track of
myAverage += Gaussian(32, 2.45);
myAverage += 10; // Automaticaly adds a Gaussian with Maximum variance
Gaussian average = myAverage.process();
Ivan, when I use your library and #include your CPP file in my Sketch (.ino), at link time I'm getting multiple definitions of the timer objects. I have #include DueTimer.cpp at the beginning. The DueTimer.h is of course included in the CPP file. How can I ask the preprocessor to only include it once?
rmetzner49:
Ivan, when I use your library and #include your CPP file in my Sketch (.ino), at link time I'm getting multiple definitions of the timer objects. I have #include DueTimer.cpp at the beginning. The DueTimer.h is of course included in the CPP file. How can I ask the preprocessor to only include it once?
Hi,
Never include de .cpp file, always include the .h =] #include <DueTimer.h>
The Arduino Due uses an ARM Cortex M3 processor made by Atmel (SAM3X8E). This microcontroller is fairly different from the normal AVR microcontrollers used for most Arduinos. Alex Leone made an Arduino library for handling Texas Instrument's TLC5940 16 Channel LED PWM driver with the AVR microcontrollers (Google Code Archive - Long-term storage for Google Code Project Hosting.).
However, running the TLC5940 well requires delving into lower-level parts of the hardware -- things like timer counters and interrupts -- and these are different on the Due/SAM3X8E. I've started a TLC5940 library that makes use of the features offered by the SAM3X8E. At least for now, this library doesn't offer all the fancy features that Alex Leone's library (e.g. animations, fades, PROGMEM storage, etc.) because I didn't need those features. I have my own libraries for describing and running lightshows.
I 've been working on my senior project - a balancing robot - using a Mega 2560. A recent accident damaged the board and I was thinking of replacing it with a Due to see if the faster clock speed helped. Can someone check to see if the following libraries/examples work or at least compile?