Code: /****************************************************************************************************** This task monitors the ports to make sure everything is connected *******************************************************************************************************/ task portMonitor() { while(true) { if (SensorType(S1)==0 || SensorType(S2)==0 || SensorType(S3)==0 || SensorType(S4)==0) { while(SensorType(S1)==0 || SensorType(S2)==0 || SensorType(S3)==0 || SensorType(S4)==0) { eraseDisplay(); setLEDColor(ledRedFlash); displayCenteredBigTextLine(2, "Sensor Port"); displayCenteredBigTextLine(4, "#%d is Unused.", (SensorType(S1)==0) ? 1: (SensorType(S2)==0) ? 2: (SensorType(S3)==0) ? 3: 4 ); displayCenteredBigTextLine(6, "May be Loose."); displayCenteredBigTextLine(8, "Check Wiring."); playTone(440,4); wait1Msec(600); playTone(660,4); wait1Msec(600); } eraseDisplay(); setLEDColor(ledOff); } if (motorType(motorA)==0 || motorType(motorB)==0 || motorType(motorC)==0 || motorType(motorD)==0) { while(motorType(motorA)==0 || motorType(motorB)==0 || motorType(motorC)==0 || motorType(motorD)==0) { eraseDisplay(); setLEDColor(ledRedFlash); displayCenteredBigTextLine(2, "Motor Port"); displayCenteredBigTextLine(4, "#%d is Unused.", (motorType(motorA)==0) ? 1: (motorType(motorB)==0) ? 2: (motorType(motorC)==0) ? 3: 4 ); displayCenteredBigTextLine(6, "May be Loose."); displayCenteredBigTextLine(8, "Check Wiring."); playTone(440,4); wait1Msec(600); playTone(660,4); wait1Msec(600); } eraseDisplay(); setLEDColor(ledOff); } } } void checkPort(const tSensors nPort, TSensorTypes tst) { if (SensorType(nPort)==0) { eraseDisplay(); setLEDColor(ledRedFlash);
displayCenteredBigTextLine(2, (tst==sensorEV3_Touch ? "Touch Sensor": (tst==sensorEV3_Color) ? "Color Sensor": (tst==sensorEV3_Ultrasonic) ? "Ultrasonic": "")); displayCenteredBigTextLine(4, "In Port 1 Could"); displayCenteredBigTextLine(6, "be Loose. Check"); displayCenteredBigTextLine(8, "the Cables"); playSoundFile("Woops"); wait1Msec(1000); OkToMove = true; } }
|