Browse Source

针对Uart控制器增加MOS内阻校准功能。

Dail 1 year ago
parent
commit
fe2059f471

BIN
.vs/Welling_Motor_Debug_Tool/v17/.suo


BIN
Welling_Motor_Debug_Tool/bin/Debug/Welling_Motor_Debug_Tool.exe


BIN
Welling_Motor_Debug_Tool/bin/Debug/Welling_Motor_Debug_Tool_202405141700.exe


+ 328 - 170
Welling_Motor_Debug_Tool/mainForm.Designer.cs

@@ -106,8 +106,8 @@ namespace Welling_Motor_Debug_Tool
             this.调试记录数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.生产记录数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.关于ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-            this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.版本ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.累计运行时间ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.toolStripMenuItem_RunTime = new System.Windows.Forms.ToolStripMenuItem();
             this.statusStrip1 = new System.Windows.Forms.StatusStrip();
@@ -342,15 +342,6 @@ namespace Welling_Motor_Debug_Tool
             this.trackBar_FacModeMotorSpeedAdj = new System.Windows.Forms.TrackBar();
             this.button_FacModeMotorRun = new System.Windows.Forms.Button();
             this.groupBox21 = new System.Windows.Forms.GroupBox();
-            this.button_FacModeWorkMode = new System.Windows.Forms.Button();
-            this.checkBox_FacModeCheckTor = new System.Windows.Forms.CheckBox();
-            this.checkBox_FacModeCheckCadDir = new System.Windows.Forms.CheckBox();
-            this.checkBox_FacModeCheckCadence = new System.Windows.Forms.CheckBox();
-            this.checkBox_FacModeCheckBikeSpeed = new System.Windows.Forms.CheckBox();
-            this.checkBox_FacModeCheckCurr = new System.Windows.Forms.CheckBox();
-            this.checkBox_FacModeCheckMotor = new System.Windows.Forms.CheckBox();
-            this.checkBox_FacModeCheckNTC = new System.Windows.Forms.CheckBox();
-            this.checkBox_FacModeCheckVol = new System.Windows.Forms.CheckBox();
             this.groupBox20 = new System.Windows.Forms.GroupBox();
             this.textBox10 = new System.Windows.Forms.TextBox();
             this.button_FacModeSensorRead = new System.Windows.Forms.Button();
@@ -542,6 +533,28 @@ namespace Welling_Motor_Debug_Tool
             this.label107 = new System.Windows.Forms.Label();
             this.label_StarInfo = new System.Windows.Forms.Label();
             this.pictureBox2 = new System.Windows.Forms.PictureBox();
+            this.label70 = new System.Windows.Forms.Label();
+            this.textBox_MOS_K1 = new System.Windows.Forms.TextBox();
+            this.textBox_MOS_K2 = new System.Windows.Forms.TextBox();
+            this.label71 = new System.Windows.Forms.Label();
+            this.textBox_MOS_K3 = new System.Windows.Forms.TextBox();
+            this.label72 = new System.Windows.Forms.Label();
+            this.textBox_MOS_K4 = new System.Windows.Forms.TextBox();
+            this.label73 = new System.Windows.Forms.Label();
+            this.textBox_MOS_K5 = new System.Windows.Forms.TextBox();
+            this.label74 = new System.Windows.Forms.Label();
+            this.textBox_MOS_R1 = new System.Windows.Forms.TextBox();
+            this.label75 = new System.Windows.Forms.Label();
+            this.textBox_MOS_R2 = new System.Windows.Forms.TextBox();
+            this.label76 = new System.Windows.Forms.Label();
+            this.textBox_MOS_R3 = new System.Windows.Forms.TextBox();
+            this.label77 = new System.Windows.Forms.Label();
+            this.button_MOS_Cal = new System.Windows.Forms.Button();
+            this.button_MOS_Read = new System.Windows.Forms.Button();
+            this.button_MOS_Write = new System.Windows.Forms.Button();
+            this.label78 = new System.Windows.Forms.Label();
+            this.label79 = new System.Windows.Forms.Label();
+            this.label80 = new System.Windows.Forms.Label();
             this.menuStrip_Set.SuspendLayout();
             this.statusStrip1.SuspendLayout();
             this.groupBox1.SuspendLayout();
@@ -786,7 +799,7 @@ namespace Welling_Motor_Debug_Tool
             // 允许ToolStripMenuItem
             // 
             this.允许ToolStripMenuItem.Name = "允许ToolStripMenuItem";
-            this.允许ToolStripMenuItem.Size = new System.Drawing.Size(128, 26);
+            this.允许ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.允许ToolStripMenuItem.Text = "允许";
             this.允许ToolStripMenuItem.Click += new System.EventHandler(this.允许ToolStripMenuItem_Click);
             // 
@@ -795,7 +808,7 @@ namespace Welling_Motor_Debug_Tool
             this.不允许ToolStripMenuItem.Checked = true;
             this.不允许ToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
             this.不允许ToolStripMenuItem.Name = "不允许ToolStripMenuItem";
-            this.不允许ToolStripMenuItem.Size = new System.Drawing.Size(128, 26);
+            this.不允许ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.不允许ToolStripMenuItem.Text = "不允许";
             this.不允许ToolStripMenuItem.Click += new System.EventHandler(this.不允许ToolStripMenuItem_Click);
             // 
@@ -816,7 +829,7 @@ namespace Welling_Motor_Debug_Tool
             this.IP地址ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerIP});
             this.IP地址ToolStripMenuItem.Name = "IP地址ToolStripMenuItem";
-            this.IP地址ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.IP地址ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.IP地址ToolStripMenuItem.Text = "IP地址";
             // 
             // toolStripTextBox_ServerIP
@@ -832,7 +845,7 @@ namespace Welling_Motor_Debug_Tool
             this.端口ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerPort});
             this.端口ToolStripMenuItem.Name = "端口ToolStripMenuItem";
-            this.端口ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.端口ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.端口ToolStripMenuItem.Text = "端口";
             // 
             // toolStripTextBox_ServerPort
@@ -848,7 +861,7 @@ namespace Welling_Motor_Debug_Tool
             this.用户名ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerUser});
             this.用户名ToolStripMenuItem.Name = "用户名ToolStripMenuItem";
-            this.用户名ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.用户名ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.用户名ToolStripMenuItem.Text = "用户名";
             // 
             // toolStripTextBox_ServerUser
