Explorar el Código

V1.0.7优化部分功能:
1、增加读取存储器数据页面;
2、修改整车参数指令。

CN\zhouxiong9 hace 2 años
padre
commit
d173c4315d

+ 301 - 162
Welling_Motor_Debug_Tool/Form1.Designer.cs

@@ -144,6 +144,16 @@ namespace Welling_Motor_Debug_Tool
             this.button_ExportLog = new System.Windows.Forms.Button();
             this.richTextBox_Record = new System.Windows.Forms.RichTextBox();
             this.tabPage_OtherInfo = new System.Windows.Forms.TabPage();
+            this.groupBox16 = new System.Windows.Forms.GroupBox();
+            this.groupBox18 = new System.Windows.Forms.GroupBox();
+            this.radioButton_SIP_SaveNo = new System.Windows.Forms.RadioButton();
+            this.radioButton_SIP_SaveYes = new System.Windows.Forms.RadioButton();
+            this.groupBox17 = new System.Windows.Forms.GroupBox();
+            this.radioButton_EE_SaveYes = new System.Windows.Forms.RadioButton();
+            this.radioButton_EE_SaveNo = new System.Windows.Forms.RadioButton();
+            this.button_ReadSaveFlag = new System.Windows.Forms.Button();
+            this.button_WriteSaveFlag = new System.Windows.Forms.Button();
+            this.checkBox_SaveYes = new System.Windows.Forms.CheckBox();
             this.groupBox9 = new System.Windows.Forms.GroupBox();
             this.button_Recovery = new System.Windows.Forms.Button();
             this.button_ClearLog = new System.Windows.Forms.Button();
@@ -217,6 +227,9 @@ namespace Welling_Motor_Debug_Tool
             this.label50 = new System.Windows.Forms.Label();
             this.label51 = new System.Windows.Forms.Label();
             this.groupBox13 = new System.Windows.Forms.GroupBox();
+            this.label64 = new System.Windows.Forms.Label();
+            this.numericUpDown_OBC_OffTime = new System.Windows.Forms.NumericUpDown();
+            this.label63 = new System.Windows.Forms.Label();
             this.numericUpDown_OBC_WheelAdj = new System.Windows.Forms.NumericUpDown();
             this.label59 = new System.Windows.Forms.Label();
             this.comboBox_OBC_AssistFunc = new System.Windows.Forms.ComboBox();
@@ -237,6 +250,13 @@ namespace Welling_Motor_Debug_Tool
             this.label61 = new System.Windows.Forms.Label();
             this.comboBox_OBC_SetGearST = new System.Windows.Forms.ComboBox();
             this.checkBox_OBC_StartSetGearSt = new System.Windows.Forms.CheckBox();
+            this.tabPage_RAMorFLASH = new System.Windows.Forms.TabPage();
+            this.textBox_Address_End = new System.Windows.Forms.TextBox();
+            this.label66 = new System.Windows.Forms.Label();
+            this.textBox_Address_Begin = new System.Windows.Forms.TextBox();
+            this.label65 = new System.Windows.Forms.Label();
+            this.button_ReadRamFlash = new System.Windows.Forms.Button();
+            this.richTextBox_RamFlasgData = new System.Windows.Forms.RichTextBox();
             this.label23 = new System.Windows.Forms.Label();
             this.label_RecCount = new System.Windows.Forms.Label();
             this.timer_1s = new System.Windows.Forms.Timer(this.components);
@@ -248,16 +268,6 @@ namespace Welling_Motor_Debug_Tool
             this.label44 = new System.Windows.Forms.Label();
             this.label45 = new System.Windows.Forms.Label();
             this.label46 = new System.Windows.Forms.Label();
-            this.groupBox16 = new System.Windows.Forms.GroupBox();
-            this.checkBox_SaveYes = new System.Windows.Forms.CheckBox();
-            this.radioButton_SIP_SaveYes = new System.Windows.Forms.RadioButton();
-            this.radioButton_SIP_SaveNo = new System.Windows.Forms.RadioButton();
-            this.button_ReadSaveFlag = new System.Windows.Forms.Button();
-            this.button_WriteSaveFlag = new System.Windows.Forms.Button();
-            this.groupBox17 = new System.Windows.Forms.GroupBox();
-            this.radioButton_EE_SaveYes = new System.Windows.Forms.RadioButton();
-            this.radioButton_EE_SaveNo = new System.Windows.Forms.RadioButton();
-            this.groupBox18 = new System.Windows.Forms.GroupBox();
             this.menuStrip_Set.SuspendLayout();
             this.statusStrip1.SuspendLayout();
             this.groupBox1.SuspendLayout();
@@ -273,6 +283,9 @@ namespace Welling_Motor_Debug_Tool
             this.tabPage_DebugParam.SuspendLayout();
             this.tabPage_RecordInfo.SuspendLayout();
             this.tabPage_OtherInfo.SuspendLayout();
+            this.groupBox16.SuspendLayout();
+            this.groupBox18.SuspendLayout();
+            this.groupBox17.SuspendLayout();
             this.groupBox9.SuspendLayout();
             this.groupBox8.SuspendLayout();
             this.groupBox7.SuspendLayout();
@@ -283,14 +296,13 @@ namespace Welling_Motor_Debug_Tool
             this.groupBox15.SuspendLayout();
             this.groupBox14.SuspendLayout();
             this.groupBox13.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_OBC_OffTime)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_OBC_WheelAdj)).BeginInit();
             this.groupBox12.SuspendLayout();
             this.groupBox11.SuspendLayout();
             this.groupBox10.SuspendLayout();
+            this.tabPage_RAMorFLASH.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
-            this.groupBox16.SuspendLayout();
-            this.groupBox17.SuspendLayout();
-            this.groupBox18.SuspendLayout();
             this.SuspendLayout();
             // 
             // menuStrip_Set
@@ -323,7 +335,7 @@ namespace Welling_Motor_Debug_Tool
             // 刷新ToolStripMenuItem
             // 
             this.刷新ToolStripMenuItem.Name = "刷新ToolStripMenuItem";
-            this.刷新ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.刷新ToolStripMenuItem.Size = new System.Drawing.Size(128, 26);
             this.刷新ToolStripMenuItem.Text = "刷新";
             this.刷新ToolStripMenuItem.Click += new System.EventHandler(this.刷新ToolStripMenuItem_Click);
             // 
@@ -332,7 +344,7 @@ namespace Welling_Motor_Debug_Tool
             this.端口号ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripComboBox_ComNum});
             this.端口号ToolStripMenuItem.Name = "端口号ToolStripMenuItem";
-            this.端口号ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.端口号ToolStripMenuItem.Size = new System.Drawing.Size(128, 26);
             this.端口号ToolStripMenuItem.Text = "端口号";
             // 
             // toolStripComboBox_ComNum
@@ -348,7 +360,7 @@ namespace Welling_Motor_Debug_Tool
             this.波特率ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripComboBox_Baudrate});
             this.波特率ToolStripMenuItem.Name = "波特率ToolStripMenuItem";
-            this.波特率ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.波特率ToolStripMenuItem.Size = new System.Drawing.Size(128, 26);
             this.波特率ToolStripMenuItem.Text = "波特率";
             // 
             // toolStripComboBox_Baudrate
@@ -366,7 +378,7 @@ namespace Welling_Motor_Debug_Tool
             // 连接ToolStripMenuItem
             // 
             this.连接ToolStripMenuItem.Name = "连接ToolStripMenuItem";
-            this.连接ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.连接ToolStripMenuItem.Size = new System.Drawing.Size(128, 26);
             this.连接ToolStripMenuItem.Text = "连接";
             this.连接ToolStripMenuItem.Click += new System.EventHandler(this.连接ToolStripMenuItem_Click);
             // 
@@ -381,8 +393,10 @@ namespace Welling_Motor_Debug_Tool
             // 
             // 写入存储ToolStripMenuItem
             // 
+            this.写入存储ToolStripMenuItem.Checked = true;
+            this.写入存储ToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
             this.写入存储ToolStripMenuItem.Name = "写入存储ToolStripMenuItem";
-            this.写入存储ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.写入存储ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
             this.写入存储ToolStripMenuItem.Text = "执行保存";
             this.写入存储ToolStripMenuItem.Click += new System.EventHandler(this.写入存储ToolStripMenuItem_Click);
             // 
@@ -430,13 +444,13 @@ namespace Welling_Motor_Debug_Tool
             // 帮助ToolStripMenuItem
             // 
             this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem";
-            this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
             this.帮助ToolStripMenuItem.Text = "查看帮助";
             // 
             // 版本ToolStripMenuItem
             // 
             this.版本ToolStripMenuItem.Name = "版本ToolStripMenuItem";
-            this.版本ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.版本ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
             this.版本ToolStripMenuItem.Text = "版本信息";
             // 
             // statusStrip1
@@ -527,7 +541,7 @@ namespace Welling_Motor_Debug_Tool
             this.comboBox_LightSwitch.Name = "comboBox_LightSwitch";
             this.comboBox_LightSwitch.Size = new System.Drawing.Size(100, 29);
             this.comboBox_LightSwitch.TabIndex = 3;
-            this.comboBox_LightSwitch.SelectionChangeCommitted += new System.EventHandler(this.comboBox_GearSt_SelectionChangeCommitted);
+            //this.comboBox_LightSwitch.SelectedIndexChanged += new System.EventHandler(this.comboBox_GearSt_SelectedIndexChanged);
             // 
             // label3
             // 
@@ -545,18 +559,18 @@ namespace Welling_Motor_Debug_Tool
             this.comboBox_GearSt.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.comboBox_GearSt.FormattingEnabled = true;
             this.comboBox_GearSt.Items.AddRange(new object[] {
-            "0",
-            "1",
-            "2",
-            "3",
-            "4",
-            "5",
-            "Walk"});
+            "OFF",
+            "ECO",
+            "NORM",
+            "SPORT",
+            "TURBO",
+            "SMART",
+            "WALK"});
             this.comboBox_GearSt.Location = new System.Drawing.Point(85, 70);
             this.comboBox_GearSt.Name = "comboBox_GearSt";
             this.comboBox_GearSt.Size = new System.Drawing.Size(100, 29);
             this.comboBox_GearSt.TabIndex = 1;
-            this.comboBox_GearSt.SelectionChangeCommitted += new System.EventHandler(this.comboBox_GearSt_SelectionChangeCommitted);
+            //this.comboBox_GearSt.SelectedIndexChanged += new System.EventHandler(this.comboBox_GearSt_SelectedIndexChanged);
             // 
             // comboBox_WorkMode
             // 
@@ -571,7 +585,7 @@ namespace Welling_Motor_Debug_Tool
             this.comboBox_WorkMode.Name = "comboBox_WorkMode";
             this.comboBox_WorkMode.Size = new System.Drawing.Size(100, 29);
             this.comboBox_WorkMode.TabIndex = 1;
-            this.comboBox_WorkMode.SelectionChangeCommitted += new System.EventHandler(this.comboBox_WorkMode_SelectionChangeCommitted);
+            //this.comboBox_WorkMode.SelectedIndexChanged += new System.EventHandler(this.comboBox_WorkMode_SelectedIndexChanged);
             // 
             // label2
             // 
@@ -1002,6 +1016,7 @@ namespace Welling_Motor_Debug_Tool
             this.tabControl1.Controls.Add(this.tabPage_RecordInfo);
             this.tabControl1.Controls.Add(this.tabPage_OtherInfo);
             this.tabControl1.Controls.Add(this.tabPage_OBC);
+            this.tabControl1.Controls.Add(this.tabPage_RAMorFLASH);
             this.tabControl1.Location = new System.Drawing.Point(10, 27);
             this.tabControl1.Name = "tabControl1";
             this.tabControl1.SelectedIndex = 0;
@@ -1441,6 +1456,7 @@ namespace Welling_Motor_Debug_Tool
             // button_SaveRecordInfo
             // 
             this.button_SaveRecordInfo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
+            this.button_SaveRecordInfo.Enabled = false;
             this.button_SaveRecordInfo.Location = new System.Drawing.Point(808, 259);
             this.button_SaveRecordInfo.Name = "button_SaveRecordInfo";
             this.button_SaveRecordInfo.Size = new System.Drawing.Size(112, 50);
@@ -1462,6 +1478,7 @@ namespace Welling_Motor_Debug_Tool
             // button_ExportLog
             // 
             this.button_ExportLog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128)))));
+            this.button_ExportLog.Enabled = false;
             this.button_ExportLog.Location = new System.Drawing.Point(808, 203);
             this.button_ExportLog.Name = "button_ExportLog";
             this.button_ExportLog.Size = new System.Drawing.Size(112, 50);
@@ -1494,6 +1511,118 @@ namespace Welling_Motor_Debug_Tool
             this.tabPage_OtherInfo.TabIndex = 7;
             this.tabPage_OtherInfo.Text = "其它信息";
             // 
+            // groupBox16
+            // 
+            this.groupBox16.Controls.Add(this.groupBox18);
+            this.groupBox16.Controls.Add(this.groupBox17);
+            this.groupBox16.Controls.Add(this.button_ReadSaveFlag);
+            this.groupBox16.Controls.Add(this.button_WriteSaveFlag);
+            this.groupBox16.Controls.Add(this.checkBox_SaveYes);
+            this.groupBox16.Location = new System.Drawing.Point(627, 172);
+            this.groupBox16.Name = "groupBox16";
+            this.groupBox16.Size = new System.Drawing.Size(303, 132);
+            this.groupBox16.TabIndex = 5;
+            this.groupBox16.TabStop = false;
+            this.groupBox16.Text = "存储标志";
+            // 
+            // groupBox18
+            // 
+            this.groupBox18.Controls.Add(this.radioButton_SIP_SaveNo);
+            this.groupBox18.Controls.Add(this.radioButton_SIP_SaveYes);
+            this.groupBox18.Location = new System.Drawing.Point(106, 27);
+            this.groupBox18.Name = "groupBox18";
+            this.groupBox18.Size = new System.Drawing.Size(95, 95);
+            this.groupBox18.TabIndex = 11;
+            this.groupBox18.TabStop = false;
+            this.groupBox18.Text = "SIP校准";
+            // 
+            // radioButton_SIP_SaveNo
+            // 
+            this.radioButton_SIP_SaveNo.AutoSize = true;
+            this.radioButton_SIP_SaveNo.Location = new System.Drawing.Point(12, 31);
+            this.radioButton_SIP_SaveNo.Name = "radioButton_SIP_SaveNo";
+            this.radioButton_SIP_SaveNo.Size = new System.Drawing.Size(76, 25);
+            this.radioButton_SIP_SaveNo.TabIndex = 9;
+            this.radioButton_SIP_SaveNo.TabStop = true;
+            this.radioButton_SIP_SaveNo.Text = "未存储";
+            this.radioButton_SIP_SaveNo.UseVisualStyleBackColor = true;
+            // 
+            // radioButton_SIP_SaveYes
+            // 
+            this.radioButton_SIP_SaveYes.AutoSize = true;
+            this.radioButton_SIP_SaveYes.Location = new System.Drawing.Point(12, 56);
+            this.radioButton_SIP_SaveYes.Name = "radioButton_SIP_SaveYes";
+            this.radioButton_SIP_SaveYes.Size = new System.Drawing.Size(76, 25);
+            this.radioButton_SIP_SaveYes.TabIndex = 8;
+            this.radioButton_SIP_SaveYes.TabStop = true;
+            this.radioButton_SIP_SaveYes.Text = "已存储";
+            this.radioButton_SIP_SaveYes.UseVisualStyleBackColor = true;
+            // 
+            // groupBox17
+            // 
+            this.groupBox17.Controls.Add(this.radioButton_EE_SaveYes);
+            this.groupBox17.Controls.Add(this.radioButton_EE_SaveNo);
+            this.groupBox17.Location = new System.Drawing.Point(6, 26);
+            this.groupBox17.Name = "groupBox17";
+            this.groupBox17.Size = new System.Drawing.Size(95, 96);
+            this.groupBox17.TabIndex = 10;
+            this.groupBox17.TabStop = false;
+            this.groupBox17.Text = "EEPROM";
+            // 
+            // radioButton_EE_SaveYes
+            // 
+            this.radioButton_EE_SaveYes.AutoSize = true;
+            this.radioButton_EE_SaveYes.Location = new System.Drawing.Point(15, 57);
+            this.radioButton_EE_SaveYes.Name = "radioButton_EE_SaveYes";
+            this.radioButton_EE_SaveYes.Size = new System.Drawing.Size(76, 25);
+            this.radioButton_EE_SaveYes.TabIndex = 8;
+            this.radioButton_EE_SaveYes.TabStop = true;
+            this.radioButton_EE_SaveYes.Text = "已存储";
+            this.radioButton_EE_SaveYes.UseVisualStyleBackColor = true;
+            // 
+            // radioButton_EE_SaveNo
+            // 
+            this.radioButton_EE_SaveNo.AutoSize = true;
+            this.radioButton_EE_SaveNo.Location = new System.Drawing.Point(15, 32);
+            this.radioButton_EE_SaveNo.Name = "radioButton_EE_SaveNo";
+            this.radioButton_EE_SaveNo.Size = new System.Drawing.Size(76, 25);
+            this.radioButton_EE_SaveNo.TabIndex = 9;
+            this.radioButton_EE_SaveNo.TabStop = true;
+            this.radioButton_EE_SaveNo.Text = "未存储";
+            this.radioButton_EE_SaveNo.UseVisualStyleBackColor = true;
+            // 
+            // button_ReadSaveFlag
+            // 
+            this.button_ReadSaveFlag.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
+            this.button_ReadSaveFlag.Location = new System.Drawing.Point(207, 61);
+            this.button_ReadSaveFlag.Name = "button_ReadSaveFlag";
+            this.button_ReadSaveFlag.Size = new System.Drawing.Size(61, 29);
+            this.button_ReadSaveFlag.TabIndex = 3;
+            this.button_ReadSaveFlag.Text = "查询";
+            this.button_ReadSaveFlag.UseVisualStyleBackColor = false;
+            this.button_ReadSaveFlag.Click += new System.EventHandler(this.button_ReadSaveFlag_Click);
+            // 
+            // button_WriteSaveFlag
+            // 
+            this.button_WriteSaveFlag.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
+            this.button_WriteSaveFlag.Location = new System.Drawing.Point(207, 94);
+            this.button_WriteSaveFlag.Name = "button_WriteSaveFlag";
+            this.button_WriteSaveFlag.Size = new System.Drawing.Size(61, 29);
+            this.button_WriteSaveFlag.TabIndex = 4;
+            this.button_WriteSaveFlag.Text = "写入";
+            this.button_WriteSaveFlag.UseVisualStyleBackColor = false;
+            this.button_WriteSaveFlag.Click += new System.EventHandler(this.button_WriteSaveFlag_Click);
+            // 
+            // checkBox_SaveYes
+            // 
+            this.checkBox_SaveYes.AutoSize = true;
+            this.checkBox_SaveYes.Location = new System.Drawing.Point(207, 27);
+            this.checkBox_SaveYes.Name = "checkBox_SaveYes";
+            this.checkBox_SaveYes.Size = new System.Drawing.Size(93, 25);
+            this.checkBox_SaveYes.TabIndex = 5;
+            this.checkBox_SaveYes.Text = "执行保存";
+            this.checkBox_SaveYes.UseVisualStyleBackColor = true;
+            // 
             // groupBox9
             // 
             this.groupBox9.Controls.Add(this.button_Recovery);
