Micro Switch Code

Declared 2 Micro Switches

DigitalInput *flipperdoorright;
DigitalInput *flipperdoorleft;

Where I want the variables to get data from

flipperdoorleft = new DigitalInput(1);
flipperdoorright = new DigitalInput(2);

What I want it do with those variables

			if (m_leftStick->GetRawButton(5) == 1 && flipperdoorright == 1 ) {
				flipperdoor->Set(Relay::kForward);
				//delay(10);
			} else if (m_leftStick->GetRawButton(4) == 1 && flipperdoorleft == 1 ){
				flipperdoor->Set(Relay::kReverse);
				//delay(10);
			}
			else{
				flipperdoor->Set(Relay::kOff);
			}

(The Error shows up on the if and else if lines)
Error: ISO C++ forbids comparison between pointer and integer

I only included the lines giving me the errors and those that are relative to the question.

So what am I doing wrong?

The flipperdoorright variable is not the value of the switch. It’s a pointer to the object which has methods for reading the switch.

Try flipperdoorright->Get() and flipperdoorleft->Get() instead.

Congratulations on a very good presentation of your problem, by the way.

Thanks, I am actually just learning a lot of the C++ code this year but I think I am catching on pretty quick.

That solved my problem :slight_smile: