public bool ReadHiTechnicAccelerationTiltSensor( NXTBrick.Sensor sensor, ref int xAceeleration, ref int yAceeleration, ref int zAceeleration )
{
byte[] command = { 0x02, 0x42 };
byte[] readBuffer = new byte[6];
int intReady;
int bytesRead;
LsWrite( sensor, command, readBuffer.Length );
LsGetStatus( sensor, out intReady );
LsRead( sensor, readBuffer, out bytesRead );
if ( bytesRead == readBuffer.Length )
{
xAceeleration = readBuffer[0] > 127 ? ( readBuffer[0] - 256 ) * 4 + readBuffer[3] : readBuffer[0] * 4 + readBuffer[3];
yAceeleration = readBuffer[1] > 127 ? ( readBuffer[1] - 256 ) * 4 + readBuffer[4] : readBuffer[1] * 4 + readBuffer[4];
zAceeleration = readBuffer[2] > 127 ? ( readBuffer[2] - 256 ) * 4 + readBuffer[5] : readBuffer[2] * 4 + readBuffer[5];
return true;
}
return false;
}
}