LED Strip mit WS2811 Controller

Hallo,
ich beschäftige mich gerade mit der Programmierung von LED Strips mit WS2811 Controller. Da hier jede einzelne LED ansteuerbar ist, kann man damit tolle Sachen machen.
Ich benutze dafür momentan die FastSPI_LED Library Google Code Archive - Long-term storage for Google Code Project Hosting. und mein Mega Board.
Die Programme sind schon ziemlich gross, wahrscheinlich da der Datenbereich viel Platz einnimmt.
Wäre es theoretisch denkbar die Library soweit für den WS2811 auf die notwendigen Funktionen zu reduzieren, dass das Programm in die 8k eines ATTiny85 passt?
Könnte der überhaupt diesen SPI Modu?
Leider ist die Library nicht so gut dokumentiert und die Library zu verstehen kostet mich sehr (zu) viel Zeit.
Vielleicht könnte man auch die notwendigen Funktionen für den ATTiny neu programmieren, der 2811 erwartet ein (quasi) PWM Signal mit 800kHz, eine 1 mit 50% und eine 0 mit 25%.
Wer hat Lust mit zu tüfteln.
Gruß
Reinhard

Wird vermutlich ein Riesenaufwand. Und es ist fraglich, ob sich das rentiert. Der Autor ist an Version 2 der Lib dran, diese wird seiner Aussage nach wesentlich kleiner.

hi,

preview release für die version 2 gibt es schon einige zeit. suche nach FastSPI_LED2.
funktioniert einwandfrei und ist sehr resourcenschonend.

gruß stefan

hab' mal nachgesehen: 4300 byte für die steuerung von 60leds für eine equinox uhr mit ds1307.
fehlt zwar noch einiges, ich warte auf die fernsteuerungen, aber läuft rund...
mit einem attyny85 läßt es sich nicht ohne weiteres compilieren, aber ich hab nicht nachgewassert, warum.

gruß stefan

Hallo,

funktioniert einwandfrei und ist sehr resourcenschonend

stimmt !
Der Beispielsketch (ohne DEBUG) für meine 10 LEDs braucht gerade mal

Binary sketch size: 1356 bytes (of a 258048 byte maximum)

Der Beispielsketch aus der alten Library (O.K. der macht nicht dassselbe, aber trotzdem) braucht

Binary sketch size: 12154 bytes (of a 258048 byte maximum)

Würde also auch auf eine ATTiny85 passen. Weiß jemand, ob die genutzten Registerfunktionen bei ATTiny85 zur Verfügung stehen?

60 LED zu 3 Farben ergibt 180 Byte "Videospeicher". Das ist viel für einen Microcontroler mit 512 Byte RAM wie den ATtiny85.
Die Ausgabe der Daten ist in der FastSPI ist in Maschienensprache geschrieben weil man es ansonsten mit dem Timing nicht hinkommt (Genauigkeit des Timings von 150nS gefordert!!! bei einem Systemtakt von 62nS (16MHz)). Da ist eine Übertragung der Bibliothek ohne Adaptierung nicht möglich.
Grüße Uwe

Danke Uwe,
dann eben weiter mit "28 Beinchen"
Gruß
Reinhard

hi,

Da ist eine Übertragung der Bibliothek ohne Adaptierung nicht möglich.

beim kompilieren für den tiny scheint es probleme mit SPI zu geben. kann das der tiny überhaupt in dieser form?

hier nur ein teil:

In file included from C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/FastSPI_LED2.h:6,
from Fast2Dev.cpp:1:
C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/fastspi.h: In static member function 'static void AVRHardwareSPIOutput<_DATA_PIN, _CLOCK_PIN, _LATCH_PIN, _SPI_SPEED>::init()':
C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/fastspi.h:520: error: 'SPCR' was not declared in this scope
C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/fastspi.h:520: error: 'SPE' was not declared in this scope
C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/fastspi.h:520: error: 'MSTR' was not declared in this scope
C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/fastspi.h:521: error: 'SPR1' was not declared in this scope
C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/fastspi.h:521: error: 'SPR0' was not declared in this scope
C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/fastspi.h:523: error: 'SPSR' was not declared in this scope
C:\Program Files (x86)\arduino-1.0.1\libraries\FastSPI_LED2/fastspi.h:524: error: 'SPDR' was not declared in this scope

gruß stefan

Ich bin mir nicht sicher, ob das SPI Interface des ATMega328 dem USI Interface des ATTiny85 entspricht, wenn, dann sind auf jeden Fall die Namen der Register verschieden.

Eisebaer:
hi,

Da ist eine Übertragung der Bibliothek ohne Adaptierung nicht möglich.

beim kompilieren für den tiny scheint es probleme mit SPI zu geben. kann das der tiny überhaupt in dieser form?
...
gruß stefan

Also gibst Du mir Recht? :wink: :wink:

hi, uwe,

Also gibst Du mir Recht?

ich war noch nie in der situation, Dir nicht recht zu geben.
....aber ich ärgere Dich gern :stuck_out_tongue: als landsleute dürfen wir das doch ?

und wieder einen gaaanz lieben gruß über den brenner vom bären

aha willsch mi tratzn?
Liebe Grüße zurück übern Brenner. oder ist Winnebach näher?
Grüße Uwe

aha willsch mi tratzn?

ob ich das mit den landsleuten nicht doch besser zurücknehme?

Wieso? Hast Du Schwierigkeiten mich zu verstehen?
Uwe

naja, jetzt geht's plötzlich wieder...