Boolean Help?

So I was harmlessly programming, when one of our drivers requested that when he presses a button, the indicator should show true. Then after he’s pressed it once, it should stay true until he presses the same button again, making it false.
I know this is possible, but how?


How do I get the latch without a while loop?

So he wants it to toggle? If so you will need 2 bools. One will store the current mode state and the other will store the last state of the button. If the button is true, it will check the the last state of the button. If the last state is false, change the state of the mode.

Here is an example in C++

//this code is in the class header
bool pressed;
bool value;

//this code is in the initializer
pressed = false;//saves the button press
value = false;//what ever is being toggled

//this code is in the periodic thread
if(joystick->GetRawButton(1))//gets the button value and checks if it is true
	if(pressed == false)//Checks if the last button state was false
		value = !value; //flips the value
	pressed = true;//saves the buttons state
else//if the button is not pressed
	pressed = false;//saves the buttons state

I know its not LabView but the concept should be the same.

We have this VI in our programming library, available from this thread

I believe it’s under ‘logic’.

One way, except note that buttons are now (2015) retrieved from an array.