Geschrieben October 25, 2014 at 20:5725. Okt 2014 Hallo kann es sein das is_light_on negiert ist ? im Code void is_light_on(const ComType com, const IsLightOn *data) { IsLightOnReturn ilor; ilor.header = data->header; ilor.header.length = sizeof(IsLightOnReturn); ilor.light = PIN_LED.pio->PIO_PDSR & PIN_LED.mask ? 0 : 1; BA->send_blocking_with_timeout(&ilor, sizeof(IsLightOnReturn), com); } die Zeile ilor.light = PIN_LED.pio->PIO_PDSR & PIN_LED.mask ? 0 : 1; dreht die Logig um. Besser währe ilor.light = PIN_LED.pio->PIO_PDSR & PIN_LED.mask ? 1 : 0; oder gleich ilor.light = PIN_LED.pio->PIO_PDSR & PIN_LED.mask; mfg Armin
Geschrieben October 27, 2014 at 09:2627. Okt 2014 is_light_on() ist nicht negiert. is_light_on() gibt keinen bool zurück, sondern einen uint8 mit 2 definierten Werten LIGHT_ON = 0 und LIGHT_OFF = 1. ilor.light = PIN_LED.pio->PIO_PDSR & PIN_LED.mask ? LIGHT_ON : LIGHT_OFF; Wenn du das als bool betrachten willst dann ist das negiert, ja. Man hätte da einen bool zurückgeben können. So ist es aber nicht definiert worden und jetzt ist es zu spät das zu ändern, sorry.
Geschrieben October 28, 2014 at 14:5728. Okt 2014 Autor Hallo Proton, die Doku sagt BrickletColor.is_light_on Funktions ID: 12 Anfrage: keine Nutzdaten Antwort: light -- uint8 Gibt true zurück wenn die LED aktiv ist, sonst false. http://www.tinkerforge.com/de/doc/Software/Bricklets/Color_Bricklet_TCPIP.html#color-bricklet-tcpip-api Welche Doku hast du denn ? mfg Armin
Geschrieben October 29, 2014 at 10:5329. Okt 2014 Hrm, da ist wohl einiges schief gelaufen mit dieser Funktion. Ich hab mir die Dokumention gar nicht angesehen, sondern die Firmware. Die Dokumention ist schlicht falsch, sorry. Ich habe sie jetzt korrigiert, danke für den Hinweis.
Geschrieben November 3, 2014 at 07:573. Nov 2014 Autor Hallo Proton, wäre es nicht besser die Funktion doch so wie is_backlight_on vom LCD zu implementieren und nicht auf einmal so eine komische Logik mit 0 is True und 1 ist False zu definieren ? mfg Armin
Geschrieben November 3, 2014 at 11:123. Nov 2014 Wir haben irgendwann (nachdem es das LCD20x4 gab) den Binding-Generatoren beigebracht Konstanten zu definieren/generieren. Seitdem versuchen wir in der API überall Konstanten einzusetzen wo möglich. Daher haben wir hier auf "LIGHT_ON", "LIGHT_OFF" gesetzt. LIGHT_ON = 0 zu definieren war natürlich trotzdem ungeschickt, da haben wir nicht aufgepasst .
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.