Forum: Mikrocontroller und Digitale Elektronik Arduino Bibliothek - Methoden bzw. Funktionen en Detail erklärt - gesucht


von Lernwilliger (Gast)


Lesenswert?

Hallo

Ich bin auf der Suche nach einer (irgendeiner) Arduino Bibliothek die 
nicht(!) nur ein Lernprojekt ist sondern in der die Funktionen bzw. 
Methoden detailliert erklärt werden - entweder vorzugsweise als von der 
eigentlichen Bibliothek unabhängiger Text, Video, Animation - was auch 
immer zur Wissensvermittlung eingesetzt wird, oder halt sehr guten 
Kommentaren im Quelltext der *.cpp Dateien (die nicht nur erklären wofür 
- sondern das was, wie und warum der Befehl -die Befehlskette- jetzt 
genau macht - natürlich jetzt nicht die einfache Zuweisung oder wenn ein 
Pin auf Eingang gesetzt wird sondern wenn es "komisch" und "abstrakt" 
wird).

Ich suche nicht(!) ein Tutorial wie man eine Arduino Bibliothek erstellt 
- das wird an 1001 Stellen oft sehr gut erklärt und ist mittel Google 
sehr gut auffindbar.
Ich suche auch nicht(!) ein Schritt für Schritt Beispiel wie eine 
Bibliothek erstellt wird und die dann an einen konstruierten und in der 
Praxis uninteressanten "Problem" (z.B. das typische LED Blinken 
möglichst noch mit delay...) sogar vorführt wie die Funktionen bzw. 
Methoden erstellt werden.

Nein ich such tatsächlich eine sehr gut dokumentierte "echte" Bibliothek 
(z.B. eine für WS2812 und Co. kann gerne aber auch irgendwas anderes 
sein was halt komplexer ist und wo Feinheiten anhand des Datenblattes 
beachtet werden müsse) wo detailliert (!) und auf wenig Vorwissen 
(relativ - was Schleifen, Variablen, Funktionen, Operatoren usw. sind 
und wie sie funktionieren darf vorausgesetzt werden) erklärt wird was da 
im jeweiligen cpp. File (Funktion, Methode) abläuft.
Aber eben nicht "nur" (was auch oft genug auch nicht  mal eleistet 
wird...) eine "Bedienungsanleitung" und Anwendungsbeispiele der fertigen 
Bibliothek (der Black Box) sondern wie diese "Black Box", die Bibliothek 
ihre Funktionalitäten realisiert - optimaler Weise noch nah am 
Datenblatt des Sensors, Aktors, was auch immer..., den die fertige 
Bibliothek letztendlich aber eben (gewollt und meist auch erwünscht) 
auch "versteckt"  in einer Bibliothek den Arduinonutzer zu Verfügung 
stellt.

Lernwilliger

von Einer K. (Gast)


Lesenswert?

Lernwilliger schrieb:
> ...wo detailliert (!) und auf wenig Vorwissen...

Diese Anforderung ist irgendwie Unfug.
Sieht zumindest für mich so aus.


Schnapp dir ein schönes dickes modernes C++ Buch.
So bekommst du das nötige Vor- und Grundlagenwissen.

Übringsns:
Libraries sind Arbeitstiere.
Eine Lib ist kein "erklär mir die Welt" Bär.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Mit der Suche nach "arduino library explained" habe ich das hier 
gefunden, wäre das etwa das gesuchte?
https://jcastellssala.com/2016/04/01/arduino-rtclib-explained/
anhand eines Echtzeituhrchips DS1307 erklärt, z.B. mit "Blick ins 
Datenblatt"

von The Weasel (Gast)


Lesenswert?

Sowas wirst du nicht finden.
Gerade bei Arduino die Bibliothek öffnen und schauen ob sie brav 
durchkommentiert sind.

Wie schon erwähnt, ein Buch zur Hand nehmen und üben üben üben.
Es gibt hunderte Möglichkeiten wie man sowas angeht. Den einzig wahren 
Weg wirst nicht finden.

von Lernwilliger (Gast)


Lesenswert?

