示例#1
0
        void Inputs_IOLineChange(IOLine line, EDDevice device, IOChangeTypes changeType)
        {
            switch (line.IONumber)
            {
            case 0:
                if (changeType == IOChangeTypes.RisingEdge)
                {
                    if (m_device.Outputs[0].Value == 1)     // magnetic latch is ON
                    {
                        GlobalVars.DoorStatus = DOOR_STATUS.LOCKED;
                    }
                    else
                    {
                        GlobalVars.DoorStatus = DOOR_STATUS.CLOSED;
                    }
                }
                else if (changeType == IOChangeTypes.FallingEdge)
                {
                    GlobalVars.DoorStatus = DOOR_STATUS.OPEN;
                }
                OnDoorStatusEvent(new DoorStatusEventArgs(GlobalVars.DoorStatus));
                break;

            case 1:
                break;

            case 2:
                break;

            case 3:
                break;

            case 4:
                break;

            case 5:
                break;

            case 6:
                break;

            case 7:
                break;
            }
            OnIOEvent(new IOEventArgs(IO_TYPE.INPUT, line.IONumber, line.Value == 1 ? true : false));
        }
示例#2
0
 void Outputs_IOLineChange(IOLine line, EDDevice device, IOChangeTypes changeType)
 {
     OnIOEvent(new IOEventArgs(IO_TYPE.OUTPUT, line.IONumber, line.Value == 1 ? true : false));
 }
 public void OnIOLineFallingEdgeChangedEvent(IOLine line, EDDevice device, IOChangeTypes changeType)
 {
     m_Cached = new Payload(Id, new PayloadSubject[] { new PayloadSubject("value", FallingEdgeValue) });
     Invoke(m_Cached);
 }