private OneRegisterRead ReadOneReg(byte[] RegAddrBuf) { byte[] ReadBuf; ReadBuf = new byte[2]; // need to read the two bytes stored in the targeted register ReadBuf = I2CSensor.Read(ReadBuf.Length); // A little confusing but decided to parse the two bytes into separate bytes, convert to 'int' // then return this information so we can perform calculations. int RawData = BitConverter.ToInt16(ReadBuf, 0); OneRegisterRead OneRegReadDataOut; OneRegReadDataOut.DataMSB = 0xFF00 & RawData >> 8; OneRegReadDataOut.DataLSB = 0x00FF & RawData; // if reading Done bit, use this statement ==> ((byte)(0x08 & RawData) >> 3) return(OneRegReadDataOut); }