@@ -864,7 +877,7 @@ namespace Welling_Motor_Debug_Tool
             this.密码ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerPasswd});
             this.密码ToolStripMenuItem.Name = "密码ToolStripMenuItem";
-            this.密码ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.密码ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.密码ToolStripMenuItem.Text = "密码";
             // 
             // toolStripTextBox_ServerPasswd
@@ -880,7 +893,7 @@ namespace Welling_Motor_Debug_Tool
             this.存储路径ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerPath});
             this.存储路径ToolStripMenuItem.Name = "存储路径ToolStripMenuItem";
-            this.存储路径ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.存储路径ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.存储路径ToolStripMenuItem.Text = "存储路径";
             // 
             // toolStripTextBox_ServerPath
@@ -1219,14 +1232,14 @@ 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(176, 26);
             this.调试记录数据ToolStripMenuItem.Text = "调试记录数据";
             this.调试记录数据ToolStripMenuItem.Click += new System.EventHandler(this.调试记录数据ToolStripMenuItem_Click);
             // 
             // 生产记录数据ToolStripMenuItem
             // 
             this.生产记录数据ToolStripMenuItem.Name = "生产记录数据ToolStripMenuItem";
-            this.生产记录数据ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.生产记录数据ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
             this.生产记录数据ToolStripMenuItem.Text = "生产记录数据";
             this.生产记录数据ToolStripMenuItem.Click += new System.EventHandler(this.生产记录数据ToolStripMenuItem_Click);
             // 
@@ -1241,32 +1254,32 @@ namespace Welling_Motor_Debug_Tool
             this.关于ToolStripMenuItem.Size = new System.Drawing.Size(54, 25);
             this.关于ToolStripMenuItem.Text = "关于";
             // 
-            // 帮助ToolStripMenuItem
-            // 
-            this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem";
-            this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(180, 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 = "版本信息";
             this.版本ToolStripMenuItem.Click += new System.EventHandler(this.版本ToolStripMenuItem_Click);
             // 
+            // 帮助ToolStripMenuItem
+            // 
+            this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem";
+            this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.帮助ToolStripMenuItem.Text = "查看帮助";
+            // 
             // 累计运行时间ToolStripMenuItem
             // 
             this.累计运行时间ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripMenuItem_RunTime});
             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.MouseHover += new System.EventHandler(this.累计运行时间ToolStripMenuItem_MouseHover);
             // 
             // toolStripMenuItem_RunTime
             // 
             this.toolStripMenuItem_RunTime.Name = "toolStripMenuItem_RunTime";
-            this.toolStripMenuItem_RunTime.Size = new System.Drawing.Size(180, 26);
+            this.toolStripMenuItem_RunTime.Size = new System.Drawing.Size(142, 26);
             this.toolStripMenuItem_RunTime.Text = "00:00:00";
             // 
             // statusStrip1
@@ -3563,7 +3576,7 @@ namespace Welling_Motor_Debug_Tool
             // button_ScanCode
             // 
             this.button_ScanCode.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
-            this.button_ScanCode.Location = new System.Drawing.Point(704, 248);
+            this.button_ScanCode.Location = new System.Drawing.Point(694, 248);
             this.button_ScanCode.Name = "button_ScanCode";
             this.button_ScanCode.Size = new System.Drawing.Size(65, 60);
             this.button_ScanCode.TabIndex = 34;
@@ -3574,7 +3587,7 @@ namespace Welling_Motor_Debug_Tool
             // Button_FacModePowerOff
             // 
             this.Button_FacModePowerOff.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128)))));
-            this.Button_FacModePowerOff.Location = new System.Drawing.Point(917, 248);
+            this.Button_FacModePowerOff.Location = new System.Drawing.Point(916, 248);
             this.Button_FacModePowerOff.Name = "Button_FacModePowerOff";
             this.Button_FacModePowerOff.Size = new System.Drawing.Size(65, 60);
             this.Button_FacModePowerOff.TabIndex = 33;
@@ -3585,7 +3598,7 @@ namespace Welling_Motor_Debug_Tool
             // Button_FacModeSaveResult
             // 
             this.Button_FacModeSaveResult.BackColor = System.Drawing.Color.Lime;
-            this.Button_FacModeSaveResult.Location = new System.Drawing.Point(846, 248);
+            this.Button_FacModeSaveResult.Location = new System.Drawing.Point(842, 248);
             this.Button_FacModeSaveResult.Name = "Button_FacModeSaveResult";
             this.Button_FacModeSaveResult.Size = new System.Drawing.Size(65, 60);
             this.Button_FacModeSaveResult.TabIndex = 1;
@@ -3596,7 +3609,7 @@ namespace Welling_Motor_Debug_Tool
             // Button_FacModeSetMacDate
             // 
             this.Button_FacModeSetMacDate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
-            this.Button_FacModeSetMacDate.Location = new System.Drawing.Point(775, 248);
+            this.Button_FacModeSetMacDate.Location = new System.Drawing.Point(768, 248);
             this.Button_FacModeSetMacDate.Name = "Button_FacModeSetMacDate";
             this.Button_FacModeSetMacDate.Size = new System.Drawing.Size(65, 60);
             this.Button_FacModeSetMacDate.TabIndex = 33;
@@ -3622,9 +3635,9 @@ namespace Welling_Motor_Debug_Tool
             this.groupBox25.Controls.Add(this.textBox_FacModeNum);
             this.groupBox25.Controls.Add(this.label81);
             this.groupBox25.Controls.Add(this.textBox_FacModeName);
-            this.groupBox25.Location = new System.Drawing.Point(704, 3);
+            this.groupBox25.Location = new System.Drawing.Point(694, 3);
             this.groupBox25.Name = "groupBox25";
-            this.groupBox25.Size = new System.Drawing.Size(283, 239);
+            this.groupBox25.Size = new System.Drawing.Size(293, 239);
             this.groupBox25.TabIndex = 8;
             this.groupBox25.TabStop = false;
             this.groupBox25.Text = "版本信息";
@@ -3634,7 +3647,7 @@ namespace Welling_Motor_Debug_Tool
             this.button_FacModeSetName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
             this.button_FacModeSetName.Location = new System.Drawing.Point(213, 29);
             this.button_FacModeSetName.Name = "button_FacModeSetName";
-            this.button_FacModeSetName.Size = new System.Drawing.Size(65, 29);
+            this.button_FacModeSetName.Size = new System.Drawing.Size(75, 29);
             this.button_FacModeSetName.TabIndex = 28;
             this.button_FacModeSetName.Text = "写入";
             this.button_FacModeSetName.UseVisualStyleBackColor = false;
