Arduino Due libraries (official and 3rd party)

My own Due library for ILI9341 SPI displays:

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

Github:

I have just installed the Arduino DUE 1.5.8 Windows library from the zipfile so that I can use a microSD card on an Arduino Ethernet shield. However, despite there being an SD.h file in the zipfile it has not been installed in the "contributed" library - the only option offered in UECIDE - so when I try to compile my SD card sketch it fails because the #include <SD.h> statement is rejected. Can anyone tell me what I should do?

RFM73 transceiver library now ported to the DUE, please consider there may be some tweaking/cleaning to be done but at least everyone can have something to play with.

rfm73.cpp (25.5 KB)

rfm73.h (11.4 KB)

I recently had a need to use a Due as a web server. I started with the excellent application posted here:

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

While it worked fine, it was not structured as a library, and parts were too hard-coded. I did a bunch of mods, turned it into a library, and defined a few "helper" classes to implement a symbol table (for putting "live" data into the HTML on-the-fly), and for simplifying the content creation. It currently supports GET and POST events, and will handle HTML, CSS, JPG, GIF and PNG data. All content is addressed by virtual file paths. While I did not carry forward the SD-card filesystem used in the original code (I don't have SD), it would be easy to add that back in.

All HTML and CSS source code and images are in the HTML subdirectory of the test application. A Perl script, HTMLConvert.pl, i used to convert the content into c char arrays that get compiled into the application.

To try it out, just un-zip the archive to your local library directory, set the desired IP address near the top of the WebServerTest.ino or enable DHCP, then load it an go. Point your browser to the default (hard) IP address application, compile and run. Point your browser at that IP address, and it should all work.

Enjoy!

Regards,
Ray L.

WebServer.zip (119 KB)

Serial library using DMA. Needs more testing, as far I can tell though it works.

rblilja:
Serial library using DMA. Needs more testing, as far I can tell though it works.

GitHub - rblilja/DmaSerial: Serial library utilising DMA on the SAM3X8E MCU (Arduino Due).

Looks good. Really clean code. Good comments at the head of each function.

But what does it do? What are the limitations? Does it clobber any Arduino constructs, like can I use the same UART with both methods interchangeabley? A readme file would be very useful.

Any example code? It looks like the constructor requires a pointer to a UART but I don't know what that might look like.

Sorry for late reply - been working a lot lately. There is a README file added now. It explains how to "deactivate" the standard serial handling in Arduino. However, I think commenting out the old U(S)ARTClass objects are only necessary if you need to save space and never call e.g. Serial1.begin() after calling the begin() of DmaSerial.

About limitations. There are some todos marked in the code, e.g. supporting other confs than 8N1.

Usage is quite simple..

Outside loop() and setup():

#include "DmaSerial.h"

DmaSerial dma_serial = DmaSerial((Uart*)USART0, ID_USART0);

USART0 is Serial1, USART1 is Serial2...

In setup():

dma_serial.begin(9600);

In loop() or where you want to use it:

dma_serial.put("THIS IS A TEST!\n");
dma_serial.putln("THIS IS ALSO A TES!");

uint8_t buffer[32];

dma_serial.get(buffer, 32);

Sorry for the sloppy explanation.. Will include a proper example sketch in the future..

Hello,

i try to load a lot of my working 2560 Mega projects on a Due.
The actual Due IDE is 1.5.8. If i select a Mega it compiles.
If i select a Due (programming port) a lot of errors happen...
With an I2C bus:

avr/io.h: No such file or directory
 #include <avr/io.h>

or if i use a clock:

Arduino: 1.5.8 (Linux), Board: "Arduino Due (Programming Port)"

Build options changed, rebuilding all
In file included from /home/elektro/Elektro/Arduino/arduino-1.5.8/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/sam3xa.h:44:0,
                 from /home/elektro/Elektro/Arduino/arduino-1.5.8/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3.h:59,
                 from /home/elektro/Elektro/Arduino/arduino-1.5.8/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam.h:198,
                 from /home/elektro/Elektro/Arduino/arduino-1.5.8/hardware/arduino/sam/system/libsam/chip.h:25,
                 from /home/elektro/Elektro/Arduino/arduino-1.5.8/hardware/arduino/sam/cores/arduino/Arduino.h:42,
                 from Test.ino:6:
/home/elektro/Elektro/Arduino/arduino-1.5.8/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/sam3x8e.h:502:29: error: expected ')' before '*' token
 #define RTC        ((Rtc    *)0x400E1A60U) /**< \brief (RTC       ) Base Address */
                             ^
Test.ino:6:12: note: in expansion of macro 'RTC'
/home/elektro/Elektro/Arduino/arduino-1.5.8/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/sam3x8e.h:502:29: error: expected ')' before '*' token
 #define RTC        ((Rtc    *)0x400E1A60U) /**< \brief (RTC       ) Base Address */
                             ^
Test.ino:6:12: note: in expansion of macro 'RTC'
Test.ino: In function 'void setup()':
Test.ino:22:7: error: request for member 'begin' in '1074666080u', which is of pointer type 'Rtc*' (maybe you meant to use '->' ?)
Test.ino:31:13: error: request for member 'isrunning' in '1074666080u', which is of pointer type 'Rtc*' (maybe you meant to use '->' ?)
Test.ino:34:9: error: request for member 'adjust' in '1074666080u', which is of pointer type 'Rtc*' (maybe you meant to use '->' ?)
Test.ino: In function 'void loop()':
Test.ino:45:20: error: request for member 'now' in '1074666080u', which is of pointer type 'Rtc*' (maybe you meant to use '->' ?)
Fehler beim Übersetzen

  Dieser Report hätte mehr Informationen mit
  "Ausführliche Ausgabe während der Kompilierung"
  aktiviert in Datei > Einstellungen

Is there something wrong with my installation or are the Due-libraries still weak?
Is there no central Due support???

Finally succeeded to modified Adafruit RGB panel library for 16x32 rgb panel to suit arduino due.

I found it at here and it worked : https://codeload.github.com/enternoescape/Arduino-IRremote-Due/zip/master

how i can interface arduino due with HC05 bluetooth module.....
i was doing but there was no response with due....

The MIFARE MFRC522 library works properly with arduino due.
The SPI ports have to be used for interfacing.

I have created MIDI USB Library for Arduino Due.

How to transform a library for arduino DUE?
I want use a library that it is for operate with matrices, but it is not working for Arduino Due. What I should change in the library for use the library in the Due?

These is the librery:

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

Thanks

I need to have the softwareserial.h or similar to run on a Due for a student project.
I have located 3 serial ports on the Due. Pls. advice: How do I get these ports up and running?

Regards, Steenoluf

Just got a DUE bord, and tried to compile. error can not find delay.h it is the _delay_ms() that I need.
Eny idea how I can work around it? Got IDE 1.6.4

Is there an easy way to change the code , so it will have different code when I want to run it on DUE and nano.
Maybe something like this, but for the delay.h

#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif

I guess I need to put in someting else, but this might be a sceleton I can use. If some got what I need to put in it will help.
Svein

Markus_L811:
First release of the RTC Library for the Arduino Due.

2 examples included.

I would call it final for the moment.

And on github: GitHub - MarkusLange/Arduino-Due-RTC-Library: RTC Library for the Arduino Due

I hope the library is self explaining.

Markus

Update new library with unixtime and compilertime support

Update Version 1.2 now support for Date & Time in one operation for BKM.

And some changes all in the changelog

Update Version 1.3 now unixtime with timezone support with Example for it, for tevroc

Update Version 1.4 now support for geman timezone with Summertime.

Update Version 1.5 some changes in the Summertime Sketch, and updates at this point only on git

Update Version 1.6 added rtc_clock.timing to detect when the time was set in summer- or wintertime
(mostly helpfully for the german member)

Update Version 1.7 added rtc_clock.date_already_set() to proof if date is allready set, to prevent setting time again for Paul Stoffregen

Update Version 1.8 added rtc_clock.set_clock() to set Time,Date in one line fixed bug in unixtime() and summertime() thanks to Paul Stoffregen for the hint

Hi, what are the pines to conect in DUE?

I tested the ethernet library and it works with one minor difference. Do not set D10 as an OUTPUT in setup.

I tested these playground sketches and all work with the Due.
http://playground.arduino.cc/Code/WebClient
http://playground.arduino.cc/Code/WebServerST
http://playground.arduino.cc/Code/FTP
http://playground.arduino.cc/Code/Email
http://playground.arduino.cc/Code/POP3Email

I just tested the Pololu AHRS (9DOF) library, and it works.

I'm using it with the 10DOF board from Adafruit.

A question for garygrewal: I looked through the library set you pointed to and didn't see anything related to USB MIDI, did i miss it? It looked like there was just the usual HID, keyboard, etc., but nothing I could see related to MIDI. Was I looking at the wrong branch (I used the URL you posted), or are the methods buried somewhere else in the library and I just missed it?

I'm very interested in trying to use such a library with a project I working on, so any help in finding your work is greatly appreciated.

Bob Hart