Cypress Switch Problem

Hey,
I’ve got two switches connected up to our team’s Cypress board and I wanted one switch if it was false to be able to make the robot drive with joystick, but if it was true I wanted it to photo sense.

while (isOperatorControl()) {
            gyro.setSensitivity(0.125);
            dsLCD.updateLCD();
            if (GyroAngle >= 360 || GyroAngle <= -360) {
                GyroAngle = GyroAngle % 360;
            }
            updateDashboard();
            PVal = (int) ((petOm.getVoltage()) * 10);
            dsLCD.println(DriverStationLCD.Line.kMain6, 1, "Arm Angle " + PVal);
            dsLCD.println(DriverStationLCD.Line.kUser2, 1, "Light " + light.getAverageValue());
            dsLCD.println(DriverStationLCD.Line.kUser3, 1, "Gyro Angle " + GyroAngle);
            ds = DriverStation.getInstance();
            if (ds.getDigitalIn(1)) {
                photosense(rite, left, middle);
                ds = DriverStation.getInstance();

            }
            else
                {
                if (ds.getDigitalIn(3)) {
                    FullSpeed(r1, r2, l1, l2, rightStick);
                    ds = DriverStation.getInstance();

                }
                if (!ds.getDigitalIn(3)) {
                    HalfSpeed(r1, r2, l1, l2, rightStick);
                    ds = DriverStation.getInstance();
                }
                ds = DriverStation.getInstance();
            }
        }

If youre using the Cypress module, you have to use the EnhancedDigitalIO class (or something close to that) instead.

[EDIT]
Just checked, and its DriverStationEnhancedIO is the class name.
so in initialization you would call (Assumin dio is your DriverStationEnhancedIO variable name)
dio = DriverStation.getInstance().getEnhancedIO();

then you can call getDigital on dio to read in digitalIO’s

I had a problem with the execution of my robot code when I deployed the code and tried to run the robot it wouldn’t run the code in operator control

dio = DriverStation.getInstance().getEnhancedIO();
while (isOperatorControl()) {
            display.updateLCD();
            Camera(cam);
            
            gyro.setSensitivity(0.125);
            if (GyroAngle >= 360 || GyroAngle <= -360) {
                GyroAngle = GyroAngle % 360;
            }
            updateDashboard();
            PVal = (int) ((petOm.getVoltage()) * 10);
            //dsLCD.println(DriverStationLCD.Line.kMain6, 1, "Arm Angle " + PVal);
            //dsLCD.println(DriverStationLCD.Line.kUser2, 1, "Light " + light.getAverageValue());
            //dsLCD.println(DriverStationLCD.Line.kUser3, 1, "Gyro Angle " + GyroAngle);
            dio = DriverStation.getInstance().getEnhancedIO();
            try {
                if (dio.getDigital(1)) {
                    photosense(rite, left, middle);
                    dio = DriverStation.getInstance().getEnhancedIO();
                } if (!dio.getDigital(1)) {
                    if (dio.getDigital(3)) {
                        FullSpeed(r1, r2, l1, l2, rightStick);
                        dio = DriverStation.getInstance().getEnhancedIO();
                    }
                    if (!dio.getDigital(3)) {
                        HalfSpeed(r1, r2, l1, l2, rightStick);
                        dio = DriverStation.getInstance().getEnhancedIO();
                    }
                    dio = DriverStation.getInstance().getEnhancedIO();
                }
            } catch (EnhancedIOException ex) {
                ex.printStackTrace();
            }
            dio = DriverStation.getInstance().getEnhancedIO();
        }
        dio = DriverStation.getInstance().getEnhancedIO();
    }