@@ -3671,7 +3684,7 @@ namespace Welling_Motor_Debug_Tool
             this.textBox_FacModeSP.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
             this.textBox_FacModeSP.Location = new System.Drawing.Point(54, 145);
             this.textBox_FacModeSP.Name = "textBox_FacModeSP";
-            this.textBox_FacModeSP.Size = new System.Drawing.Size(223, 28);
+            this.textBox_FacModeSP.Size = new System.Drawing.Size(234, 28);
             this.textBox_FacModeSP.TabIndex = 24;
             // 
             // label68
@@ -3700,7 +3713,7 @@ namespace Welling_Motor_Debug_Tool
             this.textBox_FacModeFW.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
             this.textBox_FacModeFW.Location = new System.Drawing.Point(54, 116);
             this.textBox_FacModeFW.Name = "textBox_FacModeFW";
-            this.textBox_FacModeFW.Size = new System.Drawing.Size(223, 28);
+            this.textBox_FacModeFW.Size = new System.Drawing.Size(234, 28);
             this.textBox_FacModeFW.TabIndex = 13;
             // 
             // Button_FacModeReadVer
@@ -3708,7 +3721,7 @@ namespace Welling_Motor_Debug_Tool
             this.Button_FacModeReadVer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
             this.Button_FacModeReadVer.Location = new System.Drawing.Point(213, 174);
             this.Button_FacModeReadVer.Name = "Button_FacModeReadVer";
-            this.Button_FacModeReadVer.Size = new System.Drawing.Size(65, 60);
+            this.Button_FacModeReadVer.Size = new System.Drawing.Size(74, 60);
             this.Button_FacModeReadVer.TabIndex = 11;
             this.Button_FacModeReadVer.Text = "查询";
             this.Button_FacModeReadVer.UseVisualStyleBackColor = false;
@@ -3728,7 +3741,7 @@ namespace Welling_Motor_Debug_Tool
             this.textBox_FacModeHW.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
             this.textBox_FacModeHW.Location = new System.Drawing.Point(54, 87);
             this.textBox_FacModeHW.Name = "textBox_FacModeHW";
-            this.textBox_FacModeHW.Size = new System.Drawing.Size(223, 28);
+            this.textBox_FacModeHW.Size = new System.Drawing.Size(234, 28);
             this.textBox_FacModeHW.TabIndex = 10;
             // 
             // Button_FacModeSetNum
@@ -3736,7 +3749,7 @@ namespace Welling_Motor_Debug_Tool
             this.Button_FacModeSetNum.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
             this.Button_FacModeSetNum.Location = new System.Drawing.Point(213, 58);
             this.Button_FacModeSetNum.Name = "Button_FacModeSetNum";
-            this.Button_FacModeSetNum.Size = new System.Drawing.Size(65, 29);
+            this.Button_FacModeSetNum.Size = new System.Drawing.Size(75, 29);
             this.Button_FacModeSetNum.TabIndex = 8;
             this.Button_FacModeSetNum.Text = "写入";
             this.Button_FacModeSetNum.UseVisualStyleBackColor = false;
@@ -3778,24 +3791,26 @@ namespace Welling_Motor_Debug_Tool
             // 
             // groupBox22
             // 
+            this.groupBox22.Controls.Add(this.label80);
             this.groupBox22.Controls.Add(this.button_FacModeLightSW);
             this.groupBox22.Controls.Add(this.label_FacModeMotorSpeedSet);
             this.groupBox22.Controls.Add(this.label67);
             this.groupBox22.Controls.Add(this.trackBar_FacModeMotorSpeedAdj);
             this.groupBox22.Controls.Add(this.button_FacModeMotorRun);
-            this.groupBox22.Location = new System.Drawing.Point(190, 109);
+            this.groupBox22.Location = new System.Drawing.Point(190, 3);
             this.groupBox22.Name = "groupBox22";
-            this.groupBox22.Size = new System.Drawing.Size(508, 203);
+            this.groupBox22.Size = new System.Drawing.Size(198, 309);
             this.groupBox22.TabIndex = 10;
             this.groupBox22.TabStop = false;
             this.groupBox22.Text = "驱动测试";
             // 
             // button_FacModeLightSW
             // 
-            this.button_FacModeLightSW.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128)))));
-            this.button_FacModeLightSW.Location = new System.Drawing.Point(6, 35);
+            this.button_FacModeLightSW.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
+            this.button_FacModeLightSW.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.button_FacModeLightSW.Location = new System.Drawing.Point(6, 38);
             this.button_FacModeLightSW.Name = "button_FacModeLightSW";
-            this.button_FacModeLightSW.Size = new System.Drawing.Size(85, 58);
+            this.button_FacModeLightSW.Size = new System.Drawing.Size(85, 45);
             this.button_FacModeLightSW.TabIndex = 20;
             this.button_FacModeLightSW.Text = "开/关灯";
             this.button_FacModeLightSW.UseVisualStyleBackColor = false;
@@ -3804,20 +3819,21 @@ namespace Welling_Motor_Debug_Tool
             // label_FacModeMotorSpeedSet
             // 
             this.label_FacModeMotorSpeedSet.AutoSize = true;
+            this.label_FacModeMotorSpeedSet.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
             this.label_FacModeMotorSpeedSet.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label_FacModeMotorSpeedSet.ForeColor = System.Drawing.Color.Red;
-            this.label_FacModeMotorSpeedSet.Location = new System.Drawing.Point(471, 25);
+            this.label_FacModeMotorSpeedSet.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
+            this.label_FacModeMotorSpeedSet.Location = new System.Drawing.Point(152, 70);
             this.label_FacModeMotorSpeedSet.Name = "label_FacModeMotorSpeedSet";
-            this.label_FacModeMotorSpeedSet.Size = new System.Drawing.Size(26, 17);
+            this.label_FacModeMotorSpeedSet.Size = new System.Drawing.Size(40, 17);
             this.label_FacModeMotorSpeedSet.TabIndex = 19;
-            this.label_FacModeMotorSpeedSet.Text = "0%";
+            this.label_FacModeMotorSpeedSet.Text = "100%";
             this.label_FacModeMotorSpeedSet.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             // 
             // label67
             // 
             this.label67.AutoSize = true;
             this.label67.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label67.Location = new System.Drawing.Point(204, 25);
+            this.label67.Location = new System.Drawing.Point(96, 39);
             this.label67.Name = "label67";
             this.label67.Size = new System.Drawing.Size(56, 17);
             this.label67.TabIndex = 18;
@@ -3826,20 +3842,22 @@ namespace Welling_Motor_Debug_Tool
             // trackBar_FacModeMotorSpeedAdj
             // 
             this.trackBar_FacModeMotorSpeedAdj.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
-            this.trackBar_FacModeMotorSpeedAdj.Location = new System.Drawing.Point(204, 48);
+            this.trackBar_FacModeMotorSpeedAdj.Location = new System.Drawing.Point(97, 63);
             this.trackBar_FacModeMotorSpeedAdj.Maximum = 100;
             this.trackBar_FacModeMotorSpeedAdj.Name = "trackBar_FacModeMotorSpeedAdj";
-            this.trackBar_FacModeMotorSpeedAdj.Size = new System.Drawing.Size(293, 45);
+            this.trackBar_FacModeMotorSpeedAdj.Orientation = System.Windows.Forms.Orientation.Vertical;
+            this.trackBar_FacModeMotorSpeedAdj.Size = new System.Drawing.Size(45, 240);
             this.trackBar_FacModeMotorSpeedAdj.TabIndex = 17;
             this.trackBar_FacModeMotorSpeedAdj.TickStyle = System.Windows.Forms.TickStyle.Both;
             this.trackBar_FacModeMotorSpeedAdj.ValueChanged += new System.EventHandler(this.trackBar_FacModeMotorSpeedAdj_ValueChanged);
             // 
             // button_FacModeMotorRun
             // 
-            this.button_FacModeMotorRun.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
-            this.button_FacModeMotorRun.Location = new System.Drawing.Point(108, 35);
+            this.button_FacModeMotorRun.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
+            this.button_FacModeMotorRun.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.button_FacModeMotorRun.Location = new System.Drawing.Point(6, 116);
             this.button_FacModeMotorRun.Name = "button_FacModeMotorRun";
-            this.button_FacModeMotorRun.Size = new System.Drawing.Size(85, 58);
+            this.button_FacModeMotorRun.Size = new System.Drawing.Size(85, 45);
             this.button_FacModeMotorRun.TabIndex = 16;
             this.button_FacModeMotorRun.Text = "启/停";
             this.button_FacModeMotorRun.UseVisualStyleBackColor = false;
@@ -3847,113 +3865,33 @@ namespace Welling_Motor_Debug_Tool
             // 
             // groupBox21
             // 
-            this.groupBox21.Controls.Add(this.button_FacModeWorkMode);
-            this.groupBox21.Controls.Add(this.checkBox_FacModeCheckTor);
-            this.groupBox21.Controls.Add(this.checkBox_FacModeCheckCadDir);
-            this.groupBox21.Controls.Add(this.checkBox_FacModeCheckCadence);
-            this.groupBox21.Controls.Add(this.checkBox_FacModeCheckBikeSpeed);
-            this.groupBox21.Controls.Add(this.checkBox_FacModeCheckCurr);
-            this.groupBox21.Controls.Add(this.checkBox_FacModeCheckMotor);
-            this.groupBox21.Controls.Add(this.checkBox_FacModeCheckNTC);
-            this.groupBox21.Controls.Add(this.checkBox_FacModeCheckVol);
-            this.groupBox21.Enabled = false;
-            this.groupBox21.Location = new System.Drawing.Point(190, 3);
+            this.groupBox21.Controls.Add(this.label79);
+            this.groupBox21.Controls.Add(this.label78);
+            this.groupBox21.Controls.Add(this.label74);
+            this.groupBox21.Controls.Add(this.button_MOS_Write);
+            this.groupBox21.Controls.Add(this.button_MOS_Read);
+            this.groupBox21.Controls.Add(this.button_MOS_Cal);
+            this.groupBox21.Controls.Add(this.textBox_MOS_K5);
+            this.groupBox21.Controls.Add(this.label73);
+            this.groupBox21.Controls.Add(this.textBox_MOS_K4);
+            this.groupBox21.Controls.Add(this.label77);
+            this.groupBox21.Controls.Add(this.label72);
+            this.groupBox21.Controls.Add(this.textBox_MOS_R3);
+            this.groupBox21.Controls.Add(this.textBox_MOS_K3);
+            this.groupBox21.Controls.Add(this.label76);
+            this.groupBox21.Controls.Add(this.label71);
+            this.groupBox21.Controls.Add(this.textBox_MOS_R2);
+            this.groupBox21.Controls.Add(this.textBox_MOS_K2);
+            this.groupBox21.Controls.Add(this.label75);
+            this.groupBox21.Controls.Add(this.label70);
+            this.groupBox21.Controls.Add(this.textBox_MOS_R1);
+            this.groupBox21.Controls.Add(this.textBox_MOS_K1);
+            this.groupBox21.Location = new System.Drawing.Point(394, 3);
             this.groupBox21.Name = "groupBox21";
-            this.groupBox21.Size = new System.Drawing.Size(508, 96);
+            this.groupBox21.Size = new System.Drawing.Size(294, 309);
             this.groupBox21.TabIndex = 9;
             this.groupBox21.TabStop = false;
