示例#1
0
        public SensorData GetData()
        {
            lock (bus)
            {
                if (rawData == null)
                {
                    rawData = new Byte[6];
                    getDataWriteTransaction = I2CDevice.CreateWriteTransaction(new[] { (Byte)RegisterMap.DataX0 });
                    getDataReadTransaction = I2CDevice.CreateReadTransaction(rawData);
                    getDataTransaction = new I2CDevice.I2CTransaction[] { getDataWriteTransaction, getDataReadTransaction };
                }
                bus.Config = configuration;
                bus.Execute(getDataTransaction, 50);
            }

            // Convert the raw byte data into the raw acceleration data for each axis and convert it into Gs

            return new SensorData
                       {
                           X = resolutionMultiplier * (short)(rawData[1] << 8 | rawData[0]),
                           Y = resolutionMultiplier * (short)(rawData[3] << 8 | rawData[2]),
                           Z = resolutionMultiplier * (short)(rawData[5] << 8 | rawData[4])
                       };
        }
示例#2
0
            public void InitializeI2C()
            {
                myI2CDeviceConfiguration = new I2CDevice.Configuration(0x0, 0x0);
                myI2CDevice = new I2CDevice(myI2CDeviceConfiguration);
#if false
                myI2CDeviceRead = new  I2CDevice.I2CReadTransaction( );
                myI2CDeviceTrans = new  I2CDevice.I2CTransaction();
                myI2CDeviceWrite = new  I2CDevice.I2CWriteTransaction();
#endif
            }