task main () { int _color = 0; string _tmp; int red = 0; int green = 0; int blue = 0; nxtDisplayCenteredTextLine(0, "HiTechnic"); nxtDisplayCenteredBigTextLine(1, "COLOUR"); nxtDisplayCenteredTextLine(3, "SMUX Test"); nxtDisplayCenteredTextLine(5, "Connect SMUX to"); nxtDisplayCenteredTextLine(6, "S1 and CS to"); nxtDisplayCenteredTextLine(7, "SMUX Port 1"); wait1Msec(2000); eraseDisplay(); while (true) { // Read the currently detected colour from the sensor _color = HTCSreadColor(HTCOLOR); // If colour == -1, it implies an error has occurred if (_color < 0) { nxtDisplayTextLine(4, "ERROR!!"); nxtDisplayTextLine(5, "HTCSreadColor"); wait1Msec(2000); StopAllTasks(); } // Read the RGB values of the currently colour from the sensor // A return value of false implies an error has occurred if (!HTCSreadRGB(HTCOLOR, red, green, blue)) { nxtDisplayTextLine(4, "ERROR!!"); nxtDisplayTextLine(5, "HTCSreadRGB"); wait1Msec(2000); StopAllTasks(); } // Read the RGB values of the currently colour from the sensor // A return value of false implies an error has occurred nxtDisplayCenteredTextLine(0, "Color: %d", _color); nxtDisplayCenteredBigTextLine(1, "R G B"); nxtEraseRect(0,10, 99, 41); nxtFillRect( 0, 10, 30, 10 + (red+1)/8); nxtFillRect(35, 10, 65, 10 + (green+1)/8); nxtFillRect(70, 10, 99, 10 + (blue+1)/8); StringFormat(_tmp, " %3d %3d", red, green); nxtDisplayTextLine(7, "%s %3d", _tmp, blue); wait1Msec(100); } }
task main () { short red = 0; short green = 0; short blue = 0; short _color = 0; string _tmp; displayCenteredTextLine(0, "HiTechnic"); displayCenteredBigTextLine(1, "COLOUR"); displayCenteredTextLine(3, "Test 1"); displayCenteredTextLine(5, "Connect sensor"); displayCenteredTextLine(6, "to S1"); sleep(2000); eraseDisplay(); while (true) { // Read the currently detected colour from the sensor _color = HTCSreadColor(HTCS); // If colour == -1, it implies an error has occurred if (_color < 0) { displayTextLine(4, "ERROR!!"); sleep(2000); stopAllTasks(); } // Read the RGB values of the currently colour from the sensor // A return value of false implies an error has occurred if (!HTCSreadRGB(HTCS, red, green, blue)) { displayTextLine(4, "ERROR!!"); sleep(2000); stopAllTasks(); } displayCenteredTextLine(0, "Color: %d", _color); displayCenteredBigTextLine(1, "R G B"); eraseRect(0,10, 99, 41); fillRect( 0, 10, 30, 10 + (red+1)/8); fillRect(35, 10, 65, 10 + (green+1)/8); fillRect(70, 10, 99, 10 + (blue+1)/8); StringFormat(_tmp, " %3d %3d", red, green); displayTextLine(7, "%s %3d", _tmp, blue); sleep(100); } }