-            this.groupBox21.Text = "传感器测试";
-            // 
-            // button_FacModeWorkMode
-            // 
-            this.button_FacModeWorkMode.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
-            this.button_FacModeWorkMode.Location = new System.Drawing.Point(6, 27);
-            this.button_FacModeWorkMode.Name = "button_FacModeWorkMode";
-            this.button_FacModeWorkMode.Size = new System.Drawing.Size(54, 51);
-            this.button_FacModeWorkMode.TabIndex = 17;
-            this.button_FacModeWorkMode.Text = "开始";
-            this.button_FacModeWorkMode.UseVisualStyleBackColor = false;
-            this.button_FacModeWorkMode.Click += new System.EventHandler(this.button_FacModeWorkMode_Click);
-            // 
-            // checkBox_FacModeCheckTor
-            // 
-            this.checkBox_FacModeCheckTor.AutoSize = true;
-            this.checkBox_FacModeCheckTor.Location = new System.Drawing.Point(294, 58);
-            this.checkBox_FacModeCheckTor.Name = "checkBox_FacModeCheckTor";
-            this.checkBox_FacModeCheckTor.Size = new System.Drawing.Size(61, 25);
-            this.checkBox_FacModeCheckTor.TabIndex = 3;
-            this.checkBox_FacModeCheckTor.Text = "力矩";
-            this.checkBox_FacModeCheckTor.UseVisualStyleBackColor = true;
-            // 
-            // checkBox_FacModeCheckCadDir
-            // 
-            this.checkBox_FacModeCheckCadDir.AutoSize = true;
-            this.checkBox_FacModeCheckCadDir.Location = new System.Drawing.Point(408, 58);
-            this.checkBox_FacModeCheckCadDir.Name = "checkBox_FacModeCheckCadDir";
-            this.checkBox_FacModeCheckCadDir.Size = new System.Drawing.Size(93, 25);
-            this.checkBox_FacModeCheckCadDir.TabIndex = 3;
-            this.checkBox_FacModeCheckCadDir.Text = "踩踏方向";
-            this.checkBox_FacModeCheckCadDir.UseVisualStyleBackColor = true;
-            // 
-            // checkBox_FacModeCheckCadence
-            // 
-            this.checkBox_FacModeCheckCadence.AutoSize = true;
-            this.checkBox_FacModeCheckCadence.Location = new System.Drawing.Point(180, 58);
-            this.checkBox_FacModeCheckCadence.Name = "checkBox_FacModeCheckCadence";
-            this.checkBox_FacModeCheckCadence.Size = new System.Drawing.Size(61, 25);
-            this.checkBox_FacModeCheckCadence.TabIndex = 3;
-            this.checkBox_FacModeCheckCadence.Text = "踏频";
-            this.checkBox_FacModeCheckCadence.UseVisualStyleBackColor = true;
-            // 
-            // checkBox_FacModeCheckBikeSpeed
-            // 
-            this.checkBox_FacModeCheckBikeSpeed.AutoSize = true;
-            this.checkBox_FacModeCheckBikeSpeed.Location = new System.Drawing.Point(66, 58);
-            this.checkBox_FacModeCheckBikeSpeed.Name = "checkBox_FacModeCheckBikeSpeed";
-            this.checkBox_FacModeCheckBikeSpeed.Size = new System.Drawing.Size(61, 25);
-            this.checkBox_FacModeCheckBikeSpeed.TabIndex = 2;
-            this.checkBox_FacModeCheckBikeSpeed.Text = "车速";
-            this.checkBox_FacModeCheckBikeSpeed.UseVisualStyleBackColor = true;
-            // 
-            // checkBox_FacModeCheckCurr
-            // 
-            this.checkBox_FacModeCheckCurr.AutoSize = true;
-            this.checkBox_FacModeCheckCurr.Location = new System.Drawing.Point(180, 27);
-            this.checkBox_FacModeCheckCurr.Name = "checkBox_FacModeCheckCurr";
-            this.checkBox_FacModeCheckCurr.Size = new System.Drawing.Size(61, 25);
-            this.checkBox_FacModeCheckCurr.TabIndex = 1;
-            this.checkBox_FacModeCheckCurr.Text = "电流";
-            this.checkBox_FacModeCheckCurr.UseVisualStyleBackColor = true;
-            // 
-            // checkBox_FacModeCheckMotor
-            // 
-            this.checkBox_FacModeCheckMotor.AutoSize = true;
-            this.checkBox_FacModeCheckMotor.Location = new System.Drawing.Point(408, 27);
-            this.checkBox_FacModeCheckMotor.Name = "checkBox_FacModeCheckMotor";
-            this.checkBox_FacModeCheckMotor.Size = new System.Drawing.Size(93, 25);
-            this.checkBox_FacModeCheckMotor.TabIndex = 1;
-            this.checkBox_FacModeCheckMotor.Text = "电机转速";
-            this.checkBox_FacModeCheckMotor.UseVisualStyleBackColor = true;
-            // 
-            // checkBox_FacModeCheckNTC
-            // 
-            this.checkBox_FacModeCheckNTC.AutoSize = true;
-            this.checkBox_FacModeCheckNTC.Location = new System.Drawing.Point(294, 27);
-            this.checkBox_FacModeCheckNTC.Name = "checkBox_FacModeCheckNTC";
-            this.checkBox_FacModeCheckNTC.Size = new System.Drawing.Size(61, 25);
-            this.checkBox_FacModeCheckNTC.TabIndex = 1;
-            this.checkBox_FacModeCheckNTC.Text = "温度";
-            this.checkBox_FacModeCheckNTC.UseVisualStyleBackColor = true;
-            // 
-            // checkBox_FacModeCheckVol
-            // 
-            this.checkBox_FacModeCheckVol.AutoSize = true;
-            this.checkBox_FacModeCheckVol.Location = new System.Drawing.Point(66, 27);
-            this.checkBox_FacModeCheckVol.Name = "checkBox_FacModeCheckVol";
-            this.checkBox_FacModeCheckVol.Size = new System.Drawing.Size(61, 25);
-            this.checkBox_FacModeCheckVol.TabIndex = 0;
-            this.checkBox_FacModeCheckVol.Text = "电压";
-            this.checkBox_FacModeCheckVol.UseVisualStyleBackColor = true;
+            this.groupBox21.Text = "控制器内阻校准";
             // 
             // groupBox20
             // 
@@ -4149,9 +4087,9 @@ namespace Welling_Motor_Debug_Tool
             // 
             this.button_FacModeInit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.button_FacModeInit.ForeColor = System.Drawing.Color.White;
-            this.button_FacModeInit.Location = new System.Drawing.Point(26, 29);
+            this.button_FacModeInit.Location = new System.Drawing.Point(26, 38);
             this.button_FacModeInit.Name = "button_FacModeInit";
-            this.button_FacModeInit.Size = new System.Drawing.Size(126, 51);
+            this.button_FacModeInit.Size = new System.Drawing.Size(126, 45);
             this.button_FacModeInit.TabIndex = 0;
             this.button_FacModeInit.Text = "初始化";
             this.button_FacModeInit.UseVisualStyleBackColor = false;
@@ -6119,6 +6057,213 @@ namespace Welling_Motor_Debug_Tool
             this.pictureBox2.TabIndex = 16;
             this.pictureBox2.TabStop = false;
             // 
