[Gghc-discuss] Erich's software questions

Jonathan Manton jmanton at illinois.edu
Mon Apr 25 10:42:34 CDT 2011


The connection between the User Arduino and the Duinolab Controller is  
intended to be some sort of serial protocol using the NewSoftSer  
Arduino library.  I have defined the pins that are used for that (on  
the pinouts wiki page, for the shields), but have done nothing with  
software to implement that connection.

The duinolab controller talks to the I/O expanders and LED controllers  
using I2C.  This is a *one way* communication - so it is done via API,  
when the duinolab controller wants it to happen.  No input, so no  
polling or interrupts to worry about.

The API to write stuff to I2C (from the Duinolab Controller) will look  
something like:
    TurnOnIndicator(JOYSTICK_Y_TO_BREADBOARD)     // turns on the  
indicator light next to the joystick showing it is connected to the  
breadboard
    ConnectPeripheral(RED_POTENTIOMETER)    // does switching to  
connect red potentiometer to the arduino/breadboard (same thing  
electrically in this version)
    DisconnectPeripheral(BLUE_BUTTON)  // does the switching to  
disable the peripheral

This API will be on the Duinolab Controller.  There still has to be  
some sort of communications protocol between the User Arduino and  
Duinolab Controller (I am not implementing that - I think Brian was  
working on it).

I have not yet designed the LCD stuff, but it will be a very  
straightforward parallel connection to a 128x64 graphical LCD that is  
compatible with this library:  http://www.arduino.cc/playground/Code/GLCDks0108 
  (probably the sparkfun version of this, unless someone gives me an  
alternate supplier).  I don't see a need to go with the serial  
version, since we have enough available I/O pins on the Duinolab  
Controller to go with the parallel (cheaper) version.

There will also be 3 momentary-on pushbuttons that will be physically  
next to that LCD that can be used for menu buttons.  Those will be  
attached to digital pins on the duinolab controller, but will *not* be  
on interrupts (there are only pins you can use for external interrupts  
on the normal arduino).  So you'll have to poll those buttons.

The exact pin mapping has not yet been done in terms of which pins map  
to which functionally.  But the pins that will be routed to the LCD  
sub-board has been defined on the pinouts page on the wiki (part of  
the duinolab controller shield).




On Apr 25, 2011, at 9:39 AM, Erich Heine wrote:

> I'd prefer we start sooner. i have a hard stop time of 9:15 tonight,  
> and I would like to see this roadmapped in detail by then.
>
> During the course of today, I will be desigining the overall  
> software parts as I get a chance.
>
> Jonathan, something very needed for the software to be produtive is  
> an update to the pinouts, as well as filling in the wiki pages  
> linked from here in the "Controller Part resources" section.
>
> http://tech.chambana.net/projects/duinolab/wiki/Hardware_Design
>
> The sooner the better, because I really need to know how the serial  
> and the LCD interact with the duino -- is it poll based? do both or  
> either interrupt? I have a couple ways the software can work in my  
> head, but they all come down to the how the main loop is handled.
>
> Regards,
> Erich



More information about the Gghc-discuss mailing list