static void Main(string[] args) { Console.WriteLine("Test of SHT31-D and armbianI2Clib"); try { using (var device = new I2CDevice("/dev/i2c-0", 0x44)) { Console.WriteLine("init complete"); device.Write(new byte[] { 0x24, 0x00 }, 2); Thread.Sleep(100); Console.WriteLine("write complete"); var readBuff = device.Read(3); Console.WriteLine($"Read count: {readBuff.Length}"); Console.WriteLine($"Read 1:{readBuff[0]}, 2:{readBuff[1]}, 3:{readBuff[2]}"); Console.WriteLine($"Temp: {CalcTemp(readBuff[0], readBuff[1])}C"); } } catch (Exception ex) { Console.WriteLine($"Exception: {ex.Message}"); } Console.WriteLine("END"); }
public int GetNumSensors(I2CDevice device) { device.Write(0x01); int numSensors = device.Read(); return(numSensors); }
private Vector ReadRawGyro() { _device.Write(MPU6050_REG_GYRO_XOUT_H); var data = _device.Read(6); int xha = data[0]; int xla = data[1]; int yha = data[2]; int yla = data[3]; int zha = data[4]; int zla = data[5]; return(new Vector { XAxis = xha << 8 | xla, YAxis = yha << 8 | yla, ZAxis = zha << 8 | zla }); }
private int GetReadingFromConverter(ushort config) { // Write config register to the ADC var pointerCommand = (new[] { (byte)ADS1015_REG_POINTER_CONFIG.GetHashCode() }).Union(BitConverter.GetBytes(config)).ToArray(); _ads1115.Write((byte)ADS1015_REG_POINTER_CONFIG, BitConverter.GetBytes(config)); //_ads1115.Write(pointerCommand); var dataBuffer = new byte[2]; Task.Delay(TimeSpan.FromMilliseconds(ADS1115_CONVERSIONDELAY.GetHashCode())).Wait(); //pointerCommand = new[] { (byte)ADS1015_REG_POINTER_CONVERT.GetHashCode() }; _ads1115.ReadBytes((byte)ADS1015_REG_POINTER_CONVERT, (byte)dataBuffer.Length, dataBuffer); //_ads1115.WriteRead(pointerCommand, dataBuffer); // Read the conversion results var rawReading = dataBuffer[0] << 8 | dataBuffer[1]; return(rawReading); }
private void SoftwareReset() { _device.Write(0x06); }