@@ -1509,7 +1638,7 @@ namespace Welling_Motor_Debug_Tool
             // 
             // button_Recovery
             // 
-            this.button_Recovery.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
+            this.button_Recovery.BackColor = System.Drawing.Color.Fuchsia;
             this.button_Recovery.Location = new System.Drawing.Point(168, 26);
             this.button_Recovery.Name = "button_Recovery";
             this.button_Recovery.Size = new System.Drawing.Size(100, 60);
@@ -1520,7 +1649,7 @@ namespace Welling_Motor_Debug_Tool
             // 
             // button_ClearLog
             // 
-            this.button_ClearLog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
+            this.button_ClearLog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
             this.button_ClearLog.Location = new System.Drawing.Point(168, 90);
             this.button_ClearLog.Name = "button_ClearLog";
             this.button_ClearLog.Size = new System.Drawing.Size(100, 60);
@@ -1531,18 +1660,18 @@ namespace Welling_Motor_Debug_Tool
             // 
             // button_Reset
             // 
-            this.button_Reset.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128)))));
+            this.button_Reset.BackColor = System.Drawing.Color.Lime;
             this.button_Reset.Location = new System.Drawing.Point(37, 90);
             this.button_Reset.Name = "button_Reset";
             this.button_Reset.Size = new System.Drawing.Size(100, 60);
             this.button_Reset.TabIndex = 2;
-            this.button_Reset.Text = "系统复位";
+            this.button_Reset.Text = "系统关机";
             this.button_Reset.UseVisualStyleBackColor = false;
             this.button_Reset.Click += new System.EventHandler(this.button_Reset_Click);
             // 
             // button_SystemClear
             // 
-            this.button_SystemClear.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
+            this.button_SystemClear.BackColor = System.Drawing.Color.Red;
             this.button_SystemClear.Location = new System.Drawing.Point(37, 26);
             this.button_SystemClear.Name = "button_SystemClear";
             this.button_SystemClear.Size = new System.Drawing.Size(100, 60);
@@ -2245,6 +2374,9 @@ namespace Welling_Motor_Debug_Tool
             // 
             // groupBox13
             // 
+            this.groupBox13.Controls.Add(this.label64);
+            this.groupBox13.Controls.Add(this.numericUpDown_OBC_OffTime);
+            this.groupBox13.Controls.Add(this.label63);
             this.groupBox13.Controls.Add(this.numericUpDown_OBC_WheelAdj);
             this.groupBox13.Controls.Add(this.label59);
             this.groupBox13.Controls.Add(this.comboBox_OBC_AssistFunc);
@@ -2260,6 +2392,39 @@ namespace Welling_Motor_Debug_Tool
             this.groupBox13.TabStop = false;
             this.groupBox13.Text = "设置用户参数";
             // 
+            // label64
+            // 
+            this.label64.AutoSize = true;
+            this.label64.Location = new System.Drawing.Point(161, 122);
+            this.label64.Name = "label64";
+            this.label64.Size = new System.Drawing.Size(39, 21);
+            this.label64.TabIndex = 14;
+            this.label64.Text = "min";
+            // 
+            // numericUpDown_OBC_OffTime
+            // 
+            this.numericUpDown_OBC_OffTime.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192)))));
+            this.numericUpDown_OBC_OffTime.Location = new System.Drawing.Point(83, 115);
+            this.numericUpDown_OBC_OffTime.Maximum = new decimal(new int[] {
+            240,
+            0,
+            0,
+            0});
+            this.numericUpDown_OBC_OffTime.Name = "numericUpDown_OBC_OffTime";
+            this.numericUpDown_OBC_OffTime.ReadOnly = true;
+            this.numericUpDown_OBC_OffTime.Size = new System.Drawing.Size(72, 28);
+            this.numericUpDown_OBC_OffTime.TabIndex = 13;
+            this.numericUpDown_OBC_OffTime.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label63
+            // 
+            this.label63.AutoSize = true;
+            this.label63.Location = new System.Drawing.Point(6, 119);
+            this.label63.Name = "label63";
+            this.label63.Size = new System.Drawing.Size(74, 21);
+            this.label63.TabIndex = 12;
+            this.label63.Text = "关机时间";
+            // 
             // numericUpDown_OBC_WheelAdj
             // 
             this.numericUpDown_OBC_WheelAdj.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192)))));
@@ -2456,6 +2621,7 @@ namespace Welling_Motor_Debug_Tool
             this.comboBox_OBC_LightSw.Name = "comboBox_OBC_LightSw";
             this.comboBox_OBC_LightSw.Size = new System.Drawing.Size(89, 29);
             this.comboBox_OBC_LightSw.TabIndex = 6;
+            //this.comboBox_OBC_LightSw.SelectedIndexChanged += new System.EventHandler(this.comboBox_OBC_SetGearST_SelectedIndexChanged);
             // 
             // label61
             // 
@@ -2473,17 +2639,18 @@ namespace Welling_Motor_Debug_Tool
             this.comboBox_OBC_SetGearST.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.comboBox_OBC_SetGearST.FormattingEnabled = true;
             this.comboBox_OBC_SetGearST.Items.AddRange(new object[] {
-            "0",
-            "1",
-            "2",
-            "3",
-            "4",
-            "5",
-            "Walk"});
+            "OFF",
+            "ECO",
+            "NORM",
+            "SPORT",
+            "TURBO",
+            "SMART",
+            "WALK"});
             this.comboBox_OBC_SetGearST.Location = new System.Drawing.Point(51, 28);
             this.comboBox_OBC_SetGearST.Name = "comboBox_OBC_SetGearST";
             this.comboBox_OBC_SetGearST.Size = new System.Drawing.Size(89, 29);
             this.comboBox_OBC_SetGearST.TabIndex = 4;
