Daten in Bibliothek schreiben

Hallo zusammen,

ich wollte euch mal fragen ob von euch jemand eine Idee hat wie man Daten die man in einem Programm ausgelesen hat automatisch in eine Bibliothek schreiben kann.

Ich habe Koordinaten ausgelesen und jetzt müssen diese in die Bibliothek geschrieben werden. Zur Zeit wird das per Hand erledigt. D.h. ich öffne die die Bibliothek und schreibe die Daten hinein.

Kann ich mit einer Funktion diesen Vorgang irgendwie automatisieren?

viele Grüße

667NotB

Soll das ein einmaliger Vorgang sein oder laufend passieren? Eine Lib ist eigentlich keine Datensammlung. Wenn Du das nur einmalig brauchst, dann schreibe die Daten in Form eines Arrays als Quelltext in eine eigene Textdatei mit der Endung h und includiere diese.

Wenn Du es laufend brauchst, denke über eine andere Speicherung (EEPROM, FRAM, SD) nach.

Gruß Tommy

667NotB: Hallo zusammen,

ich wollte euch mal fragen ob von euch jemand eine Idee hat wie man Daten die man in einem Programm ausgelesen hat automatisch in eine Bibliothek schreiben kann.

Ich habe Koordinaten ausgelesen und jetzt müssen diese in die Bibliothek geschrieben werden. Zur Zeit wird das per Hand erledigt. D.h. ich öffne die die Bibliothek und schreibe die Daten hinein.

Kann ich mit einer Funktion diesen Vorgang irgendwie automatisieren?

viele Grüße

667NotB

Ich verstehe nicht ganz was du willst. Die Library steht doch bei einem laufenden Projekt nicht mehr zur Verfügung, sondern wird mit kompiliert. Also wo soll da was reingeschrieben werden ?

Da gibt es Makro-Editoren, mit denen kannst du das Editieren einer Text-Datei automatisieren und kannst so mit relativ wenig Aufwand, und vor allem ohne fehleranfälliges Abschreiben, z.B. aus einer csv Datei eine include-Datei für deine Bibliothek machen.

Flexibler bist du mit einem selbstgeschriebenen Programm in der Sparche deiner Wahl, die das gleiche macht.

Ob es für einen einmaligen Anwendungsfall schneller geht, ist immer die Frage.

Bis man das ganze programmiert hat, hat man alternativ auch seine Finger trainiert, die dann das Editieren durchführen, während man “selbst” langsam in Trance gerät, beim manuellen Erstellen der gewünschten include Datei.

Meine Erfahrung: Programmieren dauert länger, macht aber mehr Spass, und vielleicht kann man es ja nochmal verwenden. Oder zumindest den Programm-Rahmen (Datei zeilenweise lesen, hokuspokus, Ergebnis-Datei schreiben)

Bei Editier-Makros bietet sich eine Zwischen-Lösung an: Erstellen eines Makros für einen Einzelschritt, und den dann erst probeweise, dann manuell “in trance” [ STRG-M, X, Pfeil-runter, Enter ] ( oder so :wink: ) hundert mal wiederholt - fast fertig. Noch von Hand Anfang und Ende dazu, dann nochmal eine ähnliche Korrektur-Aktion, fertig!

Daten die man in einem Programm ausgelesen hat …

… kann man dort evtl. gleich “maschinenlesbar”, also mit passender Syntax, in eine Ergebnisdatei schreiben.

Oder hab ich dich falsch verstanden?

Betonung auf “eigentlich”. Fonts, Sinus-Nachschlagetabellen, andere Konstante Werte etc. sind bei Arduinos oft besser im Flash als in nicht vorhandenen Externspeicher-SD Karten aufgehoben.

michael_x:
Betonung auf “eigentlich”. Fonts, Sinus-Nachschlagetabellen, andere Konstante Werte etc. sind bei Arduinos oft besser im Flash als in nicht vorhandenen Externspeicher-SD Karten aufgehoben.

Da hast Du vollkommen Recht. Ich habe das includieren als .h Datei empfohlen, damit man nicht die ganze Lib anfassen muss, wenn man die Daten mal neu generieren will/muss.

Gruß Tommy

Ja, so habe ich es auch verstanden.

Da die Konstanten, die da eingearbeitet werden, irgendwelche GPS (?) Koordinaten sind, ist allerdings fraglich, ob das wirklich Konstanten sind, für die bei einer Änderung die Library geändert und der Sketch neu kompiliert werden sollte.

Aber das muss 667NotB wissen ...

Vielleicht sollte der sich mal wieder melden und sein Problem genauer und verständlicher schildern, bevor der Thread wieder 100 Posts hat :)

ElEspanol: Vielleicht sollte der sich mal wieder melden und sein Problem genauer und verständlicher schildern, bevor der Thread wieder 100 Posts hat :)

Da haben wir ja noch etwas Luft ;) aber ohne den TO können wir aufhören.

Gruß Tommy

Danke für die vielen Antworten, da ist bestimmt was dabei was mir weiterhilft.

Es tut mir leid wegen der späten Antwort.

Konkret geht es bei meinem Problem um das “Calibration”-Programm der “URTouch”-Library. Normalerweise muss man die Werte selbst in “URTouchCD.h” eintragen aber ich möchte daß die Werte nach dem abspielen des Programmes automatisch geändert werden.

In der “URTouchCD.h” sind nur drei Werte definiert (#define). Die Datei wird dann in der Library “URTouch.h” mit #include eingefügt inklusive den drei Werten. Und dort wird dann mit den Werten gearbeitet.

Gruß

Kevin

Du mußt die Bibliothek total umschreiben da wenn der Sketch läuft keine Bibiothek mehr da ist, die die Werte neu berechnet, Die Du irgendwie eingibst.

Das ist so wie Du morgens zuhause die Brötchen schmierst dann aber vormittag eine Salami kaufst aber das Messer zum Salamiaufschneiden zuhause hast.

Die Konstanten (#define) müssen zu variablen werden die Du zur laufzeit des Sketches aus dem EEprom des Kontrollers liest und alle daraus berechneten Werte im Sketch berechnet werden und nicht während des Kompilierens.

Grüße Uwe

667NotB: Konkret geht es bei meinem Problem um das "Calibration"-Programm der "URTouch"-Library. Normalerweise muss man die Werte selbst in "URTouchCD.h" eintragen aber ich möchte daß die Werte nach dem abspielen des Programmes automatisch geändert werden.

Und das hatte ich dir schon in meinem Post #2 beantwortet. Das geht nicht, so wie du es möchtest.

Uwe hat das nochmal sehr schön umschrieben, bestätigt.

Das ist so wie Du morgens zuhause die Brötchen schmierst dann aber vormittag eine Salami kaufst aber das Messer zum Salamiaufschneiden zuhause hast.

Das versteh ich jetzt nicht. :)

[Den Rest der Bemerkungen hab ich wieder gelöscht, nachdem ich mal nach URTouch gesucht habe.] Den EEPROM zur Datenübertragung zwischen dem Kalibrier-Sketch und dem eigenen Sketch zu verwenden ist schon eleganter als die Quelle des eigenen Sketches zu ändern. Aber wie oft muss man kalibrieren?

Hallo,

ich lese das Problem etwas anders. Ich denke eher er meint, dass er die neu kalibrierten Werte, der Library mitteilt, also der Methode der Lib, live übergeben möchte, sodass er im laufenden Programm nach einschalten kalibriert und ab da an mit den Werten weiter arbeiten kann. Er kann dann die Methoden weiter ausbauen und die Werte im EEprom ablegen, damit beim nächsten Kaltstart die alten Werte laden, die möglicherweise schon optimal sind. Ich wette also hier gehts um nichts weiter als die Rückgabemöglichkeit oder besser Übergabemöglichkeit an eine Methode. Eben mit freien Wortlaut, Rückgabewert aus der loop an die genutzte Lib. Ohne Lib würde man sagen Übergabewert der Funktion.

Doc_Arduino:
…ich lese das Problem etwas anders…

Und leider fehlen auch hier wieder aussagekräftige Informationen des TO.