Hallo
Leider sind nicht alle Librarys die für den Arduino geschrieben wurden
gut dokumentiert.
Bei so manchen sind nicht mal Beispiele, oder halt nur sehr
Oberflächlich die bei weiten nicht alle Möglichkeiten der entsprechenden
Library erklären vorhanden.
Wenn man Glück hat findet man irgendwelche Leute die auf ihren
Internetseiten oder bei Youtube dann die Möglichkeiten solcher Librarys
erklären.
Das ist aber nun mal nicht immer der Fall.
Also müsste man dann eigentlich in die Library (alle Dateien der
Library) schauen da dort letztendlich alle Funktionen und Parameter-
Variablen, usw. Namen vorhanden sind.
Nun sind aber Librarys besonders wenn sie der Nutzung vom komplexer
Hardware dienen (z.B. ein Grafikdisplay) alles andere als leicht lesbar,
ja so eine Library dient ja gerade dazu das die Nutzung der komplexen
Hardware einfach gemacht wird und man sich nicht mit den Details der
Hardware auseinandersetzen muss (Wer will kann es ja trotzdem machen),
und C bzw. C++ bis in die tiefsten Tiefen verstehen und beherrschen
muss.
Innerhalb der Librarys wird nun mal im Allgemeinen ziemlich komplexer
Code verwendet der oft alle sehr spezielle "Tricks", Abkürzungen und
"Hardcorekonstrukte" nutz die selbst für den fortgeschrittenen
Arduinonutzer der sogar die Grundlagen von C und C++ beherscht sehr
schwer bis überhaupt nicht verständlich sind.
Wie also wie erkannt man als Arduinonutzer (der aus guten Grund eben im
Arduinouniversum bleibt und nicht jahrelang bis auf Bitebene C und C++
am besten noch aufgepeppt mit ein große Portion Assembler erlernt =>
Genau das steht ja hinter der Idee Arduino und ähnlichen Projekten) den
mun wie eine schlecht Dokumentiert Library funktioniert wenn es halt
keine "Anleitungen" aus anderer Quelle gibt?
Meckern, andere Librarys suchen und Anfrage beim Autor in Foren den
sozialen Medien oder gar "echten" Menschen im realen Leben ;-) nehme
ich jetzt mal als nicht möglich gegeben hin, das lege ich bezüglich
meiner Frage jetzt mal keine machbaren Lösungen fest- weil es in der
Realität tatsächlich oft auch so ist.
Also wie geht man dann vor?
Und ja:
"Lass es ein", "Verzichte drauf", "lerne C und C++ bis in die Tiefen",
"Lese und Verstehe das Datenblatt bis ins jede Detail sind keine
Lösungen - wenn ich bzw. all die Nutzer es könnten bräuchte es kein
Arduino oder höhere Programmiersprachen bzw. wir wären wieder auf den
Stand 1982 ;-) und davor...
ProgAnfänger schrieb:> Also wie geht man dann vor?
Man gibt auf.
Denn alle möglichen Lösungen schließt du ja bereits aus.
> Und ja:> "Lass es ein", "Verzichte drauf", "lerne C und C++ bis in die Tiefen",> "Lese und Verstehe das Datenblatt bis ins jede Detail sind keine> Lösungen - wenn ich bzw. all die Nutzer es könnten bräuchte es kein> Arduino oder höhere Programmiersprachen bzw. wir wären wieder auf den> Stand 1982 ;-) und davor...
MaWin schrieb:> ProgAnfänger schrieb:>> Also wie geht man dann vor?>> Man gibt auf.> Denn alle möglichen Lösungen schließt du ja bereits aus.>>> Und ja:>> "Lass es ein", "Verzichte drauf", "lerne C und C++ bis in die Tiefen",>> "Lese und Verstehe das Datenblatt bis ins jede Detail sind keine>> Lösungen - wenn ich bzw. all die Nutzer es könnten bräuchte es kein>> Arduino oder höhere Programmiersprachen bzw. wir wären wieder auf den>> Stand 1982 ;-) und davor...
+1👍👍
Gerade Grafiklibs gibt es viele. Funktionieren sollten alle, sofern die
vorhandene Hardware unterstützt wird, das muss man als erstes prüfen.
Dann sind in Arduino Beispiele ein Bestandteil einer Library, da sollte
man beim einfachsten anfangen und dann die weiteren probieren.
Grafik ist nicht das einfachste Thema für den Anfang, da gibt es viele
verschiedene Konzepte. Einfache die direkt Zeichnen (Adafruit_GFX, ug8,
eTFT, lovyan), entweder in einen Puffer oder direkt in den
Grafikspeicher des Displays. Und es gibt aufwändigere wie lvgl die mit
Zeichenobjekten arbeiten was einige Vorteile bietet. Das braucht aber
mehr Speicher, wobei man für Grafik generell leistungsfähigere
Controller verwenden sollte. Heute gibt es 32 Bitter, da sollte man sich
nicht am kleinsten AVR festklammern.
Und der wichtigste Tipp: hier im Forum nicht nach Arduino Hilfe fragen.
Hier sind nur maximal viele Arduino Hasser unterwegs.
Sebastian schrieb:> Ich würde eher sagen, alle sind> nicht gut dokumentiert.
Dann zeige doch mal deine Mustergültigen Beispiele. Oder wolltest du
auch nur mal im 'Arduino ist ja so Kacke' Karussel mitfahren?
Wieso soll mich das interessieren wie es dokumentiert ist. ?!?!
Es reicht völlig aus, wenn ich die Aufrufe und die Parameter weiß. Und
wenn ich weiß/merke ob es seinen Zweck erfüllt.
Es gibt für mich seit ich programmiere nur 2 Varianten.
Variante 1 : Ich weiß die Aufrufe , teste die Funktion und wenn gut dann
gut. Wie bei jeder DLL etc. auch
Variante 2 : Ich schreibe die Lib/Funktion etc. selbst.
Ich habe und werden NIE in einer fertigen Lib/Funktion herum basteln.
Der Aufwand durch den Mist anderer Leute durch zu blicken habe ich mir
schon zu Zeiten einen ZX-81 abgewöhnt.
Grund: Wenn man das versucht muss man die Gedankengänge des Coders
nachvollziehen. Und das bedeutet i.d.R. für eine einfache Lib eine
Dokumentation die größer ist als die ungekürzte Fassung von "Krieg +
Frieden". Und liest sich auch ähnlich zäh.
Das einzige was ich schon mal mache ist sich "Codeschnipsel" anzusehen,
um zu sehen wie andere Leute das gelöst haben.
MEHR NICHT.
Aber ich bin ja auch altmodisch. Was vermutlich zu folge hat, das ich
noch nie eine "Freie Lib" austauschen musste. ;)
Moin,
Naja, geschenkten Gauls schaut man ja auch nicht ins Maul, heißt es.
Bei der Mehrzahl von Arduino Libs die über Github kommen, merkt man
schon, daß sich die Leute vielfach sehr viel Mühe gegeben haben und
meistens funktioniert auch alles wenn man sich an die Vorgaben hält,
nicht hudelt oder schlampig vorgeht. Auch darf man nicht vergessen, daß
für viele Autoren, diese Beiträge "Liebeswerk" oder eine Möglichkeit
sind, herzuzeigen was man kann und in gewisser Hinsicht ein
Aushängeschild eigener Fertigkeiten.
Was mich betrifft, bin ich den Leuten sehr dankbar, oft an echt guten
Lösungen frei heranzukommen die ich mir sonst mit tagelangem Zeitaufwand
erst mühselig selber erarbeiten müßte. Was Libs für viele ICs betrifft,
dienen die oft mehr oder weniger gut als "Referenz Design" und ersparen
bei komplizierten Gesellen viel Frustration und Gehirnschmalz und können
bei weiterführender Arbeit auch recht dienlich sein.
Was die Qualität der Doku betrifft, ist das Spektrum natürlich breit und
hin und wieder flucht man natürlich auch wieder fast, wenn man sich fast
die Haare ausreisst durchzublicken. Aber das ist eben so und könnte als
Ansporn dienen, es vielleicht, selber besser zu machen.
Im Fazit, finde ich, wäre es konsequent, allen dankbar sein die uns mit
ihrer Freiwilligen-Arbeit zur Seite stehen und auch versuchen könnten
mit-beizutragen, und wenn möglich, es doch besser machen zu versuchen.
Allzuoft, sind wir alle zusammen leider eher nur "Nehmende". Open Source
bedeutet aber im Spirit, beidseitige Zusammenarbeit und fruchtbare
Aktivitäten.
My two cents worth...
Gerhard
ProgAnfänger schrieb:> Meckern, andere Librarys suchen und Anfrage beim Autor in Foren den> sozialen Medien oder gar "echten" Menschen im realen Leben ;-) nehme> ich jetzt mal als nicht möglich gegeben hin,
Doch. Könnte man. Genauso, wie man die Grundlagen zu dem lernen könnte,
was du da zu tun versuchst.
Dir bleiben daher wenig Alternativen.
Wenn du mit einer lib nicht klarkommst, nimm die nächste. Ist die für
dich auch nicht geeignet, nimm die übernächste. Überfordert die die auch
noch, wechsle das Hobby.
Man muß das nicht so machen, aber dein Ansatz lässt halt nichts anderes
zu.
Oliver
ProgAnfänger schrieb:> Also müsste man dann eigentlich in die Library (alle Dateien der> Library) schauen da dort letztendlich alle Funktionen und Parameter-> Variablen, usw. Namen vorhanden sind.
Examples/Funktionstests sind doch nahezu immer dabei. Das ist, wenn
sonst nix beiliegt, die zu lesende Minimaldokumentation, auf deren
Basis man sich seinen eigenen Prototypen bauen kann.
Gleichzeitig ist es die Einstiegshürde: Wenn die Examples nicht laufen,
ist die Lib wahrscheinlich "out of date" oder schlicht nicht vernünftig
getestet.
Euro schrieb:> Das ist, wenn> sonst nix beiliegt, die zu lesende Minimaldokumentation, auf deren> Basis man sich seinen eigenen Prototypen bauen kann.
Die tatsächliche Minimaldokumentation ist das public-Interface der
Klassendeklaratin in der entsprechenden Headerdatei.
Hier auch auf die Basisklasse achten.
Ich fasse mal zusammen:
- Es ist eine technische Entwicklung geplant.
- Die Fähigkeiten zur Umsetzung dieses Vorhabens fehlt.
- Die Bereitschaft, sich diese Fähigkeiten anzueignen, ist nicht
vorhanden.
- Der Verzicht auf das Vorhaben ist keine Option.
Lern von den BWLern, die jeden Tag vor solchen und ähnlichen Problemen
stehen:
Lass einfach andere machen. Dafür musst du entweder eine angemessene
Summe Geld investieren oder – und das ist die hohe Kunst der BWL – einen
Freiwilligen finden, da alles kostenlos für dich macht.
J. S. schrieb:> Sebastian schrieb:>> Ich würde eher sagen, alle sind>> nicht gut dokumentiert.>> Dann zeige doch mal deine Mustergültigen Beispiele. Oder wolltest du> auch nur mal im 'Arduino ist ja so Kacke' Karussel mitfahren?
Nehmen wir z.B.
https://www.arduino.cc/reference/en/libraries/ethernet/ethernet.maintain:
* Keine Angabe welche Zeit die Funktion maximal benötigt.
* Keine Angabe ob die Funktion (selbst, oder indirekt) Interrupts
sperrt, und wenn ja für wie lange maximal.
Arduino ist wie es ist, oft hilfreich, manchmal zun Haareraufen.
LG, Sebastian
Sebastian schrieb:> * Keine Angabe welche Zeit die Funktion maximal benötigt.
Wenn der DHCP-Server nicht reagiert: 60 Sekunden (default für timeout,
wenn du es nicht anders initialisierst)
Sebastian schrieb:> Keine Angabe ob die Funktion (selbst, oder indirekt) Interrupts> sperrt, und wenn ja für wie lange maximal.
Macht sie nicht. d.H. du solltest in deinen ISRs die Finger vom SPI
lassen.
Sind aber beides Fragen, die den "typischen Arduino-User" nicht im
geringsten Interessieren. Der hat nix mit ISRs am Hut, und will einfach
dass das Netzwerk funktioniert.
Und dazu eine möglichst einfache Dokumentation, die nicht mit für ihn
irrelevanten technischen Details überfrachtet ist.
Wenn "ich" die Library unbedingt verwenden will und keine Lust fürs
Neuprogrammieren habe - ich mache das als Hobby - lese ich mir den Code
durch. Denn der ist für das Durchlesen durch einen Menschen gedacht.
Natürlich ist es blöd, wenn der Schreiber möglichst unleserlichen Code
abliefert.
Wird mir das ganze dann zu blöd, denke ich schon mal ans
Neuprogrammieren.
Oder ich lasse das ganze, denn es ist nur Hobby und nicht
Überlebenswichtig.
ProgAnfänger schrieb:> Also wie geht man dann vor?
Man befaßt sich mit den Prinzipien dessen, was so eine fertige Lib
leisten soll. Sowas soll dem eigenen Verständnis dienen und bedeutet
keineswegs, sich nur in irgendeine Programmiersprache zu verbohren. Das
ist m.E. gerade die verkehrteste Ecke. Nicht das Detailwissen, welcher
Kringel von anderen an welche Stelle geschrieben wurde, sondern wie und
mit welchen Algorithmen man eine Aufgabe lösen kann und wie man eine
komplexe Sache wie eine Firmware für einen µC in sinnvolle Teile
aufteilt. Wenn du dich mit dem Entwickeln von elektronischen Geräten
befassen willst, dann kommst du nicht umhin, Fachwissen zu erlernen und
Fertigkeiten zum Lösen von Problemen zu erwerben. Wenn dir das zu mühsam
ist, dann wechsle das Hobby.
Oliver S. schrieb:> Wenn du mit einer lib nicht klarkommst, nimm die nächste. Ist die für> dich auch nicht geeignet, nimm die übernächste.
Dieser Vorschlag hätte direkt vom Teufel kommen können. Anstatt zu
begreifen soll er solange blind probieren, bis er entweder wie das
berühmte blinde Huhn das Korn gefunden hat oder alles den Bach runter
gegangen ist. Ach nö.
W.S.
Εrnst B. schrieb:> Sebastian schrieb:>> * Keine Angabe welche Zeit die Funktion maximal benötigt.> Wenn der DHCP-Server nicht reagiert: 60 Sekunden (default für timeout,> wenn du es nicht anders initialisierst)static int begin(uint8_t *mac,> unsigned long timeout = 60000, unsigned long responseTimeout = 4000);>> Sebastian schrieb:>> Keine Angabe ob die Funktion (selbst, oder indirekt) Interrupts>> sperrt, und wenn ja für wie lange maximal.> Macht sie nicht. d.H. du solltest in deinen ISRs die Finger vom SPI> lassen.
QED
Εrnst B. schrieb:> Sind aber beides Fragen, die den "typischen Arduino-User" nicht im> geringsten Interessieren. Der hat nix mit ISRs am Hut, und will einfach> dass das Netzwerk funktioniert.> Und dazu eine möglichst einfache Dokumentation, die nicht mit für ihn> irrelevanten technischen Details überfrachtet ist.
Das ist ja genau die Arduino-"Falle" die in diesem Thread (und in vielen
anderen dieses Forums) thematisiert wird: Der Pfad aus der
Arduino-Bastelwelt hin zu einigermassen robusten Anwendungen (sagen wir,
eine automatische Gartenbewässerung) ist eben doch steiniger als es
zunächst den Eindruck macht, weil man dazu dann doch einen Grossteil
dessen was im Arduino-Quellcode passiert durchdringen MUSS.
LG, Sebastian
Sebastian schrieb:> (sagen wir,> eine automatische Gartenbewässerung)
oder man schaut sich das openSprinkler Projekt an. Es gibt soviele
Community Projekte mittlerweile, da muss man sich wirklich fragen was an
der Einzelkämpferlösung noch besser ist.
Habe gestern ein Display WT32-SC01 bekommen, 3,5" TFT mit ESP32 kompakt
zusammengebaut. Dazu findet man fertige Projekte, mit PIO und Arduino
oder IDF Framework und lvgl, das liefert in wenigen Minuten ein
lauffähiges binary. Sowas ist schon nett mal eben so ein komplexes
System zum Laufen zu bekommen.
W.S. schrieb:> Dieser Vorschlag hätte direkt vom Teufel kommen können. Anstatt zu> begreifen soll er solange blind probieren, bis er entweder wie das> berühmte blinde Huhn das Korn gefunden hat oder alles den Bach runter> gegangen ist. Ach nö.
Das basiert auf seiner Vorstellung davon, wie Arduino funktionieren
soll, nicht meiner.
Oliver
ProgAnfänger schrieb:> st.>> Also wie geht man dann vor?
Man arbeitet sich ein und nutzt es. Wasn das fürne bekloppte Frage?
Gestern kam der selbe Schmarrn, gibs zu das warst doch du?
Thread löschen und verbrennen. 90% der Postings hier sind
Trivialitätenmüll von Kindern.
member of the big Johnson community schrieb:> ProgAnfänger schrieb:>> st.>>>> Also wie geht man dann vor?>> Man arbeitet sich ein und nutzt es. Wasn das fürne bekloppte Frage?> Gestern kam der selbe Schmarrn, gibs zu das warst doch du?>> Thread löschen und verbrennen. 90% der Postings hier sind> Trivialitätenmüll von Kindern.
+1 👍👍
Gerade wenn man Arduino mit eigenen Sourcen kombinieren möchte, ist es
in der Tat wirklich manchmal doof, dass man nicht weiß welche Hardware
benutzt wird. Und das ist ja natürlich noch Platform abhängig.
Ich finde z.B. eine Grafiklibrary oder einen Sensor-Treiber super
praktisch. Das spart schon einiges an Zeit und Mühen. Das ist ja auch
der Sinn dahinter. Es kommt ja auch nicht aus dem Nichts, dass die
Prozessor Hersteller selber Frameworks etablieren...
Was einen bei Arduino aber oft interessiert - welche Resourcen sind weg.
Bei avr stößt JEDER wohl auf die Frage: welcher Timer ist eigentlich
frei? Nachher fragt man sich (ich benutze z.B. gerne den alten Arduino
Due) benutzt eine lib dma und wenn welchen kanal oder so.
Das wäre schon recht praktisches Wissen - durch die explosionsartig
zunehmenden Platformen aber rein theoretisch.
Erinnert euch doch mal an früher....15 Jahre zurück. Was hat denn na an
bare metal Code und Treibern aus dem Internet so funktioniert wie
erhofft. So gesehen laufen doch super viele libs reibungslos und
meistens gibt es noch Beispiel Projekte dazu.
Ich bin nach wie vor der Ansicht, daß oft über einen zu breiten Kamm
geschert wird. Viele, nicht alle, über Github publizierte
"Unterstützungen" sind ausreichend brauchbar präsentiert und kommen mit
Beispielen zum Testen. Ich hatte jedenfalls noch nie Probleme eine Lib
für mich erfolgreich einzusetzen. Man sieht sich die vorhandenen
Informationen an, nachvollzieht oder ausprobiert die fast immer
mitgegebenen Beispiele und evaluiert die Ergebnisse. Dann kann man immer
noch entscheiden ob "Feinarbeit" vonnöten ist.
Hier ist ein Beispiel einer für mich vollkommen ausreichenden Lib für
einen Schrittmotor:
https://github.com/clearwater/SwitecX25
Ich probierte es aus und erweiterte die Treiber, so daß man den Motor
anstatt einzelner Port-Pins über ein Shift Register betreiben konnte. Es
gab keinerlei Probleme.
Was übrigens Benutzer von existierenden Libs und Beispiel Code nicht
übersehen sollten, ist, daß dieselbe Bord Package Version benutzt wird
die auch der Autor verwendete. Mir ist schon passiert, daß z.B das
neueste bei mir installierte Bord Package auf eine andere GCC Version
baute und die Anwendung nicht mehr ohne Fehler kompilierte. Ich rate
ernsthaft, daß in der Doku solcher Ressourcen solche Informationen
dokumentiert werden sollten.
Jedenfalls, finde ich, daß in der Mehrzahl der angebotenen freien Libs
die Dokumention ausreichend, wenn auch oft ziemlich spärlich, sind und
fast immer als Startpunkt erfolgreich dienen können. Ich finde, was mich
betrifft, die Beanstandungen des Threads Themas etwas überzogen und man
sollte froh sein, daß es überhaupt was Nutzvolles gibt. Eigene
Anstrengungen, wenn notwendig, aufzubringen, ist auch kein Malheur.
Perfektion findet man selten. Ich weiß, ihr mögt solche Predigen nicht
gern, aber ich sehe die Welt bei weiten nicht so schwarz wie manche hier
und finde, daß positive Aspekte klar überwiegen.
Gerhard O. schrieb:> Ich bin nach wie vor der Ansicht, daß oft über einen zu breiten Kamm> geschert wird.
Ich hingegen sehe das ein ganzes Stück verdrießlicher: Irgendwelche
vorbereiteten Dinge wie z.B. Arduino machen es einem deutlich leichter,
mal eben zu einem Ziel zu gelangen - aber zugleich verleiten sie die
Leute auch, Wissen und Können, das sie eigentlich brauchen würden, als
unnötig (oder zumindest vernachlässigbar) anzusehen, denn es gibt ja
eine Lib zum Herunterladen die es erledigt. Mag sein, daß sowas auf die
Schnelle nützt, aber auf lange Sicht ist es schädlich. Nicht weil von
anderen geschaffene Projekte schlecht wären, oh nein. Sondern weil die
Nachnutzer es sich bequem machen und deshalb nix dazulernen.
W.S.
W.S. schrieb:> …aber zugleich verleiten sie die> Leute auch, Wissen und Können, das sie eigentlich brauchen würden, als> unnötig (oder zumindest vernachlässigbar) anzusehen…
Wahre Worte souverän gesprochen.
(Und das Ergebnis sieht man jeden Tag.)
W.S. schrieb:> Gerhard O. schrieb:>> Ich bin nach wie vor der Ansicht, daß oft über einen zu breiten Kamm>> geschert wird.>> Ich hingegen sehe das ein ganzes Stück verdrießlicher: Irgendwelche> vorbereiteten Dinge wie z.B. Arduino machen es einem deutlich leichter,> mal eben zu einem Ziel zu gelangen - aber zugleich verleiten sie die> Leute auch, Wissen und Können, das sie eigentlich brauchen würden, als> unnötig (oder zumindest vernachlässigbar) anzusehen, denn es gibt ja> eine Lib zum Herunterladen die es erledigt. Mag sein, daß sowas auf die> Schnelle nützt, aber auf lange Sicht ist es schädlich. Nicht weil von> anderen geschaffene Projekte schlecht wären, oh nein. Sondern weil die> Nachnutzer es sich bequem machen und deshalb nix dazulernen.>> W.S.
Ist bestimmt wahr. Aber es liegt halt an jedem Einzelnen wie weit er
gehen möchte und sollte. Es steht mir nicht zu das zu kritisieren. Ich
bin froh, wenn ich einen neuen Peripheral-IC ausprobieren möchte, eine
fertige Lib dafür (gleichzeitig) bekommen kann. Meist sind sie auch gar
nicht so schlecht geschrieben, als dass man sie dann für eigene Zwecke
später noch besser anpassen könnte.
Ehrlich gesagt hätte ich wenig Motivation ohne guten Grund von unten auf
z.B. eine Dateisystem oder einen komplizierten Datenstack entwickeln zu
müssen mit dem dafür notwendigen Zeitaufwand. Sicher, man wird dann eine
Zeitlang Experte sein. Aber mit der Zeit verschwindet auch dieses
Detailwissen wieder.
Was mich betrifft schäme ich mich nicht das zuzugeben.
Da konzentriere ich mich lieber auf die eigentliche Designarbeit in HW
und die Anwendungs-FW und freue mich ein Dateisystem zur Verfügung haben
zu können. Das war früher am PC auch nicht anders wo man schon fertige
externe Bibliotheksfunktionen im Turbo-C oder QB45 unter MSDOS oder auch
Linux hatte. Da gibt es ja auch alle möglichen Betriebssystem Services
und Funktionen.
Im Prinzip sind da fertige Arduino Libs nicht viel Anderes und sehe
keinen großen Unterschied zu PC-Programmieren. Dort mussten wir ja auch
nicht nur mit dem einfachen C internen Kommandos ein FAT von Grund auf
entwerfen nur um einen Datenlogger zu schreiben.
So gesehen, dürfen wir in aller Fairness die Arduino Users die solche
Utilitären Sachen verwenden wollen, nicht verurteilen. Wer lernwillig
ist und sich dann aus eigener Motivation weiter reinkniet, dem gebührt
unsere Anerkennung. Der große Unterschied beim uC Programmieren und
Computer System mit einem vollständigen Betriebssystem ist, dass beim uC
meisten nichts existiert, wenn man von rpi und Co. mal absieht. Ein uC
ist genauso "nackig" wie ein PC ohne BIOS Services und BS. Der PC würde
ohne BIOS nach dem Einschalten nicht einmal einen Piepser machen.
Ganz abgesehen bin ich nicht sicher ob ich die ganzen Standards für FAT
oder TCP wirklich gut genug verstehen könnte in meinem Alter. Da tut man
sich schon etwas schwerer.
Jeder muss selber entscheiden wie er da sieht. Mir steht es nicht zu
irgendwelche fremden unbekannten Leute runter zumachen. Es gibt immer
jemand der (weit) voraus ist. Der wirkliche Fachmann weiß das auch und
benimmt sich bescheiden;-)
Gerhard O. schrieb:> So gesehen, dürfen wir in aller Fairness die Arduino Users die solche> Utilitären Sachen verwenden wollen, nicht verurteilen.
Darum geht es ja eigentlich nicht in diesem Thread.
Es geht zum einen darum, daß der TO den Anspruch hat, selber mit Arduino
ohne auch nur die geringste Ahnung von Mikroprozessoren was zusammen
stöpseln zu können, während er erwartet, daß alle anderen, die ihre
genauso zusammen getöpselten Werke als lib im Netz veröffentlichen,
gefälligst ausgewiesene Experten zu sein haben.
Oder, anders ausgedrückt: Das System Arduino hat seine Berechtigung, hat
aber eben auch zur Folge, daß da sehr viel unausgegorener Code im Netz
herumschwirrt.
Oliver
ProgAnfänger schrieb:> Also müsste man dann eigentlich in die Library (alle Dateien der> Library) schauen da dort letztendlich alle Funktionen und Parameter-> Variablen, usw. Namen vorhanden sind.> Nun sind aber Librarys besonders wenn sie der Nutzung vom komplexer> Hardware dienen (z.B. ein Grafikdisplay) alles andere als leicht lesbar,> ja so eine Library dient ja gerade dazu das die Nutzung der komplexen> Hardware einfach gemacht wird und man sich nicht mit den Details der> Hardware auseinandersetzen muss (Wer will kann es ja trotzdem machen),> und C bzw. C++ bis in die tiefsten Tiefen verstehen und beherrschen> muss.> Innerhalb der Librarys wird nun mal im Allgemeinen ziemlich komplexer> Code verwendet der oft alle sehr spezielle "Tricks", Abkürzungen und> "Hardcorekonstrukte" nutz die selbst für den fortgeschrittenen> Arduinonutzer der sogar die Grundlagen von C und C++ beherscht sehr> schwer bis überhaupt nicht verständlich sind.
Ne, das kann ich nicht nachvollziehen.
Ich bin mal zu
https://www.arduino.cc/reference/en/libraries/
gegangen, und habe mir wahlos 3 Libraries herausgegriffen.
Ok, die waren alle etwas spärlich kommentiert, doch habe ich keine
spezielle "Tricks", Abkürzungen und "Hardcorekonstrukte" gefunden. War
alles mehr Basiswissen.
Und wenn ich eine Library brauche, und es nichts gibt, dann besorge ich
mir das Datenblatt, und mache es selbst. Da weiss man, was man hat.
Dafür brauche ich auch keine tiefsten Tiefen. Eigentlich müssen nur
Buffer gefüllt und transferiert werden. Das war es. Wie man die Buffer
füllt, das ist Fleißarbeit. Aber manche Leute habe dazu wohl keine Lust.
PittyJ schrieb:> Wie man die Buffer> füllt, das ist Fleißarbeit. Aber manche Leute habe dazu wohl keine Lust.
die Libs machen aber einen Tick mehr als nur Buffer zu füllen.
Async HTTP Server, MQTT, lvgl, KNX, mDNS, Matrixdisplay mit zig Modi,
usw. Alles Dinge die ich in letzter Zeit benutzt habe und nicht alle
selber schreiben möchte.
Hallo
J. S. schrieb:> Alles Dinge die ich in letzter Zeit benutzt habe und nicht alle> selber schreiben möchte.
Und vor allen:
Nicht kann (Ich spreche mal für mich und die Mehrzahl der
Arduinosystemnutzer)
Erstmal müsste ich C bzw++. am besten ergänzt mit Assemblerkenntnissen
wirklich gut beherrschen
Nur ein willkürlich gewähltes Beispiel
https://github.com/arduino-libraries/ArduinoBLE/blob/master/src/BLEDevice.h
Und sollte eben natürlich auch die gewünschte Hardware und alles was im
deren Datenblatt beschrieben ist verstehen.
Oft sind da noch viele Protokolle dahinterstehend - die man sich
entweder wiederum aus fertigen Librarys die hoffentlich gut
dokumentierten sind nimmt und "einfach" (...) einbindet oder dann, wenn
man so wie sich das hier einige Profiprogrammierer vorstellst, neu
schreiben müsste.
Man muss jetzt nicht gleich bis zum USB Protokoll gehen um zu sehen das
so was sehr schnell sehr aufwendig wird und sehr viel Wissen vorhanden
sein muss.
So und jetzt sollten sich alle Profiprogrammierer und mit Vorwürfen um
sich schmeißenden mal ansehen für welche Zielgruppe Arduino (und
ähnliche halt nicht so erfolgreiche Projekte) eigentlich ursprünglich
gedacht waren...
Da kann und muss man schon froh sein (und zwar in Sinn von Dankbar und
gut das du mehr machst als eigentlich Ursprünglich von der Idee her
verlangt wurde) wenn sich ein Teil dieser ursprünglichen Zielgruppe ein
wenig tiefer gehend mit C und C++ auseinandersetzt.
Immer dran denken:
Die Profis und Hardcore Hobbyprogrammier vom Typ seid 1980 mit dabei -
alles aus Büchern gelernt mit Assembler aufgewachsen und alle Register
von mehreren Generationen µC auswendig drauf sollten sich klar werden
für wenn Arduinon (und Co.) gedacht sind und das sie die Minderheit und
"Extrawürstchen" sind sich mit ihren Aussagen und Wertung von über 95%
der Nutzer zurückhalten sollten.
ProgAnfänger schrieb:> So und jetzt sollten sich alle Profiprogrammierer
Die Profis haben auch schon immer Libs benutzt um Zeit zu sparen. Nur
das man für ein Betriebssystem, TCP/IP Stack und Grafik fürchterlich
viel Geld ausgeben musste.
Und auch da haben die Entwickler nur mit Wasser gekocht und man hat laut
über die schlechte Doku und nicht funktionierende Beispiele geschimpft.
Hallo,
ProgAnfänger schrieb:> Immer dran denken:> Die Profis und Hardcore Hobbyprogrammier vom Typ seid 1980 mit dabei -> alles aus Büchern gelernt mit Assembler aufgewachsen und alle Register> von mehreren Generationen µC auswendig drauf sollten sich klar werden> für wenn Arduinon (und Co.) gedacht sind und das sie die Minderheit und> "Extrawürstchen" sind sich mit ihren Aussagen und Wertung von über 95%> der Nutzer zurückhalten sollten.
Der Witz ist: ich seit 1980 dabei und etlichen Op-Codes von Z80, 6510
usw. und deren Register weiß ich teilweise heute noch.
Ich bin von da über AVR-ASM (avra, Port für den Amiga...) über AVR
Studio dann bei C gelandet (mehr notgedrungen weil ich Radigk's
Webserver für das NetIO und meine Wünsche anpassen wollte.
Bei der ArduinoIDE bin ich gelandet als die ersten ESP8266 auftauchten.
Ich kenne keine andere Umgebung, wo ich so problemlos mal schnell mit
einer anderen CPU-Familie rumspielen kann.
Mein Vorteil ist natürlich, daß ich notfalls in die Tiefen steigen kann,
auch komplexe Datenblätter lesen und ausreichend verstehen kann.
Was z.B. bei der Arduino-Diskussion gern übersehen wird:
man erstellt eine neue .ino und löscht alles raus.
Dann kopiert man ein (vollständiges) Beispiel hier aus dem
AVR-GCC.Tutorial rein und compiliert es. Dann eben noch einen Arduino
Nano o.ä. wegen des Bootloaders und man kann das so aus der IDE flashen
und testet,
Damit ist man zum üben schon ziemlich weit unten angekommen ohne ein
AtmelStudio o.ä. mit seinen dutzenden Einstellungen erst einrichten zu
müssen. Es wird auch in der ArduinoIDE ohne setup(), loop() und include
arduino.h der Source einfach nur dem GCC in die Hand gedrückt.
Gruß aus Berlin
Michael
Gerhard O. schrieb:> Aber es liegt halt an jedem Einzelnen wie weit er> gehen möchte und sollte.
Eben. Normalerweise sollte es da nichts zu kritisieren geben - aber wenn
es ein gar zu krasses Mißverhältnis gibt zwischen dem Projekt und dem,
was der Arduin-Benutzer überhaupt stemmen kann, dann ist Kritik
angesagt, daß er mehr abgebissen hat als er schlucken kann. Oder in
andere Worten: daß er erst noch einiges dazulernen muß. Man muß es den
Leuten sagen, das ist ein Stück Ehrlichkeit.
W.S.
Michael U. schrieb:> Damit ist man zum üben schon ziemlich weit unten angekommen ohne ein> AtmelStudio o.ä. mit seinen dutzenden Einstellungen erst einrichten zu> müssen.
Atmel wäre froh gewesen, wenn das Studio Dutzende Einstellungen gehabt
hätte…
Oliver
Hinzu kommt noch Folgendes (selbst in den mitgelieferten - nennen wir
sie mal - libs):
Es wird gerade solange herumprogrammiert bis es irgendwie funktioniert.
Darauf folgt die Phase des großen Vergessens…
Vor vielleicht drei Jahren kam jemand auf mich zu weil er Probleme mit
der ›eingebastelten‹ USB Funktionalität hatte.
Daraufhin warf ich zum ersten Mal einen Blick in den sourcecode des
USB-moduls. Das hätte ich besser nicht getan:
1
intUSB_Send(u8ep,constvoid*d,intlen)
2
…
3
u8timeout=250;// 250ms timeout on send? TODO
1
elseif((len==0)&&(ep&TRANSFER_RELEASE)){// ...or if forced with TRANSFER_RELEASE
2
// XXX: TRANSFER_RELEASE is never used can be removed?
3
ReleaseTX();
4
5
// This really needs dynamic endpoint allocation etc
6
// TODO
7
8
// TODO: handle the HALT state of an endpoint here
9
10
//TODO
11
// WAKEUPI shall be cleared by software (USB clock inputs must be enabled before).
12
//USB_ClockEnable();
…und so weiter und so fort. Wie gesagt, ist Jahre her, ist immer noch
drin.
Das sind wie gesagt keine Libraries die von Dritten zur Verfügung
gestellt werden, das Zeug kommt mit der IDE (noch so ein Euphemismus)
Wenn dann ein Anfänger in Probleme läuft, dann war es das eben. Ende.
Die Leute die mit Arduinos arbeiten haben nur in den seltensten Fällen
solides Know-How um über solche Stolpersteine zu klettern. Aber nach
eigenen Vorgaben richtet sich Arduino an Künstler und Werbetexter. (sehr
freie Interpretation meinerseits)
Viele der ›hinzufügbaren‹ libs sind auch nicht wesentlich besser.
Blinky wird aber oft getestet, das funktioniert.
Dokumentation: Wenn man schon ›setup‹ und ›loop‹ anbietet, so gehört
zumindest bei der sleep Funktion und allen mit Timeouts behafteten
Dingen eine solide, anfängertaugliche Warnung und Erklärung dazu.
»Aber das heißt doch loop, da muss es doch endlos im Kreis laufen. Warum
stoppt es bei mir?«
Ich vermute mal solch einen Satz haben schon viele gehört.
ProgAnfänger schrieb:> So und jetzt sollten sich alle Profiprogrammierer und mit Vorwürfen um> sich schmeißenden mal ansehen für welche Zielgruppe Arduino (und> ähnliche halt nicht so erfolgreiche Projekte) eigentlich ursprünglich> gedacht waren...
Ja die Zielgruppe sind schon Elektronik-/Hardwareanfänger gewesen. Ganz
am Anfang waren das ja auch einfache Projekte, die man mit ein bischen
guten Willen und Engagement auch als Anfänger übersehen konnte. Das
Projekt war eigentlich dafür gedacht Leute für die Elektronik im
Allgemeinen und die µC-Technik zu begeistern.
Das bedeutet aber eben nicht das man das Hirn nicht benutzen soll, einem
die gebratenen Tauben in den Mund fliegen und andere für einen die
Arbeit machen sollen, die sie dann auch noch quasi für jeden so
dokumentieren das er es ohne Hirnnutzung versteht.
Mittlerweile hat sich das Ganze aber mehr oder weniger verselbständigt
und die Projekte werden immer umfänglicher. Zugleich meinen aber immer
mehr Leute das alles so einfach und easy ist und es völlig ausreichend
ist, wenn man einen Draht von einem Stück Bindfaden unterscheiden kann.
So einfach ist es eben nicht. Man muß sich schon mit der Thematik
auseinandersetzen um die Zusammenhänge zu verstehen. Man sollte auch
nicht vergessen, das die meisten Leute dafür eine entsprechende
Ausbildung durchlaufen müssen, wenn sie ihre Brötchen mit Elektronik
verdienen wollen. Es hat schon seinen Grund warum es da eine Vielzahl
von Ausbildungsberufen und Studienrichtungen gibt.
Eigentlich bist Du sogar recht unverschämt, wenn Du von den Leuten die
die Libs schreiben und das meist noch in ihrer Freizeit tun, auch noch
verlangst das sie gefälligst eine ausgefeilte Dokumentation bei zu legen
haben, damit es auch der Dümmste in der letzten Reihe begreift. Ne so
funktioniert das nicht. Wenn Du schon zu faul bist, es ist nichts
anderes als Faulheit, Dir eigene Gedanken zu machen, dann mußt Du Dich
halt durch die Libs durcharbeiten. Dazu muß man auch nicht jede
Querlltextzeile verstehen, oftmals reicht es aus wenn man die
Hauptheaderdatei der Lib anschaut, denn da sind meist die Prototypen der
exportierten Funktionen mit den zugehörigen Parametern deklariert.
Wie Gerhard schrieb, spricht nichts dagegen fertige Lib's zu benutzen.
Das entbindet einen aber eben nicht davon das eigene Hirn zu benutzen
und sich das eine oder andere zu erarbeiten. Und ja der Weg bis zu einem
Ergebnis ist dann halt etwas steiniger und steiler, aber man kann es
schaffen wenn man will. Das alles ist Dir aber ganz offensichtlich viel
zu mühsam. Du solltest da mal Deine diesbezügliche Einstellung
überdenken und Dich befleißigen Dir das Wissen zu erarbeiten. Wenn Du
das nicht willst, dann ist wohl Elektronik eher nichts für Dich und Du
solltest Dir, wie schon öfters geraten, ein anderes Betätigungsfeld
suchen.
Ich bastel ja derzeit das erste mal so richtig mit arduino. Also eines
muss man "Lobend" erwähnen, es ist wirklich relativ leicht zumindest ein
erstes "Funktionierendes" Programm zu Basteln.
Negativ:
Encoder Libs, egal welche ich bisher ausprobiert habe zählen nicht
vernünftig obwohl eine sogar verspricht dies zu tun, dank der Verwendung
von Greycode und Statemachine.
Nun stehe ich auch hier vor einem "Halbfertigen" Programm das allerdings
schon die Grundfunktionen hat und eigentlich Funktioniert, nur eben
nicht reibungslos. Das ist zum Teil meine eigene Schuld, denn für den
encoder habe ich mir am ende ein "Snippet" geschnappt das Interrupts
verwendet und das ich halbwegs kapiert habe um es anzupassen und den
ganzen Kram erst nur "Testweise" zusammengewürfelt und ohne 100% zu
verstehen ausgeführt habe weil der Compiler nix zu meckern fand.
Für den Anfang ist das halt schon OK. Magnetic Loop Steuerung also
Stepper Motor mit dem encoder steuern zwei Relais mit Tastern und ein
bisschen LCD an einem Tag mit einer Menge Fehlversuchen zum laufen
bringen, könnten in C für einen Anfänger doch eher in 3-4 Tagen und
deutlich mehr Frust enden.
Gut, mein Beispiel ist deutlich leichter als eine LCD lib mit Grafiken
ect. Aber viele Anfänger haben vielleicht sowas ähnliche leichtes
versucht wie ich und sich von da an stetig verbessert.
Aber bei der Dokumentation, da muss man echt viel suchen um wirklich
tief einzusteigen und am Ende auch mit arduino was "Haushaltstaugliches"
zu programmieren.
>Erstmal müsste ich C bzw++. am besten ergänzt mit Assemblerkenntnissen>wirklich gut beherrschen
Ist ja auch logisch. Arduino ist schließlich auch c++.
Du kommst ja auch ziemlich weit auch ohne jegliche Kenntnisse, aber
irgendwo ist dann einfach das Ende erreicht. Da geht es dann eben nicht
mehr ohne intimere Kenntnisse weiter. Würde ich eigentlich auch gar
nicht anderes erwarten.
Am besten freust du dich einfach über die libs und die Möglichkeiten,
die gut für dich funktionieren und machst damit Projekte. Wenn das
Projekt mehr Code enthält als nur das einfachste Beispiel aus der
library dann ergeben sich zwangsläufig Fragen und Probleme. Da wirst du
am Anfang hier Fragen stellen müssen und immer mehr selber hinbekommen.
Eins gibt das andere, braucht aber Zeit. Und Zeit hast du genug, es ist
ja aus Spaß. Michael (amiga) hat einen guten Rat geschrieben. In der IDE
compilieren, kleine Brötchen backen und die hello world Programme
ausprobieren geht. Und macht auch Spaß.
Es haben schon viele hier geschrieben, die durch Code ihre Brötchen
verdienen: selbst die schätzen Libraries für aufwendige Dinge; schon aus
Zeitgründen. Ich finde das ist erst recht beim Hobby sehr sinnvoll und
spricht nicht gegen Arduino.
Eine Library für autonomes fahren, die in ein demo Bord geladen wird und
ein car.start() braucht, ist illusorisch und auch nicht sinnvoll. Sollte
deine Motivation in die Richtung gehen, dann denke ich, ist das zum
Scheitern verurteilt.
Hallo,
Kilo S. schrieb:> Negativ:> Encoder Libs, egal welche ich bisher ausprobiert habe zählen nicht> vernünftig obwohl eine sogar verspricht dies zu tun, dank der Verwendung> von Greycode und Statemachine.
ich nutze relativ selten gängige Dreh-Encoder, was die Libs angeht,
könnte ich Dir schon zustimmen, nur: es gibt Encoder-Typen wie Sand am
Meer. Es gibt verschiedene Schaltverhalten der Typen usw.
Dann gibt es noch "die Chinesen", die Arduino-Nutzer kaufen für Ihre
Projekte möglichst günstig, ich auch. Damit ist sichergestellt, daß man
ganicht weiß, was man da wirklich bekommen hat. Dann kommt erst die Lib.
Deren Programmierer hat alle diese Abweichungen garnicht berücksichtigt,
weil er nicht ein Dutzend Encoder des scheinbar gleichen Typs rumliegen
hat...
Kilo S. schrieb:> Gut, mein Beispiel ist deutlich leichter als eine LCD lib mit Grafiken> ect. Aber viele Anfänger haben vielleicht sowas ähnliche leichtes> versucht wie ich und sich von da an stetig verbessert.
Es gibt nichts schöneres als das Sammelsuriom Grafik-LCD. Da kommt dann
noch die Hardwareseite dazu. Controller, die 3,3V Typen sind, bekommen
einen 3,3V Regler vom Anbieter des Moduls verpasst, 2k Widerstände in
die Datenleitungen, und werden dann für den 5V Arduino UNO verkauft. Das
geht nur gut wenn die Sonne günstig steht, weil man sich da auf die
Schutzdioden der ICs verläßt. Der H-Pegel der Daten hebt die Spannung
hinter dem 3,3V Regler so gern mal dynamisch auf 3,9V an, nur wie
zuverlässig spielt das Display dann mit?
Kilo S. schrieb:> Aber bei der Dokumentation, da muss man echt viel suchen um wirklich> tief einzusteigen und am Ende auch mit arduino was "Haushaltstaugliches"> zu programmieren.
Jaein... Ich mache recht viel mit ESP8266 und ESP32. Das Hauptproblem da
ist es, rauszufinden mit welcher Umgebung ein im Netz gefundenes Projekt
überhaupt gebaut wurde. Angaben wie mit ArduinoIDE 1.8.12, ESP8266
1.7.2, Lib-Versionen xx.x. würde mir da helfen, weil ich sowas dann eben
erstmal genauso durch eine portable-IDE jage.
Fehlt aber fast immer wenn jemand ein Projekt ins Netz wirf, bei den
Libs ist oft auch library.properties unvollständig oder sogar falsch
ausgefüllt.
Jemand, der nicht mit der Arduino-Umgebung arbeitet, ist sich solcher
Probleme aber schnell bewusst, nur hat der auch schon wesentlich mehr
Einarbeitungszeit hinter sich, bis die IDE überhaupt auf seinem Rechner
läuft und das erstmal was compiliert.
Ich würde mir da eher wünschen, daß die, die das eben können, sich mal
eine ArduinoIDE portable auf Ihren Rechner werfen und es mal testen, um
einem Arduino-User zu helfen. Das kostet nämlich verblüffend wenig Zeit.
Bei den Arduino-Usern würde ich mir wünschen, daß die Infos zur
benutzten Umgebung und der genauen Herkunft ihrer Libs wenigstens auf
Nachfrage beantwortet werden.
Gruß aus Berlin
Michael
Michael U. schrieb:> Ich würde mir da eher wünschen, daß die, die das eben können, sich mal> eine ArduinoIDE portable auf Ihren Rechner werfen und es mal testen, um> einem Arduino-User zu helfen. Das kostet nämlich verblüffend wenig Zeit.> Bei den Arduino-Usern würde ich mir wünschen, daß die Infos zur> benutzten Umgebung und der genauen Herkunft ihrer Libs wenigstens auf> Nachfrage beantwortet werden.
Nun, Anfänger beim Programmieren bin ich ja sogesehen nicht mehr, Dank
vieler Jahre PHP muss ich nur gelegentlich den Syntax prüfen und eben
die Sprache selbst richtig erlernen. Damals bei PHP hab ich auch nur
XAMPP und den Download von PHP.net gehabt.
Aber bis auf den Syntax hat es ansonsten nicht viel mit PHP gemeinsam.
Herkunft der Libs ist aus dem Manager der IDE, IDE ist 1.8.x und OS
Xubuntu.
(Stepper, Liquid Crystal I2C, wire)
Ich mach später einen neuen Beitrag auf, dann lade ich den Code Mal
hoch.
Michael U. schrieb:> ich nutze relativ selten gängige Dreh-Encoder, was die Libs angeht,> könnte ich Dir schon zustimmen, nur: es gibt Encoder-Typen wie Sand am> Meer.
Das stimmt. Nun, ich habe einen (ohne Platine, ist bei mir aus einer
alten Stereoanlage) der sieht exakt gleich aus zu den Modulen hier, hat
die selben funktionen (also auch mit Taster) und ich hab die gleichen
"Probleme" wie alle anderen häufig auch.
https://www.amazon.de/degree-encoder-compatible-Arduino-Raspberry/dp/B09Q8RSK6T
Im Prinzip zählt er nur dann richtig wenn ich schnell genug drehe das
ich eine Rastposition überspringe und im Prinzip an der Rastposition
lande an der er bereits den zweiten zählen sollte. Als ob da irgendwo
noch ein count--; versteckt wäre.
Oder (nicht unwahrscheinlich) ich hab es verbockt! Das LCD ist "Lahm"
und ich schreibe aktuell direkt nach dem ausführen der betreffenden
Codezeilen ins LCD, also in dem Moment wo der interrupt kommt ist der
Nano eventuell gerade gar nicht richtig anpsrechbar weil er das Display
schreibt ect...
Und beim testen letzte Nacht, gab es ab und an die Situation das sich
der Nano beim Drehen des Stepper "aufhängt" und nicht mehr reagiert.
Allerdings dreht der Stepper in der Zeit einfach in die Richtung weiter
in der er sich beim "Ausfall" gedreht hat. Ich Versuche schon das ganze
zu provozieren und zu sehen ob dieser Hänger irgendwann stoppt, dann
wäre es der Code in dem für den Stepper die Anzahl steps falsch Gesetz
wird.
Wie gesagt, später wenn ich am Laptop bin mach ich ein Thema dazu auf.
Michael U. schrieb:> Jaein... Ich mache recht viel mit ESP8266 und ESP32. Das Hauptproblem da> ist es, rauszufinden mit welcher Umgebung ein im Netz gefundenes Projekt> überhaupt gebaut wurde. Angaben wie mit ArduinoIDE 1.8.12, ESP8266> 1.7.2, Lib-Versionen xx.x. würde mir da helfen, weil ich sowas dann eben> erstmal genauso durch eine portable-IDE jage.
das hat PlatformIO IMHO ganz gut gelöst, die Abhängigkeiten werden in
die Konfigdatei eingetragen und das Buildsystem installiert die wenn
nötig. Viele größere Projekte sind ja schon auf PIO umgestiegen weil es
da sehr einfach ist das Projekt zu reproduzieren.
Michael U. schrieb:> Ich würde mir da eher wünschen, daß die, die das eben können, sich mal> eine ArduinoIDE portable auf Ihren Rechner werfen und es mal testen, um> einem Arduino-User zu helfen. Das kostet nämlich verblüffend wenig Zeit.
Für jemanden wie den TO? Sicherlich nicht.
Ich habs ein paarmal gemacht, und der Spaßfaktor ist doch arg begrenzt.
Es geht ja in den allermeisten Fällen nicht um Probleme in selbst
geschriebenen Sourcen, sondern um Fragen der Art: "Ich habe da irgendwo
irgend eine Software/lib/Source herunter geladen, und das funzt irgenwie
nicht". Unendliche Weiten, die alle irgendwie irgendwo zusammen ein
Problem sind.
Und da wühlt doch niemand freiwillig durch die Arduino- und weiteren
Sourcen von unbeteiligten Dritten. Alleine der Arduino-Kram ist ja
leider nicht immer erfreulich...
Oliver
Hallo,
Oliver S. schrieb:> Michael U. schrieb:>> Ich würde mir da eher wünschen, daß die, die das eben können, sich mal>> eine ArduinoIDE portable auf Ihren Rechner werfen und es mal testen, um>> einem Arduino-User zu helfen. Das kostet nämlich verblüffend wenig Zeit.>> Für jemanden wie den TO? Sicherlich nicht.
Der TO hat kein wirkliches Problem, nur mit sich selbst... ;)
> Ich habs ein paarmal gemacht, und der Spaßfaktor ist doch arg begrenzt.> Es geht ja in den allermeisten Fällen nicht um Probleme in selbst> geschriebenen Sourcen, sondern um Fragen der Art: "Ich habe da irgendwo> irgend eine Software/lib/Source herunter geladen, und das funzt irgenwie> nicht". Unendliche Weiten, die alle irgendwie irgendwo zusammen ein> Problem sind.
Ich mache es manchmal schon, gerade bei solchen Projektfragen aaus dem
Netz. Naja, bin eben Rentner, da hat man die Lust und Zeit manchmal.
Bedingung ist da eben, daß eindeutig ist, wo er das herhat und die
Hardware entweder bei mir sowieso rumliegt oder nicht zwingend ist.
> Und da wühlt doch niemand freiwillig durch die Arduino- und weiteren> Sourcen von unbeteiligten Dritten. Alleine der Arduino-Kram ist ja> leider nicht immer erfreulich...
War eigentlich selten wirklich nötig. Häufig eben Lib für andere CPU
weil der Ersteller der Lib die properties falsch ausgefüllt hat.
Parameterfehler, da reicht mir meist ein Blick in die .h datei usw. usw.
Projekt mit älteren Versionen gebaut, wo der Ersteller die Lib nicht
sehr lieblos aktualisiert. Ganz nach unten krame ich eigentlich nur,
wenn es mich direkt selbst interessiert und ich es unbedingt nutzen.
Eine ArduinoIDE ist eben portable in relativ wenigen Minuten soweit
eingerichtet, Libs eines Anwenders sind auch schnell runtergelden und
eingebunden, wenn die Sachen bei github liegen.
Gruß aus Berlin
Michael