Jump to content

Recommended Posts

Posted

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

Posted

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.

Posted

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

Posted

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.

Posted

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

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