Exemple #1
0
        /// <summary>
        /// Activate/De-activate a specific relay
        /// </summary>
        /// <param name="Rnum"></param>
        /// <param name="state"></param>
        public void RelaySwitch(Relaynum Rnum, Relaystate state)
        {
            uint numBytes = 1;
            int  relay    = 0x00;

            byte[] Out    = { 0x00 };
            byte   pins   = 0x00;
            byte   output = 0x00;

            // Find which relays are ON/OFF
            myFtdiDevice.GetPinStates(ref pins);

            switch (Rnum)
            {
            case Relaynum.ONE:
                relay = 0x01;
                break;

            case Relaynum.TWO:
                relay = 0x02;
                break;

            case Relaynum.THREE:
                relay = 0x04;
                break;

            case Relaynum.FOUR:
                relay = 0x08;
                break;
            }

            switch (state)
            {
            case Relaystate.ON:
                output = (byte)(pins | relay);
                break;

            case Relaystate.OFF:
                output = (byte)(pins & ~(relay));
                break;
            }

            Out[0] = output;
            myFtdiDevice.Write(Out, 1, ref numBytes);
        }
Exemple #2
0
        /// <summary>
        /// Activate/De-activate a specific relay
        /// </summary>
        /// <param name="Rnum"></param>
        /// <param name="state"></param>
        public void RelaySwitch(Relaynum Rnum, Relaystate state)
        {
            uint numBytes = 1;
            int relay = 0x00;
            byte[] Out = { 0x00 };
            byte pins = 0x00;
            byte output = 0x00;

            // Find which relays are ON/OFF
            myFtdiDevice.GetPinStates(ref pins);

            switch (Rnum)
            {
                case Relaynum.ONE:
                    relay = 0x01;
                    break;
                case Relaynum.TWO:
                    relay = 0x02;
                    break;
                case Relaynum.THREE:
                    relay = 0x04;
                    break;
                case Relaynum.FOUR:
                    relay = 0x08;
                    break;
            }

            switch (state)
            {
                case Relaystate.ON:
                    output = (byte)(pins | relay);
                    break;
                case Relaystate.OFF:
                    output = (byte)(pins & ~(relay));
                    break;
            }

            Out[0] = output;
            myFtdiDevice.Write(Out, 1, ref numBytes);
        }