public bool CommsTryConnect(tclsUDSComms clsUDSComms, string szIniFilePath, int iReceiveMaxLength) { tclsIniParser mclsIniParser; string szDLL; string szBaud; int iBaud = 0; string szDeviceSerial; string szConnectionType; string szCommPort; string szDiagRXID; string szDiagTXID; UInt32 u32DiagRXID = 0; UInt32 u32DiagTXID = 0; mclsUDSComms = clsUDSComms; mclsIniParser = new tclsIniParser(szIniFilePath); try { szConnectionType = mclsIniParser.GetSetting("Program", "ConnectionType"); if (0 == String.Compare(szConnectionType, "CANAL")) { menCommsType = tenCommsType.enCANAL; } if (0 == String.Compare(szConnectionType, "CANRP1210")) { menCommsType = tenCommsType.enCANRP1210; } if (0 == String.Compare(szConnectionType, "USBCDC")) { menCommsType = tenCommsType.enUSBCDC; } if (0 == String.Compare(szConnectionType, "Serial")) { menCommsType = tenCommsType.enSerial; } if (0 == String.Compare(szConnectionType, "CANLIBKVASER")) { menCommsType = tenCommsType.enCANLIBKVASER; } } catch { szConnectionType = null; } try { szBaud = mclsIniParser.GetSetting("Devices", "ComsBaud"); iBaud = Convert.ToInt16(szBaud); } catch { szBaud = null; } try { szDeviceSerial = mclsIniParser.GetSetting("Devices", "ComsDeviceSerial"); } catch { szDeviceSerial = null; } try { szDLL = mclsIniParser.GetSetting("Devices", "RP1210Lib"); } catch { szDLL = "Unknown"; } try { szDiagRXID = mclsIniParser.GetSetting("Devices", "ComsDiagIDRX"); u32DiagRXID = Convert.ToUInt32(szDiagRXID); } catch { szDiagRXID = null; } try { szDiagTXID = mclsIniParser.GetSetting("Devices", "ComsDiagIDTX"); u32DiagTXID = Convert.ToUInt32(szDiagTXID); } catch { szDiagTXID = null; } try { szCommPort = mclsIniParser.GetSetting("Devices", "ComsPort"); } catch { szCommPort = null; } switch (menCommsType) { case tenCommsType.enCANAL: { if ((null != szDeviceSerial) && (null != szBaud) && (null != szDiagRXID)) { try { mclsUSB2CAN64Interface = new MDACUSB2CAN64Interface.tclsMDACUSB2CAN64Interface(szDeviceSerial, szBaud); mclsUSB2CAN64Interface.DataReceived += new MDACUSB2CAN64Interface.tclsMDACUSB2CAN64Interface.DataReceivedEventHandler(vRXCallBackUDSOverCAN2USB); mclsUSB2CAN64Interface.SetHeaderSize(10); mboChannelActive = mclsUSB2CAN64Interface.Connect(iBaud, (int)u32DiagRXID, (int)u32DiagTXID); } catch { mboChannelActive = false; } } break; } case tenCommsType.enCANLIBKVASER: { if ((null != szDeviceSerial) && (null != szBaud) && (null != szDiagRXID)) { try { mclsUDSDotNet64Interface = new MDACUDSDotNet64Interface.tclsMDACUDSDotNet64Interface(); mclsUDSDotNet64Interface.DataReceived += new MDACUDSDotNet64Interface.tclsMDACUDSDotNet64Interface.DataReceivedEventHandler(vRXCallBackUDSOverCANLIBKVASER); mclsUDSDotNet64Interface.SetHeaderSize(10); mboChannelActive = mclsUDSDotNet64Interface.Connect(iBaud, szDLL, u32DiagRXID); } catch { mboChannelActive = false; } } break; } case tenCommsType.enUSBCDC: { if ((null != szBaud) && (null != szCommPort)) { try { mclsUSBInterface = new MDACUSBInterface.MDACUSBInterface(); mclsUSBInterface.DataReceived += new MDACUSBInterface.MDACUSBInterface.DataReceivedEventHandler(vRXCallBackUDSOverUSB); mclsUSBInterface.SetHeaderSize(10); mboChannelActive = mclsUSBInterface.Connect(MDACUSBInterface.MDACUSBInterface.tenClassType.enUSBVirtualComm, 0, 0, 0, 0, szCommPort, 1000 * iBaud); if (true == mboChannelActive) { mUSBCDCSubscribed = true; } } catch { } } break; } } return(mboChannelActive); }
public tclsCommsInterface(IntPtr MDIFormHandle) { menCommsType = tenCommsType.enUnknown; tclsRegisterUSBDeviceNotification.RegisterUsbDeviceNotification(MDIFormHandle); }