|
@@ -122,9 +122,10 @@ namespace ConsoleApp2
|
|
|
|
|
|
static void Main(string[] args)
|
|
|
{
|
|
|
- Console.WriteLine("欢迎使用 MOTINOVA E-Bike 驱动系统参数生成软件 V2.0.2 20240515");
|
|
|
+ Console.WriteLine("欢迎使用 MOTINOVA E-Bike 驱动系统参数生成软件 V2.0.3 20241030");
|
|
|
Console.WriteLine("修改记录:");
|
|
|
- Console.WriteLine("20240515 针对大牙盘增加关机指令,避免客户忘关机导致参数未存储。\r\n");
|
|
|
+ Console.WriteLine("20240515 针对大牙盘和轮毂增加关机指令,避免客户忘关机导致参数未存储。");
|
|
|
+ Console.WriteLine("20241030 针对大牙盘和轮毂增加整车参数2和用户骑行参数。\r\n");
|
|
|
//账户登录
|
|
|
Console.WriteLine("请输入使用密码:");
|
|
|
if (Console.ReadLine() != "123456")
|
|
@@ -651,6 +652,8 @@ namespace ConsoleApp2
|
|
|
DicRowNum.Add("[其它传感器参数]", 0);
|
|
|
DicRowNum.Add("[助力参数]", 0);
|
|
|
DicRowNum.Add("[调试参数]", 0);
|
|
|
+ DicRowNum.Add("[整车参数2]", 0);
|
|
|
+ DicRowNum.Add("[用户骑行参数]", 0);
|
|
|
|
|
|
Dictionary<string, int> __dict = new Dictionary<string, int>(DicRowNum);
|
|
|
foreach (KeyValuePair<string, int> item in __dict)
|
|
@@ -1273,7 +1276,7 @@ namespace ConsoleApp2
|
|
|
CmdCode[44] = (byte)(Data32 >> 16);
|
|
|
CmdCode[45] = (byte)(Data32 >> 24);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//写入文件
|
|
|
file.WriteLine("[曲线" + i.ToString() + "]");
|
|
|
file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
|
|
@@ -1410,6 +1413,103 @@ namespace ConsoleApp2
|
|
|
file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
|
|
|
break;
|
|
|
}
|
|
|
+ case "[整车参数2]":
|
|
|
+ {
|
|
|
+ CmdCode[0] = 0x4D;
|
|
|
+ CmdCode[1] = 0x22;
|
|
|
+ ushort uDataTemp;
|
|
|
+ short sDataTemp;
|
|
|
+ //存储标志
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
|
|
|
+ CmdCode[2] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[3] = (byte)(uDataTemp >> 8);
|
|
|
+ //支持无码表
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
|
|
|
+ CmdCode[4] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[5] = (byte)(uDataTemp >> 8);
|
|
|
+ //尾灯控制周期
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
|
|
|
+ CmdCode[6] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[7] = (byte)(uDataTemp >> 8);
|
|
|
+ //尾灯控制脉宽
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
|
|
|
+ CmdCode[8] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[9] = (byte)(uDataTemp >> 8);
|
|
|
+ //限速微调
|
|
|
+ sDataTemp = Convert.ToInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
|
|
|
+ CmdCode[10] = (byte)(sDataTemp & 0xFF);
|
|
|
+ CmdCode[11] = (byte)(sDataTemp >> 8);
|
|
|
+ //预留1
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
|
|
|
+ CmdCode[12] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[13] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留2
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
|
|
|
+ CmdCode[14] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[15] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留3
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
|
|
|
+ CmdCode[16] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[17] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留4
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
|
|
|
+ CmdCode[18] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[19] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留5
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
|
|
|
+ CmdCode[20] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[21] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留6
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
|
|
|
+ CmdCode[22] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[23] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留7
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
|
|
|
+ CmdCode[24] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[25] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留8
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
|
|
|
+ CmdCode[26] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[27] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留9
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
|
|
|
+ CmdCode[28] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[29] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留10
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
|
|
|
+ CmdCode[30] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[31] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留11
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 16].ToString().Split(',')[1]);
|
|
|
+ CmdCode[32] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[33] = (byte)(uDataTemp >> 8);
|
|
|
+ //预留12
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 17].ToString().Split(',')[1]);
|
|
|
+ CmdCode[34] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[35] = (byte)(uDataTemp >> 8);
|
|
|
+ //写入文件
|
|
|
+ file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "[用户骑行参数]":
|
|
|
+ {
|
|
|
+ CmdCode[0] = 0x4B;
|
|
|
+ CmdCode[1] = 0x22;
|
|
|
+ ushort uDataTemp;
|
|
|
+ short sDataTemp;
|
|
|
+ //存储标志
|
|
|
+ uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
|
|
|
+ CmdCode[2] = (byte)(uDataTemp & 0xFF);
|
|
|
+ CmdCode[3] = (byte)(uDataTemp >> 8);
|
|
|
+ //循环赋值,按照字节表示
|
|
|
+ for (int i = 0; i < 32; i++)
|
|
|
+ {
|
|
|
+ CmdCode[4 + i] = Convert.ToByte(arrText[rowNum + 2 + i].ToString().Split(',')[1]);
|
|
|
+ }
|
|
|
+ //写入文件
|
|
|
+ file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
|
|
|
+ break;
|
|
|
+ }
|
|
|
default: break;
|
|
|
}
|
|
|
}
|