reinweb Posted February 26, 2015 at 09:41 AM Posted February 26, 2015 at 09:41 AM 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). Quote
Nic Posted February 27, 2015 at 09:16 AM Posted February 27, 2015 at 09:16 AM 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. Quote
borg Posted February 27, 2015 at 09:21 AM Posted February 27, 2015 at 09:21 AM 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. Quote
reinweb Posted February 27, 2015 at 01:18 PM Author Posted February 27, 2015 at 01:18 PM @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. Quote
Nic Posted February 27, 2015 at 02:14 PM Posted February 27, 2015 at 02:14 PM 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... Quote
reinweb Posted February 27, 2015 at 03:29 PM Author Posted February 27, 2015 at 03:29 PM 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. Quote
Nic Posted February 28, 2015 at 08:48 AM Posted February 28, 2015 at 08:48 AM 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. Quote
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.