Ein "non bloated" arduino 328p WS2812 treiber

OP #7214693
Port und Pin angabe in WS2812.h:

Pin(hier arduino pin 3):
#define mask 0b00001000
Port des pins:
#define ws2812_PORTREG PORTD
#define ws2812_DDREG DDRD

ansteuerung:
1
//define
2
#define numleds 2
3
uint8_t pixel[numleds*3];
4

5
//setup
6
ws2812_init();
7

8
//loop
9
ws2812_sendarray(pixel,numleds*3);

Wenn das jemand einfacher kann ... her damit
Angehängte Dateien:
#7214764
Vielleicht solltest Du noch dazu schreiben, wo Du es geklaut hast.

Deine eigene Leistung beschränkt sich ja darauf, die 
Wartezyklenberechnung für andere CPU Frequenzen als 16MHz heraus zu 
nehmen. Leider hast Du jetzt vergessen, die Compilation abzubrechen, 
wenn die F_CPU != 16000000 ist.
OP #7214771
Wilhelm M. schrieb:
> dann macht Dir über eine Klasse
> Gedanken, über domänenspezifische Datentypen, Zusicherungen,
> const-correctness,

Eben nicht. Nix klassen nix propietätr, nix kompliziert. Sonst kann man 
gleich das original "light_ws2812" nehmen.
https://github.com/cpldcpu/light_ws2812

Das ziel ist etwas dass so einfach ist dass der normaluser den code und 
den ablauf versteht, was mit dem original NICHT der fall ist.

> etc. Und schreibe den Urheber mit rein ...

Das ist OK.

Mario M. schrieb:
> 
https://github.com/cpldcpu/light_ws2812/blob/master/light_ws2812_AVR/Light_WS2812/light_ws2812.c

Wo war das als ich das gesucht habe? Genau das hätte ich gebraucht!
#7214777
Alt G. schrieb:
> Wilhelm M. schrieb:
>> dann macht Dir über eine Klasse
>> Gedanken, über domänenspezifische Datentypen, Zusicherungen,
>> const-correctness,
>
> Eben nicht. Nix klassen nix propietätr, nix kompliziert. Sonst kann man
> gleich das original "light_ws2812" nehmen.

Henau. Das ist besser.
Du hast alles entfernt, was daran nützlich war. Und noch nicht einmal 
minimalste Korrekturen / Verbesserungen angebracht.
OP #7214794
Wilhelm M. schrieb:
> Jedoch
> suggeriert Dein Post, dass es von Dir sei.

Nein du miesepeter, ich hab das von dem bloat teil hier:
https://github.com/cpldcpu/light_ws2812/tree/master/light_ws2812_Arduino/light_WS2812

Und wenn ich das von Mario's link gekannt hätte, hätte ich das verwendet 
und nicht selbst was zusammengeschustert.

Leute wie du, die andere kritisieren um sich selbst besser zu fühlen, 
mag ich nicht.
#7214796
Alt G. schrieb:
> Wilhelm M. schrieb:
>> Jedoch
>> suggeriert Dein Post, dass es von Dir sei.
>
> Nein du miesepeter, ich hab das von dem bloat teil hier:
> 
https://github.com/cpldcpu/light_ws2812/tree/master/light_ws2812_Arduino/light_WS2812
>
> Und wenn ich das von Mario's link gekannt hätte, hätte ich das verwendet
> und nicht selbst was zusammengeschustert.

Mario M. schrieb:
> 
https://github.com/cpldcpu/light_ws2812/blob/master/light_ws2812_AVR/Light_WS2812/light_ws2812.c

Echt jetzt???
#7214800
Alt G. schrieb:
> Nein du miesepeter, ich hab das von dem bloat teil hier:
> 
https://github.com/cpldcpu/light_ws2812/tree/master/light_ws2812_Arduino/light_WS2812
>
> Und wenn ich das von Mario's link gekannt hätte, hätte ich das verwendet
> und nicht selbst was zusammengeschustert.

Was hast Du denn bitte selbst zusammen geschustert?
Gar nichts.
Einfach geklaut und ein paar Sachen entfernt und gehofft, dass es keiner 
merkt?
#7214803
Die Frage ist berechtigt: warum gibst du deine Quellen nicht an, wie’s 
die Etikette verlangt? Warum willst du dich mit den Federn fremder Leute 
schmücken? Hattest du wirklich erwartet, dass keiner mal guckt, wo du’s 
her hast? Fragen über Fragen …
OP #7214808
Ich hab gefragt "geht das noch einfacher" und nicht "schaut mal was ich 
geiles gemacht habe".

Aber das merkt ein narzist wie der Willem aka Jack nicht. Der projeziert 
seinen eigenen vorgehensweisen auf andere.

Leute wie du, die andere kritisieren um sich selbst besser zu fühlen,
mag ich nicht.
#7214810
Alt G. schrieb:
> Leute wie du, die andere kritisieren um sich selbst besser zu fühlen,
> mag ich nicht.

Und ich mag Leute nicht, die schamlos klauen und das als ihre eigene 
Arbeit ausgeben. So what? Lern draus, gib in Zukunft die Quellen an, und 
alle sind zufrieden.

