예제 #1
0
 public DialogCalibrate()
 {
     InitializeComponent();
     Pk2.VddOff();
     Pk2.ForcePICkitPowered();
     setupClearButtons();
 }
예제 #2
0
        private void downloadGO()
        {
            panelDownload.Visible    = false;
            panelDownloading.Visible = true;
            buttonHelp.Enabled       = false;
            buttonBack.Enabled       = false;
            buttonNext.Enabled       = false;
            buttonCancel.Enabled     = false;
            buttonCancel.Text        = "Exit";
            this.Update();

            if (radioButtonSelfPower.Checked)
            {
                Pk2.ForceTargetPowered();
            }
            else
            {
                Pk2.ForcePICkitPowered();
            }
            if (ptgMemory <= 5)
            {
                Pk2.EnterLearnMode(ptgMemory); // set memory size to use
            }
            else
            {
                Pk2.EnterLearnMode(0); // default to 128K on illegal value
            }
            if (fastProgramming)
            {
                Pk2.SetProgrammingSpeed(0);
            }
            else
            {
                Pk2.SetProgrammingSpeed(icspSpeedSlow);
            }

            PICkit2WriteGo(true);

            Pk2.ExitLearnMode();

            if (ptgMemory <= 5)
            {
                Pk2.EnablePK2GoMode(ptgMemory); // set memory size to use
            }
            else
            {
                Pk2.EnablePK2GoMode(0); // default to 128K on illegal value.
            }
            Pk2.DisconnectPICkit2Unit();

            panelDownloading.Visible  = false;
            panelDownloadDone.Visible = true;
            buttonHelp.Enabled        = true;
            buttonNext.Enabled        = true;
            buttonNext.Text           = "Next >";
            buttonCancel.Enabled      = true;
            timerBlink.Enabled        = true;
        }
예제 #3
0
        private void buttonVDDOn_Click(object sender, EventArgs e)
        {
            float vdd = 0;
            float vpp = 0;

            labelGood.Visible     = false;
            labelVDDShort.Visible = false;
            labelVDDLow.Visible   = false;
            labelReadVDD.Text     = "";

            // set VDD with a low threshold
            float voltage = (float)numericUpDown1.Value;

            if (Pk2.SetVDDVoltage(voltage, 0.45F))
            {
                // turn on VDD
                Pk2.ForcePICkitPowered();
                if (Pk2.VddOn())
                {
                    // check status first for shorts
                    if (Pk2.PowerStatus() != KONST.PICkit2PWR.vdd_on)
                    { //short!
                        labelVDDShort.Visible = true;
                        labelReadVDD.Text     = "Short!";
                    }
                    else
                    {// status OK, read VDD voltage
                        if (Pk2.ReadPICkitVoltages(ref vdd, ref vpp))
                        {
                            labelReadVDD.Text = string.Format("{0:0.0} V", vdd);
                            float expectedVDD = (float)numericUpDown1.Value;
                            if (expectedVDD > 4.6F)
                            {
                                expectedVDD = 4.6F;  // There is a typical drop for VDD > 4.6V
                                                     // don't count that
                            }
                            if ((expectedVDD - vdd) > 0.2F)
                            {
                                labelVDDLow.Visible = true;
                            }
                            else
                            {
                                labelGood.Visible = true;
                            }
                        }
                    }
                }
            }
        }
예제 #4
0
        public DialogCalibrate()
        {
            InitializeComponent();
            Pk2.VddOff();
            Pk2.ForcePICkitPowered();
            setupClearButtons();

            if (Pk2.isPK3)
            {
                panelIntro.Visible  = false;
                panelSetup.Visible  = false;
                panelCal.Visible    = false;
                panelUnitID.Visible = true;
                textBoxUnitID.Text  = Pk2.UnitIDRead();
            }
        }