+            //this.comboBox_OBC_SetGearST.SelectedIndexChanged += new System.EventHandler(this.comboBox_OBC_SetGearST_SelectedIndexChanged);
             // 
             // checkBox_OBC_StartSetGearSt
             // 
@@ -2496,6 +2663,77 @@ namespace Welling_Motor_Debug_Tool
             this.checkBox_OBC_StartSetGearSt.UseVisualStyleBackColor = true;
             this.checkBox_OBC_StartSetGearSt.CheckedChanged += new System.EventHandler(this.checkBox_OBC_StartSetGearSt_CheckedChanged);
             // 
+            // tabPage_RAMorFLASH
+            // 
+            this.tabPage_RAMorFLASH.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.tabPage_RAMorFLASH.Controls.Add(this.textBox_Address_End);
+            this.tabPage_RAMorFLASH.Controls.Add(this.label66);
+            this.tabPage_RAMorFLASH.Controls.Add(this.textBox_Address_Begin);
+            this.tabPage_RAMorFLASH.Controls.Add(this.label65);
+            this.tabPage_RAMorFLASH.Controls.Add(this.button_ReadRamFlash);
+            this.tabPage_RAMorFLASH.Controls.Add(this.richTextBox_RamFlasgData);
+            this.tabPage_RAMorFLASH.Location = new System.Drawing.Point(4, 30);
+            this.tabPage_RAMorFLASH.Name = "tabPage_RAMorFLASH";
+            this.tabPage_RAMorFLASH.Size = new System.Drawing.Size(937, 315);
+            this.tabPage_RAMorFLASH.TabIndex = 9;
+            this.tabPage_RAMorFLASH.Text = "存储器读取";
+            // 
+            // textBox_Address_End
+            // 
+            this.textBox_Address_End.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_Address_End.Location = new System.Drawing.Point(811, 160);
+            this.textBox_Address_End.Name = "textBox_Address_End";
+            this.textBox_Address_End.Size = new System.Drawing.Size(107, 28);
+            this.textBox_Address_End.TabIndex = 10;
+            this.textBox_Address_End.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label66
+            // 
+            this.label66.AutoSize = true;
+            this.label66.Location = new System.Drawing.Point(819, 136);
+            this.label66.Name = "label66";
+            this.label66.Size = new System.Drawing.Size(91, 21);
+            this.label66.TabIndex = 9;
+            this.label66.Text = "结束地址0x";
+            // 
+            // textBox_Address_Begin
+            // 
+            this.textBox_Address_Begin.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_Address_Begin.Location = new System.Drawing.Point(811, 96);
+            this.textBox_Address_Begin.Name = "textBox_Address_Begin";
+            this.textBox_Address_Begin.Size = new System.Drawing.Size(107, 28);
+            this.textBox_Address_Begin.TabIndex = 8;
+            this.textBox_Address_Begin.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label65
+            // 
+            this.label65.AutoSize = true;
+            this.label65.Location = new System.Drawing.Point(819, 72);
+            this.label65.Name = "label65";
+            this.label65.Size = new System.Drawing.Size(91, 21);
+            this.label65.TabIndex = 7;
+            this.label65.Text = "起始地址0x";
+            // 
+            // button_ReadRamFlash
+            // 
+            this.button_ReadRamFlash.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
+            this.button_ReadRamFlash.Location = new System.Drawing.Point(808, 259);
+            this.button_ReadRamFlash.Name = "button_ReadRamFlash";
+            this.button_ReadRamFlash.Size = new System.Drawing.Size(112, 50);
+            this.button_ReadRamFlash.TabIndex = 5;
+            this.button_ReadRamFlash.Text = "读取数据";
+            this.button_ReadRamFlash.UseVisualStyleBackColor = false;
+            this.button_ReadRamFlash.Click += new System.EventHandler(this.button_ReadRamFlash_Click);
+            // 
+            // richTextBox_RamFlasgData
+            // 
+            this.richTextBox_RamFlasgData.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.richTextBox_RamFlasgData.Location = new System.Drawing.Point(11, 6);
+            this.richTextBox_RamFlasgData.Name = "richTextBox_RamFlasgData";
+            this.richTextBox_RamFlasgData.Size = new System.Drawing.Size(796, 303);
+            this.richTextBox_RamFlasgData.TabIndex = 4;
+            this.richTextBox_RamFlasgData.Text = "";
+            // 
             // label23
             // 
             this.label23.AutoSize = true;
@@ -2523,7 +2761,7 @@ namespace Welling_Motor_Debug_Tool
             // timer_1s
             // 
             this.timer_1s.Enabled = true;
-            this.timer_1s.Interval = 1000;
+            this.timer_1s.Interval = 500;
             this.timer_1s.Tick += new System.EventHandler(this.timer_1s_Tick);
             // 
             // pictureBox1
@@ -2605,118 +2843,6 @@ namespace Welling_Motor_Debug_Tool
             this.label46.Size = new System.Drawing.Size(1, 15);
             this.label46.TabIndex = 15;
             // 
-            // groupBox16
-            // 
-            this.groupBox16.Controls.Add(this.groupBox18);
-            this.groupBox16.Controls.Add(this.groupBox17);
-            this.groupBox16.Controls.Add(this.button_ReadSaveFlag);
-            this.groupBox16.Controls.Add(this.button_WriteSaveFlag);
-            this.groupBox16.Controls.Add(this.checkBox_SaveYes);
-            this.groupBox16.Location = new System.Drawing.Point(627, 172);
-            this.groupBox16.Name = "groupBox16";
-            this.groupBox16.Size = new System.Drawing.Size(303, 132);
-            this.groupBox16.TabIndex = 5;
-            this.groupBox16.TabStop = false;
-            this.groupBox16.Text = "存储标志";
-            // 
-            // checkBox_SaveYes
-            // 
-            this.checkBox_SaveYes.AutoSize = true;
-            this.checkBox_SaveYes.Location = new System.Drawing.Point(207, 27);
-            this.checkBox_SaveYes.Name = "checkBox_SaveYes";
-            this.checkBox_SaveYes.Size = new System.Drawing.Size(93, 25);
-            this.checkBox_SaveYes.TabIndex = 5;
-            this.checkBox_SaveYes.Text = "执行保存";
-            this.checkBox_SaveYes.UseVisualStyleBackColor = true;
-            // 
-            // radioButton_SIP_SaveYes
-            // 
-            this.radioButton_SIP_SaveYes.AutoSize = true;
-            this.radioButton_SIP_SaveYes.Location = new System.Drawing.Point(12, 56);
-            this.radioButton_SIP_SaveYes.Name = "radioButton_SIP_SaveYes";
-            this.radioButton_SIP_SaveYes.Size = new System.Drawing.Size(76, 25);
-            this.radioButton_SIP_SaveYes.TabIndex = 8;
-            this.radioButton_SIP_SaveYes.TabStop = true;
-            this.radioButton_SIP_SaveYes.Text = "已存储";
-            this.radioButton_SIP_SaveYes.UseVisualStyleBackColor = true;
-            // 
-            // radioButton_SIP_SaveNo
-            // 
-            this.radioButton_SIP_SaveNo.AutoSize = true;
-            this.radioButton_SIP_SaveNo.Location = new System.Drawing.Point(12, 31);
-            this.radioButton_SIP_SaveNo.Name = "radioButton_SIP_SaveNo";
-            this.radioButton_SIP_SaveNo.Size = new System.Drawing.Size(76, 25);
-            this.radioButton_SIP_SaveNo.TabIndex = 9;
-            this.radioButton_SIP_SaveNo.TabStop = true;
-            this.radioButton_SIP_SaveNo.Text = "未存储";
-            this.radioButton_SIP_SaveNo.UseVisualStyleBackColor = true;
-            // 
-            // button_ReadSaveFlag
-            // 
-            this.button_ReadSaveFlag.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
-            this.button_ReadSaveFlag.Location = new System.Drawing.Point(207, 61);
-            this.button_ReadSaveFlag.Name = "button_ReadSaveFlag";
-            this.button_ReadSaveFlag.Size = new System.Drawing.Size(61, 29);
-            this.button_ReadSaveFlag.TabIndex = 3;
-            this.button_ReadSaveFlag.Text = "查询";
-            this.button_ReadSaveFlag.UseVisualStyleBackColor = false;
-            this.button_ReadSaveFlag.Click += new System.EventHandler(this.button_ReadSaveFlag_Click);
-            // 
-            // button_WriteSaveFlag
-            // 
-            this.button_WriteSaveFlag.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
-            this.button_WriteSaveFlag.Location = new System.Drawing.Point(207, 94);
-            this.button_WriteSaveFlag.Name = "button_WriteSaveFlag";
-            this.button_WriteSaveFlag.Size = new System.Drawing.Size(61, 29);
-            this.button_WriteSaveFlag.TabIndex = 4;
-            this.button_WriteSaveFlag.Text = "写入";
-            this.button_WriteSaveFlag.UseVisualStyleBackColor = false;
-            this.button_WriteSaveFlag.Click += new System.EventHandler(this.button_WriteSaveFlag_Click);
-            // 
-            // groupBox17
-            // 
-            this.groupBox17.Controls.Add(this.radioButton_EE_SaveYes);
-            this.groupBox17.Controls.Add(this.radioButton_EE_SaveNo);
-            this.groupBox17.Location = new System.Drawing.Point(6, 26);
-            this.groupBox17.Name = "groupBox17";
-            this.groupBox17.Size = new System.Drawing.Size(95, 96);
-            this.groupBox17.TabIndex = 10;
-            this.groupBox17.TabStop = false;
-            this.groupBox17.Text = "EEPROM";
-            // 
-            // radioButton_EE_SaveYes
-            // 
-            this.radioButton_EE_SaveYes.AutoSize = true;
-            this.radioButton_EE_SaveYes.Location = new System.Drawing.Point(15, 57);
-            this.radioButton_EE_SaveYes.Name = "radioButton_EE_SaveYes";
-            this.radioButton_EE_SaveYes.Size = new System.Drawing.Size(76, 25);
-            this.radioButton_EE_SaveYes.TabIndex = 8;
-            this.radioButton_EE_SaveYes.TabStop = true;
-            this.radioButton_EE_SaveYes.Text = "已存储";
-            this.radioButton_EE_SaveYes.UseVisualStyleBackColor = true;
-            // 
-            // radioButton_EE_SaveNo
-            // 
-            this.radioButton_EE_SaveNo.AutoSize = true;
-            this.radioButton_EE_SaveNo.Location = new System.Drawing.Point(15, 32);
-            this.radioButton_EE_SaveNo.Name = "radioButton_EE_SaveNo";
-            this.radioButton_EE_SaveNo.Size = new System.Drawing.Size(76, 25);
-            this.radioButton_EE_SaveNo.TabIndex = 9;
-            this.radioButton_EE_SaveNo.TabStop = true;
-            this.radioButton_EE_SaveNo.Text = "未存储";
-            this.radioButton_EE_SaveNo.UseVisualStyleBackColor = true;
-            // 
-            // groupBox18
-            // 
-            this.groupBox18.Controls.Add(this.radioButton_SIP_SaveNo);
-            this.groupBox18.Controls.Add(this.radioButton_SIP_SaveYes);
-            this.groupBox18.Location = new System.Drawing.Point(106, 27);
-            this.groupBox18.Name = "groupBox18";
-            this.groupBox18.Size = new System.Drawing.Size(95, 95);
-            this.groupBox18.TabIndex = 11;
-            this.groupBox18.TabStop = false;
-            this.groupBox18.Text = "SIP校准";
-            // 
             // Form1
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
@@ -2745,7 +2871,7 @@ namespace Welling_Motor_Debug_Tool
             this.MaximizeBox = false;
             this.Name = "Form1";
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
-            this.Text = "Welling中置电机调试工具V1.0.6";
+            this.Text = "Welling中置电机调试工具V1.0.7";
             this.Load += new System.EventHandler(this.Form1_Load);
             this.menuStrip_Set.ResumeLayout(false);
             this.menuStrip_Set.PerformLayout();
@@ -2768,6 +2894,12 @@ namespace Welling_Motor_Debug_Tool
             this.tabPage_DebugParam.ResumeLayout(false);
             this.tabPage_RecordInfo.ResumeLayout(false);
             this.tabPage_OtherInfo.ResumeLayout(false);
+            this.groupBox16.ResumeLayout(false);
+            this.groupBox16.PerformLayout();
+            this.groupBox18.ResumeLayout(false);
+            this.groupBox18.PerformLayout();
+            this.groupBox17.ResumeLayout(false);
+            this.groupBox17.PerformLayout();
             this.groupBox9.ResumeLayout(false);
             this.groupBox8.ResumeLayout(false);
             this.groupBox8.PerformLayout();
@@ -2786,19 +2918,16 @@ namespace Welling_Motor_Debug_Tool
             this.groupBox14.PerformLayout();
             this.groupBox13.ResumeLayout(false);
             this.groupBox13.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_OBC_OffTime)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_OBC_WheelAdj)).EndInit();
             this.groupBox12.ResumeLayout(false);
             this.groupBox11.ResumeLayout(false);
             this.groupBox11.PerformLayout();
             this.groupBox10.ResumeLayout(false);
             this.groupBox10.PerformLayout();
+            this.tabPage_RAMorFLASH.ResumeLayout(false);
+            this.tabPage_RAMorFLASH.PerformLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
-            this.groupBox16.ResumeLayout(false);
-            this.groupBox16.PerformLayout();
-            this.groupBox17.ResumeLayout(false);
-            this.groupBox17.PerformLayout();
-            this.groupBox18.ResumeLayout(false);
-            this.groupBox18.PerformLayout();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -3031,5 +3160,15 @@ namespace Welling_Motor_Debug_Tool
         private GroupBox groupBox17;
         private RadioButton radioButton_EE_SaveYes;
         private RadioButton radioButton_EE_SaveNo;
+        private Label label64;
+        private NumericUpDown numericUpDown_OBC_OffTime;
+        private Label label63;
+        private TabPage tabPage_RAMorFLASH;
+        private TextBox textBox_Address_End;
+        private Label label66;
+        private TextBox textBox_Address_Begin;
+        private Label label65;
+        private Button button_ReadRamFlash;
+        private RichTextBox richTextBox_RamFlasgData;
     }
 }

+ 191 - 87
Welling_Motor_Debug_Tool/Form1.cs

@@ -41,6 +41,15 @@ namespace Welling_Motor_Debug_Tool
             comboBox_LightSwitch.SelectedIndex = 1;
             comboBox_OBC_SetGearST.SelectedIndex = 0;
             comboBox_OBC_LightSw.SelectedIndex = 1;
+            comboBox_AssistTorque.SelectedIndex = 0;
+            comboBox_AssistCadence.SelectedIndex = 0;
+            //combobox事件定义
+            this.comboBox_WorkMode.SelectedIndexChanged += new System.EventHandler(this.comboBox_WorkMode_SelectedIndexChanged);
+            this.comboBox_GearSt.SelectedIndexChanged += new System.EventHandler(this.comboBox_GearSt_SelectedIndexChanged);
+            this.comboBox_LightSwitch.SelectedIndexChanged += new System.EventHandler(this.comboBox_GearSt_SelectedIndexChanged);
+            this.comboBox_OBC_SetGearST.SelectedIndexChanged += new System.EventHandler(this.comboBox_OBC_SetGearST_SelectedIndexChanged);
+            this.comboBox_OBC_LightSw.SelectedIndexChanged += new System.EventHandler(this.comboBox_OBC_SetGearST_SelectedIndexChanged);
+
             //端口设置
             mySerialProcess.Init();
             toolStripComboBox_ComNum.Items.AddRange(mySerialProcess.refreshPort());
@@ -224,31 +233,38 @@ namespace Welling_Motor_Debug_Tool
                                     }
                                     //助力档位
                                     DataTemp = (ushort)(Data[13]);
-                                    if (DataTemp == 0x22)
+                                    if (DataTemp == 0x33)
+                                    {
+                                        textBox_RunInfo_GearSt.Text = "SMART";
+                                        //comboBox_GearSt.SelectedIndex = 5;
+                                        //comboBox_OBC_SetGearST.SelectedIndex = 5;
+                                    }
+                                    else if (DataTemp == 0x22)
                                     {
-                                        textBox_RunInfo_GearSt.Text = "Walk";
-                                        comboBox_GearSt.SelectedIndex = 6;
-                                        comboBox_OBC_SetGearST.SelectedIndex = 6;
+                                        textBox_RunInfo_GearSt.Text = "WALK";
+                                        //comboBox_GearSt.SelectedIndex = 6;
+                                        //comboBox_OBC_SetGearST.SelectedIndex = 6;  
                                     }
                                     else
                                     {
-                                        textBox_RunInfo_GearSt.Text = Convert.ToString(DataTemp);
-                                        comboBox_GearSt.SelectedIndex = DataTemp;
-                                        comboBox_OBC_SetGearST.SelectedIndex = DataTemp;
+                                        string[] Gears = new string[5] { "OFF", "ECO", "NORM", "SPORT", "TURBO" };
+                                        textBox_RunInfo_GearSt.Text = Gears[DataTemp];
+                                        //comboBox_GearSt.SelectedIndex = DataTemp;
+                                        //comboBox_OBC_SetGearST.SelectedIndex = DataTemp;
                                     }
                                     //大灯状态
                                     DataTemp = (ushort)(Data[14]);
                                     if (DataTemp == 0xF0)
                                     {
                                         textBox_RunInfo_LightSwitch.Text = "OFF";
-                                        comboBox_LightSwitch.SelectedIndex = 1;
-                                        comboBox_OBC_LightSw.SelectedIndex = 1;
+                                        //comboBox_LightSwitch.SelectedIndex = 1;
+                                        //comboBox_OBC_LightSw.SelectedIndex = 1;
                                     }
                                     else if (DataTemp == 0xF1)
                                     {
                                         textBox_RunInfo_LightSwitch.Text = "ON";
-                                        comboBox_LightSwitch.SelectedIndex = 0;
-                                        comboBox_OBC_LightSw.SelectedIndex = 0;
+                                        //comboBox_LightSwitch.SelectedIndex = 0;
+                                        //comboBox_OBC_LightSw.SelectedIndex = 0;
                                     }
                                     //剩余电量
                                     DataTemp = (ushort)(Data[15]);
@@ -335,7 +351,7 @@ namespace Welling_Motor_Debug_Tool
                             }
                             break;
                         }
-                    case 0xB318://整车信息
+                    case 0xB31A://整车信息
                         {
                             unchecked
                             {
@@ -713,7 +729,25 @@ namespace Welling_Motor_Debug_Tool
                             }
                             break;
                         }
-                    default: break;
+                    default:
+                        {
+                            unchecked
+                            {
+                                if ((CmdTemp & 0xFF00) == 0xAB00) //返回指定地址存储器数据
+                                { 
+                                    this.Invoke((EventHandler)(delegate
+                                    {
+                                        long ByteNum = 0;
+                                        ByteNum = ((Data[4] << 24) + (Data[5] << 16) + (Data[6] << 8) + Data[7]) - ((Data[0] << 24) + (Data[1] << 16) + (Data[2] << 8) + Data[3]) + 1;
+                                        for (int i = 0; i < ByteNum; i++)
+                                        {
+                                            richTextBox_RamFlasgData.AppendText(Convert.ToString(Data[8 + i], 16).PadLeft(2, '0').ToUpper() + " ");
+                                        }
+                                    }));
+                                }  
+                            }
+                            break;
+                        }
                 }
             }
             #endregion
@@ -785,6 +819,9 @@ namespace Welling_Motor_Debug_Tool
                                     //助力方案
                                     richTextBox_OBC_ReadUserInfo.AppendText("助力方案:" + Convert.ToString(Data[4]) + "\r\n");
                                     comboBox_OBC_AssistFunc.SelectedIndex = Data[4] - 1;
+                                    //关机时间
+                                    richTextBox_OBC_ReadUserInfo.AppendText("关机时间:" + Convert.ToString(Data[5]) + " min" + "\r\n");
+                                    numericUpDown_OBC_OffTime.Value = (int)Data[5];
                                 }));
                             }
                             break;
@@ -802,6 +839,7 @@ namespace Welling_Motor_Debug_Tool
                             }
                             break;
                         }
+                    
                     default: break;
                 }
             }
@@ -833,16 +871,16 @@ namespace Welling_Motor_Debug_Tool
             }
             else if (连接ToolStripMenuItem.Text == "断开")
             {
-                result = mySerialProcess.SerialClose();
-                if (result)
-                {
-                    toolStripComboBox_ComNum.Enabled = true;
-                    toolStripComboBox_Baudrate.Enabled = true;
-                    刷新ToolStripMenuItem.Enabled = true;
-                    连接ToolStripMenuItem.Text = "连接";
-                    连接ToolStripMenuItem.Checked = false;
-                    label_COM_Sta.Text = "连接状态:未连接";
-                }
+                checkBox_OBC_StartSetGearSt.Checked = false;
+                mySerialProcess.SerialClose();
+                
+                toolStripComboBox_ComNum.Enabled = true;
+                toolStripComboBox_Baudrate.Enabled = true;
+                刷新ToolStripMenuItem.Enabled = true;
+                连接ToolStripMenuItem.Text = "连接";
+                连接ToolStripMenuItem.Checked = false;
+                label_COM_Sta.Text = "连接状态:未连接";
+                
             }
         }
 