Hallo

Danke an dir Christoph db1uq K. genau so was habe ich gemeint.

An The weasel:

Eigentlich hast du recht - aber gerade die "tricks" werden öfter nicht 
erläutert (Was für die welche "richtig" programmieren können auch 
absolut verständlich ist.
Kommentare sollen ja eigentlich für was anderes dienen, in die 
Bibliotheken schauen ja meist - aber eben nicht immer- nur 
"Spezialisten",  dann muss man als "Semianfänger mit gesunden 
Halbwissen" "schnell" mal wieder in irgendwelchen C bzw. C++ Lehrbücher 
bzw. Onlineseiten schauen um festzustellen das sich dort alles auf den 
PC bezieht, davon vieles für den typischen "kleinen" 8Bit Arduino bzw. 
µC Einsatz kaum von Belang ist, anderes aber nur dünn erläutert wird 
(weil wohl beim PC kaum von Belang?!)was wiederum beim µC Einsatz und 
den nahen Kontakt zur Hardware sehr wichtig wäre.

Ist halt wohl ein wenig untypisch mehr auf der Hardwareseite firm zu 
sein, noch selbst so einiges mit Logikgattern gemacht zu haben, zu 
wissen was Masse, Entkoppeln, Filtern usw. ist, aber von Programmieren 
halt wenig Ahnung zu haben.
Gerade in der Arduinowelt (aber nicht nur) scheint entweder vom 
vollkommenen Anfänger in beiden Welten (War ja die Grundidee des 
gesamten Arduinouniversum), oder manchmal auch von deutlich 
fortgeschrittenen "Programmierer" ausgegangen zu werden, aber nie vom 
"Hardwarespezialisten"  ( Na ja... ;-) ) der sich sogar noch mit 
Logikgattern auseinandergesetzt hatte weil "früher" µC Programmieren 
teuer (Software und die "Brenner" Hardware)und deutlich schwieriger 
-unüberwindlich?!- war (Es gab Zeiten vor den WWW und verständlicher 
deutschsprachiger Hobbyliteratur, und flashmemory ist auch noch nicht 
"so" alt - zumindest für die vor 1990 geborenen) die Hochzeiten von 
Logikgattern aber eigentlich auch schon vorbei sein hätten können aber 
viele hundert Deutsche Mark (lange her - Opa erzählt vom Krieg) einfach 
mal so auf gut Glück zu investieren? Nein!
Wie gesagt die Unterstürzung war weit weg von dem was heute üblich ist - 
man konnte im allgemeinen niemanden Fragen oder einfach eine andere 
Quelle nutzen.
Da sind die Zeiten in diesen Umfeld eindeutig besser , nahezu 
traumhaft,geworden.
Und das schreibt ein nun schon schon langsam in die alte Sack Liga 
einsteigender Typ :-)

Lernwilliger

von Johannes S. (Gast)


Lesenswert?

Lernwilliger schrieb:
> wo detailliert (!) und auf wenig Vorwissen
> (relativ - was Schleifen, Variablen, Funktionen, Operatoren usw. sind
> und wie sie funktionieren darf vorausgesetzt werden) erklärt wird was da
> im jeweiligen cpp. File (Funktion, Methode) abläuft.

das passt gar nicht zusammen. Libraries sind kein spezieller Code, und 
um vorausschauend verschiedene Anwendungsfälle abzudecken ist Erfahrung 
gefragt.
Die Basis ist gerade ordentlich programmieren zu können und gutes Wissen 
über die Programmiersprache zu haben.
Ich schaue immer erst in die Internas einer Lib um zu sehen wie die 
programmiert wurde (möglichst sogar mit debugger durchsteppen), aber als 
Lernobjekt für Anfänger taugen die nur sehr bedingt. Vor allem wenn die 
für verschiedene Prozessoren benutzbar sind, dann sind da üblicherweise 
ziemliche #ifdef Orgien drin die das sehr unleserlich machen.
Und jeder Peripheriebaustein hat seine eigenen Tücken, da braucht man 
das jeweilige Datenblatt und muss auch die Schnittstellen kennen. Und 
obendrauf dann die Möglichkeiten die man mit C++ hat...

