[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