Jump to content

[JAVA] - DualButton verhält sich 'seltsam'


Johnny

Recommended Posts

Hi,

 

ich hätte da mal ein Problem mit meinem DualButtonBricklet. In einer recht einfachen Schleife wollte ich mal ein Wechselndes Blinken realisieren (nein, ich will das nicht auf mein Auto bauen ;))

 

Alles in Allem soll nichts weiter passieren, als dass die beiden LEDs abwechselnd an / aus gemacht werden und so der Eindruck des Blinkens entsteht:

for( Integer x = 1; x < mAmount; x++ ) {
    	try {
    		if( x % 2 == 0 ) {
    			dualbutton.setLEDState( dualbutton.LED_RIGHT, BrickletDualButton.LED_STATE_OFF );
    			dualbutton.setLEDState( dualbutton.LED_LEFT, BrickletDualButton.LED_STATE_ON );
    		}
    		else {
    			dualbutton.setLEDState( dualbutton.LED_RIGHT, BrickletDualButton.LED_STATE_ON );
    			dualbutton.setLEDState( dualbutton.LED_LEFT, BrickletDualButton.LED_STATE_OFF );
    		}
    	}
	    catch ( TimeoutException e ) {
	    	
	    	System.out.println( "Timeout occurred! Could not connect on <" + host + "> at port <" + port + "> - check if brick is connected!" );
	    	System.out.println( e.getMessage() );
	    	
	    }
    	try {
    	    TimeUnit.MILLISECONDS.sleep(100);
    	} catch (InterruptedException e) {
    	    //Handle exception
    	}
    	}

 

An und für sich passiert nun folgendes:

* die linke LED leuchtet durchgängig

* die rechte LED blinkt, wie sie soll

 

Vertausche ich im Code das Setzen der linken und rechten LED kommt es wie folgt:

* die linke LED flackert (sieht fast so aus als wäre sie aus oder als wäre der Sleep nur bei 1ms)

* die rechte LED blinkt, wie sie soll

 

in beiden Fällen wechselt die rechte LED anschließend aber nicht mehr bei einem Druck, bei der linken geht das noch. Im Brickviewer ist es noch seltsamer: da wird mit Button L der rechte Button geändert, mit Button R der linke. In meinem Fall sind für meinen nicht funktionierenden Button sowohl "ON" als auch "OFF" anklickbar.

 

Ich bin verwirrt und bitte um eine Idee was das sein könnte...

 

Danke und Gruß

J

Link zu diesem Kommentar
Share on other sites

Die Parameter für setLEDState() sind nicht LED-Index und LED-Zustand, sondern Linke-LED-Zustand und Rechte-LED-Zustand.

 

if( x % 2 == 0 ) {
dualbutton.setLEDState(BrickletDualButton.LED_STATE_ON, BrickletDualButton.LED_STATE_OFF);
}
else {
dualbutton.setLEDState(BrickletDualButton.LED_STATE_OFF, BrickletDualButton.LED_STATE_ON);
}

Link zu diesem Kommentar
Share on other sites

  • 2 weeks later...

Join the conversation

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

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...