var.c 16 KB

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