public bool GetUltrasonicSensorsValue( Sensor sensor, out int value )
{
value = -1;
// request distance value
if ( !LsWrite( sensor, new byte[] { 0x02, 0x42 }, 1 ) )
return false;
int readyBytes = -1;
for ( int i = 0; i < 10; i++ )
{
if ( !LsGetStatus( sensor, out readyBytes ) )
return false;
if ( readyBytes >= 1 )
{
// read from I2C device
byte[] readValues = new byte[1];
int bytesRead;
if ( !LsRead( sensor, readValues, out bytesRead ) )
return false;
value = readValues[0];
return true;
}
}
return false;
}