Пример #1
0
        private void InitPPCOM(GUI_Settings guiSettings)
        {
            int hr;
            string strVolt;
            string strError;

            if (pp != null) return; //Programmer already started

            pp = new PP_ComLib_WrapperClass();

            if (!pp.w_IsConnected())
            {
                if (pp.w_ConnectToLatest() == 0)
                {
                    AppendTextToLog("Detected PSoC Programmer COM object version " + pp.Version());
                }
                else
                {
                    AppendTextToLog("PSoC Programmer not installed. Please install PSoC Programmer and try again.");

                    //Disconnect from COM-object and unload it
                    pp = null;
                    GC.GetTotalMemory(true);
                    return;
                }
            }

            //Open and Configure MiniProg3 port
            hr = OpenPort(out strError);
            if (!SUCCEEDED(hr))
            {
                rtbLog.AppendText("Connect error: "+strError);
                rtbLog.AppendText("\r\n");

                //Disconnect from COM-object and unload it
                pp = null;
                GC.GetTotalMemory(true);
                return;
            }

            pp.SetProtocolClock(enumFrequencies.FREQ_03_0, out strError);
            if (guiSettings.conn == Connector.P10)
            {
                pp.SetProtocolConnector(1, out strError);
            }
            else
            {
                pp.SetProtocolConnector(0, out strError);
            }

            pp.SetProtocol(enumInterfaces.SWD_SWV, out strError);

            if (guiSettings.volt == Voltage.V5_0)
                strVolt = "5.0";
            else if (guiSettings.volt == Voltage.V3_3)
                strVolt = "3.3";
            else if (guiSettings.volt == Voltage.V2_5)
                strVolt = "2.5";
            else if (guiSettings.volt == Voltage.V1_8)
                strVolt = "1.8";
            else
                strVolt = "EXT";

            if (strVolt != "EXT")
            {
                pp.SetPowerVoltage(strVolt, out strError);
                pp.PowerOn(out strError);
            }

            /* Init the event handler for received data */
            pp.OnUSB2IIC_DataReceived += new PP_ComLib_Wrapper.PP_ComLib_WrapperClass.DelegateByteArrayParam(pp_USB2IIC_ReceivedData);

            //object ports;
            string[] portsStr;
            hr = pp.GetPorts(out portsStr, out strError);
            //string[] portsStr = ports as string[];
            AppendTextToLog("Connected to '" + portsStr[0] + "' programmer!");
            btnConnect.Text = "Disconnect";     // DTV
            connected = 1;                      // DTV
        }
Пример #2
0
        int connected = 0;  // DTV

        private void InitPPCOM(GUI_Settings guiSettings)
        {
            int    hr;
            string strVolt;
            string strError;

            if (pp != null)
            {
                return;             //Programmer already started
            }
            pp = new PP_ComLib_WrapperClass();

            if (!pp.w_IsConnected())
            {
                if (pp.w_ConnectToLatest() == 0)
                {
                    AppendTextToLog("Detected PSoC Programmer COM object version " + pp.Version());
                }
                else
                {
                    AppendTextToLog("PSoC Programmer not installed. Please install PSoC Programmer and try again.");

                    //Disconnect from COM-object and unload it
                    pp = null;
                    GC.GetTotalMemory(true);
                    return;
                }
            }

            //Open and Configure MiniProg3 port
            hr = OpenPort(out strError);
            if (!SUCCEEDED(hr))
            {
                rtbLog.AppendText("Connect error: " + strError);
                rtbLog.AppendText("\r\n");

                //Disconnect from COM-object and unload it
                pp = null;
                GC.GetTotalMemory(true);
                return;
            }

            pp.SetProtocolClock(enumFrequencies.FREQ_03_0, out strError);
            if (guiSettings.conn == Connector.P10)
            {
                pp.SetProtocolConnector(1, out strError);
            }
            else
            {
                pp.SetProtocolConnector(0, out strError);
            }

            pp.SetProtocol(enumInterfaces.SWD_SWV, out strError);

            if (guiSettings.volt == Voltage.V5_0)
            {
                strVolt = "5.0";
            }
            else if (guiSettings.volt == Voltage.V3_3)
            {
                strVolt = "3.3";
            }
            else if (guiSettings.volt == Voltage.V2_5)
            {
                strVolt = "2.5";
            }
            else if (guiSettings.volt == Voltage.V1_8)
            {
                strVolt = "1.8";
            }
            else
            {
                strVolt = "EXT";
            }

            if (strVolt != "EXT")
            {
                pp.SetPowerVoltage(strVolt, out strError);
                pp.PowerOn(out strError);
            }

            /* Init the event handler for received data */
            pp.OnUSB2IIC_DataReceived += new PP_ComLib_Wrapper.PP_ComLib_WrapperClass.DelegateByteArrayParam(pp_USB2IIC_ReceivedData);

            //object ports;
            string[] portsStr;
            hr = pp.GetPorts(out portsStr, out strError);
            //string[] portsStr = ports as string[];
            AppendTextToLog("Connected to '" + portsStr[0] + "' programmer!");
            btnConnect.Text = "Disconnect";     // DTV
            connected       = 1;                // DTV
        }