von Einer K. (Gast)


Lesenswert?

Lernwilliger schrieb:
> Lernwilliger
Das glaube ich dir nicht mehr!

Du machst auf mich einen etwas verwirrten Eindruck.

von Johannes S. (Gast)


Lesenswert?

Also erstmal einen Baustein nehmen und den nicht als Lib mit eigenem 
Code ansprechen. Dann überlegen wie man das universell umsetzen kann und 
welche Optionen (Parametrierung, Methoden) man haben möchte und dann den 
Code in eine Lib überführen.
Andersrum geht es auch, erst modellieren und ein Objekt mit 
Eigenschaften und Methoden aufmalen, und dann diese mit Leben (Code) 
füllen. Das ist aber auch kein Arduinospezifisches Vorgehen, da helfen 
eher C/C++ Bücher weiter.

von Lernwilliger (Gast)


Lesenswert?

Johannes S. schrieb:
> und dann den
> Code in eine Lib überführen.

Und genau das möchte ich halt gerne an Beispielen aus der realen Welt 
erlernen, aber der Weg scheint nicht der übliche zu sein... leider.
Gibt es den kein C bzw. C++ Grundlagenbuch das halt von der "Physical 
computing" Seite her die Sache (allerdings nicht gleich für den 
Entwicklungsingenieur sondern halt interessierten Hobbyisten und maximal 
gewillten "Halbprofi") angeht?
Gerade eben weil es so was wie Arduino und Co gibt die einen die 
Fallstricke der Hardware (für wenig Geld) abnehmen (oder überschätze ich 
da die echten Anfängerß) - was ja immer noch als Argument  für das 
erlernen am PC eben wegen der angeblichen Hardwareproblematik gebracht 
wird- müsste dafür doch ein bedarf bestehen?


An Arduino Fanboy: Jeder hat halt seine Vorlieben wie er lernen will 
bzw. kann, das mag dann verwirrend erscheinen...

Lernwilliger

von Einer K. (Gast)


Lesenswert?

Lernwilliger schrieb:
> An Arduino Fanboy: Jeder hat halt seine Vorlieben wie er lernen will
> bzw. kann, das mag dann verwirrend erscheinen...

Für mich verwirrend, ist dein Satzbau.
Wenn du wirklich so denkst, wie du schreibst,.....

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Hallo zusammen, hallo Lernwilliger.

Mit einer Erläuterung zu irgendeiner ARDUINO-Bibliothek kann ich dir 
nicht helfen. So wie du schreibst bist du ein Hardware Mensch. Vergiss 
es.

Arduino ist fertige! Hardware, mit der du etwas machen kannst, sollst, 
willst. Was da in dem Döschen drin ist, muss dich nicht interessieren. 
Du musst nur wissen und lernen, mit diesem Döschen umzugehen. Das nennt 
man Programmieren. Ob das in der Arduino-Umgebung passiert, welche 
Programmiersprache auch immer: du musst es lernen wie Kochen, 
Autofahren, die Haare kämmen...
Jetzt kommt das Problem: will ich das überhaupt?.. kein Anreiz, keine 
Veranlassung.., nur so?
Aus eigener Erfahrung: Bestens hilft eine eigene Anwendung... Das will 
ich jetzt mit diesem Apparat verwirklichen. Dann hilft nur die 
Auseinandersetzung mit der Programmiersprache, was auch immer. Ich bin 
schon etwas älter, mein Programmier-Werdegang: HP97, SHARP PC1245 
(Basic), C64 (Basic), PC (GW-Basic), Turbo-Pascal 3-6, dBase/Clipper. Du 
siehst, ich bin DOS-Mensch, aber irgendeinen Atmel AVR..frag mich nicht 
was, bekomme ich in BASCOM für meine Zwecke auch geregelt. Ein bisschen 
'mit den Augen Stehlen' an anderen Stellen ist ja nicht verboten.  Den 
Übergang zum  WINDOWS-Programmieren (DELPHI) habe ich leider nicht 
geschafft, keine Anwendung; wie schon gesagt, nur mal so, mal eben, 
hhmm...
Anderleuts Quelltexte zu analysieren und nachzuvollziehen  ist mir meist 
sehr schwergefallen. Anderer Schreibstil, seltsame Variablennamen, 
schlechte oder keine Kommentare, alleine oft das miese Lay-Out und 
v.a.m.
Ich gebe zu, wenn es nicht furchtbar dringend war, war es mir meist zu 
lästig. 'Schlaue Bücher' waren mir oft hilfreich, aber das ist ja 
Typ-Sache. Heute gibts das Net. Und so findest du die Arduino-Sketches, 
die du bitte erklärt haben möchtest.
Da musst du dich schon selber mit dieser Arduino-C Sprache auseinander 
setzen. Ich mag kein 'C'.
Schreib deinen Kram selbst, und wenn du nicht weiterkommst, wie oben: 
'mit den Augen Stehlen'. Das Können wächst mit der Grösse der Aufgaben. 
Warum fängt der MC-Kram überall mit 'Hello World' und blinkender LED an?
Die Stunden, Tage und Wochen in meinem Leben möchte ich nicht zählen, 
die ich mit 'unnützem' Programmieren verbracht habe, um zu einem 
Ergebnis zu kommen. ABER: Geschafft: HURRA!

