Exemplo n.º 1
0
        void StartCommand(GUI_Settings guiSettings)
        {
            int         hr = 0;
            int         swvclk;
            enumSWVMode enumMode;

            byte[] outBytes;

            ThreadMonitor.SetAbortFlag(false);

            if (guiSettings.prot == Protocol.MANCHESTER)
            {
                enumMode = enumSWVMode.MANCHESTER;
            }
            else
            {
                enumMode = enumSWVMode.TX8;
            }
            if (pp == null)
            {
                AppendTextToLog("==> Error! Not connected to programmer.");
                return;
            }

            swvclk = int.Parse(cbFreq.SelectedItem.ToString(), NumberStyles.AllowThousands);

            hr = pp.SWV_Setup(enumMode, swvclk, out outBytes, out m_sLastError);
            if (!SUCCEEDED(hr))
            {
                AppendTextToLog("==> Error! Can't setup SWV configuration in PP COM. " + m_sLastError);
                return;
            }

            //Start Async mode in COM-level
            string strError = "";

            hr = pp.USB2IIC_AsyncMode1(2, null, out strError);  //Start bulk async mode in COM
            if (!SUCCEEDED(hr))
            {
                AppendTextToLog("==> Error! Can't set async mode in PP COM. " + m_sLastError);
                return;
            }


            guiStatusNow.Busy = Busy.BUSY;
        }