Forum: Projekte & Code Ein "non bloated" arduino 328p WS2812 treiber


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alt G. (altgr)


Angehängte Dateien:

Lesenswert?

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

von Wilhelm M. (wimalopaan)


Lesenswert?

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.

von Alt G. (altgr)


Lesenswert?

Wilhelm M. schrieb:
> die
> Wartezyklenberechnung für andere CPU Frequenzen als 16MHz heraus zu
> nehmen.

Anders gesagt das ganze zu "entbloaten" und verständlich zu machen.
Genau das war das ziel. Etwas was in "99% konfiguration" läuft und 
nachvollziehbar ist.

von Wilhelm M. (wimalopaan)


Lesenswert?

Wenn Du es wirklich verbessern willst, dann macht Dir über eine Klasse 
Gedanken, über domänenspezifische Datentypen, Zusicherungen, 
const-correctness, etc. Und schreibe den Urheber mit rein ...

von Quelle? (Gast)


Lesenswert?

Alt G. schrieb:
> Genau das war das ziel.

Trotzdem fehlen Quelle und Lizenz für den übernommenen Teil

von Mario M. (thelonging)


Lesenswert?


von Alt G. (altgr)


Lesenswert?

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!

: Bearbeitet durch User
von Wilhelm M. (wimalopaan)


Lesenswert?

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.

von Alt G. (altgr)


Lesenswert?

Nimm die ein vorbild am Mario M.

Der bringt nüzliches, nicht nur gequirlte aggro scheisse wie du 
willhelm.

von Wilhelm M. (wimalopaan)


Lesenswert?

Alt G. schrieb:
> Der bringt nüzliches, nicht nur gequirlte aggro scheisse wie du

Dass Du es geklaut hast, hatte ich ja schon geschrieben. Jedoch 
suggeriert Dein Post, dass es von Dir sei.

: Bearbeitet durch User
von Alt G. (altgr)


Lesenswert?

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.

von Wilhelm M. (wimalopaan)


Lesenswert?

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???

von Alt G. (altgr)


Lesenswert?

Wilhelm M. schrieb:
> Echt jetzt???

Kannst du lesen?

von Wilhelm M. (wimalopaan)


Lesenswert?

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?

von Alt G. (altgr)


Lesenswert?

hoffnungslos. Oder ein troll.

Leute wie du, die andere kritisieren um sich selbst besser zu fühlen,
mag ich nicht.

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

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 …

von Alt G. (altgr)


Lesenswert?

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.

von Jack V. (jackv)


Lesenswert?

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.

: Bearbeitet durch User
von Alt G. (altgr)


Lesenswert?

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.

: Bearbeitet durch User
von Wilhelm M. (wimalopaan)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

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.

von hacker-tobi (Gast)


Lesenswert?

Leute,

er hat den Fehler gemacht die Quellen nicht anzugeben. Darauf wurde er 
hingewiesen. Wozu noch der Rest der Diskussion?

von TempusAnus (Gast)


Lesenswert?

Alt G. schrieb:
> rechtschaffener leute

Sind Raubkopierer nun rechtschaffene Leuge?

Billige abgespeckte Raubkopie!
Pfui.

von Rene K. (xdraconix)


Lesenswert?

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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.