The latest update of the GPIO library adds support for open drain pins. This is used for devices with external pullup resistors such as DHT, 1-Wire and I2C.
Some initial benchmark results for Arduino Due (SAM3X8E) may be found in the Benchmark sketch.
Please see the corresponding libraries for examples.
Great that you have support now for the SAM3X8E, I'll like to try this.
I looked a few weeks ago at the library and was also wondering for the 1284P, like the Bobduino style boards ?
Over the years I have noticed you have produced some nice and neat code, thank you for your efforts
rockwallaby:
I looked a few weeks ago at the library and was also wondering for the 1284P, like the Bobduino style boards ?
It is easy to add support for new boards (mcu). In the case of the ATmega1248P the issue is more or less the pin numbering. There are a few different approaches; Bobduino, Wicked Device Wildfire (Arduino format) and LowPowerLab Moteino Mega.
This library looks to be comprehensive and exceptionally useful. As I see it, the library would be of great help for advanced use cases, getting every last drop of performance out of the microcontroller.
For example I wish to make a motor control system for a vinyl disc replay system, based on controlling two DACs to feed an AC motor with an optical feedback loop. I thought I would have to program the GPIO directly myself to get the required performance, but it's good to know that with this library, I'll probably not need to do that any longer.
Even though I know how to write to the GPIO ports myself, I would prefer to an abstraction any day of the week.
The latest release (1.10) of the Arduino-GPIO library adds support for debounced gpio pin (Button). Please see github and on-line documentation for further details.
The latest release (1.11) of the Arduino-GPIO library adds support for debounced analog pin (reading voltage from a resistor ladder, Keypad)). This class is used by the Arduino-LCD library to add support for the LCD Keypad and LCD4884 shields.
Please see github and on-line documentation for further details.