private short ReadShort(byte registerAddress) { // write register address I2CBus.GetInstance().Write(_slaveConfig, new byte[] { registerAddress }, TransactionTimeout); // get MSB and LSB result byte[] inputData = new byte[2]; I2CBus.GetInstance().Read(_slaveConfig, inputData, TransactionTimeout); return((short)((inputData[0] << 8) | inputData[1])); }
/// <summary> /// Write operation to the BlinkM. /// </summary> /// <param name="command"></param> /// <returns></returns> public int Write(Command.BaseCommand command) { I2CBus bus = I2CBus.GetInstance(); int retValue = bus.Write(this._I2CConfig, command.GetSendBytes(), I2CTimeout); if (command.WaitMillis > 0) { Thread.Sleep(command.WaitMillis); } return(retValue); }
private long ReadUncompensatedPressure() { // write register address I2CBus.GetInstance().Write(_slaveConfig, new byte[2] { 0xF4, (byte)(0x34 + (_oversamplingSetting << 6)) }, TransactionTimeout); // insert pressure waittime using oversampling setting as index. Thread.Sleep(_pressureWaitTime[_oversamplingSetting]); // get MSB and LSB result byte[] inputData = new byte[3]; I2CBus.GetInstance().ReadRegister(_slaveConfig, 0xF6, inputData, TransactionTimeout); return(((inputData[0] << 16) | (inputData[1] << 8) | (inputData[2])) >> (8 - _oversamplingSetting)); }
private long ReadUncompensatedTemperature() { // write register address I2CBus.GetInstance().Write(_slaveConfig, new byte[2] { 0xF4, 0x2E }, TransactionTimeout); // Required as per datasheet. Thread.Sleep(5); // write register address I2CBus.GetInstance().Write(_slaveConfig, new byte[] { 0xF6 }, TransactionTimeout); // get MSB and LSB result byte[] inputData = new byte[2]; I2CBus.GetInstance().Read(_slaveConfig, inputData, TransactionTimeout); return((inputData[0] << 8) | inputData[1]); }
public NetDuinoPlus2(TcpConnectionManager manager) { TwiBus = I2CBus.GetInstance(); ConnectionManager = manager; }