[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