[Gghc-discuss] Erich's software questions

Erich Heine sophacles at gmail.com
Mon Apr 25 11:12:51 CDT 2011


Thanks! There are more responses inline below. First tho, can you please put
the relevant info in the wiki also? It needs to be there anyway and having a
good single, canonical, reference point is always a good thing.

On Mon, Apr 25, 2011 at 10:42 AM, Jonathan Manton <jmanton at illinois.edu>wrote:

> 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.
>

Can those pins use the build int UART? Are they buffered? Do we need to use
a special library?


> 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.
>
>
Great thanks.


> 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
>
>
So you are now writing the api on top of I2C as well as all the hardware?
Instead, why don't you just provide a pointer to the controller
documentation, and a list of which pins connect which LEDs/peripherals. The
software can be written and debugged by others that way, and take some work
load off you.




> 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).
>

Yeah, there needs to be that, but there are a lot of things to work out
aside from that. The end user API is not the same as internal interfaces  to
use between components we are in charge of. This is they type of stuff I am
talking about.


> 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.
>
>
Can they be put on an interrupt (eg pushing the button changes the state of
both the pin representative of the button and the interrupt pin)?  This
makes life much, much easier from a software pespective. Doubly so if the
non-standard serial pins also don't cause interrupts to be fired.


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
>>
>
> _______________________________________________
> Gghc-discuss mailing list
> Gghc-discuss at lists.chambana.net
> http://lists.chambana.net/mailman/listinfo/gghc-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.chambana.net/pipermail/gghc-discuss/attachments/20110425/caa2a4d1/attachment.html>


More information about the Gghc-discuss mailing list