public int getFastMeasurement() { sensor.ping(); for (int i = 0; i < ECHOS; i++) m_iMeasured[i] = -1; sensor.getDistances(m_iMeasured); // int count = ECHOS, // sum = 0; // for(int i = 0; i < ECHOS; i++) // if(m_iMeasured[i] == -1) // count--; // else // sum += m_iMeasured[i]; // // int avg = sum / count; // // LCD.clear(); // LCD.drawString("measurements:", 0, 0); // LCD.drawString(m_iMeasured[0] + " " + m_iMeasured[1] + " " + m_iMeasured[2] + " " + // m_iMeasured[3], 0, 1); // LCD.drawString(m_iMeasured[4] + " " + m_iMeasured[5] + " " + m_iMeasured[6] + " " + // m_iMeasured[7], 0, 2); // LCD.drawInt(avg, 0, 3); // Button.waitForAnyPress(); return m_iMeasured[0]; }
@Override public void run() { int[] is = new int[8]; us.setMode(UltrasonicSensor.MODE_PING); while (true) { int i = us.ping(); if (i < 0) { continue; } i = us.getDistances(is); if (i < 0) { continue; } } }