Nachtrag:
Alt G. schrieb:
> Willem aka Jack

Du kannst mal gepflegt davon ausgehen, dass du da falsch liegst. 
Ansonsten wären unsere Beiträge wegen Verstoß gegen die Forenregeln 
(„Ein Nick pro Person und Thread“) bereits gelöscht – die Moderation 
hier ist ziemlich gut darin, sowas zu erkennen. Nimm’s hin, dass dein 
Verhalten nicht nur einer Person sauer aufstößt, sondern mehreren.
OP #7214820
Jack V. schrieb:
> die schamlos klauen

Du klaust hier die zeit rechtschaffener leute mit an den haaren 
herbeigezogenen pseudoargumenten.

Jack V. schrieb:
> Nimm’s hin, dass dein
> Verhalten nicht nur einer Person sauer aufstößt, sondern mehreren.

Die politkaste vernichtet gerade den industierstandort DE und dir stösst 
was genau sauer auf? Du hast deine prioritäten ziemlich falsch.
#7215282
Alt G. schrieb:
> Aber das merkt ein narzist wie der Willem aka Jack nicht.

Interessant, welche Behauptungen Du hier aufstellst, ohne einen Beweis 
dafür zu haben.

> Der projeziert
> seinen eigenen vorgehensweisen auf andere.

Ich habe Dir oben gesagt, dass Du beim Übernehmen von Code (mit der 
expliziten Lizenzangabe GPL2) besser dieser Lizenz entsprechen solltest. 
Da Du das nicht gemacht hast, habe ich vom "Klauen" gesprochen. Das mag 
Dir nicht gefallen, doch dieser Kritik musst Du Dich jetzt eben stellen.

Dann habe ich Dir sehr konkret gezeigt, wo Du den Code objektiv 
verschlechtert statt verbessert hast. Wenn Du nicht verstehst, was ich 
damit gemeint habe, dann ist das ja nicht schlimm.

Alt G. schrieb:
> Nein du miesepeter, ich hab das von dem bloat teil hier:

Offensichtlich hast Du nicht verstanden, dass das Schreiben einer 
Bibliothek anders ist, als das Schreiben eines Artefaktes für den 
eigenen Keller. Insofern ist mindestens für mich das Ziel klar verfehlt. 
Und auch dieser Kritik musst Du Dich stellen. Du wolltest mit Deiner 
wenig durchdachten und kaum selbst erbrachten Arbeit Lob erhalten. 
Dieses Forum ist aber bekannt dafür, Kritik direkt und teilweise brutal 
auszusprechen. Du wolltest es so, nun musst Du damit umgehen.

Alt G. schrieb:
> Leute wie du, die andere kritisieren um sich selbst besser zu fühlen,
> mag ich nicht.

Woher weißt Du denn nun schon wieder, dass ich mich jetzt besser fühle? 
Wieder so eine aus der Luft gegriffene Behauptung. Du kannst einfach 
Kritik nicht vertragen.
Gast #7215297
Wilhelm M. schrieb:

> Ich habe Dir oben gesagt, dass Du beim Übernehmen von Code (mit der
> expliziten Lizenzangabe GPL2) besser dieser Lizenz entsprechen solltest.
> Da Du das nicht gemacht hast, habe ich vom "Klauen" gesprochen. Das mag
> Dir nicht gefallen, doch dieser Kritik musst Du Dich jetzt eben stellen.

Wenn er an einen echten OSS-Dschihadi gerät, könnte es sogar passieren, 
dass er mit einer Klage überzogen wird. Nun, angesichts der Trivialität 
des Codes ist das aber wenig wahrscheinlich. Da fehlt schon im Ursprung 
die vom deutschen Gesetz für einen Urheberschutz geforderte 
Schöpfungshöhe.

Rein rechtlich ist das also in Deutschland eher unbedenklich. 
Allerdings: es ist offensichtlich im Kern wirklich nur geklaut.

> Alt G. schrieb:
>> Nein du miesepeter, ich hab das von dem bloat teil hier:
>
> Offensichtlich hast Du nicht verstanden, dass das Schreiben einer
> Bibliothek anders ist, als das Schreiben eines Artefaktes für den
> eigenen Keller.

Ja, der Typ hat scheinbar nichtmal kapiert, dass er dem Code mit seinem 
"unbloat" ein wesentliches Feature geklaut hat. Ist halt wohl ein 
semmeldummes Pförtnerkind.
#7320516

Alt G. schrieb:

ansteuerung:

//define

#define numleds 2

uint8_t pixel[numleds*3];

//setup

ws2812_init();

//loop

ws2812_sendarray(pixel,numleds*3);

Wenn das jemand einfacher kann ... her damit

Also in meiner eigenen Lib:

1
#define NUM_LEDS 1200
2
PixelsInit();
3
PixelsSend();

🤷

Im einfachsten Fall, beschreiben tue ich sie mit Pixels[Pos].R etc... oder eben mit einem uint32 Pixels[Pos].RGB

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.