[En-Nut-Discussion] using SPI Controller of AT91SAM7X

Ulrich Prinz uprinz2 at netscape.net
Thu Mar 11 21:01:56 CET 2010


Hi all,

Am 11.03.2010 17:17, schrieb Harald Kipp:
> Dominik Schröder wrote:
>
> Looks like Ulrich's 7-segment display driver is the most simple SPI bus
> driver we currently have. It may serve well as a sample. See
> nut/dev/spi_7seg.c.
>
It's not a sample it's in production like this :)

Dominik, what OLED you have and what would you like to do with it.
Important is the controller on the OLED. I have a working driver for 
SSD1303 and SSD1325 controllers often on small displays with 128 to 132 
by 64 pixels.
These drivers are part of a display driver that serves as a terminal 
display. So you simply use fprintf( oled, ...) and it works. I added 
some special functions for cursor positioning and inverted characters.
I did not add graphical functions as nearly all SPI connected OLEDs are 
not readable. So you have to implement a frame-buffer. But that does not 
work on AVR as there is not enough memory.

Sending you the code only works, if you have some experiences in 
programming as it connects to nutos configurator. So you might have to 
manually follow the #defines and comment them out or define them 
locally. But you can always ask.

Adding these routines to nutos might cost me a day or two, so tell me 
how quick it has to be done :) The SSD1303 driver was upgraded lately to 
use PDC transfers over SPI, but only on a single channel. For 
multi-channel support, frame-buffer of two times the size of the display 
memory is needed. This is special to SAM technology as the low word 
contains the data and the high word takes the SPI transfer 
configuration. Until yet, nutos doesn't make use of these features. And 
they are a bit buggy too as one can read in the erratas :)

Best regards, Ulrich




More information about the En-Nut-Discussion mailing list