Ejemplo n.º 1
0
        public int Read(XI2CDevice.Configuration configuration, byte[] data)
        {
            _device.Config = configuration;

            XI2CDevice.I2CReadTransaction read = XI2CDevice.CreateReadTransaction(data);

            return(_device.Execute(new XI2CDevice.I2CTransaction[] { read }, _readTimeout));
        }
Ejemplo n.º 2
0
        public I2CBus(int readTimeout, int writeTimeout)
        {
            _readTimeout = readTimeout;
            _writeTimeout = writeTimeout;

            _defaultConfiguration = new XI2CDevice.Configuration(0, 0);
            _device = new XI2CDevice(_defaultConfiguration);
        }
Ejemplo n.º 3
0
        public I2CBus(int readTimeout, int writeTimeout)
        {
            _readTimeout  = readTimeout;
            _writeTimeout = writeTimeout;

            _defaultConfiguration = new XI2CDevice.Configuration(0, 0);
            _device = new XI2CDevice(_defaultConfiguration);
        }
Ejemplo n.º 4
0
        public bool Write(XI2CDevice.Configuration configuration, byte[] data)
        {
            _device.Config = configuration;

            XI2CDevice.I2CWriteTransaction transaction = XI2CDevice.CreateWriteTransaction(data);
            int transferred = _device.Execute(new XI2CDevice.I2CTransaction[] { transaction }, _writeTimeout);

            return(transferred == data.Length);
        }
Ejemplo n.º 5
0
        public int ReadRegister(XI2CDevice.Configuration configuration, byte register, byte[] data, int length)
        {
            _device.Config = configuration;

            byte[] tmp = new byte[length];

            XI2CDevice.I2CWriteTransaction write = XI2CDevice.CreateWriteTransaction(new byte[] { register });
            XI2CDevice.I2CReadTransaction  read  = XI2CDevice.CreateReadTransaction(tmp);

            int transferred = _device.Execute(new XI2CDevice.I2CTransaction[] { write, read }, _readTimeout);

            if (transferred == (length + 1))
            {
                Array.Copy(tmp, data, transferred - 1);

                return(transferred - 1);
            }

            return(-1);
        }
Ejemplo n.º 6
0
 public I2CDevice(I2CBus bus, ushort address, int clockRate)
 {
     _bus = bus;
     _config = new XI2CDevice.Configuration(address, clockRate);
 }
Ejemplo n.º 7
0
 public I2CDevice(I2CBus bus, ushort address, int clockRate)
 {
     _bus    = bus;
     _config = new XI2CDevice.Configuration(address, clockRate);
 }