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

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