Ejemplo n.º 1
0
        /// <summary>
        /// Sets the direction.
        /// </summary>
        /// <param name="pin">The pin.</param>
        /// <param name="direction">The direction.</param>
        public void SetDirection(Mcp23008Pin pin, Mcp23008PinDirection direction)
        {
            var register = Register.IODIR;

            connection.WriteByte((byte)register);
            var directions = connection.ReadByte();

            var bit           = (byte)((int)pin & 0xFF);
            var newDirections = (direction == Mcp23008PinDirection.Input)
                                    ? directions | bit
                                    : directions & ~bit;

            connection.Write(new[] { (byte)register, (byte)newDirections });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Sets the direction.
        /// </summary>
        /// <param name="pin">The pin.</param>
        /// <param name="direction">The direction.</param>
        public void SetDirection(Mcp23008Pin pin, Mcp23008PinDirection direction)
        {
            var register = Register.Iodir;

            this.connection.WriteByte((byte)register);
            var directions = this.connection.ReadByte();

            var bit           = (byte)((int)pin & 0xFF);
            var newDirections = direction == Mcp23008PinDirection.Input
                                    ? directions | bit
                                    : directions & ~bit;

            this.connection.Write((byte)register, (byte)newDirections);
        }