The current implementation of the pin is, well to be honest, a
mess. Instead of patching a bad implemented, the goal now is to
redesign the implementation trying to get it right.

--

Facts
====================

Arduino pins
--------------------

 1. Digital INPUT/OUTPUT
 1. Digital INPUT/OUTPUT, with pwm
 2. Analog  INPUT

Note: there are no analog output pins in Arduino


Proposed design steps
====================

1. Board specific pin settings

   Implement a setting function per board, which sets up the pins
   reflecting reality (that is reflecting the pins on the actual
   board). E g:

   int    seasim_set_board_uno(void);

   HENRIK IS CURRENTLY DOING OR HAVE DONE:
   ---------------------------------------------
     Added file: faked-arduino/arduino/src/boards.c
     and test file (in test dir)

     These provide basic means to manage boards specific settings

     Next steps are to:
     * add more tests (done)
     * start with implementing Uno settings (done)
     * implement new functions in python extension (done)
     * try new py funs in pardon (done)

     and then proceed with (2) below.


2. Remove any setting of type in the various *write functions.

   (done)

3. Add code to check if requested action is valid when calling the
   *read and *write functions.

  (begun)

4. Searduino should default to one board (proposed board: Uno)

   (done)

5. Add functions to seasim to set and get what board to simulate.

     int    seasim_set_board_name(char * board);
     char*  seasim_get_board_name(void);

     (done)


6. Add functions to extensions to set and get what board to simulate
   (via seasim)

     (done)