Viel Glück, du wirst es schaffen.

73
Wilhelm

von leo (Gast)


Lesenswert?

Lernwilliger schrieb:
> Gibt es den kein C bzw. C++ Grundlagenbuch das halt von der "Physical
> computing"

Es git nicht die eine Arduino-Library zu irgendwas sondern sehr 
haeufig 10+ Libraries mit unterschiedlichen Anforderungen, Umfang, 
(Doku-)Qualitaet, uC-Abdeckung usw. D.h. zuerst suchst du was fuer dich 
Passendes.
Gleichzeitig damit C++ lernen ist IMHO schwierig bzw. durcheinander. 
Lesen von Lib-Quellcode hilft aber gut, um alle Ziele zu erreichen.

leo

von Einer K. (Gast)


Lesenswert?

Wilhelm S. schrieb:
> Da musst du dich schon selber mit dieser Arduino-C Sprache auseinander
> setzen. Ich mag kein 'C'.
Diese "Arduino-C Sprache" ist C++.

Aber man kann in Arduino Libs auch mal C und Assembler finden.
Ist aber eher die Ausnahme.



Wilhelm S. schrieb:
> Arduino ist fertige! Hardware, mit der du etwas machen kannst, sollst,
> willst. Was da in dem Döschen drin ist, muss dich nicht interessieren.
> Du musst nur wissen und lernen, mit diesem Döschen umzugehen.
Für die ersten paar Tage mag das reichen.....
Aber am Ende kann man erst "gut" werden, wenn man die Hardware kennt und 
die Sprache C++ halbwegs ruckelfrei spricht.

von Alexander K. (Gast)


Lesenswert?

Wieso gehst du nicht auf GITHUB und ziehst dir anstelle der Bibliothek 
den Source-Code für selbige.

Analysiere den Code. Dann ziehst du dir das Datenblatt des Herstellers, 
und analysierst auch das.

Das kommt dann dein Wunschergebnis schon ziemlich nahe.

Ich persönlich bin froh wenn ich das nicht machen muß, und die "libs" 
funktioniert. Aber jeder hat seine Hobby. ;)

Gruß

   Pucki

von Joachim B. (jar)


Lesenswert?

Alexander K. schrieb:
> Ich persönlich bin froh wenn ich das nicht machen muß, und die "libs"
> funktioniert. Aber jeder hat seine Hobby. ;)

ich hasse es auch mich durch fremde LIBs zu wählen weil es klemmt, man 
lernt auch wenig dabei.

Beitrag "Arduino FastLED LIB vs. WS28xx LIB"

durch ein zusätzliche Adressbyte beim ATmega1284p (gegenüber ATmega328p) 
waren die Zugriffe um 10%  langsamer, deswegen als Lösung im Code F_CPU 
für den ATmega1284p auf 90% gesetzt und damit passte es dann.