@@ -894,7 +932,7 @@ namespace Welling_Motor_Debug_Tool
             if (MC_RunInfo_Refresh == false)
             {
                 MC_RunInfo_Refresh_Cnt++;
-                if (MC_RunInfo_Refresh_Cnt > 5)//5s
+                if (MC_RunInfo_Refresh_Cnt > 10)//5s
                 {
                     MC_RunInfo_Clear();
                     MC_RunInfo_Refresh_Cnt = 0;
@@ -910,7 +948,7 @@ namespace Welling_Motor_Debug_Tool
             if (BMS_RunInfo_Refresh == false)
             {
                 BMS_RunInfo_Refresh_Cnt++;
-                if (BMS_RunInfo_Refresh_Cnt > 5)//5s
+                if (BMS_RunInfo_Refresh_Cnt > 10)//5s
                 {
                     richTextBox_OBC_BMS_RunInfo.Clear();
                     BMS_RunInfo_Refresh_Cnt = 0;
@@ -926,7 +964,7 @@ namespace Welling_Motor_Debug_Tool
             if (MC_ErrorCode_Refresh == false)
             {
                 MC_ErrorCode_Refresh_Cnt++;
-                if (MC_ErrorCode_Refresh_Cnt > 5)//5s
+                if (MC_ErrorCode_Refresh_Cnt > 10)//5s
                 {
                     textBox_ErrorCode.Text = "---";
                     MC_ErrorCode_Refresh_Cnt = 0;
@@ -963,7 +1001,9 @@ namespace Welling_Motor_Debug_Tool
             if (checkBox_OBC_StartSetGearSt.Checked == true)
             {
                 var CtrlCode = new byte[2];
-                if (comboBox_OBC_SetGearST.SelectedIndex == 6)//档位
+                if (comboBox_OBC_SetGearST.SelectedIndex == 5)//档位
+                    CtrlCode[0] = 0x33;
+                else if (comboBox_OBC_SetGearST.SelectedIndex == 6)//档位
                     CtrlCode[0] = 0x22;
                 else
                     CtrlCode[0] = (byte)comboBox_OBC_SetGearST.SelectedIndex;
@@ -971,13 +1011,19 @@ namespace Welling_Motor_Debug_Tool
                     CtrlCode[1] = 0xF1;
                 else
                     CtrlCode[1] = 0xF0;
-                mySerialProcess.SendCmd((ushort)0x731, (byte)0x0C, (ushort)0x3002, CtrlCode);
+                if (!mySerialProcess.SendCmdWithoutNotice((ushort)0x731, (byte)0x0C, (ushort)0x3002, CtrlCode))
+                {
+                    checkBox_OBC_StartSetGearSt.Checked = false;
+                }
             }
 
             //OBC定时发送查询电池
             if (checkBox_OBC_StartReadBMS.Checked == true)
             {
-                mySerialProcess.SendCmd((ushort)0x732, (byte)0x11, (ushort)0x5000, null);
+                if (!mySerialProcess.SendCmd((ushort)0x732, (byte)0x11, (ushort)0x5000, null))
+                {
+                    checkBox_OBC_StartReadBMS.Checked = false;
+                }
             }
 
         }
@@ -1057,8 +1103,8 @@ namespace Welling_Motor_Debug_Tool
         /// <param name="e"></param>
         private void button_WriteBikeParam_Click(object sender, EventArgs e)
         {
-            var ConfigParam = new byte[26];
-            for (int i = 0; i < 26; i++)
+            var ConfigParam = new byte[28];
+            for (int i = 0; i < 28; i++)
                 ConfigParam[i] = 0;
             ConfigParam[0] = (byte)((写入存储ToolStripMenuItem.Checked) ? 0x01 : 0x00);
             ushort uwDataTemp = 0;
@@ -1071,7 +1117,7 @@ namespace Welling_Motor_Debug_Tool
                     ConfigParam[2 * i + 2] = (byte)uwDataTemp;
                     ConfigParam[2 * i + 3] = (byte)(uwDataTemp >> 8);
                 }
-                mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x3D1A, ConfigParam);
+                mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x3D1C, ConfigParam);
             }
             catch (Exception)
             {
@@ -1683,6 +1729,7 @@ namespace Welling_Motor_Debug_Tool
                     if (MessageBox.Show("请最后确认", "确认清除?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                     {
                         mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x2605, Code);
+                        MessageBox.Show("系统已关机,请重启!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
             }
@@ -1715,6 +1762,7 @@ namespace Welling_Motor_Debug_Tool
                     if (MessageBox.Show("请最后确认", "确认还原?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                     {
                         mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x2708, Code);
+                        MessageBox.Show("系统已关机,请重启!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
             }
@@ -1737,7 +1785,7 @@ namespace Welling_Motor_Debug_Tool
             Code[4] = (byte)'T';
 
             timer_1s.Enabled = false;
-            if (MessageBox.Show("系统将重启", "确认重启?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
+            if (MessageBox.Show("系统将关机", "确认关机?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x2505, Code);
             }
@@ -1771,6 +1819,7 @@ namespace Welling_Motor_Debug_Tool
                     if (MessageBox.Show("请最后确认", "确认清除?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                     {
                         mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x3909, Code);
+                        MessageBox.Show("系统已关机,请重启!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
             }
@@ -1896,60 +1945,6 @@ namespace Welling_Motor_Debug_Tool
 
         }
 
-        /// <summary>
-        /// 修改写入的助力力矩曲线编号
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void comboBox_AssistTorque_SelectionChangeCommitted(object sender, EventArgs e)
-        {
-
-        }
-
-        /// <summary>
-        /// 修改写入的助力踏频曲线编号
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void comboBox_AssistCadence_SelectionChangeCommitted(object sender, EventArgs e)
-        {
-
-        }
-
-        /// <summary>
-        /// 工作模式选择事件
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void comboBox_WorkMode_SelectionChangeCommitted(object sender, EventArgs e)
-        {
-            var RunMode = new byte[1];
-            if (comboBox_WorkMode.Text == "配置模式")
-                RunMode[0] = 0x01;
-            else
-                RunMode[0] = 0x00;
-            mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x1901, RunMode);
-        }
-
-        /// <summary>
-        /// 助力档位选择事件
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void comboBox_GearSt_SelectionChangeCommitted(object sender, EventArgs e)
-        {
-            var CtrlCode = new byte[2];
-            if (comboBox_GearSt.SelectedIndex == 6)//档位
-                CtrlCode[0] = 0x22;
-            else
-                CtrlCode[0] = (byte)comboBox_GearSt.SelectedIndex;
-            if (comboBox_LightSwitch.SelectedIndex == 0)//车灯
-                CtrlCode[1] = 0xF1;
-            else
-                CtrlCode[1] = 0xF0;
-            mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x2802, CtrlCode);
-        }
-
         /// <summary>
         /// 仪表启动控制档位开关事件
         /// </summary>
@@ -2018,6 +2013,7 @@ namespace Welling_Motor_Debug_Tool
             UserInfoCode[0] = (byte)(int)numericUpDown_OBC_WheelAdj.Value;
             UserInfoCode[1] = (byte)(comboBox_OBC_StartMode.SelectedIndex + 1);
             UserInfoCode[2] = (byte)(comboBox_OBC_AssistFunc.SelectedIndex + 1);
+            UserInfoCode[3] = (byte)(uint)numericUpDown_OBC_OffTime.Value;
             mySerialProcess.SendCmd((ushort)0x731, (byte)0x16, (ushort)0x3408, UserInfoCode);
         }
         
@@ -2189,5 +2185,113 @@ namespace Welling_Motor_Debug_Tool
             }
             timer_1s.Enabled = true;    
         }
+
+        /// <summary>
+        /// 读取指定地址数据
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void button_ReadRamFlash_Click(object sender, EventArgs e)
+        {
+            var Address = new byte[4];
+            UInt32 Address_Begin;
+            UInt32 Addres_End;
+
+            richTextBox_RamFlasgData.Clear();
+
+            if ((textBox_Address_Begin.Text == string.Empty) || (textBox_Address_End.Text == string.Empty))
+            {
+                timer_1s.Enabled = false;
+                MessageBox.Show("请输入起始和结束地址!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                timer_1s.Enabled = true;
+                return;
+            }
+            else if ((textBox_Address_Begin.Text.Length != 8) || (textBox_Address_End.Text.Length != 8))
+            {
+                timer_1s.Enabled = false;
+                MessageBox.Show("请检查地址长度!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                timer_1s.Enabled = true;
+                return;
+            }
+            else
+            {
+                Address = mySerialProcess.HexStringToBytes(textBox_Address_Begin.Text, false);
+                Address_Begin = ((UInt32)Address[0] << 24) + ((UInt32)Address[1] << 16) + ((UInt32)Address[2] << 8) + ((UInt32)Address[3]);
+                Address = mySerialProcess.HexStringToBytes(textBox_Address_End.Text, false);
+                Addres_End = ((UInt32)Address[0] << 24) + ((UInt32)Address[1] << 16) + ((UInt32)Address[2] << 8) + ((UInt32)Address[3]);
+
+                if (Addres_End < Address_Begin)
+                {
+                    timer_1s.Enabled = false;
+                    MessageBox.Show("结束地址必须大于或等于起始地址!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    timer_1s.Enabled = true;
+                    return;
+                }
+                else
+                {
+                    var SendByte = new byte[8];
+                    SendByte[0] = (byte)(Address_Begin >> 24);
+                    SendByte[1] = (byte)(Address_Begin >> 16);
+                    SendByte[2] = (byte)(Address_Begin >> 8);
+                    SendByte[3] = (byte)(Address_Begin);
+                    SendByte[4] = (byte)(Addres_End >> 24);
+                    SendByte[5] = (byte)(Addres_End >> 16);
+                    SendByte[6] = (byte)(Addres_End >> 8);
+                    SendByte[7] = (byte)(Addres_End);
+
+                    mySerialProcess.SendCmd((ushort)0x751, (byte)0x11, (ushort)0x2D08, SendByte);
+                }
+            }
+
+        }
+
+        /// <summary>
+        /// 工作模式选择
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void comboBox_WorkMode_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            var RunMode = new byte[1];
+            if (comboBox_WorkMode.Text == "配置模式")
+                RunMode[0] = 0x01;
+            else
+                RunMode[0] = 0x00;
+            mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x1901, RunMode);
+        }
+
+        /// <summary>
+        /// 助力档位选择
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void comboBox_GearSt_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            var CtrlCode = new byte[2];
+            if (comboBox_GearSt.SelectedIndex == 5)//档位
+                CtrlCode[0] = 0x33;
+            else if (comboBox_GearSt.SelectedIndex == 6)//档位
+                CtrlCode[0] = 0x22;
+            else
+                CtrlCode[0] = (byte)comboBox_GearSt.SelectedIndex;
+            if (comboBox_LightSwitch.SelectedIndex == 0)//车灯
+                CtrlCode[1] = 0xF1;
+            else
+                CtrlCode[1] = 0xF0;
+            mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x2802, CtrlCode);
+            comboBox_OBC_SetGearST.SelectedIndex = comboBox_GearSt.SelectedIndex;
+            comboBox_OBC_LightSw.SelectedIndex = comboBox_LightSwitch.SelectedIndex;
+        }
+
+        /// <summary>
+        /// 仪表档位选择
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void comboBox_OBC_SetGearST_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            comboBox_GearSt.SelectedIndex = comboBox_OBC_SetGearST.SelectedIndex;
+            comboBox_LightSwitch.SelectedIndex = comboBox_OBC_LightSw.SelectedIndex;
+        }
     }
 }

