Extend Wiring/Process libraries to MinnowBoard Max

 '''PAGE UNDER CONSTRUCTION.

This wiki page is to document the initial development process of this project. Most of the contents are without being tested in the concerned board.

This same page might evolve from simple idea page to complete documentation of this project. ''' Minnowboard:GSoC2015 Idea Page

The Wiring/Process combination often referred to generically as the "Arduino" style programming environment was originally extended to platforms such as the Galileo development platform running Linux. Extending this environment to MinnowBoard Max would provide a great platform for education and development. Extending this program means Arduino users can start using the power of single board computer without putting any additional efforts as they will be working in a very familiar environment.

=Initial development= The starting point of this project will be from the Intel Galileo's customized Arduino IDE (Source Code).

First task is to identify what might need to be changed in the source code to extend this environment to Minnowboard Max.

Things need to be changed
In Galileo Arduino IDE source, most of the changes are to be made in hardware --> arduino --> x86 directory. The x86 section is pretty generic, so we have to identify what sections are specifically geared towards Galileo. So it can be ported to Max.

Few of those sections are:
 * variants
 * cores
 * libraries

First priority will be to define the pin mapping of minnowboard max, which are to be changed in 'variants' section and few sections of 'cores'. 'sysfs' section in cores(hardware --> arduino --> x86 --> cores --> arduino) might be changed according to GPIO sysfs interface of max.

TODO
* 22 Gpios * 2pwm (mapped to most commonly used arduino pwm pins) * No pinmux initially * init function * Functions to read and write from sys file for GPIOs * Makefile from this -> to something like this
 * Set variants based on Calamiri lure
 * Sysfs file
 * Setup an environment to compile and execute the sketches
 * Run the blink example

Intial Repository
WiringMax * Variants added
 * Status

=Building the Arduino development environment from source= The instructions for building the Arduino development environment from source is available here.

Windows

 * Cygwin
 * Java JDK
 * ant

Mac OS X

 * Apple's Developer Tools

Linux

 * Java SDK
 * avr-libc
 * gcc-avr
 * gdb-avr
 * g++
 * make
 * ant

Note : For intial days we can use Arduino makefile to compile and later we can develop a complete Arduino development environment.