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)); }
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); }