Pages: 1 ... 4 5 [6]   Go Down
Author Topic: Arduino Due libraries (official and 3rd party)  (Read 89665 times)
0 Members and 2 Guests are viewing this topic.
Offline Offline
Newbie
*
Karma: 4
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

AccelStepper.h for stepper control of position, speed and acceleration:

https://github.com/adafruit/AccelStepper

DueFlashStorage for the use of flash memory, read and write:

https://github.com/sebnil/DueFlashStorage

UTFT.h for display lcd, tested with 7" display cte70:
WARNING: the functions with RGB on the parameters reverse the R with B so it uses BGR. So to solve the problem you have to modify the library function. Remember that the rgb color are saved in a word build like that
MSB->rrrrrggggggbbbbb.
so use this code for the reversing

Code:
temp1=( (col>>8) & 0x07) | ( ( (col & 0xff) & 0x1f)<<3);
temp2=( (col & 0xff) & 0xE0) | ( ( (col>>8) &  0xf8)>>3);

then unificate temp1 and temp2 in a single word



http://henningkarlsen.com/electronics/library.php?id=52

UTouch.h for control of a touch screen.
NOTE: pins used are "Clock,Chip Select,Digital in,Digital out,Irq"

http://www.henningkarlsen.com/electronics/library.php?id=55


 
« Last Edit: April 14, 2014, 06:20:15 am by TexArduino » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I modified the SimpleModbusSlave lib found at :
https://docs.google.com/file/d/0B0B286tJkafVWVRveVZ3V2N2Q2M/edit?pli=1
... to work on DUE. One can user hardware USART 0,1,2.

I also added a _fonc option , the SimpleModbusSlave_DUE_fonc, so one can do something in the main sketch BEFORE response (useful to compute value of regs). A 2nd fonction is  to update some sketch variables form 1 master global order.


* SimpleModbusSlave_DUE.zip (145.4 KB - downloaded 36 times.)
* SimpleModbusSlave_DUE_fonc.zip (148.8 KB - downloaded 30 times.)
Logged

Dallas, Texas
Offline Offline
God Member
*****
Karma: 31
Posts: 887
Old, decrepit curmugeon
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The final release of the Entropy library, which provides a source of true, cryptographically secure, random numbers on most Arduino platforms, including the UNO, MEGA, Teensy, and Due. 

This final release builds upon the earlier beta releases methods for providing various types of random integers to now also provide random floats, as well as a new method to provide random floats with a gaussian distribution.  All other methods use a uniform distribution, where each possible value has an equal chance of occurring, while the gaussian distribution allows you to specify a mean (average) value and a standard deviation.  This will then produce a series of random floats that would demonstrate those characteristic values if analyzed.  If graphed they would display the typical 'bell curve'.  This new method is most useful for certain types of simulations.  On the AVR based Arduino's as well as the Teensy boards, the library uses timer jitter as the source of the random numbers; however, on the Due it uses the internal hardware random number generator. 

The complete source, along with tests and test results for the library is available from the Google Code depository <http://code.google.com/p/avr-hardware-random-number-generation/>.  For those who just want the library to use, it is available for download from the libraries web page <https://sites.google.com/site/astudyofentropy/project-definition/timer-jitter-entropy-sources/entropy-library>.
Logged

New true random number library available at: http://code.google.com/p/avr-hardware-random-number-generation/

Current version 1.0.1

Offline Offline
Newbie
*
Karma: 2
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have successfully tested this Button Library:

http://log.liminastudio.com/itp/physical-computing/arduino-a-new-improved-button-library-with-some-handy-features

It is indeed a very handy library featuring multiple button instances, with pull-up option, debouncing, it distinguishes between pressing shortly and holding the button pressed, etc.  
« Last Edit: June 04, 2014, 02:43:23 am by hbierau » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've incorporated the existing work by Collin Kidder and Daniel Kasamis on due_can into a "unified" CAN library.  One simple API gets you functionality for three different types of CAN controller; Microchip MCP2515, Atmel SAM3X (Due), and Freescale K2x (Teensy 3.1). It's not quite finished yet, but if you are interested in using it, take a look at https://github.com/McNeight/CAN-Library/

Comments and patches are more than welcome.

-Neil
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have the same problem with libraries, but my error is avr/sleep.h:no such file... I get this error when i try to compile BLE Shield example for Arduino Due. Any solution..? Thanks for reply.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Library:  pwm01.h
Description:  A clean alternate approach for setting up unique PWM frequencies from within a sketch, for any or all PWM pins.  The trick is to utilize the two PWM clocks (CLKA & CLKB) provided by the SAM3X8E chip.

I wrote and enclosed a library (pwm01.h).  It includes 4 user functions to:  1) setup PWM resolution, 2) setup PWM pin, frequency & pick clock, 3) write duty cycle, and 4) stop PWM.  See example code for usage:

Code:
#include "C:\Programs\arduino-1.5.1r2\hardware\arduino\sam\libraries\Pwm01\pwm01.h"

