public void LogCANData(object sender, DoWorkEventArgs workEvent) { BackgroundWorker bw = sender as BackgroundWorker; if (!canUsbDevice.isOpen()) { return; } if (m_canLogListener == null) { m_canLogListener = new CANListener(); } canUsbDevice.AcceptOnlyMessageIds = null; canUsbDevice.addListener(m_canLogListener); while (true) { m_canLogListener.waitMessage(1000); if (bw.CancellationPending) { canUsbDevice.removeListener(m_canLogListener); m_canLogListener = null; workEvent.Cancel = true; return; } } }
public void setCANDevice(ICANDevice a_device) { m_canDevice = a_device; if(m_canListener == null) m_canListener = new CANListener(); m_canDevice.addListener(m_canListener); }