Jump to content
André K.

MASTER_CALLBACK_STACK_VOLTAGE_REACHED funktioniert nicht mehr, warum?

Recommended Posts

Ich schon wieder ;)

Ich sitze hier gerade und bin dabei, meinen Gateway-Daemon auf die neuen Sensoren für Luftdruck etc. umzubauen.

Meine Testumgebung: Macbook USB zum Master 2.1 und daran die drei Bricklets (Temp, Druck, Hygro alle V2)

Ich hab in dem Programm ein Callback MASTER_CALLBACK_STACK_VOLTAGE_REACHED eingebaut um ein paar Statuswerte abzufragen, dieser wird aber hier in der Testumgebung gar nicht aufgerufen. Warum? Liegt es daran daß ich per USB (und nicht per Ethernet-Extension) dran gehe, oder daran daß es eigentlich gar kein Stapel ist mit nur einem Master?

Bin etwas verwirrt.

Share this post


Link to post
Share on other sites

Das Problem ist, dass du den Strom per USB einspeist. Die Stack-Voltage ist die Spannung, die über den Strom-Stecker des Stapels ankommt.

Wenn du dein Programm testen willst, musst du also auch wenn du per USB an den Master gehst, zumindest den Strom über PoE oder eine Step-Down-Power-Supply einspeisen.

Es gibt auch noch get_usb_voltage und zugehörige Callbacks, die funktionieren aber mit dem Master 2.1 nicht mehr.

Share this post


Link to post
Share on other sites
Posted (edited)

OK ich verstehe, also lag ich mit meiner Vermutung gar nicht so falsch.

Im Grunde brauche ich die Voltage gar nicht, ich "zweckentfremde" das bloß um an einen festen 60-Sekunden-Timer zu kommen:

/* Callback für Diagnosefunktion: 60s */
master_register_callback(br_master, MASTER_CALLBACK_STACK_VOLTAGE_REACHED, (void (*)(void))cb_master_diag, NULL);
master_set_stack_voltage_callback_threshold(br_master, MASTER_THRESHOLD_OPTION_INSIDE, 0, 65535);
master_set_debounce_period(br_master, 60000);

In cb_master_diag() frage ich dann lediglich die interne Temperatur ab, um die etwas im Auge zu behalten. Leider gibt es dafür ja keinen direkten Callback.

Edit: Interessant wäre ja eigentlich der Stromverbrauch, aber ich meine ich hätte das mal ganz zu Anfang getestet und immer 0 erhalten, trotz Ethernet-Extension mit PoE, also kein USB. Auch im Brick-Viewer wird immer 0 angezeigt.

Edited by André K.

Share this post


Link to post
Share on other sites
6 hours ago, André K. said:

Interessant wäre ja eigentlich der Stromverbrauch, aber ich meine ich hätte das mal ganz zu Anfang getestet und immer 0 erhalten, trotz Ethernet-Extension mit PoE, also kein USB. Auch im Brick-Viewer wird immer 0 angezeigt.

Da muss ich meine Aussage von oben korrigieren: get_stack_voltage/current misst _nur_ Spannung/Strom an der Eingangsbuchse einer Step Down Power Supply. Das bringt dich mit PoE also nicht weiter. Das muss ich in der Doku mal ausbessern, steht jetzt auf der TODO-Liste.

Warum bei dir das Callback nicht auslöst kann ich dir jetzt nicht sagen. Du kannst aber stattdessen irgendein Callback der neueren Bricklets benutzen, da kannst du explizit "value_has_to_change" auf false setzen.

Share this post


Link to post
Share on other sites

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