|
@@ -485,6 +485,31 @@ void DataProcess(UWORD ID, UBYTE Mode, UWORD Cmd, UBYTE Data[]) /* parasoft-supp
|
|
|
}
|
|
|
case 0x3408: // OBC设置用户参数
|
|
|
{
|
|
|
+
|
|
|
+#if(WEITUER_ENABLE == 1)
|
|
|
+ OBC_SetCustomPara.DeltDiameter = (SBYTE)Data[0];
|
|
|
+ OBC_SetCustomPara.StartUpMod = Data[1];
|
|
|
+
|
|
|
+ ass_stParaCong.swDeltPerimeter = OBC_SetCustomPara.DeltDiameter;
|
|
|
+ ass_stParaCong.uwStartMode = OBC_SetCustomPara.StartUpMod;
|
|
|
+
|
|
|
+ MC_UpcInfo.stBikeInfo.uwSaveFlg = 1;
|
|
|
+ MC_UpcInfo.stBikeInfo.swWheelSizeAdjust = OBC_SetCustomPara.DeltDiameter;
|
|
|
+ MC_UpcInfo.stBikeInfo.uwStartMode = OBC_SetCustomPara.StartUpMod;
|
|
|
+
|
|
|
+ MC_UpcInfo.stAssistInfo.uwSaveFlg = 1;
|
|
|
+ MC_UpcInfo.stAssistInfo.uwAssistLimitBikeSpdStart = Data[2];
|
|
|
+ MC_UpcInfo.stAssistInfo.uwAssistLimitBikeSpdStop = Data[2]+2;
|
|
|
+
|
|
|
+ cp_stFlg.ParaUpdateFlg = TRUE;
|
|
|
+ cp_stFlg.ParaBikeInfoUpdateFlg = TRUE;
|
|
|
+ cp_stFlg.ParaAInfoUpdateFlg = TRUE;
|
|
|
+ cp_stFlg.ParaAssistUpdateFinishFlg = TRUE;
|
|
|
+ cp_stFlg.ParaSaveEEFlg = TRUE;
|
|
|
+ GearBox_Init();
|
|
|
+ SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (UBYTE *)"ACK");
|
|
|
+ break;
|
|
|
+#endif
|
|
|
OBC_SetCustomPara.DeltDiameter = (SBYTE)Data[0];
|
|
|
OBC_SetCustomPara.StartUpMod = Data[1];
|
|
|
OBC_SetCustomPara.AssistMod = Data[2];
|
|
@@ -556,7 +581,43 @@ void DataProcess(UWORD ID, UBYTE Mode, UWORD Cmd, UBYTE Data[]) /* parasoft-supp
|
|
|
cp_stHistoryPara.ulTripSum = 0;
|
|
|
cp_stHistoryPara.ulTripSumTime = 0;
|
|
|
cp_stHistoryPara.ulODOTime = cp_stHistoryPara.ulODOTime + (cp_stBikeRunInfoPara.ulRiTime >> 10) / 60;
|
|
|
- cp_stBikeRunInfoPara.ulRiTime = 0;
|
|
|
+ cp_stBikeRunInfoPara.ulRiTime = 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 0x3A05: // OBC清除ODO信息
|
|
|
+ {
|
|
|
+ if (strncmp("CLEAR", (char *)Data, DataLength) == 0)
|
|
|
+ {
|
|
|
+#if(WEITUER_ENABLE == 1)
|
|
|
+ if(strncmp("CLEAR_ODO", (char *)MC_RsASSCII.CustomASCII1, 9) != 0)
|
|
|
+ {
|
|
|
+ strncpy(MC_RsASSCII.CustomASCII1, (char *)"CLEAR_ODO_0", 11);
|
|
|
+ memcpy(flash_stPara.ubRsASSCII.CustomASCII1, MC_RsASSCII.CustomASCII1, sizeof(MC_RsASSCII.CustomASCII1));
|
|
|
+ }
|
|
|
+
|
|
|
+ if(strncmp("CLEAR_ODO", (char *)MC_RsASSCII.CustomASCII1, 9) == 0)
|
|
|
+ {
|
|
|
+ if((MC_RsASSCII.CustomASCII1[10] < 5) && (MC_RideLog.ODO_Km < 500))
|
|
|
+ {
|
|
|
+ MC_RsASSCII.CustomASCII1[10]++;
|
|
|
+ memcpy(flash_stPara.ubRsASSCII.CustomASCII1, MC_RsASSCII.CustomASCII1, sizeof(MC_RsASSCII.CustomASCII1));
|
|
|
+
|
|
|
+ MC_RideLog.TRIP_Km = 0;
|
|
|
+ MC_RideLog.TRIP_Time = 0;
|
|
|
+ MC_RideLog.ODO_Km = 0;
|
|
|
+ MC_RideLog.ODO_Time = 0;
|
|
|
+
|
|
|
+ cp_stHistoryPara.ulODOTrip = MC_RideLog.ODO_Km;
|
|
|
+ cp_stHistoryPara.ulODOTime = MC_RideLog.ODO_Time;
|
|
|
+ cp_stHistoryPara.ulTripSum = MC_RideLog.TRIP_Km;
|
|
|
+ cp_stHistoryPara.ulTripSumTime = MC_RideLog.TRIP_Time;
|
|
|
+
|
|
|
+ cp_stBikeRunInfoPara.ulRiTime = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (UBYTE *)"ACK");
|
|
|
+#endif
|
|
|
}
|
|
|
break;
|
|
|
}
|