/// <summary>
        /// Init parameter set up with empty key
        /// </summary>
        private void InitParameter()
        {
            ObservableCollection <string> opStateList = new ObservableCollection <string>();

            EvalParameter = new ListDependentParameter("CAN_operation_state_Pattern", @"These three keywords are used to detect signal value change pattern between two trig-ger points, signals which need to be detected should be defined by user in keyword “signal_list”

Format:
CAN_operation_state_Pattern     = @('init1', 'init2', 'normal', 'speedX')
Operation_state_pattern_start_time = ‘Trigger1’
Operation_state_pattern_stop_time = ‘10000’
evaluate_as_range = @('Sig1','Sig2','Sig3','Sig4')

‘TriggerX’ or number can be used in “Operation_state_pattern_start_time” and “Opera-tion_state_pattern_stop_time”.


", opStateList, null);
        }
Example #2
0
        private void InitParameter()
        {
            EvalParameter = new ListDependentParameter("and_trigger", @"This parameter is used to set ECUTrigger point if user want to evaluate the delta time between two conditions or need a ECUTrigger point for start point.The parameter read_delta_time_xx (xx= 1,2,3,…), and mark of the ECUTrigger point when be used is “TRiggerxx”(xx=1,2,3….).
Four formats are supported.
e.g.
read_ecu_time_1 = %( 'Check_condition' => 'TimeOut', 'Message' => 'ECT1S07' )
read_ecu_time_2 = %( 'Check_condition' => ' DLCFail', 'Message' => 'ECT1S07' )
read_ecu_time_3 = %( 'Check_condition' => ' Init', 'Message' => 'ECT1S07' )
read_ecu_time_4    = %( 'can_signal' => 'Ch3C', 'signal_value' => 32752, 'Check_condition' => '==', ‘Start_Time’ => 20000, ‘delay’ => 2000)
and_trigger_1 = @(‘Trigger1’,’Trigger2’)
and_trigger_2 = @(‘Trigger3’,’Trigger4’)
ECU_signal_Deltatime_1 = @(’500-600’)
ECU_signal_Deltatime_2 = @(’500-600’)
ECU_signal_Deltatime_3 = @(’500-600’)


", new ObservableCollection <string>()
            {
                "", ""
            }, null);
        }
        private void btnSaveTestScript_Click(object sender, RoutedEventArgs e)
        {
            //get fileSaveDialog
            SaveFileDialog saveTestScript = new SaveFileDialog();

            saveTestScript.FileName   = "RBT_CANTx_Universal.par";
            saveTestScript.DefaultExt = ".par";
            saveTestScript.Filter     = "RBT Universal Parameter files (.par)|*.par";

            if (saveTestScript.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string localFilePath = saveTestScript.FileName.ToString();
                string fileNameExt   = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);
                string FilePath      = localFilePath.Substring(0, localFilePath.LastIndexOf("\\"));
                string newFileName   = DateTime.Now.ToString("yyyyMMdd") + fileNameExt;

                FileStream   fsScript = new FileStream(localFilePath, FileMode.Create, FileAccess.ReadWrite);
                StreamWriter swScript = new StreamWriter(fsScript);
                swScript.WriteLine("#Autogenerated at " + DateTime.Now.ToString());

                //print default signal list according to required
                ListDependentParameter defaultSigList = new ListDependentParameter("### default_signal_list", @"This is the signal list that will be used by default if no signal list is men-tioned in the parameter set. The default signal list should be written as shown in the example below. The signal will be printed in the same order in which they appear in the default signal list. This should come at the beginning before the parameter sets start. The names used must be same as in the CAN mapping file. This parameter is mandatory
  e.g.
### default_signal_list                    = @('DR0','DR1','DR2','B_ABS')
", new ObservableCollection <string>(), null);

                defaultSigList.ValueList = new ObservableCollection <string>(ConfManager.Signals.Select(X => X.Name));
                swScript.WriteLine(defaultSigList.Name + " = " + defaultSigList.Value);

                //loop connection to get each testcase script
                string isGenerationFail = "";
                try
                {
                    swScript.WriteLine("\n#Generate signal based test par");
                    foreach (TestScript ts in ConfManager.ConnectTestScript)
                    {
                        swScript.WriteLine(ts.TestCaseScript);
                    }

                    swScript.WriteLine("\n#Generate Bus Generic or line fault test par");
                    foreach (TestScript ts in ConfManager.BusGenericConfig.BusGenericTScript)
                    {
                        swScript.WriteLine(ts.TestCaseScript);
                    }
                    swScript.WriteLine("\n#Generate Network parameter, eg. postrun timing and voltage behavior test par");
                    foreach (TestScript ts in ConfManager.NetworkParConfig.NetworkParTScript)
                    {
                        swScript.WriteLine(ts.TestCaseScript);
                    }
                }
                catch (Exception exp)
                {
                    isGenerationFail = exp.Message;
                }
                finally
                {
                    swScript.Close();
                }

                if (isGenerationFail == "")
                {
                    System.Windows.MessageBox.Show("Project Script Saved Successfully", "Script", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    System.Windows.MessageBox.Show("Exception happened Saving Script:\n" + isGenerationFail, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }