André K. Geschrieben May 16, 2020 at 08:34 Geschrieben May 16, 2020 at 08:34 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. Zitieren
rtrbt Geschrieben May 18, 2020 at 08:13 Geschrieben May 18, 2020 at 08:13 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. Zitieren
André K. Geschrieben May 18, 2020 at 08:26 Autor Geschrieben May 18, 2020 at 08:26 (bearbeitet) 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. bearbeitet May 18, 2020 at 08:43 von André K. Zitieren
rtrbt Geschrieben May 18, 2020 at 14:49 Geschrieben May 18, 2020 at 14:49 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. 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.