/// <summary> /// /// </summary> /// <param name="DeviceSN">The serial number of the controller to be connected</param> /// <param name="MaxDistance"></param> /// <param name="PosAfterHome"></param> /// <param name="SCCWLS">Soft CCW limitation sensor</param> /// <param name="SCWLS">Soft CW limitation sensor</param> public IrixiMotionController(string DeviceSN = "") { // Generate the instance of the state report object this.Report = new DeviceStateReport(); this.FirmwareInfo = new FimwareInfo(); this.PCA9534Info = new PCA9534Info(); this.TotalAxes = -1; this.SerialNumber = DeviceSN; this.AxisCollection = new ObservableCollection <Axis>(); BindingOperations.EnableCollectionSynchronization(this.AxisCollection, _lock); _hid_device = new USBInterface(VID, PID, DeviceSN); _hid_device.EnableUsbBufferEvent(OnReportReceived); _hid_device.EnableUsbDisconnectEvent(OnDisconnected); }