+            // label70
+            // 
+            this.label70.AutoSize = true;
+            this.label70.Location = new System.Drawing.Point(6, 29);
+            this.label70.Name = "label70";
+            this.label70.Size = new System.Drawing.Size(51, 21);
+            this.label70.TabIndex = 3;
+            this.label70.Text = "系数1";
+            // 
+            // textBox_MOS_K1
+            // 
+            this.textBox_MOS_K1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_MOS_K1.Location = new System.Drawing.Point(6, 62);
+            this.textBox_MOS_K1.Name = "textBox_MOS_K1";
+            this.textBox_MOS_K1.Size = new System.Drawing.Size(50, 28);
+            this.textBox_MOS_K1.TabIndex = 15;
+            this.textBox_MOS_K1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // textBox_MOS_K2
+            // 
+            this.textBox_MOS_K2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_MOS_K2.Location = new System.Drawing.Point(63, 62);
+            this.textBox_MOS_K2.Name = "textBox_MOS_K2";
+            this.textBox_MOS_K2.Size = new System.Drawing.Size(50, 28);
+            this.textBox_MOS_K2.TabIndex = 15;
+            this.textBox_MOS_K2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label71
+            // 
+            this.label71.AutoSize = true;
+            this.label71.Location = new System.Drawing.Point(63, 29);
+            this.label71.Name = "label71";
+            this.label71.Size = new System.Drawing.Size(51, 21);
+            this.label71.TabIndex = 3;
+            this.label71.Text = "系数2";
+            // 
+            // textBox_MOS_K3
+            // 
+            this.textBox_MOS_K3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_MOS_K3.Location = new System.Drawing.Point(120, 62);
+            this.textBox_MOS_K3.Name = "textBox_MOS_K3";
+            this.textBox_MOS_K3.Size = new System.Drawing.Size(50, 28);
+            this.textBox_MOS_K3.TabIndex = 15;
+            this.textBox_MOS_K3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label72
+            // 
+            this.label72.AutoSize = true;
+            this.label72.Location = new System.Drawing.Point(120, 29);
+            this.label72.Name = "label72";
+            this.label72.Size = new System.Drawing.Size(51, 21);
+            this.label72.TabIndex = 3;
+            this.label72.Text = "系数3";
+            // 
+            // textBox_MOS_K4
+            // 
+            this.textBox_MOS_K4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_MOS_K4.Location = new System.Drawing.Point(177, 62);
+            this.textBox_MOS_K4.Name = "textBox_MOS_K4";
+            this.textBox_MOS_K4.Size = new System.Drawing.Size(50, 28);
+            this.textBox_MOS_K4.TabIndex = 15;
+            this.textBox_MOS_K4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label73
+            // 
+            this.label73.AutoSize = true;
+            this.label73.Location = new System.Drawing.Point(177, 29);
+            this.label73.Name = "label73";
+            this.label73.Size = new System.Drawing.Size(51, 21);
+            this.label73.TabIndex = 3;
+            this.label73.Text = "系数4";
+            // 
+            // textBox_MOS_K5
+            // 
+            this.textBox_MOS_K5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_MOS_K5.Location = new System.Drawing.Point(234, 62);
+            this.textBox_MOS_K5.Name = "textBox_MOS_K5";
+            this.textBox_MOS_K5.Size = new System.Drawing.Size(50, 28);
+            this.textBox_MOS_K5.TabIndex = 15;
+            this.textBox_MOS_K5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label74
+            // 
+            this.label74.AutoSize = true;
+            this.label74.Location = new System.Drawing.Point(234, 29);
+            this.label74.Name = "label74";
+            this.label74.Size = new System.Drawing.Size(51, 21);
+            this.label74.TabIndex = 3;
+            this.label74.Text = "系数5";
+            // 
+            // textBox_MOS_R1
+            // 
+            this.textBox_MOS_R1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_MOS_R1.Location = new System.Drawing.Point(6, 139);
+            this.textBox_MOS_R1.Name = "textBox_MOS_R1";
+            this.textBox_MOS_R1.Size = new System.Drawing.Size(50, 28);
+            this.textBox_MOS_R1.TabIndex = 15;
+            this.textBox_MOS_R1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label75
+            // 
+            this.label75.AutoSize = true;
+            this.label75.Location = new System.Drawing.Point(6, 106);
+            this.label75.Name = "label75";
+            this.label75.Size = new System.Drawing.Size(51, 21);
+            this.label75.TabIndex = 3;
+            this.label75.Text = "内阻1";
+            // 
+            // textBox_MOS_R2
+            // 
+            this.textBox_MOS_R2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_MOS_R2.Location = new System.Drawing.Point(63, 139);
+            this.textBox_MOS_R2.Name = "textBox_MOS_R2";
+            this.textBox_MOS_R2.Size = new System.Drawing.Size(50, 28);
+            this.textBox_MOS_R2.TabIndex = 15;
+            this.textBox_MOS_R2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label76
+            // 
+            this.label76.AutoSize = true;
+            this.label76.Location = new System.Drawing.Point(63, 106);
+            this.label76.Name = "label76";
+            this.label76.Size = new System.Drawing.Size(51, 21);
+            this.label76.TabIndex = 3;
+            this.label76.Text = "内阻2";
+            // 
+            // textBox_MOS_R3
+            // 
+            this.textBox_MOS_R3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
+            this.textBox_MOS_R3.Location = new System.Drawing.Point(120, 139);
+            this.textBox_MOS_R3.Name = "textBox_MOS_R3";
+            this.textBox_MOS_R3.Size = new System.Drawing.Size(50, 28);
+            this.textBox_MOS_R3.TabIndex = 15;
+            this.textBox_MOS_R3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // label77
+            // 
+            this.label77.AutoSize = true;
+            this.label77.Location = new System.Drawing.Point(120, 106);
+            this.label77.Name = "label77";
+            this.label77.Size = new System.Drawing.Size(51, 21);
+            this.label77.TabIndex = 3;
+            this.label77.Text = "内阻3";
+            // 
+            // button_MOS_Cal
+            // 
+            this.button_MOS_Cal.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
+            this.button_MOS_Cal.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.button_MOS_Cal.Location = new System.Drawing.Point(6, 190);
+            this.button_MOS_Cal.Name = "button_MOS_Cal";
+            this.button_MOS_Cal.Size = new System.Drawing.Size(85, 45);
+            this.button_MOS_Cal.TabIndex = 15;
+            this.button_MOS_Cal.Text = "校准";
+            this.button_MOS_Cal.UseVisualStyleBackColor = false;
+            this.button_MOS_Cal.Click += new System.EventHandler(this.button_MOS_Cal_Click);
+            // 
+            // button_MOS_Read
+            // 
+            this.button_MOS_Read.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
+            this.button_MOS_Read.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.button_MOS_Read.Location = new System.Drawing.Point(103, 190);
+            this.button_MOS_Read.Name = "button_MOS_Read";
+            this.button_MOS_Read.Size = new System.Drawing.Size(85, 45);
+            this.button_MOS_Read.TabIndex = 15;
+            this.button_MOS_Read.Text = "读取";
+            this.button_MOS_Read.UseVisualStyleBackColor = false;
+            this.button_MOS_Read.Click += new System.EventHandler(this.button_MOS_Read_Click);
+            // 
+            // button_MOS_Write
+            // 
+            this.button_MOS_Write.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.button_MOS_Write.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.button_MOS_Write.Location = new System.Drawing.Point(199, 190);
+            this.button_MOS_Write.Name = "button_MOS_Write";
+            this.button_MOS_Write.Size = new System.Drawing.Size(85, 45);
+            this.button_MOS_Write.TabIndex = 15;
+            this.button_MOS_Write.Text = "写入";
+            this.button_MOS_Write.UseVisualStyleBackColor = false;
+            this.button_MOS_Write.Click += new System.EventHandler(this.button_MOS_Write_Click);
+            // 
+            // label78
+            // 
+            this.label78.BackColor = System.Drawing.Color.Silver;
+            this.label78.ForeColor = System.Drawing.Color.White;
+            this.label78.Location = new System.Drawing.Point(6, 100);
+            this.label78.Name = "label78";
+            this.label78.Size = new System.Drawing.Size(278, 1);
+            this.label78.TabIndex = 18;
+            // 
+            // label79
+            // 
+            this.label79.BackColor = System.Drawing.Color.Silver;
+            this.label79.ForeColor = System.Drawing.Color.White;
+            this.label79.Location = new System.Drawing.Point(8, 177);
+            this.label79.Name = "label79";
+            this.label79.Size = new System.Drawing.Size(278, 1);
+            this.label79.TabIndex = 19;
+            // 
+            // label80
+            // 
+            this.label80.BackColor = System.Drawing.Color.Silver;
+            this.label80.ForeColor = System.Drawing.Color.White;
+            this.label80.Location = new System.Drawing.Point(6, 100);
+            this.label80.Name = "label80";
+            this.label80.Size = new System.Drawing.Size(85, 1);
+            this.label80.TabIndex = 21;
+            // 
             // mainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