Beitrag "Re: Arduino FastLED LIB vs. WS28xx LIB"

oder

momentan baue ich gerade an der schönen knappen LCD5110_BASIC rum, 
arbeitet ähnlich wie die Adafruit PCD8544 mit der GFX LIB, nur ist der 
Code deutlich schlanker bei der LCD5110_BASIC LIB was den nano328p 
Nutzer freut, der ESP32 hat von allem mehr flash, ram dem ist es egal.

Damit aber nur ein Grundgerüst gebraucht wird baue ich die LIBs 
kompatibel
In der LCD_Init sind nur 2 Byte vertauscht, das Schreiben auf die 
Adafruit bedarf voriges Pixel löschen sonst bleiben Restpixel vom alten 
Zeichen, aber ich kann ja die alten Zeichen invers überschreiben vor den 
neuen Zeichen.

https://www.mikrocontroller.net/attachment/446990/esp32_nano_web.jpg

von Einer K. (Gast)


Lesenswert?

Alexander K. schrieb:
> Wieso gehst du nicht auf GITHUB und ziehst dir anstelle der Bibliothek
> den Source-Code für selbige.

Anstelle?
Och....

Nix: Anstelle!

Arduino Libraries liegen im Quellcode vor.

von Alexander K. (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Arduino Libraries liegen im Quellcode vor.

Ok. Ich benutze sie eh nicht wirklich so wie sie da sind ;)

Gruß

   Pucki

von Stefan F. (Gast)



Lesenswert?

Lernwilliger schrieb:
> Ich bin auf der Suche nach einer (irgendeiner) Arduino Bibliothek die
> nicht(!) nur ein Lernprojekt ist sondern in der die Funktionen bzw.
> Methoden detailliert erklärt werden

Ich kenne niemanden, der eine ausgefuchste Bibliothek zu dem Zweck 
schreibt, diese Anfängern im Detail zu erklären. Denn damit würde man 
allen beteiligten das Leben unnötig schwer machen und darüber hinaus 
massiv Zeit verschwenden.

Wenn es so etwas dennoch gibt, dann wohl eher nicht im Arduino Umfeld, 
denn dort ist Vereinfachung durch Weglassen von Details eins der 
Hauptziele.

Lernwilliger schrieb:
> aber gerade die "tricks" werden öfter nicht erläutert

Dafür gibt es viele Bücher. Das Suchwort dazu ist "Pattern". Es gibt 
solche Bücher spezifisch für einzelne Programmiersprachen aber auch 
generischer mehr aus Sicht der Algorithmen. Die Grenzen dazwischen sind 
ohnehin schwimmend.

Ich habe Dir mal eine Klasse zum Ansteuern eines OLED angehängt, bei der 
ich viel mit dem Datenblatt arbeiten musste und wo ich den Quelltext 
umfangreich kommentiert habe. Vielleicht geht das bereits in die 
Richtung, die Dir vorschwebt. Sie wurde ursprünglich für ein ESP8266 
Modul (mit Display) geschrieben, läuft aber auch auch anderen Arduino 
Modellen.

von Joachim B. (jar)


Lesenswert?

und schaut man mal in die Adafruit PCD8544.cpp und in die 
LCD5110_Basic.cpp

