var.c 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558
  1. #include "var.h"
  2. #include "torque_sensor.h"
  3. MC_RunInfo_Struct_t MC_RunInfo; //MC运行信息
  4. MC_ErrorCode_Struct_t MC_ErrorCode; //MC故障代码
  5. MC_VerInfo_Struct_t MC_VerInfo; //MC版本信息
  6. OnLine_Status_Struct_t DeviceOnLine_Status; //设备在线检测结果
  7. BMS_RunInfo_Struct_t BMS_RunInfo; //BMS运行信息
  8. Device_CheckInfo_Struct_t BMS_CheckInfo; //BMS授权校验
  9. BMS_DesignInfo_Struct_t BMS_DesignInfo; //BMS设计信息
  10. Device_CheckInfo_Struct_t PBU_CheckInfo; //PBU授权校验
  11. PBU_ConfigParam_Struct_t PBU_ConfigParam; //PBU配置参数
  12. Device_CheckInfo_Struct_t HMI_CheckInfo; //HMI授权校验
  13. MC_ConfigParam1_Struct_t MC_ConfigParam1; //MC配置参数1
  14. MC_ConfigParam2_Struct_t MC_ConfigParam2; //MC配置参数1
  15. MC_MotorParam_Struct_t MC_MotorParam; //马达参数
  16. MC_RunLog1_Struct_t MC_RunLog1; //MC历史信息1
  17. MC_RunLog2_Struct_t MC_RunLog2; //MC历史信息2
  18. uint8_t Secret_Key[8]; //授权验证密钥
  19. MC_MacInfo_Struct_t MC_MacInfo; //MC生产信息
  20. uint8_t UserString1[16]; //MC自定义字符串1
  21. uint8_t UserString2[16]; //MC自定义字符串2
  22. uint8_t UserString3[16]; //MC自定义字符串3
  23. MC_PowerOffBkp_Struct_t MC_PowerOffBkp; //MC关机时刻临时存储的数据
  24. Device_CheckInfo_Struct_t MC_CheckInfo; //MC授权信息
  25. MC_TE_SensorStatus_Struct_t MC_TE_SensorStatus; //TE传回传感器状态
  26. MC_TE_SensorData_Struct_t MC_TE_SensorData; //发给TE传感器结果
  27. uint16_t MC_TE_SyncClockFreqScan; //TE同步时钟频率
  28. TrueOrFalse_Flag_Struct_t TE_MCU_DataRefreshFlag = FALSE; //TE MCU数据更新标志
  29. FlagStatus TE_CheckFlag = RESET; //检测TE标志
  30. MC_AssistParam_Struct_t MC_AssisParam; //助力输出计算参数
  31. uint8_t MC_WalkMode_Persent = 100; //推行模式最高转速百分比设置
  32. ComOK_Check_Struct_t IsComOK_TE = {FALSE, 0}; //TE通信状态标志
  33. ComOK_Check_Struct_t IsComOK_PBU = {FALSE, 0}; //PBU通信状态标志
  34. ComOK_Check_Struct_t IsComOK_HMI = {FALSE, 0}; //HMI通信状态标志
  35. ComOK_Check_Struct_t IsComOK_BMS = {FALSE, 0}; //BMS通信状态标志
  36. MC_AttitudeAngle_Struct_t MC_AttitudeAngle; //姿态传感器数值
  37. MC_RideLog_Struct_t MC_RideLog; //骑行历史
  38. MC_AvgPower_Struct_t MC_AvgPower; //助力平均功耗
  39. //BMS默认设计信息
  40. const BMS_DesignInfo_Struct_t BMS_DesignInfo_Default =
  41. {
  42. (uint16_t)10400, //设计容量
  43. (uint8_t)36, //设计电压
  44. {0,0,0,0,0,0,0,0} //电芯型号
  45. };
  46. //PBU默认配置
  47. const PBU_ConfigParam_Struct_t PBU_ConfigParam_Default =
  48. {
  49. 4, //档位数量
  50. MC_SUPPORT_DISABLE, //是否支持无PBU操作
  51. };
  52. //MC默认配置参数1,占用32bytes
  53. const MC_ConfigParam1_Struct_t MC_ConfigParam1_Default =
  54. {
  55. (MC_SupportFlag_Struct_t)MC_SUPPORT_DISABLE, //支持指拨模式,0x55-不支持,0x-AA支持
  56. (MC_StarMode_Struct_t)MC_StarMode_NORM, //启动模式
  57. (uint16_t)100, //停机时间 ms
  58. (uint8_t)25, //限速 km/h
  59. (uint8_t)3, //下降速度
  60. (uint8_t)14, //前齿数 T
  61. (uint8_t)9, //后齿数 T
  62. (uint8_t)17, //限流 A
  63. (uint8_t)135, //高温预警值 +40℃
  64. (uint8_t)165, //高温保护值 +40℃
  65. (MC_SupportFlag_Struct_t)MC_SUPPORT_DISABLE, //无码表支持,0x55-不支持,0x-AA支持
  66. (uint8_t)219, //轮胎周长 cm
  67. (uint8_t)0, //系列号,
  68. {100,100}, //ECO
  69. {100,100}, //NORM
  70. {100,100}, //SPORT
  71. {100,100}, //TURBO
  72. {100,100}, //SMART
  73. (uint8_t)1, //速度传感器极数
  74. (uint8_t)2, //踏频启动信号个数
  75. (MC_SupportFlag_Struct_t)MC_SUPPORT_DISABLE, //无速度传感器支持,0x55-不支持,0x-AA支持
  76. (int8_t)0 //轮胎周长微调值
  77. };
  78. //MC配置参数2,占用32bytes
  79. const MC_ConfigParam2_Struct_t MC_ConfigParam2_Default =
  80. {
  81. (int16_t)0,
  82. (int16_t)0,
  83. (MC_SupportFlag_Struct_t)MC_SUPPORT_DISABLE //0x55-不支持,0x-AA支持
  84. };
  85. //MC默认马达参数,占用16bytes
  86. const MC_MotorParam_Struct_t MC_MotorParam_Default =
  87. {
  88. (uint16_t)250, //W
  89. (uint16_t)2000, //rpm
  90. (uint16_t)200, //mohm
  91. (uint16_t)10, //mH
  92. (uint16_t)10, //mH
  93. (uint16_t)36000, //mV
  94. (uint8_t)36 //V
  95. };
  96. //MC默认历史信息,占用48bytes
  97. const MC_RunLog1_Struct_t MC_RunLog1_Default =
  98. {
  99. (uint32_t)1, //开机次数
  100. (uint32_t)0, //运行总时间 min
  101. (uint16_t)0, //过流保次数
  102. (uint16_t)0, //低压保护次数
  103. (uint16_t)0, //高压保护次数
  104. (uint16_t)0, //堵转保护次数
  105. (uint16_t)0, //温度保护次数
  106. (uint16_t)0, //速度传感器错误次数
  107. (uint16_t)0, //力矩传感器错误次数
  108. (uint16_t)0, //霍尔传感器错误次数
  109. (uint16_t)0, //马达相线错误次数
  110. (uint16_t)0, //NTC错误次数
  111. (uint16_t)0, //BMS校验错误次数
  112. (uint16_t)0, //HMI校验错误次数
  113. (uint16_t)0, //PBU校验错误次数
  114. (uint8_t)65, //PCB历史最高温
  115. (uint8_t)65, //PCB历史最低温
  116. (uint8_t)0, //空出预留
  117. (uint8_t)0, //空出预留
  118. (uint8_t)0, //空出预留
  119. (uint8_t)0, //空出预留
  120. (uint8_t)65, //绕组历史最高温
  121. (uint8_t)65, //绕组历史最低温
  122. (uint8_t)65, //MCU历史最高温
  123. (uint8_t)65 //MCU历史最低温
  124. };
  125. //MC默认历史信息,占用24bytes
  126. const MC_RunLog2_Struct_t MC_RunLog2_Default =
  127. {
  128. (uint16_t)0, //MCU故障次数
  129. (uint16_t)0, //踏频传感器故障次数
  130. (uint16_t)0, //指拨传感器故障次数
  131. (uint16_t)0, //MOS短路次数
  132. (uint16_t)0, //电压异常次数
  133. (uint16_t)0, //电路故障次数
  134. (uint16_t)0, //TE MCU故障次数
  135. (uint16_t)0, //TE 电路故障次数
  136. };
  137. //平均功耗默认值
  138. const MC_AvgPower_Struct_t MC_AvgPower_Default =
  139. {
  140. (uint16_t)100,
  141. (uint16_t)160,
  142. (uint16_t)190,
  143. (uint16_t)270,
  144. (uint16_t)180
  145. };
  146. //MC骑行历史信息,占用32bytes
  147. const MC_RideLog_Struct_t MC_RideLog_Default =
  148. {
  149. (uint32_t)0,
  150. (uint32_t)0,
  151. (uint32_t)0,
  152. (uint32_t)0
  153. };
  154. //默认密钥,占用8bytes
  155. const uint8_t Secret_Key_Default[8] = "AVONITOM";
  156. /************Volans助力参数************/
  157. //ECO档位助力参数
  158. const nGearParam_Struct_t GearParam_Default_ECO_Volans =
  159. {
  160. (uint16_t)327,
  161. (uint16_t)0,
  162. (uint16_t)100,
  163. (uint16_t)800,
  164. (uint8_t)1,
  165. (uint8_t)1,
  166. (uint16_t)250
  167. };
  168. //NORM档位助力参数
  169. const nGearParam_Struct_t GearParam_Default_NORM_Volans =
  170. {
  171. (uint16_t)655,
  172. (uint16_t)0,
  173. (uint16_t)100,
  174. (uint16_t)1000,
  175. (uint8_t)2,
  176. (uint8_t)1,
  177. (uint16_t)500
  178. };
  179. //SPORT档位助力参数
  180. const nGearParam_Struct_t GearParam_Default_SPORT_Volans =
  181. {
  182. (uint16_t)1024,
  183. (uint16_t)0,
  184. (uint16_t)100,
  185. (uint16_t)1300,
  186. (uint8_t)3,
  187. (uint8_t)1,
  188. (uint16_t)750
  189. };
  190. //TURBO档位助力参数
  191. const nGearParam_Struct_t GearParam_Default_TURBO_Volans =
  192. {
  193. (uint16_t)1310,
  194. (uint16_t)0,
  195. (uint16_t)100,
  196. (uint16_t)1800,
  197. (uint8_t)5,
  198. (uint8_t)1,
  199. (uint16_t)1024
  200. };
  201. //SMART档位助力参数
  202. const nGearParam_Struct_t GearParam_Default_SMART_Volans =
  203. {
  204. (uint16_t)1000,
  205. (uint16_t)2000,
  206. (uint16_t)100,
  207. (uint16_t)1600,
  208. (uint8_t)4,
  209. (uint8_t)1,
  210. (uint16_t)1024
  211. };
  212. /************Volans Plus助力参数************/
  213. //ECO档位助力参数
  214. const nGearParam_Struct_t GearParam_Default_ECO_Volans_Plus =
  215. {
  216. (uint16_t)377,
  217. (uint16_t)0,
  218. (uint16_t)100,
  219. (uint16_t)840,
  220. (uint8_t)1,
  221. (uint8_t)1,
  222. (uint16_t)338
  223. };
  224. //NORM档位助力参数
  225. const nGearParam_Struct_t GearParam_Default_NORM_Volans_Plus =
  226. {
  227. (uint16_t)795,
  228. (uint16_t)0,
  229. (uint16_t)100,
  230. (uint16_t)1200,
  231. (uint8_t)2,
  232. (uint8_t)1,
  233. (uint16_t)605
  234. };
  235. //SPORT档位助力参数
  236. const nGearParam_Struct_t GearParam_Default_SPORT_Volans_Plus =
  237. {
  238. (uint16_t)1504,
  239. (uint16_t)0,
  240. (uint16_t)100,
  241. (uint16_t)1590,
  242. (uint8_t)3,
  243. (uint8_t)1,
  244. (uint16_t)850
  245. };
  246. //TURBO档位助力参数
  247. const nGearParam_Struct_t GearParam_Default_TURBO_Volans_Plus =
  248. {
  249. (uint16_t)2354,
  250. (uint16_t)0,
  251. (uint16_t)100,
  252. (uint16_t)2100,
  253. (uint8_t)5,
  254. (uint8_t)1,
  255. (uint16_t)1024
  256. };
  257. //SMART档位助力参数
  258. const nGearParam_Struct_t GearParam_Default_SMART_Volans_Plus =
  259. {
  260. (uint16_t)1000,
  261. (uint16_t)2000,
  262. (uint16_t)100,
  263. (uint16_t)2100,
  264. (uint8_t)4,
  265. (uint8_t)1,
  266. (uint16_t)1024
  267. };
  268. /************Pegasi助力参数************/
  269. //ECO档位助力参数
  270. const nGearParam_Struct_t GearParam_Default_ECO_Pegasi =
  271. {
  272. (uint16_t)476,
  273. (uint16_t)560,
  274. (uint16_t)100,
  275. (uint16_t)937,
  276. (uint8_t)1,
  277. (uint8_t)1,
  278. (uint16_t)338
  279. };
  280. //NORM档位助力参数
  281. const nGearParam_Struct_t GearParam_Default_NORM_Pegasi =
  282. {
  283. (uint16_t)1142,
  284. (uint16_t)700,
  285. (uint16_t)100,
  286. (uint16_t)1250,
  287. (uint8_t)2,
  288. (uint8_t)1,
  289. (uint16_t)489
  290. };
  291. //SPORT档位助力参数
  292. const nGearParam_Struct_t GearParam_Default_SPORT_Pegasi =
  293. {
  294. (uint16_t)1903,
  295. (uint16_t)840,
  296. (uint16_t)100,
  297. (uint16_t)1459,
  298. (uint8_t)3,
  299. (uint8_t)1,
  300. (uint16_t)686
  301. };
  302. //TURBO档位助力参数
  303. const nGearParam_Struct_t GearParam_Default_TURBO_Pegasi =
  304. {
  305. (uint16_t)2857,
  306. (uint16_t)980,
  307. (uint16_t)100,
  308. (uint16_t)2100,
  309. (uint8_t)5,
  310. (uint8_t)2,
  311. (uint16_t)1024
  312. };
  313. //SMART档位助力参数
  314. const nGearParam_Struct_t GearParam_Default_SMART_Pegasi =
  315. {
  316. (uint16_t)0,
  317. (uint16_t)1850,
  318. (uint16_t)100,
  319. (uint16_t)2100,
  320. (uint8_t)4,
  321. (uint8_t)1,
  322. (uint16_t)1024
  323. };
  324. /************Pegasi Plus助力参数************/
  325. //ECO档位助力参数
  326. const nGearParam_Struct_t GearParam_Default_ECO_Pegasi_Plus =
  327. {
  328. (uint16_t)419,
  329. (uint16_t)560,
  330. (uint16_t)100,
  331. (uint16_t)871,
  332. (uint8_t)1,
  333. (uint8_t)1,
  334. (uint16_t)235
  335. };
  336. //NORM档位助力参数
  337. const nGearParam_Struct_t GearParam_Default_NORM_Pegasi_Plus =
  338. {
  339. (uint16_t)959,
  340. (uint16_t)700,
  341. (uint16_t)100,
  342. (uint16_t)1055,
  343. (uint8_t)2,
  344. (uint8_t)1,
  345. (uint16_t)331
  346. };
  347. //SPORT档位助力参数
  348. const nGearParam_Struct_t GearParam_Default_SPORT_Pegasi_Plus =
  349. {
  350. (uint16_t)1370,
  351. (uint16_t)840,
  352. (uint16_t)100,
  353. (uint16_t)1464,
  354. (uint8_t)3,
  355. (uint8_t)1,
  356. (uint16_t)512
  357. };
  358. //TURBO档位助力参数
  359. const nGearParam_Struct_t GearParam_Default_TURBO_Pegasi_Plus =
  360. {
  361. (uint16_t)2289,
  362. (uint16_t)980,
  363. (uint16_t)100,
  364. (uint16_t)2100,
  365. (uint8_t)5,
  366. (uint8_t)2,
  367. (uint16_t)1024
  368. };
  369. //SMART档位助力参数
  370. const nGearParam_Struct_t GearParam_Default_SMART_Pegasi_Plus =
  371. {
  372. (uint16_t)0,
  373. (uint16_t)2000,
  374. (uint16_t)100,
  375. (uint16_t)2100,
  376. (uint8_t)3,
  377. (uint8_t)1,
  378. (uint16_t)1024
  379. };
  380. //全局函数定义
  381. //MC存储的参数初始化为默认值
  382. void Var_SetToDefaultParam(void)
  383. {
  384. //校验码
  385. strncpy((char*)MC_CheckInfo.CheckCode, (char*)"000000000000", 12);
  386. //力矩传感器还原为初始值
  387. TorqueSensor_ParamSetDefaultData_Init(&TorqueSensor_1_Param, ADC1_Result[ADC1_RANK_TORQUE_SENSOR_1]);
  388. TorqueSensor_ParamSetDefaultData_Init(&TorqueSensor_2_Param, ADC1_Result[ADC1_RANK_TORQUE_SENSOR_2]);
  389. TorqueSensor_ParamSetDefaultData_Init(&TorqueSensor_3_Param, ADC1_Result[ADC1_RANK_TORQUE_SENSOR_3]);
  390. //校验密钥
  391. memcpy(Secret_Key, Secret_Key_Default, sizeof(Secret_Key_Default));
  392. //启动值设为默认值
  393. TorqueStartData = TORQUE_SENSOR_STARTDATA;
  394. //配置参数1
  395. memcpy((uint8_t*)&MC_ConfigParam1.GasCtrlMode_Flag, (uint8_t*)&MC_ConfigParam1_Default.GasCtrlMode_Flag, sizeof(MC_ConfigParam1_Default));
  396. //配置参数2
  397. memcpy((uint8_t*)&MC_ConfigParam2.ZeroAngle_Pitch, (uint8_t*)&MC_ConfigParam2_Default.ZeroAngle_Pitch, sizeof(MC_ConfigParam2_Default));
  398. //马达参数
  399. memcpy((uint8_t*)&MC_MotorParam.Rate_Power, (uint8_t*)&MC_MotorParam_Default.Rate_Power, sizeof(MC_MotorParam_Default));
  400. }
  401. //MC存储的记录初始化
  402. void Var_SetToDefaultLog(void)
  403. {
  404. //历史信息1
  405. memcpy((uint8_t*)&MC_RunLog1.PowerOnCnt, (uint8_t*)&MC_RunLog1_Default.PowerOnCnt, sizeof(MC_RunLog1_Default));
  406. //历史信息2
  407. memcpy((uint8_t*)&MC_RunLog2.MCU_FaultCnt, (uint8_t*)&MC_RunLog2_Default.MCU_FaultCnt, sizeof(MC_RunLog2_Default));
  408. //骑行历史信息
  409. memcpy((uint8_t*)&MC_RideLog.ODO_Km, (uint8_t*)&MC_RideLog_Default.ODO_Km, sizeof(MC_RideLog_Default));
  410. //平均功耗值
  411. MC_AvgPower = MC_AvgPower_Default;
  412. }
  413. //变量初始化
  414. void Var_Init(void)
  415. {
  416. //MC故障码初始化为0
  417. MC_ErrorCode.Code = 0;
  418. //TE故障码初始化为0
  419. MC_TE_SensorStatus.TE_ErrorCode.Code = 0;
  420. //设备在线检测结果初始化为离线
  421. DeviceOnLine_Status.Status = 0x07;
  422. //BMS校验信息初始化为0
  423. memset((uint8_t*)BMS_CheckInfo.MAC_ID, 0, sizeof(BMS_CheckInfo));
  424. //HMI校验信息初始化为0
  425. memset((uint8_t*)HMI_CheckInfo.MAC_ID, 0, sizeof(HMI_CheckInfo));
  426. //PBU校验信息初始化为0
  427. memset((uint8_t*)PBU_CheckInfo.MAC_ID, 0, sizeof(PBU_CheckInfo));
  428. //BMS设计信息初始化为默认值
  429. memcpy((uint8_t*)&BMS_DesignInfo.Capacity, (uint8_t*)&BMS_DesignInfo_Default.Capacity, sizeof(BMS_DesignInfo_Struct_t));
  430. //PBU配置参数初始化为默认值
  431. memcpy((uint8_t*)&PBU_ConfigParam.GearsNum, (uint8_t*)&PBU_ConfigParam_Default.GearsNum, sizeof(PBU_ConfigParam_Struct_t));
  432. //MC版本信息初始化,Mode和SN从EEPROM读取
  433. strncpy(MC_VerInfo.HW_Version, (char*)"TT_KZ_010A. ", 16);//TT_KZ_010A
  434. strncpy(MC_VerInfo.FW_Version, (char*)"V3r0r5_20200316", 16);
  435. //电机型号
  436. strncpy(MC_VerInfo.Mode, (char*)"MOTINOVA PEGASI.", 16);
  437. //电机序列号
  438. strncpy(MC_VerInfo.SN_Num, (char*)"0000000000000000", 16);
  439. //生产信息
  440. strncpy(MC_MacInfo.Manufacturer, (char*)"MOTINOVA", 8); //生产信息
  441. strncpy(MC_MacInfo.MacAddr, (char*)"WUHAN. ", 8);
  442. strncpy(MC_MacInfo.MacDate, (char*)"20200114", 8);
  443. //MCU ID读取
  444. memcpy((uint8_t*)MC_CheckInfo.MAC_ID, (uint8_t*)(0x1FFFF7E8), 12);
  445. //MC存储数据初始化为默认值
  446. Var_SetToDefaultParam();
  447. Var_SetToDefaultLog();
  448. }
  449. //根据电机型号系列号调用不同的助力参数
  450. void UpdateGearParam(uint8_t SerialNum)
  451. {
  452. switch(SerialNum)
  453. {
  454. case 1://Volans
  455. {
  456. //助力参数初始化
  457. memcpy((uint8_t*)&MC_AssisParam.Gear_ECO.Gain_K, (uint8_t*)&GearParam_Default_ECO_Volans.Gain_K, sizeof(nGearParam_Struct_t));
  458. memcpy((uint8_t*)&MC_AssisParam.Gear_NORM.Gain_K, (uint8_t*)&GearParam_Default_NORM_Volans.Gain_K, sizeof(nGearParam_Struct_t));
  459. memcpy((uint8_t*)&MC_AssisParam.Gear_SPORT.Gain_K, (uint8_t*)&GearParam_Default_SPORT_Volans.Gain_K, sizeof(nGearParam_Struct_t));
  460. memcpy((uint8_t*)&MC_AssisParam.Gear_TURBO.Gain_K, (uint8_t*)&GearParam_Default_TURBO_Volans.Gain_K, sizeof(nGearParam_Struct_t));
  461. memcpy((uint8_t*)&MC_AssisParam.Gear_SMART.Gain_K, (uint8_t*)&GearParam_Default_SMART_Volans.Gain_K, sizeof(nGearParam_Struct_t));
  462. break;
  463. }
  464. case 2://Volans Plus
  465. {
  466. //助力参数初始化
  467. memcpy((uint8_t*)&MC_AssisParam.Gear_ECO.Gain_K, (uint8_t*)&GearParam_Default_ECO_Volans_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  468. memcpy((uint8_t*)&MC_AssisParam.Gear_NORM.Gain_K, (uint8_t*)&GearParam_Default_NORM_Volans_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  469. memcpy((uint8_t*)&MC_AssisParam.Gear_SPORT.Gain_K, (uint8_t*)&GearParam_Default_SPORT_Volans_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  470. memcpy((uint8_t*)&MC_AssisParam.Gear_TURBO.Gain_K, (uint8_t*)&GearParam_Default_TURBO_Volans_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  471. memcpy((uint8_t*)&MC_AssisParam.Gear_SMART.Gain_K, (uint8_t*)&GearParam_Default_SMART_Volans_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  472. break;
  473. }
  474. case 3://Pegasi
  475. {
  476. //助力参数初始化
  477. memcpy((uint8_t*)&MC_AssisParam.Gear_ECO.Gain_K, (uint8_t*)&GearParam_Default_ECO_Pegasi.Gain_K, sizeof(nGearParam_Struct_t));
  478. memcpy((uint8_t*)&MC_AssisParam.Gear_NORM.Gain_K, (uint8_t*)&GearParam_Default_NORM_Pegasi.Gain_K, sizeof(nGearParam_Struct_t));
  479. memcpy((uint8_t*)&MC_AssisParam.Gear_SPORT.Gain_K, (uint8_t*)&GearParam_Default_SPORT_Pegasi.Gain_K, sizeof(nGearParam_Struct_t));
  480. memcpy((uint8_t*)&MC_AssisParam.Gear_TURBO.Gain_K, (uint8_t*)&GearParam_Default_TURBO_Pegasi.Gain_K, sizeof(nGearParam_Struct_t));
  481. memcpy((uint8_t*)&MC_AssisParam.Gear_SMART.Gain_K, (uint8_t*)&GearParam_Default_SMART_Pegasi.Gain_K, sizeof(nGearParam_Struct_t));
  482. break;
  483. }
  484. case 4://Pegasi Plus
  485. {
  486. //助力参数初始化
  487. memcpy((uint8_t*)&MC_AssisParam.Gear_ECO.Gain_K, (uint8_t*)&GearParam_Default_ECO_Pegasi_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  488. memcpy((uint8_t*)&MC_AssisParam.Gear_NORM.Gain_K, (uint8_t*)&GearParam_Default_NORM_Pegasi_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  489. memcpy((uint8_t*)&MC_AssisParam.Gear_SPORT.Gain_K, (uint8_t*)&GearParam_Default_SPORT_Pegasi_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  490. memcpy((uint8_t*)&MC_AssisParam.Gear_TURBO.Gain_K, (uint8_t*)&GearParam_Default_TURBO_Pegasi_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  491. memcpy((uint8_t*)&MC_AssisParam.Gear_SMART.Gain_K, (uint8_t*)&GearParam_Default_SMART_Pegasi_Plus.Gain_K, sizeof(nGearParam_Struct_t));
  492. break;
  493. }
  494. default:
  495. {
  496. //默认处理
  497. break;
  498. }
  499. }
  500. }