void setup()
{
    uint32_t  pwm_duty = 32767;
    uint32_t  pwm_freq1 = 2;  
    uint32_t  pwm_freq2 = 5000;

    // Set PWM Resolution
    pwm_set_resolution(16);  

    // Setup PWM Once (Up to two unique frequencies allowed
    //-----------------------------------------------------    
    pwm_setup( 6, pwm_freq1, 1);  // Pin 6 freq set to "pwm_freq1" on clock A
    pwm_setup( 7, pwm_freq2, 2);  // Pin 7 freq set to "pwm_freq2" on clock B
    pwm_setup( 8, pwm_freq2, 2);  // Pin 8 freq set to "pwm_freq2" on clock B
    pwm_setup( 9, pwm_freq2, 2);  // Pin 9 freq set to "pwm_freq2" on clock B
      
    // Write PWM Duty Cycle Anytime After PWM Setup
    //-----------------------------------------------------    
    pwm_write_duty( 6, pwm_duty );  // 50% duty cycle on Pin 6
    pwm_write_duty( 7, pwm_duty );  // 50% duty cycle on Pin 7
    pwm_write_duty( 8, pwm_duty );  // 50% duty cycle on Pin 8
    pwm_write_duty( 9, pwm_duty );  // 50% duty cycle on Pin 9

    delay(30000);  // 30sec Delay; PWM signal will still stream
        
    // Force PWM Stop On All Pins
    //-----------------------------    
    pwm_stop( 6 );
    pwm_stop( 7 );
    pwm_stop( 8 );
    pwm_stop( 9 );
}

void loop()
{  
}


The pwm01.h library and example code were tested in IDE 1.5.1r2.  Additional notes on this library:
- Applies to Arduino-Due board, PWM pins 6, 7, 8 & 9.
- Libary Does not operate on the TIO pins.
- Unique frequencies set via PWM Clock-A ("CLKA") and Clock-B ("CLKB")
  Therefore, up to two unique frequencies allowed.
- Set max duty cycle counts (pwm_max_duty_Ncount) equal to 255 per Arduino approach.  
  This value is best SUITED for low frequency applications (2hz to 40,000hz) such as
  PWM motor drivers, 38khz infrared transmitters, etc.
- Future library versions will address high frequency applications.
- Arduino's "wiring_analog.c" function was very helpful in this effort.


Hello,

Probably a stupid question but where can I find this pwm01.h library?
Logged

Tucson, AZ
Offline Offline
Sr. Member
****
Karma: 8
Posts: 317
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The library is linked at the bottom of the post that you quoted.

Look for this -  pwm01.h (3.96 KB - downloaded 338 times.)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

Has anyone got the due working with SDI-12 library that is made available by stroudcenter. Github repo is:
https://github.com/StroudCenter/Arduino-SDI-12

I tried working with the SDI12 lib and due but ended up with the following error message:

home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp: In member function 'void SDI12::setState(uint8_t)':
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:377:32: error: 'digitalPinToPCMSK' was not declared in this scope
     *digitalPinToPCMSK(_dataPin) &= ~(1<<digitalPinToPCMSKbit(_dataPin));
                                ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:377:71: error: 'digitalPinToPCMSKbit' was not declared in this scope
     *digitalPinToPCMSK(_dataPin) &= ~(1<<digitalPinToPCMSKbit(_dataPin));
                                                                       ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:389:29: error: 'digitalPinToPCICR' was not declared in this scope
  *digitalPinToPCICR(_dataPin) |= (1<<digitalPinToPCICRbit(_dataPin));
                             ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:389:67: error: 'digitalPinToPCICRbit' was not declared in this scope
  *digitalPinToPCICR(_dataPin) |= (1<<digitalPinToPCICRbit(_dataPin));
                                                                   ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:390:32: error: 'digitalPinToPCMSK' was not declared in this scope
     *digitalPinToPCMSK(_dataPin) |= (1<<digitalPinToPCMSKbit(_dataPin));
                                ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:390:70: error: 'digitalPinToPCMSKbit' was not declared in this scope
     *digitalPinToPCMSK(_dataPin) |= (1<<digitalPinToPCMSKbit(_dataPin));
                                                                      ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:394:31: error: 'digitalPinToPCMSK' was not declared in this scope
    *digitalPinToPCMSK(_dataPin) &= ~(1<<digitalPinToPCMSKbit(_dataPin));
                               ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:394:70: error: 'digitalPinToPCMSKbit' was not declared in this scope
    *digitalPinToPCMSK(_dataPin) &= ~(1<<digitalPinToPCMSKbit(_dataPin));
                                                                      ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:396:32: error: 'digitalPinToPCICR' was not declared in this scope
     *digitalPinToPCICR(_dataPin) &= ~(1<<digitalPinToPCICRbit(_dataPin));
                                ^
/home/bmubuntu/Arduino/libraries/Arduino-SDI-12-master/SDI12.cpp:396:71: error: 'digitalPinToPCICRbit' was not declared in this scope
     *digitalPinToPCICR(_dataPin) &= ~(1<<digitalPinToPCICRbit(_dataPin));

                                                                       ^
Sorry that i have to post it again here on the due forum.

I am using arduino-1.5.7.

Please help me in this regard.

Thanks!
Logged

Pages: 1 ... 4 5 [6]   Go Up
Jump to: