Liebe TinkerForge-Community,
seit einiger Zeit bastel ich an einem kleinen Projekt, in welchem ich sekündlich Messwerte der Tinker-Bricklets in einer .csv-Datei zeilenweise speichern möchte. Dazu muss ich sagen, dass ich mit Python das erste Mal versuche (außerhalb von Grundkursen in Schule und Uni...die lange her sind) wieder zu programmieren. Zuerst habe ich dies über eine einfache Schleife gelöst, welche die Werte sekündlich abfragt und speichert. Was mir daran nicht gefiel ist, dass das Programm dadurch eigentlich den Hauptteil wartet und alles nacheinander abgearbeitet wird. Sollten später komplexere Teilschritte dazu kommen, würde es sowieso meine "Zeitplanung" durcheinander werfen. Deswegen möchte ich nun das Abspeichern von Messwerten mit Callbacks lösen, und so quasi gleichzeitig mehrere andere Aufgaben des Programms ausführen zu können.
Anfangs definiere ich den Callback:
def cb_illuminance_data(illuminance):
ausgabe1.writerow([str(illuminance/10)])
später im Hauptteil möchte ich Ihn folgendermaßen ausführen:
ambl.set_illuminance_callback_period(100)
with open('gerty_illuminance_data.csv', 'wb') as csvfile1:
ausgabe1 = csv.writer(csvfile1, delimiter=';', quotechar='|')
ausgabe1.writerow(['Beleuchtungsstärke'])
ausgabe1.writerow(['lux'])
ambl.register_callback(ambl.CALLBACK_ILLUMINANCE, cb_illuminance_data)
Leider bricht beim Ausführen das Programm mit dem ersten Anlauf des Callbacks mit einer Fehlermeldung ab ("Callback loop"). Welchem (Denk)Fehler bin ich unterlegen?
PS: den genauen Fehlerbericht liefere ich heute Abend nach. Ich bin derzeit nicht zu Hause, mich juckt das Problem aber schon so lange, dass ich nicht länger warten konnte es zu schildern.
Vielen Dank.