+ 2 - 2
Welling_Motor_Debug_Tool/Params.cs

@@ -10,8 +10,8 @@ namespace Welling_Motor_Debug_Tool
     {
         public List<string> MotorParma = new List<string> { "极对数","电阻","d轴电感","q轴电感","永磁体磁链","Id最大值","Id最小值",
                                                             "额定转速","额定功率","额定电流","额定电压","惯量","最大转矩"};
-        public List<string> BikeParma = new List<string> { "轮", "电控传动比", "助力最大限速", "推行模式限速", "前牙盘T数", "后牙盘T数",
-                                                           "助力方案1", "助力方案2", "前后灯电压" };
+        public List<string> BikeParma = new List<string> { "轮胎周长", "电控传动比", "助力最大限速", "推行模式限速", "前牙盘T数", "后牙盘T数",
+                                                           "助力方案1", "助力方案2", "前后灯电压","轮胎周长微调","启动模式","自动关机时间" };
         public List<string> ControlParma = new List<string> {"位置传感器零点","位置传感器当前零点","峰值电流","电流保护阈值","最高档电压保护阈值","最高档欠压保护阈值",
                                                              "超速保护阈值","温度保护阈值","温度保护恢复阈值","温度降额启动阈值"};
         public List<string> AssistParam = new List<string> { "零速启动增益", "巡航启动增益", "助力转矩曲线编号", "助力踏频曲线编号",

+ 110 - 2
Welling_Motor_Debug_Tool/Serial_Process.cs

@@ -4,6 +4,7 @@ using System.IO.Ports;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using System.Windows.Forms;
 
 namespace Welling_Motor_Debug_Tool
 {
@@ -106,13 +107,71 @@ namespace Welling_Motor_Debug_Tool
         }
         #endregion
 
+        #region 字符串转换为字节流
+        public byte[] HexStringToBytes(string hexStr, bool Flag_Space)
+        {
+            if (string.IsNullOrEmpty(hexStr))
+            {
+                return new byte[0];
+            }
+            if (hexStr.StartsWith("0x"))
+            {
+                hexStr = hexStr.Remove(0, 2);
+            }
+
+            var count = hexStr.Length;
+            var byteCount = 0;
+            if (Flag_Space == true)//相邻字节含空格
+            {
+                if ((count % 3) == 0)//最后字节含空格
+                {
+                    byteCount = count / 3;
+                }
+                else if ((count % 3) == 2)//最后字节不含空格
+                {
+                    byteCount = (count + 1) / 3;
+                }
+                else//数据无效
+                {
+                    MessageBox.Show("相邻字节请插入空格!", "提示");
+                }
+                var result = new byte[byteCount];
+                for (int ii = 0; ii < byteCount; ++ii)
+                {
+                    var tempBytes = Byte.Parse(hexStr.Substring(3 * ii, 2), System.Globalization.NumberStyles.HexNumber);
+                    result[ii] = tempBytes;
+                }
+                return result;
+            }
+            else if (Flag_Space == false)//相邻字节不含空格
+            {
+                if (count % 2 == 1)
+                {
+                    MessageBox.Show("请删除相邻字节之间空格!", "提示");
+                }
+                byteCount = count / 2;
+                var result = new byte[byteCount];
+                for (int ii = 0; ii < byteCount; ++ii)
+                {
+                    var tempBytes = Byte.Parse(hexStr.Substring(2 * ii, 2), System.Globalization.NumberStyles.HexNumber);
+                    result[ii] = tempBytes;
+                }
+                return result;
+            }
+            else
+            {
+                return new byte[0];
+            }
+        }
+        #endregion
+
         #region 数据发送
-        public void SendCmd(ushort ID, byte Mode, ushort Cmd, byte[] Data)
+        public bool SendCmd(ushort ID, byte Mode, ushort Cmd, byte[] Data)
         {
             if (!mySerial.IsOpen)
             {
                 System.Windows.Forms.MessageBox.Show("串口未连接");
-                return;
+                return false;
             }
 
             ushort DataLength = (ushort)(Cmd & 0xFF);
@@ -148,7 +207,56 @@ namespace Welling_Motor_Debug_Tool
 
             //发送数据
             mySerial.Write(SendCmdTmp, 0, SendCmdTmp.Length);
+
+            return true;
         }
+        #endregion 
+
+        #region 数据发送无提示
+        public bool SendCmdWithoutNotice(ushort ID, byte Mode, ushort Cmd, byte[] Data)
+        {
+            if (!mySerial.IsOpen)
+            {
+                return false;
+            }
+
+            ushort DataLength = (ushort)(Cmd & 0xFF);
+
+            var SendCmdTmp = new byte[DataLength + 13];
+
+            //帧头
+            SendCmdTmp[0] = 0x55;
+            SendCmdTmp[1] = 0xAA;
+            //ID
+            SendCmdTmp[2] = (byte)(ID >> 8);
+            SendCmdTmp[3] = (byte)(ID & 0xFF);
+            //MODE
+            SendCmdTmp[4] = Mode;
+            //长度
+            SendCmdTmp[5] = (byte)((Cmd & 0xFF) + 2);
+            //命令字
+            SendCmdTmp[6] = (byte)(Cmd >> 8);
+            SendCmdTmp[7] = (byte)(Cmd & 0xFF);
+            //数据段
+            for (UInt16 i = 0; i < (Cmd & 0xFF); i++)
+            {
+                SendCmdTmp[8 + i] = Data[i];
+            }
+            //校验
+            UInt32 CRC_Result = crc32_cal(SendCmdTmp, (ushort)(DataLength + 8));
+            SendCmdTmp[DataLength + 8] = Convert.ToByte(CRC_Result >> 24);
+            SendCmdTmp[DataLength + 9] = Convert.ToByte((CRC_Result >> 16) % 256);
+            SendCmdTmp[DataLength + 10] = Convert.ToByte((CRC_Result >> 8) % 256);
+            SendCmdTmp[DataLength + 11] = Convert.ToByte(CRC_Result % 256);
+            //帧尾
+            SendCmdTmp[DataLength + 12] = 0xF0;
+
+            //发送数据
+            mySerial.Write(SendCmdTmp, 0, SendCmdTmp.Length);
+
+            return true;
+        }
+
         #endregion
 
         #region 串口数据接收

BIN
Welling_Motor_Debug_Tool/bin/Debug/Welling_Motor_Debug_Tool.pdb


BIN
Welling_Motor_Debug_Tool/bin/Debug/Welling_Motor_Debug_Tool_202210311451.exe


BIN
Welling_Motor_Debug_Tool/bin/Debug/Welling_Motor_Debug_Tool_202211222010.exe


BIN
Welling_Motor_Debug_Tool/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache


BIN
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.csproj.AssemblyReference.cache


+ 11 - 0
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.csproj.FileListAbsolute.txt

@@ -31,3 +31,14 @@ D:\Work\Welling_Motor_Debug_Tool\Welling_Motor_Debug_Tool\Welling_Motor_Debug_To
 D:\Work\Welling_Motor_Debug_Tool\Welling_Motor_Debug_Tool\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.csproj.CoreCompileInputs.cache
 D:\Work\Welling_Motor_Debug_Tool\Welling_Motor_Debug_Tool\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.exe
 D:\Work\Welling_Motor_Debug_Tool\Welling_Motor_Debug_Tool\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.pdb
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\bin\Debug\Welling_Motor_Debug_Tool.exe.config
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\bin\Debug\Welling_Motor_Debug_Tool.exe
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\bin\Debug\Welling_Motor_Debug_Tool.pdb
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.csproj.AssemblyReference.cache
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.csproj.SuggestedBindingRedirects.cache
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.Form1.resources
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.Properties.Resources.resources
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.csproj.GenerateResource.cache
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.csproj.CoreCompileInputs.cache
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.exe
+D:\MyData\zhouxiong9\Documents\Tools\motor-debug\Welling_Motor_Debug_Tool\obj\Debug\Welling_Motor_Debug_Tool.pdb

BIN
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.csproj.GenerateResource.cache


BIN
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.exe


BIN
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.pdb