@@ -6463,8 +6608,6 @@ namespace Welling_Motor_Debug_Tool
         private TextBox textBox_FacModeSensorADC1;
         private Button buttonFacModeSet4;
         private TextBox textBox_FacModeSensorADC2;
-        private CheckBox checkBox_FacModeCheckNTC;
-        private CheckBox checkBox_FacModeCheckVol;
         private Button button_FacModeMotorRun;
         private Label label_FacModeMotorSpeedSet;
         private Label label67;
@@ -6480,10 +6623,7 @@ namespace Welling_Motor_Debug_Tool
         private TextBox textBox_FacModeName;
         private Button Button_FacModeSaveResult;
         private Button Button_FacModeSetMacDate;
-        private CheckBox checkBox_FacModeCheckCadence;
-        private CheckBox checkBox_FacModeCheckBikeSpeed;
         private Button button_FacModeLightSW;
-        private Button button_FacModeWorkMode;
         private ToolStripMenuItem 页面保存ToolStripMenuItem;
         private Label label68;
         private Label label85;
@@ -6722,10 +6862,6 @@ namespace Welling_Motor_Debug_Tool
         private ToolStripMenuItem 查询ToolStripMenuItem;
         private ToolStripMenuItem 调试记录数据ToolStripMenuItem;
         private ToolStripMenuItem 生产记录数据ToolStripMenuItem;
-        private CheckBox checkBox_FacModeCheckTor;
-        private CheckBox checkBox_FacModeCheckCadDir;
-        private CheckBox checkBox_FacModeCheckCurr;
-        private CheckBox checkBox_FacModeCheckMotor;
         private ToolStripMenuItem 累计运行时间ToolStripMenuItem;
         private ToolStripMenuItem toolStripMenuItem_RunTime;
         private ToolStripMenuItem 力矩传感器检验ToolStripMenuItem;
@@ -6759,5 +6895,27 @@ namespace Welling_Motor_Debug_Tool
         private CheckBox checkBox_OffLineFacMode;
         private CheckBox checkBox_OffLineCheckMode;
         private Label label_BuildTime;
+        private Label label74;
+        private TextBox textBox_MOS_K5;
+        private Label label73;
+        private TextBox textBox_MOS_K4;
+        private Label label72;
+        private TextBox textBox_MOS_K3;
+        private Label label71;
+        private TextBox textBox_MOS_K2;
+        private Label label70;
+        private TextBox textBox_MOS_K1;
+        private Label label77;
+        private TextBox textBox_MOS_R3;
+        private Label label76;
+        private TextBox textBox_MOS_R2;
+        private Label label75;
+        private TextBox textBox_MOS_R1;
+        private Button button_MOS_Write;
+        private Button button_MOS_Read;
+        private Button button_MOS_Cal;
+        private Label label80;
+        private Label label79;
+        private Label label78;
     }
 }

+ 123 - 37
Welling_Motor_Debug_Tool/mainForm.cs

@@ -23,7 +23,7 @@ namespace Welling_Motor_Debug_Tool
     {
         #region 变量定义
         //版本号
-        public static string Version = "2.1.2";
+        public static string Version = "2.1.3";
         //串口实例
         Serial_Process mySerialProcess = new Serial_Process();
         string PortNumSave = "";
@@ -1690,6 +1690,41 @@ namespace Welling_Motor_Debug_Tool
                             }
                             break;
                         }
