reinweb Geschrieben February 26, 2015 at 09:41 Geschrieben February 26, 2015 at 09:41 hallo, gibt es eine Möglichkeit, ein Callback Ereignis manuell auszulösen? Quasi als Initialisierung. Vereinfachtes Beispiel: Ich gebe die Spannung vom VoltageCurrent-Bricklet auf einer LCD Anzeige aus (mittels Callback bei VOLTAGE_CHANGE). Damit bekomme ich die Anzeige erst, wenn sich die Spannung erstmals ändert. Mir ist schon klar, dass ich als Initialisierung die Spannung abfragen kann und auf's LCD schreiben - ich würde aber gern die Callback Funktion auslösen (DRY). Zitieren
Nic Geschrieben February 27, 2015 at 09:16 Geschrieben February 27, 2015 at 09:16 Ich habe das mit dem (alten) AnalogIn so gelöst, dass mit relativ niedrigem Averaging und Periode der Callback nach dem Starten des Programms recht zügig Werte liefert. Nach rund 1-2sec spätestens sehe ich im 4x7 Display einen Wert. Das reicht mir und alles andere macht eig. keinen Sinn, für die Mittelwertbildung müssen ja erstmal Werte gesammelt werden. Zitieren
borg Geschrieben February 27, 2015 at 09:21 Geschrieben February 27, 2015 at 09:21 Die API hat keine Funktion um einen Callback zu erzwingen. Wenn du z.B. im Brick Viewer den Tab wechselst wird zuerst immer einmal ein Getter aufgerufen (damit sofort ein Wert angezeigt werden kann) und danach der Callback konfiguriert für die laufenden Werte. Zitieren
reinweb Geschrieben February 27, 2015 at 13:18 Autor Geschrieben February 27, 2015 at 13:18 @NIC:: Guter Ansatz, der passt aber leider nicht immer -> z.B. wenn der Callback nur angezeigt wird, wenn sich der Wert ändert. Dass sich der Spannungswert um einige mV ändert ist sicher häufig, die aktuelle Position vom Rotary-Poti z.B. würde damit nicht funktionieren. @borg:: Danke für die klärenden Worte. Ich werd mir mir also eine Lösung dafür basteln. Ist deshalb kompliziert, weil ich komplexe Userdaten übergebe. Zitieren
Nic Geschrieben February 27, 2015 at 14:14 Geschrieben February 27, 2015 at 14:14 Du hast nichts vom Rotary erzählt, noch dass es um komplexe Userdaten geht. Dann solltest Du schon genauer schildern was du machen möchtest. Ansonsten wird das Feedback hier mager ausfallen Der Getter auf die aktuelle Position des Rotary ist m.E. gar nicht kompliziert... Zitieren
reinweb Geschrieben February 27, 2015 at 15:29 Autor Geschrieben February 27, 2015 at 15:29 Hej NIC, alles easy - es war kein Vorwurf. Ich habe versucht, ein einfaches & anschauliches Beispiel zu generieren. Ist mir vielleicht nicht optimal gelungen. Mit euren beiden Feedbacks kann ich aber sehr gut was anfangen. Danke dafür. Zitieren
Nic Geschrieben February 28, 2015 at 08:48 Geschrieben February 28, 2015 at 08:48 Quatsch, hatte ich auch nicht als Vorwurf verstanden. Meine letzte Antwort sollte dich auch nur bewegen mit noch mehr Infos zu deinem komplexen Problem rauszurücken. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.