erkennt man in beiden:
void Adafruit_PCD8544::setContrast(uint8_t val) {
void LCD5110::setContrast(int contrast)

nur interessanterweise fehlt in der LCD5110_Basic.cpp die
::setBias(uint8_t val)
die in der Adafruit vorhanden ist
void Adafruit_PCD8544::setBias(uint8_t val) {

Das Bias wird statisch gesetzt in der LCD5110_Basic.cpp
_LCD_Write(PCD8544_SETBIAS | LCD_BIAS, LCD_COMMAND);

wie schon geschrieben, die Init unterscheiden sich nur in 2 Postionen, 
schade, auch hier wäre Gleichstand vorteilhaft:
Adafruit_PCD8544::Adafruit_PCD8544(SCLK, DIN, DC, CS, RST)
LCD5110::LCD5110                  (SCK,  MOSI,DC, RST,CS)

na die 2 unterschiedlichen Positionen gefunden?

: Bearbeitet durch User
von Fred (Gast)


Lesenswert?

Ich finde die Fragestellung von "Lernwilliger" gut und berechtigt.
Jedoch:
Es ist mir immer wieder ein Rätsel, dass das Thema "Arduino" panlose 
Besserwisser anzieht, die meinen, nur weil sie Mikrocontroller 
programmiert hätten, haben sie eine Ahnung.

Dazu Folgendes:

1. Will man eine Arduino Library nach Arduino Standard schreiben, gibt 
es dazu klare Regeln, die etwas präziser sind als das allgemeine 
Mikrocontrollergebastel:
https://www.arduino.cc/en/Hacking/libraryTutorial

2. Einfachheit, Klarheit und gut struktuierten Code zu schreiben ist 
eine Kunst und einige Arduino-Library Programmierer beherrschen diese.

Ich finde es gut, wenn "Lernwilliger" sich dafür interessiert und gute 
Beiträge leisten möchte.

von Johannes S. (Gast)


Lesenswert?

Fred schrieb:
> Jedoch:
> Es ist mir immer wieder ein Rätsel, dass das Thema "Arduino" panlose
> Besserwisser anzieht,

Richtig.

Fred schrieb:
> 1. Will man eine Arduino Library nach Arduino Standard schreiben, gibt
> es dazu klare Regeln, die etwas präziser sind als das allgemeine
> Mikrocontrollergebastel:

Aha. Das schrieb der TO dazu:

Lernwilliger schrieb:
> Ich suche nicht(!) ein Tutorial wie man eine Arduino Bibliothek erstellt
> - das wird an 1001 Stellen oft sehr gut erklärt und ist mittel Google
> sehr gut auffindbar.

Bevor man die Antworten anderer kritisiert sollte man wenigstens den 
Post des TO verstanden haben.

von Einer K. (Gast)


Lesenswert?

Johannes S. schrieb:
> sollte man wenigstens den
> Post des TO verstanden haben.

Das ist auch mir unmöglich.


https://arduino.github.io/arduino-cli/library-specification/

von Stefan F. (Gast)


Lesenswert?

Fred schrieb:
> Es ist mir immer wieder ein Rätsel, dass das Thema "Arduino" panlose
> Besserwisser anzieht...
> Dazu Folgendes:
> 1. Will man eine Arduino Library nach Arduino Standard schreiben, gibt
> es dazu klare Regeln, ...

Genau diese Antwort hatte sich der TO bereits im Eröffnungsbeitrag 
verbitten.

von Joachim B. (jar)


Lesenswert?

Fred schrieb:
> Es ist mir immer wieder ein Rätsel, dass das Thema "Arduino" panlose
> Besserwisser anzieht,

welche?

Fred schrieb:
> Will man eine Arduino Library nach Arduino Standard schreiben, gibt
> es dazu klare Regeln, die etwas präziser sind als das allgemeine
> Mikrocontrollergebastel:

und wer hält sich daran?

selbst bei Adafruit finde ich grobe Mängel, Funktionen werden aufgerufen 
die erst hinter dem Aufruf bekannt sind ohne Deklaration, 
Flüchtigkeitsfehler oder C&P falsch sortiert?

Fred schrieb:
> und einige Arduino-Library Programmierer beherrschen diese

aber möglicherweise nicht sehr viele?

genaugenommen kann ich jeden Code zerpflücken, je nach Vorlieben.
Mancher "Beispielcode" ist mehr eine Machbarkeitsstudie ohne echten 
Nutzwert!
Was hilft eine LIB die so aufgeblasen ist das kaum noch Platz bleibt für 
eigenen Code!
Ich frage mich auch warum einige den "bequemen Weg" gehen statt etwas 
mehr zu überlegen, der Zeichensatz small bei LCD5110_Basic, wozu das 
erste Byte für jedes Zeichen 0x00 als Trenner zwischen den Zeichen und 
das alle Zeichen durch, macht bei 120 Zeichen 120 verschwendete Byte im 
flash, da jedesmal ein Null Byte einzusetzen kann nicht so schwer sein 
und würde statisch keine 120 Byte brauchen.

: Bearbeitet durch User
von Egon D. (Gast)


Lesenswert?

Lernwilliger schrieb:

> Ist halt wohl ein wenig untypisch mehr auf der Hardwareseite
> firm zu sein, noch selbst so einiges mit Logikgattern gemacht
> zu haben, zu wissen was Masse, Entkoppeln, Filtern usw. ist,
> aber von Programmieren halt wenig Ahnung zu haben.
> Gerade in der Arduinowelt (aber nicht nur) scheint entweder
> vom vollkommenen Anfänger in beiden Welten (War ja die
> Grundidee des gesamten Arduinouniversum), oder manchmal auch
> von deutlich fortgeschrittenen "Programmierer" ausgegangen zu
> werden, aber nie vom "Hardwarespezialisten"  ( Na ja... ;-) )
> der sich sogar noch mit Logikgattern auseinandergesetzt hatte
> [...]

Das ist ein universelles Problem in der Informatik.

Die meisten Programmieranfänger haben -- genauso wie die
meisten Leute, die Informatik lehren -- keine nennens-
werten eigenen Erfahrungen mit Steuerungstechnik und
Automatentheorie.
Infolgedessen schmort man konsequent im eigenen Saft, schafft
ein komplettes neues Paralleluniversum an Begriffen, schaut
verächtlich auf alles herab, was nicht turing-vollständig ist,
und ist nicht in der Lage, Querverbindungen aufzuzeigen.

von Einer K. (Gast)


Lesenswert?

Joachim B. schrieb:
> Flüchtigkeitsfehler oder C&P falsch sortiert?

Naja...
Vorwärtsreferenzen, bzw. Funktionsdeklarationen, werden in der Regel vom 
Arduino Builder automatisch erzeugt.

Das klappt meist ganz gut.
Wenn nicht:
1. Ursache ist oft unsauberer Anwendungscode.
2. muss man eben die Deklaration händisch erzeugen

Wenn du in Adafruit Libs einen Fehler findest, dann melde ihn doch!
Das wird meist sehr schnell repariert.
Und dann ist das Thema durch.

Das hier mäckern ist da sinnfrei.
Oder möchtest du absichtlich Arduino Bashing betreiben?
Dann darfst du das natürlich, denn das ist ja ein "berechtigtes" 
Vorhaben.

Joachim B. schrieb:
> Fred schrieb:
>> und einige Arduino-Library Programmierer beherrschen diese
>
> aber möglicherweise nicht sehr viele?
Ja, da kannst du recht haben.
Es ist allerdings auch ein niederschwelliger Zugang.
Ähnlich wie hier im Forum, mit dem Gast....

Im ernst:
Jeder, der sich berufen fühlt kann eine Arduino Lib basteln.
Und publizieren.
z.B. bei Github "pflegen".

Für die Publizierung über den Arduino Librarymanager muss man dann schon 
etwas mehr Aufwand betreiben.
z.B. muss man die aktuellen formalen Kriterien erfüllen(habe ich eben 
schon verlinkt). Damit sich die Lib in eben den Manager mit dem 
automatischen Update Prozess, integrieren lässt.

Eine Inhaltliche Prüfung seitens Arduino findet nicht wirklich statt.
Auch keine weitreichende Qualitätskontrolle.
Die Frucht reift beim Anwender.

Mit ihren eigene Libs sind sie da schon pingeliger.
Die sind schon von recht guter Qualität.
Aber das sind auch nur ein paar Dutzend.
Von den ansonsten, gefühlten 100000 verfügbaren Libs.

Mein Rat:
Nicht jammern, sondern Fehler melden.
Verbesserungen vorlegen, "dann wird Ihnen gehelft".
Und allen anderen nach dir hilft es auch.

von Philipp K. (philipp_k59)


Lesenswert?

Paul Stoffregen dokumentiert eigentlich recht gut.

https://github.com/PaulStoffregen

Von ihm ist zum Beispiel die Arduino "Time" Library, auch diverser Code 
für RTCs und eingie STM32 Projekte wie STM32duino.

von Joachim B. (jar)


Lesenswert?

Arduino Fanboy D. schrieb:
> Mein Rat:
> Nicht jammern, sondern Fehler melden.

ich jammere nicht nehme es nur noch hin, ich meldete zu oft Fehler aber 
irgendwann verliert man die Lust weil

1. mal keine Antwort kommt!
2. mal heisst es ist irrelevant
3. keiner hat sich je beschwert muss also Ok sein
4. mal heisst es danke wird korrigiert und nichts passiert

uvam.

deswegen nutze ich lieber die Zeit um für mich eine Lösung zu finden!

in dem Fall:
https://www.mikrocontroller.net/topic/goto_post/4105882
hatte ich den Autor angeschrieben, er hat keinen ATmega1284p Arduino, 
ich solle ihm einen schicken, das war mir zu doof, also habe ich meine 
Lösung gefunden und hier veröffentlicht!

Joachim B. schrieb:
> Ich frage mich auch warum einige den "bequemen Weg" gehen statt etwas
> mehr zu überlegen, der Zeichensatz small bei LCD5110_Basic, wozu das
> erste Byte für jedes Zeichen 0x00 als Trenner zwischen den Zeichen und
> das alle Zeichen durch, macht bei 120 Zeichen 120 verschwendete Byte im
> flash, da jedesmal ein Null Byte einzusetzen kann nicht so schwer sein
> und würde statisch keine 120 Byte brauchen.

hatte ich den Autor angeschrieben und KEINE Antwort erhalten.

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Ja, so geht das....
Gefühlte 100000 Libraries im Umlauf.

Eine Handvoll Ersteller, mit denen du nicht klar kommst, die schon 
gestorben sind, oder Arduino auf andere Art abgelegt haben.

Daraus wird ein Prinzip gestrickt, und dann alle in einen Sack gestopft 
und ab in den Teich.
Fertig ist das Arduino/Library Bashing.

Joachim B. schrieb:
> ich jammere nicht nehme es nur noch hin, ich meldete zu oft Fehler aber
> irgendwann verliert man die Lust weil
Nein!
Du prangerst hier an!

Falsche Adresse.
Hier wird dein Problem nicht gelöst.

Aber schön, jetzt hast du dir deine Sorge von der Seele geredet, 
hoffentlich hat es Erleichterung gebracht.

Joachim B. schrieb:
> in dem Fall:
> https://www.mikrocontroller.net/topic/goto_post/4105882
Das habe ich verfolgt.
Da habe ich eher den Eindruck, dass du da etwas auf Krawall gebüstet 
bist.
Zumindest: Erfolgreiche Kooperation, sieht anders aus.

von Joachim B. (jar)


Lesenswert?

Arduino Fanboy D. schrieb:
> Da habe ich eher den Eindruck, dass du da etwas auf Krawall gebüstet
> bist.

mag im Einzelfall vielleicht sogar sein, aber vielleicht war ich nur 
frustriert, egal ICH fand selber eine Lösung die ich hier auch 
veröffentlichte für Andere und kann jeden nur raten sich selber 
durchzubeissen oder eben meine Erfahrungen zu machen ohne eine Lösung zu 
bekommen und frustriert aufzugeben oder beim Warten Lebenzeit zu 
vergeuden.

Arduino Fanboy D. schrieb:
> Zumindest: Erfolgreiche Kooperation, sieht anders aus.

wie sollte die denn da aussehen?
Ich baue einen zusätzlichen Arduino mega1284p auf, auf meine Kosten und 
Zeit und verschicke den und dann ist immer noch nicht gesagt das ich 
eine Lösung bekomme!

Man muss nicht immer alles negativ sehen oder verstehen, kann es einfach 
auch mal hinnehmen, aber man darf auch mal Situationen schildern wie sie 
passiert sind!

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.