This PR implements direct IO operations for SAM (Due) and SAMD (Zero etc) boards.
Port definitions for the various boards are split out into separate header files.
Port/pin operations are abstracted, and implemented in the board type headers (ports_avr.h etc)
There is a tool to generate the headers based on the installed Arduino support files. The tool supports AVR, SAM, and SAMD style definitions. I've generated headers for all of the Arduinos I could find, after installing all the packages available in Board Manager.
Tested on AVR and Due. I don't have a SAMD board to test on at this time (it's on order).
Still to do:
[x] Add detection for remaining boards, based on compiler defines.
[x] Update documentation (note InputPort and OutputPort setup method)
[x] Due benchmarks
[x] Test on SAMD
Future: support additional board types (STM32, nRF)
This PR implements direct IO operations for SAM (Due) and SAMD (Zero etc) boards.
Still to do:
setup
method)