/*
  =============================================================================
  main task with some testing code

 */
task main() {
  // Standard range is set to short range
  bool shortrange = true;
  tObstacleZone zone = MSSUMO_NONE;
  nNxtButtonTask  = -2;

  eraseDisplay();

  displayCenteredTextLine(0, "Mindsensors");
  displayCenteredBigTextLine(1, "SUMO Eyes");
  displayCenteredTextLine(3, "Test 1");
  displayCenteredTextLine(5, "Press enter to");
  displayCenteredTextLine(6, "switch between");
  displayCenteredTextLine(7, "ranges");
  sleep(2000);
  eraseDisplay();

  // Set the sensor to short range
  MSSUMOsetShortRange(HTMSSUMO);

  while(true) {
    if (time1[T1] > 1000) {
      if (shortrange == false) {
        // set the sensor to short range and display this
        MSSUMOsetShortRange(HTMSSUMO);
        displayClearTextLine(1);
        displayTextLine(1, "Short range");
        shortrange = true;
      } else {
        // set the sensor to long range and display this
        MSSUMOsetLongRange(HTMSSUMO);
        displayClearTextLine(1);
        displayTextLine(1, "Long range");
        shortrange = false;
      }
      playSound(soundBeepBeep);
      while(bSoundActive)
      time1[T1] = 0;
    }

    while(nNxtButtonPressed != kEnterButton) {
      // Read the zone data
      zone = MSSUMOreadZone(HTMSSUMO);

      switch (zone) {
        case MSSUMO_FRONT: displayCenteredBigTextLine(4, "FRONT"); break;
        case MSSUMO_LEFT:  displayCenteredBigTextLine(4, "LEFT");  break;
        case MSSUMO_RIGHT: displayCenteredBigTextLine(4, "RIGHT"); break;
        case MSSUMO_NONE:  displayCenteredBigTextLine(4, "NONE");  break;
      }
      sleep(50);
    }
  }
}
 /*
  =============================================================================
  main task with some testing code

 */
task main() {
  // Standard range is set to short range
  bool shortrange = true;
  tObstacleZone zone = 0;
  nNxtButtonTask  = -2;

  eraseDisplay();

  nxtDisplayCenteredTextLine(0, "Mindsensors");
  nxtDisplayCenteredBigTextLine(1, "SumoEyes");
  nxtDisplayCenteredTextLine(3, "Test 2");
  nxtDisplayCenteredTextLine(5, "Press enter to");
  nxtDisplayCenteredTextLine(6, "switch between");
  nxtDisplayCenteredTextLine(7, "ranges");
  wait1Msec(2000);
  eraseDisplay();

  // Set the sensor to short range
  MSSUMOsetShortRange(HTMSSUMO);
  nxtDisplayRICFile(0, 0, "sumonone.ric");


  while(true) {
    if (time1[T1] > 1000) {
      if (shortrange == false) {
        // set the sensor to short range and display this
        MSSUMOsetShortRange(HTMSSUMO);
        nxtDisplayCenteredTextLine(7, "Short range");
        shortrange = true;
      } else {
        // set the sensor to long range and display this
        MSSUMOsetLongRange(HTMSSUMO);
        nxtDisplayCenteredTextLine(7, "Long range");
        shortrange = false;
      }
	    PlaySound(soundBeepBeep);
	    while(bSoundActive)
      time1[T1] = 0;
    }

    while(nNxtButtonPressed != kEnterButton) {
	    zone = MSSUMOreadZone(HTMSSUMO);

	    if (shortrange) {
		    switch (zone) {
		      case MSSUMO_NONE:  nxtDisplayRICFile(0, 0, "sumonone.ric");  break;
		      case MSSUMO_FRONT: nxtDisplayRICFile(0, 0, "sumoSF.ric");  break;
		      case MSSUMO_RIGHT:  nxtDisplayRICFile(0, 0, "sumoSL.ric");  break;
		      case MSSUMO_LEFT: nxtDisplayRICFile(0, 0, "sumoSR.ric");  break;
		    }
		    nxtDisplayCenteredTextLine(7, "Short range");
	    } else {
		    switch (zone) {
		      case MSSUMO_NONE:  nxtDisplayRICFile(0, 0, "sumonone.ric");  break;
		      case MSSUMO_FRONT: nxtDisplayRICFile(0, 0, "sumoLF.ric");  break;
		      case MSSUMO_RIGHT:  nxtDisplayRICFile(0, 0, "sumoLL.ric");  break;
		      case MSSUMO_LEFT: nxtDisplayRICFile(0, 0, "sumoLR.ric");  break;
		    }
		    nxtDisplayCenteredTextLine(7, "Long range");
	    }
	    wait1Msec(10);
	  }
  }
}