public RoadBrake(int portid, int baudrate, int controlid, int addr, PortDeviceType type) { this.portid = portid; this.baudrate = baudrate; this.controlid = controlid; this.addr = addr; this.portDeviceType = type; DeviceManager.Instance.GetPortDevice(portid, baudrate, type); }
public CardReader(int portid, int baudrate, int controlid, int addr, PortDeviceType portDeviceType, CardReaderUseType useTyp) { this.portid = portid; this.baudrate = baudrate; this.controlid = controlid; this.useTyp = useTyp; this.portDeviceType = portDeviceType; DeviceManager.Instance.GetPortDevice(portid, baudrate, portDeviceType); }
public IPortDevice GetPortDevice(int port, int baudrate, PortDeviceType type) { if (!devices.ContainsKey(port)) { switch (type) { case PortDeviceType.FixRFIDReader: FixRFIDReaderWrapper d1 = new FixRFIDReaderWrapper(port, baudrate); devices.Add(port, d1); break; case PortDeviceType.Mobile: MoblieReaderWrapper d2 = new MoblieReaderWrapper(port, baudrate); devices.Add(port, d2); break; case PortDeviceType.RoadBrake: CommonRoadBrakeWrapper d3 = new CommonRoadBrakeWrapper(port, baudrate); devices.Add(port, d3); break; case PortDeviceType.SyrisControl: SyrisControlWrapper d4 = new SyrisControlWrapper(port, baudrate); devices.Add(port, d4); break; case PortDeviceType.SyrisReader: SyrisReaderWrapper d5 = new SyrisReaderWrapper(port, baudrate); devices.Add(port, d5); break; default: throw new Exception("未知设备类型"); } } else { //if (devices[port].GetDeviceType() != type) //{ // throw new Exception("同一端口出现不同类型的设备"); //} } return(devices[port]); }