[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