Ejemplo n.º 1
0
        public void setT7CANDevice(CANBusAdapter adapterType)
        {
            if (adapterType == CANBusAdapter.LAWICEL)
            {
                canUsbDevice = new CANUSBDevice();
                kwpCanDevice = new KWPCANDevice();
                kwpCanDevice.setCANDevice(canUsbDevice);
                kwpCanDevice.EnableCanLog = m_EnableCanLog;
                KWPHandler.setKWPDevice(kwpCanDevice);
                if (m_EnableCanLog)
                {
                    KWPHandler.startLogging();
                }
                kwpHandler = KWPHandler.getInstance();
                try
                {
                    T7Flasher.setKWPHandler(kwpHandler);
                }
                catch (Exception E)
                {
                    Console.WriteLine(E.Message);
                    AddToCanTrace("Failed to set FLASHer object to KWPHandler");
                }
                flash = T7Flasher.getInstance();
                flash.onStatusChanged += flash_onStatusChanged;
                flash.EnableCanLog = m_EnableCanLog;
            }
            else if (adapterType == CANBusAdapter.ELM327)
            {
                Sleeptime = SleepTime.ELM327;
                canUsbDevice = new CANELM327Device() { ForcedComport = m_forcedComport, ForcedBaudrate = m_forcedBaudrate, BaseBaudrate = BaseBaudrate };
                kwpCanDevice = new KWPCANDevice();
                kwpCanDevice.setCANDevice(canUsbDevice);
                kwpCanDevice.EnableCanLog = m_EnableCanLog;
                KWPHandler.setKWPDevice(kwpCanDevice);
                if (m_EnableCanLog)
                {
                    KWPHandler.startLogging();
                }
                kwpHandler = KWPHandler.getInstance();
                try
                {
                    T7Flasher.setKWPHandler(kwpHandler);
                }
                catch (Exception E)
                {
                    Console.WriteLine(E.Message);
                    AddToCanTrace("Failed to set FLASHer object to KWPHandler");
                }
                flash = T7Flasher.getInstance();
                flash.onStatusChanged += flash_onStatusChanged;
                flash.EnableCanLog = m_EnableCanLog;
            }
            else if (adapterType == CANBusAdapter.JUST4TRIONIC)
            {
                canUsbDevice = new Just4TrionicDevice() { ForcedComport = m_forcedComport, ForcedBaudrate = m_forcedBaudrate };
                kwpCanDevice = new KWPCANDevice();
                kwpCanDevice.setCANDevice(canUsbDevice);
                kwpCanDevice.EnableCanLog = m_EnableCanLog;
                KWPHandler.setKWPDevice(kwpCanDevice);
                if (m_EnableCanLog)
                {
                    KWPHandler.startLogging();
                }
                kwpHandler = KWPHandler.getInstance();
                kwpHandler.ResumeAlivePolling();
                try
                {
                    T7Flasher.setKWPHandler(kwpHandler);
                }
                catch (Exception E)
                {
                    Console.WriteLine(E.Message);
                    AddToCanTrace("Failed to set FLASHer object to KWPHandler");
                }
                flash = T7Flasher.getInstance();
                flash.onStatusChanged += flash_onStatusChanged;
                flash.EnableCanLog = m_EnableCanLog;
            }
            else if (adapterType == CANBusAdapter.COMBI)
            {
                canUsbDevice = new LPCCANDevice();
            }
            else if (adapterType == CANBusAdapter.LAWICEL_VCP)
            {
                canUsbDevice = new CANUSBDirectDevice() { ForcedComport = m_forcedComport, ForcedBaudrate = m_forcedBaudrate, BaseBaudrate = BaseBaudrate };
                kwpCanDevice = new KWPCANDevice();
                kwpCanDevice.setCANDevice(canUsbDevice);
                kwpCanDevice.EnableCanLog = m_EnableCanLog;
                KWPHandler.setKWPDevice(kwpCanDevice);
                if (m_EnableCanLog)
                {
                    KWPHandler.startLogging();
                }
                kwpHandler = KWPHandler.getInstance();
                try
                {
                    T7Flasher.setKWPHandler(kwpHandler);
                }
                catch (Exception E)
                {
                    Console.WriteLine(E.Message);
                    AddToCanTrace("Failed to set FLASHer object to KWPHandler");
                }
                flash = T7Flasher.getInstance();
                flash.onStatusChanged += flash_onStatusChanged;
                flash.EnableCanLog = m_EnableCanLog;
            }

            canUsbDevice.EnableCanLog = m_EnableCanLog;
            canUsbDevice.UseOnlyPBus = m_OnlyPBus;
            canUsbDevice.DisableCanConnectionCheck = m_DisableCanConnectionCheck;
            canUsbDevice.TrionicECU = ECU.TRIONIC7;
            canUsbDevice.onReceivedAdditionalInformation += new ICANDevice.ReceivedAdditionalInformation(canUsbDevice_onReceivedAdditionalInformation);
            //canUsbDevice.onReceivedAdditionalInformationFrame += new ICANDevice.ReceivedAdditionalInformationFrame(canUsbDevice_onReceivedAdditionalInformationFrame);
            //canUsbDevice.acceptOnlyMessageIds = new List<uint> { 0x258,0x238 }; //t7suite
        }