Jump to content

Recommended Posts

Posted

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).

Posted

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.

Posted

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.

Posted

@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.

Posted

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...

Posted

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...