예제 #1
0
        void ThreadFunction_Indent()
        {
            pParent.send_Data_Frame_To_Arduino_SetSystemIdle_Multi();

            pParent.set_AFM_parameters('T', pParent.mCParameter.TriggerForce_nN);
            pParent.set_AFM_parameters('k', pParent.mCParameter.PRCStiffness_nN_per_nm);
            pParent.set_AFM_parameters('s', pParent.mCParameter.PRC_ADCValue_per_nm);
            pParent.set_AFM_parameters('d', pParent.mCParameter.MaxIndentationDepth_nm);
            pParent.set_AFM_parameters('e', pParent.mCParameter.StepSize_nm);
            pParent.set_AFM_parameters('f', pParent.mCParameter.LoopDelay_uS - CParameter.mI_LoopDelay_Min_uS);
            pParent.set_AFM_parameters('g', pParent.mCParameter.NumberOfSamplingPoints);


            pParent.mIndentData       = new double[3, 6000];//25*1024
            pParent.mIndentData_index = -1;
            mSwitch_CancelIndent      = false;
            pParent.mSwitch_IndentTrue_FinishFalse = true;
            pParent.send_Data_Frame_To_Arduino('C', 'I', 'D');
            while (pParent.mSwitch_IndentTrue_FinishFalse == true)
            {
                Thread.Sleep(5);
                if (mSwitch_CancelIndent == true)
                {
                    return;
                }
            }

            string paras = pParent.mCParameter.GetParaString()
                           + pParent.para_XL.ToString() + "%XL\r\n"
                           + pParent.para_YL.ToString() + "%YL\r\n"
                           + "\r\n";

            SaveIndentDataToTextFile(mDataPath,
                                     "_" + pParent.mCParameter.SampleName,
                                     "_" + pParent.GetCurrentTimeString(),
                                     paras,
                                     //"_step_size" + step_size.ToString() +
                                     //"_start_position" + start_position.ToString() +
                                     //"_depth" + depth.ToString() +
                                     //"_time" + pParent.TOC().ToString() + "_",
                                     pParent.mIndentData,
                                     pParent.mIndentData.Rank + 1,
                                     pParent.mIndentData_index
                                     );

            SaveIndentDataToTextFile(mDataPath, null,
                                     null,
                                     paras,
                                     pParent.mIndentData,
                                     pParent.mIndentData.Rank + 1,
                                     pParent.mIndentData_index);
            //button_StartIndent.Enabled = true;

            System.Media.SystemSounds.Hand.Play();
            Thread.Sleep(300);
            System.Media.SystemSounds.Exclamation.Play();// ok
            //MessageBox.Show("done");

            Thread.Sleep(800);
            pParent.send_Data_Frame_To_Arduino_SetSystemIdle_Multi();

            try
            {
                // ShowIndentData();
            }
            catch { MessageBox.Show("show indentation data error"); }
        }
예제 #2
0
 private void button_Read_StrainGauge_Continue_Click(object sender, EventArgs e)
 {
     pParent.send_Data_Frame_To_Arduino('G', 's', 'g', 2);
 }