|
@@ -76,6 +76,17 @@ void GearBox_CanProcess(GearBox_CanData_Struct_t* CanData)
|
|
EnvioloGearInfo1.Bike_Speed = CanData->Data[2];
|
|
EnvioloGearInfo1.Bike_Speed = CanData->Data[2];
|
|
EnvioloGearInfo1.Battery_Vol = CanData->Data[3];
|
|
EnvioloGearInfo1.Battery_Vol = CanData->Data[3];
|
|
EnvioloGearInfo1.Wheel_Rpm = (uint16_t)(CanData->Data[4] << 8) + CanData->Data[5];
|
|
EnvioloGearInfo1.Wheel_Rpm = (uint16_t)(CanData->Data[4] << 8) + CanData->Data[5];
|
|
|
|
+ //更新轮速,仅配置为通过通信获取车轮周期时更新
|
|
|
|
+ if(MC_ConfigParam1.SpeedSignal == MC_SPEED_COMMUNICATION)
|
|
|
|
+ {
|
|
|
|
+ if(EnvioloGearInfo1.Wheel_Rpm == 0)
|
|
|
|
+ MC_SpeedSensorData.DiffTime_ms = 0xFFFF;
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ MC_SpeedSensorData.DiffTime_ms = 60000 / EnvioloGearInfo1.Wheel_Rpm; //周期 = 60 / 转速(rpm) * 1000 (ms)
|
|
|
|
+ MC_SpeedSensorData.IsTrigFlag = TRUE;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
EnvioloGearInfo1.StatusFlag.Flag = CanData->Data[6];
|
|
EnvioloGearInfo1.StatusFlag.Flag = CanData->Data[6];
|
|
EnvioloGearInfo1.ErrorFlag.Flag = CanData->Data[7];
|
|
EnvioloGearInfo1.ErrorFlag.Flag = CanData->Data[7];
|
|
//变速器校准成功标志1
|
|
//变速器校准成功标志1
|
|
@@ -91,7 +102,7 @@ void GearBox_CanProcess(GearBox_CanData_Struct_t* CanData)
|
|
}
|
|
}
|
|
else if(CanData->ID == ID_ENVIOLO_TO_MC_2)
|
|
else if(CanData->ID == ID_ENVIOLO_TO_MC_2)
|
|
{
|
|
{
|
|
- memcpy((uint8_t*)&EnvioloGearInfo2.PCB_Version_Major, (uint8_t*)CanData->Data, 8);
|
|
|
|
|
|
+ memcpy((uint8_t*)&EnvioloGearInfo2.PCB_Version_Major, (uint8_t*)CanData->Data, 8);
|
|
}
|
|
}
|
|
CanData->RefreshFlag = FALSE;
|
|
CanData->RefreshFlag = FALSE;
|
|
}
|
|
}
|