+                    case 0xBC20: //内阻校正信息
+                        {
+                            unchecked
+                            {
+                                this.Invoke((EventHandler)(delegate
+                                {
+                                    //内阻1
+                                    uData16 = (ushort)(Data[1] * 256 + Data[0]);
+                                    textBox_MOS_R1.Text = Convert.ToString(uData16);
+                                    //内阻2
+                                    uData16 = (ushort)(Data[3] * 256 + Data[2]);
+                                    textBox_MOS_R2.Text = Convert.ToString(uData16);
+                                    //内阻3
+                                    uData16 = (ushort)(Data[5] * 256 + Data[4]);
+                                    textBox_MOS_R3.Text = Convert.ToString(uData16);
+                                    //K1
+                                    uData16 = (ushort)(Data[7] * 256 + Data[6]);
+                                    textBox_MOS_K1.Text = Convert.ToString(uData16);
+                                    //K2
+                                    uData16 = (ushort)(Data[9] * 256 + Data[8]);
+                                    textBox_MOS_K2.Text = Convert.ToString(uData16);
+                                    //K3
+                                    uData16 = (ushort)(Data[11] * 256 + Data[10]);
+                                    textBox_MOS_K3.Text = Convert.ToString(uData16);
+                                    //K4
+                                    uData16 = (ushort)(Data[13] * 256 + Data[12]);
+                                    textBox_MOS_K4.Text = Convert.ToString(uData16);
+                                    //K5
+                                    uData16 = (ushort)(Data[15] * 256 + Data[14]);
+                                    textBox_MOS_K5.Text = Convert.ToString(uData16);
+
+                                }));
+                            }
+                            break;
+                        }
                     case 0xC109: //Boot版本信息
                         {
                             BootInfo = "";
@@ -3539,10 +3574,6 @@ namespace Welling_Motor_Debug_Tool
             textBox_FacModeSensorADC2.Text = "";
             textBox_FacModeSensorADC3.Text = "";
             textBox_FacModeSensorADC4.Text = "";
-            checkBox_FacModeCheckBikeSpeed.Checked = false;
-            checkBox_FacModeCheckCadence.Checked = false;
-            checkBox_FacModeCheckNTC.Checked = false;
-            checkBox_FacModeCheckVol.Checked = false;
             LightSwitchStatus = false;
             MotorRunStatus = false;
             trackBar_FacModeMotorSpeedAdj.Value = 5;
@@ -3691,34 +3722,6 @@ namespace Welling_Motor_Debug_Tool
             }
         }
 
-        /// <summary>
-        /// 生产模式采集按钮
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void button_FacModeWorkMode_Click(object sender, EventArgs e)
-        {
-            var RunMode = new byte[1];
-            if (button_FacModeWorkMode.Text == "开始")
-            {
-                RunMode[0] = 0x01;
-                if (mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x1901, RunMode))
-                {
-                    button_FacModeWorkMode.Text = "停止";
-                    button_FacModeWorkMode.BackColor = Color.Yellow;
-                }
-            }
-            else if (button_FacModeWorkMode.Text == "停止")
-            {
-                RunMode[0] = 0x00;
-                if (mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x1901, RunMode))
-                {
-                    button_FacModeWorkMode.Text = "开始";
-                    button_FacModeWorkMode.BackColor = Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
-                }
-            }
-        }
-
         /// <summary>
         /// 生产模式开关灯
         /// </summary>
@@ -3815,8 +3818,6 @@ namespace Welling_Motor_Debug_Tool
                 var RunMode = new byte[1];
                 RunMode[0] = 0x01;
                 mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x1901, RunMode);
-                button_FacModeWorkMode.Text = "停止";
-                button_FacModeWorkMode.BackColor = Color.Yellow;
             }
             else //运转状态
             {
@@ -3849,8 +3850,6 @@ namespace Welling_Motor_Debug_Tool
                 var RunMode = new byte[1];
                 RunMode[0] = 0x00;
                 mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x1901, RunMode);
-                button_FacModeWorkMode.Text = "开始";
-                button_FacModeWorkMode.BackColor = Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
             }
         }
 
@@ -7496,5 +7495,92 @@ namespace Welling_Motor_Debug_Tool
         {
             VersionForm.ShowDialog();
         }
+
+        private void button_MOS_Cal_Click(object sender, EventArgs e)
+        {
+            textBox_MOS_R1.Text = "";
+            textBox_MOS_R2.Text = "";
+            textBox_MOS_R3.Text = "";
+            try
+            {
+                var Code = new byte[16];
+                for (int i = 0; i < 16; i++)
+                    Code[i] = 0;
+                ushort uwDataTemp = 0;                
+                Code[0] = 0xAA;
+                Code[1] = 0xAA;
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K1.Text);
+                Code[2] = (byte)(uwDataTemp & 0xFF);
+                Code[3] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K2.Text);
+                Code[4] = (byte)(uwDataTemp & 0xFF);
+                Code[5] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K3.Text);
+                Code[6] = (byte)(uwDataTemp & 0xFF);
+                Code[7] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K4.Text);
+                Code[8] = (byte)(uwDataTemp & 0xFF);
+                Code[9] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K5.Text);
+                Code[10] = (byte)(uwDataTemp & 0xFF);
+                Code[11] = (byte)(uwDataTemp >> 8);
+                mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x4A10, Code);
+            }
+            catch (Exception)
+            {
+                MessageBox.Show("系数填写不完整!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
+            }
+
+        }
+
+        private void button_MOS_Read_Click(object sender, EventArgs e)
+        {
+            foreach (Control c in groupBox21.Controls)
+            {
+                if (c is TextBox)
+                    c.Text = "";
+            }
+            mySerialProcess.SendCmd((ushort)0x751, (byte)0x11, (ushort)0x4B00, null);
+        }
+
+        private void button_MOS_Write_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                var Code = new byte[32];
+                for (int i = 0; i < 32; i++)
+                    Code[i] = 0;
+                ushort uwDataTemp = 0;
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_R1.Text);
+                Code[0] = (byte)(uwDataTemp & 0xFF);
+                Code[1] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_R2.Text);
+                Code[2] = (byte)(uwDataTemp & 0xFF);
+                Code[3] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_R3.Text);
+                Code[4] = (byte)(uwDataTemp & 0xFF);
+                Code[5] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K1.Text);
+                Code[6] = (byte)(uwDataTemp & 0xFF);
+                Code[7] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K2.Text);
+                Code[8] = (byte)(uwDataTemp & 0xFF);
+                Code[9] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K3.Text);
+                Code[10] = (byte)(uwDataTemp & 0xFF);
+                Code[11] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K4.Text);
+                Code[12] = (byte)(uwDataTemp & 0xFF);
+                Code[13] = (byte)(uwDataTemp >> 8);
+                uwDataTemp = Convert.ToUInt16(textBox_MOS_K5.Text);
+                Code[14] = (byte)(uwDataTemp & 0xFF);
+                Code[15] = (byte)(uwDataTemp >> 8);
+                mySerialProcess.SendCmd((ushort)0x751, (byte)0x16, (ushort)0x4C20, Code);
+            }
+            catch (Exception)
+            {
+                MessageBox.Show("数据填写不完整!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
+            }
+        }
     }
 }

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


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