Example #1
0
        private void ReleaseCOM()
        {
            //Close Port first
            if (pp != null)
            {
                /* Turn power off first (in case the user is switching to ext power) */
                pp.PowerOff(out m_sLastError);
                pp.ClosePort(out m_sLastError);
            }
            else
            {
                AppendTextToLog("Disconnect attempted - not connected!");
            }
            if (m_sLastError != "")
            {
                AppendTextToLog("Disconnect error: " + m_sLastError);
            }
            else
            {
                AppendTextToLog("Successfully disconnected from programmer!");
            }


            //Disconnect from COM-object and unload it
            pp = null;
            GC.GetTotalMemory(true);
        }
Example #2
0
        private void Init()
        {
            progNum = -1;
            ValidateAfterProgramming      = true;
            TestParameterCount            = 9;
            PSoCProgrammerError           = false;
            PSoCProgrammerInstalled       = false;
            SkipLoadingOtherParams        = false;
            ProgrammerSupportedAquireMode = new List <string>();
            ProgrammerSupportedVoltage    = new List <string>();
            ProgrammerSupportedConnectors = new List <string>();
            ProgrammerSupportedClocks     = new List <string>();
            AvailableProgrammerPorts      = new string[] {};
            SelectedProgrammer            = "";
            SelectedVoltageSetting        = "";
            SelectedAquireMode            = "";
            SelectedClock  = "";
            SelectedAction = PSoCProgrammerAction.Program;
            try
            {
                //Programmer = new PSoCProgrammerCOM_ObjectClass();
                Programmer = new PP_ComLib_WrapperClass();
                int hr = Programmer.w_ConnectToNotLess(3, 05);
                if (!IsSuccess(hr))
                {
                    string strError = Programmer.w_GetLastError();
                    return;
                }
                PP_Info pp_info;
                Programmer.w_GetActivePP(out pp_info);
                string msg = "Connected to PP " + pp_info.guiMajor.ToString() + "." + pp_info.guiMinor.ToString();
                Programmer.OnUpdateProgressBar += new PP_ComLib_WrapperClass.SetProgressBarDelegate(Event_UpdateProgressBar);
                Programmer.OnAppendTextToLog   += new PP_ComLib_WrapperClass.SetLogDelegate(Event_AppendTextToLog);
                Programmer.OnUpdateChipName    += new PP_ComLib_WrapperClass.SetDetectedChipName(Event_UpdateChipName);

                ProgrammerVersion = Programmer.Version();
                IsCorrectVersion();
                PSoCProgrammerInstalled = true;
            }
            catch
            {
                PSoCProgrammerInstalled = false;
            }

            if (PSoCProgrammerInstalled == true)
            {
                AvailableProgrammerPorts = GetPorts();
            }
        }
Example #3
0
        private void ReleaseCOM()
        {
            //Close Port first
            if (pp != null)
            {
                /* Turn power off first (in case the user is switching to ext power) */
                pp.PowerOff(out m_sLastError);
                pp.ClosePort(out m_sLastError);
            }
            else
            {
                AppendTextToLog("Disconnect attempted - not connected!");
            }
            if (m_sLastError != "")
            {
                AppendTextToLog("Disconnect error: " + m_sLastError);
            }
            else
            {
                AppendTextToLog("Successfully disconnected from programmer!");
            }

            //Disconnect from COM-object and unload it
            pp = null;
            GC.GetTotalMemory(true);
        }
Example #4
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
        }
Example #5
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
        }