[En-Nut-Discussion] using SPI Controller of AT91SAM7X
Dominik Schröder
dominik.schroeder at bh-informativ.de
Fri Mar 12 07:35:44 CET 2010
Hi Ulrich
Sound good, I`m currently using two OLEDs. One with the SSD1303 controller
(working with TWI) and one with the SSD1329 controller. Unfortunately it`s
not possible to connect this controller via TWI. It only has a SPI
interface. But I think the drivers for the displays are similar in most
ways.
I only want to display some basic information about the device (IP address,
MAC address, working mode...). So most time it only will be text.
Currently I don`t have much experience in adding some new drivers to NutOs.
But I think it is a good aim to learn it...
Best regards
Dominik
-----Ursprüngliche Nachricht-----
Von: en-nut-discussion-bounces at egnite.de
[mailto:en-nut-discussion-bounces at egnite.de] Im Auftrag von Ulrich Prinz
Gesendet: Donnerstag, 11. März 2010 21:02
An: Ethernut User Chat (English)
Betreff: Re: [En-Nut-Discussion] using SPI Controller of AT91SAM7X
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
_______________________________________________
http://lists.egnite.de/mailman/listinfo/en-nut-discussion
More information about the En-Nut-Discussion
mailing list