Commit b54d693b authored by 时昊's avatar 时昊

Merge branch 'dev' into 4个

parents 34e6705f 1a971921
...@@ -320,7 +320,7 @@ void interrupt RTI_ISR(void) ...@@ -320,7 +320,7 @@ void interrupt RTI_ISR(void)
RealTimeClock.RollingCounter++; RealTimeClock.RollingCounter++;
TIME_100MS = 1; TIME_100MS = 1;
//PowerDN_Time_Add(); PowerDN_Time_Add();
Data_Mileage_Rolling_Counter_Update_ISR(); Data_Mileage_Rolling_Counter_Update_ISR();
......
...@@ -120,7 +120,7 @@ void Analog_Update(void) ...@@ -120,7 +120,7 @@ void Analog_Update(void)
} }
//4���� //4����
//ȼ�� //ȼ��
/* if(ADC_Read_Signal_Valid(ADC_CH_FUEL1_R)) if(ADC_Read_Signal_Valid(ADC_CH_FUEL1_R))
{ {
AnalogFuelSensorRes = ADC_Read_Signal(ADC_CH_FUEL1_R); AnalogFuelSensorRes = ADC_Read_Signal(ADC_CH_FUEL1_R);
} }
...@@ -128,7 +128,7 @@ void Analog_Update(void) ...@@ -128,7 +128,7 @@ void Analog_Update(void)
{ {
AnalogFuelSensorRes = 0xFFFF; AnalogFuelSensorRes = 0xFFFF;
} }
*/
//���ذ��� //���ذ���
/* if(ADC_Read_Signal_Valid(5)) /* if(ADC_Read_Signal_Valid(5))
{ {
......
...@@ -16,9 +16,9 @@ void MeterInfo_Init(void) ...@@ -16,9 +16,9 @@ void MeterInfo_Init(void)
MeterInfo[Motor_1].Physical_Quantity[0] = 40; MeterInfo[Motor_1].Physical_Quantity[0] = 40;
MeterInfo[Motor_1].Physical_Quantity[1] = 60; MeterInfo[Motor_1].Physical_Quantity[1] = 60;
MeterInfo[Motor_1].Physical_Quantity[2] = 80; MeterInfo[Motor_1].Physical_Quantity[2] = 80;
MeterInfo[Motor_1].Physical_Quantity[3] = 92; MeterInfo[Motor_1].Physical_Quantity[3] = 95;
MeterInfo[Motor_1].Physical_Quantity[4] = 96; MeterInfo[Motor_1].Physical_Quantity[4] = 110;
MeterInfo[Motor_1].Physical_Quantity[5] = 100; MeterInfo[Motor_1].Physical_Quantity[5] = 114;
MeterInfo[Motor_1].Physical_Quantity[6] = 120;//ConfFun_Backup.CoolantTem_Warning; MeterInfo[Motor_1].Physical_Quantity[6] = 120;//ConfFun_Backup.CoolantTem_Warning;
MeterInfo[Motor_1].Physical_Quantity[7] = 125;//ConfFun_Backup.CoolantTem_H; MeterInfo[Motor_1].Physical_Quantity[7] = 125;//ConfFun_Backup.CoolantTem_H;
...@@ -386,14 +386,14 @@ void Gauges_Management_Service(void) ...@@ -386,14 +386,14 @@ void Gauges_Management_Service(void)
//bsp_SetMotorStep(Motor_2 , CCC); //bsp_SetMotorStep(Motor_2 , CCC);
//App_SetMotorStep(CCC,Motor_2) ; //App_SetMotorStep(CCC,Motor_2) ;
/*ˮ��*/ /*ˮ��*/
App_SetMotorStep(Coolant_Temperature.Value,Motor_1); App_SetMotorStep(Coolant_Temperature.Value,Motor_1);
/*����*/ /*����*/
App_SetMotorStep(DataConsPwr.u8CANSignal_InputVal,Motor_2); App_SetMotorStep(DataConsPwr.u8CANSignal_InputVal,Motor_2);
/*ȼ��*/ /*ȼ��*/
//App_SetMotorStep(FuelData.Step_Get,Motor_3); App_SetMotorStep(FuelData.Step_Get,Motor_3);
/*����*/ /*����*/
App_SetMotorStep(DataVSpeedDisp,Motor_4 ); App_SetMotorStep(DataVSpeedDisp,Motor_4 );
......
...@@ -50,7 +50,7 @@ void Power_On_Variable_Init(void) ...@@ -50,7 +50,7 @@ void Power_On_Variable_Init(void)
// Data_Manage_On_System_Init(); // Data_Manage_On_System_Init();
GUI_Display_INIT_KL30(); GUI_Display_INIT_KL30();
Backlight_Init(); Backlight_Init();
//SET_YB_InitData(); SET_YB_InitData();
Popups_IG_On_Init(); Popups_IG_On_Init();
Popup_Scheduler_Init(); Popup_Scheduler_Init();
Lamp_Init(); Lamp_Init();
......
...@@ -72,13 +72,21 @@ void Can_Set_Buff_18FF4017(canlib_uint8_t CopyData []) ...@@ -72,13 +72,21 @@ void Can_Set_Buff_18FF4017(canlib_uint8_t CopyData [])
uint8_t IC_LanguageMode = 0; uint8_t IC_LanguageMode = 0;
uint8_t IC_MaintanceWarningSts = 0; uint8_t IC_MaintanceWarningSts = 0;
uint8_t IC_AirbagUnitLEDSts = 0; uint8_t IC_AirbagUnitLEDSts = 0;
uint8_t IC_FuelLevelLowWarn = 0;
uint8_t IC_FuelLevelSts = 0;
uint8_t IC_FuelLevelStsInvalid = 0;
uint8_t IC_FuelSensorSTGFault = 0;
uint8_t IC_FuelSensorOCFault = 0;
IC_FuelLevelSts = FuelData.Capacity_Get/5;
u16Maintodo = (INT16U )(DataServiceInterval/10); u16Maintodo = (INT16U )(DataServiceInterval/10);
if(u16Maintodo >50000) if(u16Maintodo >50000)
{ {
u16Maintodo = 50000; u16Maintodo = 50000;
} }
if( (DataServiceWarning == 1)||(DataServiceDistanceWarning == 1) ) if((DataServiceWarning == 1)||(DataServiceDistanceWarning == 1))
{ {
IC_MaintanceWarningSts = 0x01; IC_MaintanceWarningSts = 0x01;
} }
...@@ -86,9 +94,44 @@ void Can_Set_Buff_18FF4017(canlib_uint8_t CopyData []) ...@@ -86,9 +94,44 @@ void Can_Set_Buff_18FF4017(canlib_uint8_t CopyData [])
{ {
IC_MaintanceWarningSts = 0x00; IC_MaintanceWarningSts = 0x00;
} }
IC_LanguageMode = MenuData.Language;
if(SYS_OPR_STAT_IGN_ON) if(SYS_OPR_STAT_IGN_ON)
{ {
if(FuelData.Sensor_State == FuelSensorShortCircuit)
{
IC_FuelSensorSTGFault = 2;
}
else
{
IC_FuelSensorSTGFault = 1;
}
if(FuelData.Sensor_State == FuelSensorOpenCircuit)
{
IC_FuelSensorOCFault = 2;
}
else
{
IC_FuelSensorOCFault = 1;
}
if(FuelData.Sensor_State == FuelSensorNormal)
{
IC_FuelLevelStsInvalid = 0;
if((FuelData.Step_Get <= 20)&&(DataAirPressEn))
{
IC_FuelLevelLowWarn = 1;
}
else
{
IC_FuelLevelLowWarn = 0;
}
}
else
{
IC_FuelLevelStsInvalid = 1;
}
if(Line_In_Get_Status(LINE_IN_Driver_SafeBelt)) if(Line_In_Get_Status(LINE_IN_Driver_SafeBelt))
{ {
IC_DrvSeatbeltBucklestatus = 0x01; IC_DrvSeatbeltBucklestatus = 0x01;
...@@ -189,7 +232,6 @@ void Can_Set_Buff_18FF4017(canlib_uint8_t CopyData []) ...@@ -189,7 +232,6 @@ void Can_Set_Buff_18FF4017(canlib_uint8_t CopyData [])
IC_AirbagUnitLEDSts = 3; IC_AirbagUnitLEDSts = 3;
} }
} }
} }
else else
{ {
...@@ -204,16 +246,21 @@ void Can_Set_Buff_18FF4017(canlib_uint8_t CopyData []) ...@@ -204,16 +246,21 @@ void Can_Set_Buff_18FF4017(canlib_uint8_t CopyData [])
IC_BrakeFuleLowWarn = 0; IC_BrakeFuleLowWarn = 0;
//IC_MaintanceWarningSts = 0; //IC_MaintanceWarningSts = 0;
IC_AirbagUnitLEDSts = 0; IC_AirbagUnitLEDSts = 0;
IC_FuelLevelLowWarn = 0;
IC_FuelLevelStsInvalid = 1;
IC_FuelSensorSTGFault = 0;
IC_FuelSensorOCFault = 0;
} }
IC_LanguageMode = MenuData.Language;
CopyData[0] = 0xFFu;
CopyData[0] = IC_FuelLevelSts;
CopyData[1] = u16AvgSpd; CopyData[1] = u16AvgSpd;
CopyData[2] = (uint8_t)(u16Maintodo & 0xFF); CopyData[2] = (uint8_t)(u16Maintodo & 0xFF);
CopyData[3] = (uint8_t)((u16Maintodo >> 8) & 0xFF); CopyData[3] = (uint8_t)((u16Maintodo >> 8) & 0xFF);
CopyData[4] = (IC_PassSeatbeltWarning << 7)|(IC_DrvSeatbeltBucklestatus << 6)|(IC_BrakeFuleLowWarn << 5)|(0x10)|(IC_LanguageMode << 1)|(IC_MaintanceWarningSts); CopyData[4] = (IC_PassSeatbeltWarning << 7)|(IC_DrvSeatbeltBucklestatus << 6)|(IC_BrakeFuleLowWarn << 5)|(IC_FuelLevelLowWarn << 4)|(IC_LanguageMode << 1)|(IC_MaintanceWarningSts);
CopyData[5] = u16AirPress_Front; CopyData[5] = u16AirPress_Front;
CopyData[6] = u16AirPress_Rear; CopyData[6] = u16AirPress_Rear;
CopyData[7] = (IC_PassSeatMidPosbeltWarning << 7)|(IC_AirbagUnitLEDSts << 5)|(0x1F); CopyData[7] = (IC_PassSeatMidPosbeltWarning << 7)|(IC_AirbagUnitLEDSts << 5)|(IC_FuelLevelStsInvalid << 4)|(IC_FuelSensorOCFault << 2)|(IC_FuelSensorSTGFault);
} }
void Can_Set_Buff_18FF4117(canlib_uint8_t CopyData []) void Can_Set_Buff_18FF4117(canlib_uint8_t CopyData [])
{ {
...@@ -2148,7 +2195,7 @@ uint16_t Get_CAN_CH0_ID_18FAB327_Sig_PMS_PTResiduePwrInd(void) ...@@ -2148,7 +2195,7 @@ uint16_t Get_CAN_CH0_ID_18FAB327_Sig_PMS_PTResiduePwrInd(void)
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FAB327_Msg_Count, 6u) >> 0u) & 0xFFu)); ((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FAB327_Msg_Count, 6u) >> 0u) & 0xFFu));
} }
/*uint32_t Get_CAN_CH0_ID_18FAB327_Sig_PMS_VehCruisingDistance(void) uint32_t Get_CAN_CH0_ID_18FAB327_Sig_PMS_VehCruisingDistance(void)
{ {
return (((uint32_t)((uint32_t)((uint32_t)((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FAB327_Msg_Count, 3u) >> 0u) & 0xFFu) << 8u) + \ return (((uint32_t)((uint32_t)((uint32_t)((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FAB327_Msg_Count, 3u) >> 0u) & 0xFFu) << 8u) + \
((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FAB327_Msg_Count, 2u) >> 0u) & 0xFFu) << 8u) + \ ((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FAB327_Msg_Count, 2u) >> 0u) & 0xFFu) << 8u) + \
...@@ -2156,7 +2203,7 @@ uint16_t Get_CAN_CH0_ID_18FAB327_Sig_PMS_PTResiduePwrInd(void) ...@@ -2156,7 +2203,7 @@ uint16_t Get_CAN_CH0_ID_18FAB327_Sig_PMS_PTResiduePwrInd(void)
((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FAB327_Msg_Count, 0u) >> 0u) & 0xFFu)); ((uint32_t)((uint32_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FAB327_Msg_Count, 0u) >> 0u) & 0xFFu));
} }
uint8_t Get_CAN_CH0_ID_18FA48F4_Sig_BMS_IC_Temp(void) /*uint8_t Get_CAN_CH0_ID_18FA48F4_Sig_BMS_IC_Temp(void)
{ {
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_BMS_18FA48F4_Msg_Count, 7u) >> 0u) & 0xFFu)); return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_BMS_18FA48F4_Msg_Count, 7u) >> 0u) & 0xFFu));
}*/ }*/
...@@ -2450,11 +2497,11 @@ uint8_t Get_CAN_CH0_ID_18FA98D0_Sig_PMS_EngMaintainWarningSts(void) ...@@ -2450,11 +2497,11 @@ uint8_t Get_CAN_CH0_ID_18FA98D0_Sig_PMS_EngMaintainWarningSts(void)
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FA98D0_Msg_Count, 4u) >> 0u) & 0x01u)); return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FA98D0_Msg_Count, 4u) >> 0u) & 0x01u));
} }
/*uint16_t Get_CAN_CH0_ID_18FA98D0_Sig_PMS_EngServiceMaintainInterval(void) uint16_t Get_CAN_CH0_ID_18FA98D0_Sig_PMS_EngServiceMaintainInterval(void)
{ {
return (((uint16_t)((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FA98D0_Msg_Count, 3u) >> 0u) & 0xFFu) << 8u) + \ return (((uint16_t)((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FA98D0_Msg_Count, 3u) >> 0u) & 0xFFu) << 8u) + \
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FA98D0_Msg_Count, 2u) >> 0u) & 0xFFu)); ((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_PMS_18FA98D0_Msg_Count, 2u) >> 0u) & 0xFFu));
}*/ }
uint8_t Get_CAN_CH0_ID_0CFFB303_Sig_TCU_PTO_Fault(void) uint8_t Get_CAN_CH0_ID_0CFFB303_Sig_TCU_PTO_Fault(void)
{ {
......
This diff is collapsed.
...@@ -220,7 +220,16 @@ typedef struct{ ...@@ -220,7 +220,16 @@ typedef struct{
INT8U Valid_BackUp; INT8U Valid_BackUp;
}_DataDTEStruct; }_DataDTEStruct;
typedef struct{
INT32U u32_Value;
INT8U Valid;
INT32U u32_Value_BackUp;
INT8U Valid_BackUp;
}_Data_Elec_Fuel_Struct;
EXTERN _DataDTEStruct DataEVDTE; EXTERN _DataDTEStruct DataEVDTE;
EXTERN _Data_Elec_Fuel_Struct Data_Elec_Fuel;
EXTERN _DataDTEStruct DataRemainPwr; EXTERN _DataDTEStruct DataRemainPwr;
typedef struct{ typedef struct{
...@@ -397,7 +406,7 @@ typedef struct ...@@ -397,7 +406,7 @@ typedef struct
INT16U u16Analog_Volt; INT16U u16Analog_Volt;
INT16U u16Get_VoltVal; INT16U u16Get_VoltVal;
INT16U u16Level[Air_Cnt]; INT16U u16Level[Air_Cnt];
INT8U u8_Cnt; //INT8U u8_Cnt;
INT16U u16Volt_Value; INT16U u16Volt_Value;
INT16U Cur_VoltVal; INT16U Cur_VoltVal;
INT16U Last_VoltVal; INT16U Last_VoltVal;
...@@ -406,10 +415,10 @@ typedef struct ...@@ -406,10 +415,10 @@ typedef struct
INT8U u8_PressValid; INT8U u8_PressValid;
INT16U u16Press_Val; INT16U u16Press_Val;
//INT16U u16Press_Val_Last; //INT16U u16Press_Val_Last;
INT8U u8_WarnTimer; //INT8U u8_WarnTimer;
INT8U u8_WarnValid; //INT8U u8_WarnValid;
INT8U u8_WarnFlag; //INT8U u8_WarnFlag;
INT8U u8_DeletWarnTimer; //INT8U u8_DeletWarnTimer;
uint16_t u16SignalVal; uint16_t u16SignalVal;
}_AirPress; }_AirPress;
...@@ -587,6 +596,8 @@ typedef struct ...@@ -587,6 +596,8 @@ typedef struct
}_TPMS_Display_Infor; }_TPMS_Display_Infor;
EXTERN _TPMS_Display_Infor Left_Front_Display; EXTERN _TPMS_Display_Infor Left_Front_Display;
EXTERN _TPMS_Display_Infor Left_Rear_Display; EXTERN _TPMS_Display_Infor Left_Rear_Display;
EXTERN _TPMS_Display_Infor Left_Rear_Inside_Display; EXTERN _TPMS_Display_Infor Left_Rear_Inside_Display;
...@@ -595,12 +606,22 @@ EXTERN _TPMS_Display_Infor Right_Rear_Display; ...@@ -595,12 +606,22 @@ EXTERN _TPMS_Display_Infor Right_Rear_Display;
EXTERN _TPMS_Display_Infor Right_Rear_Inside_Display; EXTERN _TPMS_Display_Infor Right_Rear_Inside_Display;
EXTERN _TPMS_Display_Infor TPMS_Info; EXTERN _TPMS_Display_Infor TPMS_Info;
EXTERN _TPMS_Display_Infor Left_Front_Display_Backup; typedef struct
EXTERN _TPMS_Display_Infor Left_Rear_Display_Backup; {
EXTERN _TPMS_Display_Infor Left_Rear_Inside_Display_Backup; INT8U TPMS_Blink;
EXTERN _TPMS_Display_Infor Right_Front_Display_Backup; INT8U Temp_Valid;
EXTERN _TPMS_Display_Infor Right_Rear_Display_Backup; INT8U Press_Valid;
EXTERN _TPMS_Display_Infor Right_Rear_Inside_Display_Backup; INT16U Press_Value;
INT16U Temp_Value;
INT16U Temp_Symbol;
}_TPMS_Display_Infor_Backup;
EXTERN _TPMS_Display_Infor_Backup Left_Front_Display_Backup;
EXTERN _TPMS_Display_Infor_Backup Left_Rear_Display_Backup;
EXTERN _TPMS_Display_Infor_Backup Left_Rear_Inside_Display_Backup;
EXTERN _TPMS_Display_Infor_Backup Right_Front_Display_Backup;
EXTERN _TPMS_Display_Infor_Backup Right_Rear_Display_Backup;
EXTERN _TPMS_Display_Infor_Backup Right_Rear_Inside_Display_Backup;
typedef struct typedef struct
{ {
...@@ -779,7 +800,7 @@ void Data_Drive_Info_Group3_Processing_Service(void) ; ...@@ -779,7 +800,7 @@ void Data_Drive_Info_Group3_Processing_Service(void) ;
extern void S513_Maintenance_Data_Set(INT32U SetedInterV); extern void S513_Maintenance_Data_Set(INT32U SetedInterV);
extern uint8_t DMM_Checksum_Processing_Service(void); extern uint8_t DMM_Checksum_Processing_Service(void);
void DMM_Processing_Service( void ); //void DMM_Processing_Service( void );
void Data_Consumed_Power_Init(void); void Data_Consumed_Power_Init(void);
void Data_Consumed_Power_Service(void); void Data_Consumed_Power_Service(void);
...@@ -787,6 +808,6 @@ void Data_AC_Temp_Init(void); ...@@ -787,6 +808,6 @@ void Data_AC_Temp_Init(void);
void Data_AC_Temp_Processing_Service(void); void Data_AC_Temp_Processing_Service(void);
void Data_SOC_Init(void); void Data_SOC_Init(void);
void Data_SOC_Processing_Service(void ); void Data_SOC_Processing_Service(void );
void Data_Elec_Fuel_Service(void);
#endif #endif
\ No newline at end of file
...@@ -173,7 +173,15 @@ void GET_Data_For_YB(void) //10ms���� ...@@ -173,7 +173,15 @@ void GET_Data_For_YB(void) //10ms����
{ {
SetPowerSt(1); SetPowerSt(1);
//FuelPARA.RPM = DataESpeedDisp;//���ת��// DataEspeedDisp 1 //FuelPARA.RPM = DataESpeedDisp;//���ת��// DataEspeedDisp 1
FuelPARA.RPM = 1;//���ת��// DataEspeedDisp 1 if((Get_CAN_CH0_ID_18FAB027_Sig_PMS_PTReadyInd() == 1))
{
FuelPARA.RPM = 1000;
}
else
{
FuelPARA.RPM = 0;
}
FuelPARA.Speed = DataVSpeedDisp/10 ;//���� 1 FuelPARA.Speed = DataVSpeedDisp/10 ;//���� 1
FuelPARA.CurODO = NVM_ODO_VALUE * 100; //��λΪ�� 1m FuelPARA.CurODO = NVM_ODO_VALUE * 100; //��λΪ�� 1m
FuelPARA.FuleConsume = 0; FuelPARA.FuleConsume = 0;
...@@ -245,8 +253,8 @@ void GET_Data_To_DSP(void) //100ms���� ...@@ -245,8 +253,8 @@ void GET_Data_To_DSP(void) //100ms����
if(FuelData.Sensor_State == FuelSensorNormal) if(FuelData.Sensor_State == FuelSensorNormal)
{ {
FuelData.Res_Valid = 1; FuelData.Res_Valid = 1;
if((FuelData.Res_Get >= Fuel_Short_Cricuit_Res)&& (FuelData.Res_Get < Fuel_Open_Res)) if((FuelData.Res_Get >= Fuel_Short_Cricuit_Res) && (FuelData.Res_Get < Fuel_Open_Res))
{ {
FuelData.Flag = 1; FuelData.Flag = 1;
FuelData.Step_Get = GetFuelStep(); FuelData.Step_Get = GetFuelStep();
...@@ -254,11 +262,11 @@ void GET_Data_To_DSP(void) //100ms���� ...@@ -254,11 +262,11 @@ void GET_Data_To_DSP(void) //100ms����
//�ⷢʣ�������ٷֱ� //�ⷢʣ�������ٷֱ�
FuelData.Capacity_Val = GetFuelCapacityVal(); FuelData.Capacity_Val = GetFuelCapacityVal();
FuelData.Res_Dis = FuelData.Res_Get ; FuelData.Res_Dis = FuelData.Res_Get ;
if(FuelData.Res_Get <= FuelInit.DisplayZoneBoundary[9]) if(FuelData.Res_Get <= FuelInit.DisplayZoneBoundary[9])//比最小的阻值小
{ {
FuelData.Precent_Val = 100; FuelData.Precent_Val = 100;
} }
else if(FuelData.Res_Get >= FuelInit.DisplayZoneBoundary[1]) else if(FuelData.Res_Get >= FuelInit.DisplayZoneBoundary[1])//比最大的阻值大
{ {
FuelData.Precent_Val = 0; FuelData.Precent_Val = 0;
} }
...@@ -317,7 +325,6 @@ unsigned char FuelSensorState(unsigned int vFuelR) ...@@ -317,7 +325,6 @@ unsigned char FuelSensorState(unsigned int vFuelR)
{ {
unsigned char sFuelSensor; unsigned char sFuelSensor;
sFuelSensor = GetFuelSensorState(); sFuelSensor = GetFuelSensorState();
// sFuelSensor_1 = GetFuelSensorState();
if(sFuelInitOver == 0) if(sFuelInitOver == 0)
{ {
if((sFuelSensor == FuelSensorNormal) && (vFuelR <= Fuel_Open_Res) && (vFuelR >= Fuel_Short_Cricuit_Res)) if((sFuelSensor == FuelSensorNormal) && (vFuelR <= Fuel_Open_Res) && (vFuelR >= Fuel_Short_Cricuit_Res))
......
This diff is collapsed.
...@@ -100,8 +100,10 @@ typedef struct ...@@ -100,8 +100,10 @@ typedef struct
INT16U Range; INT16U Range;
INT8U RangeValid; INT8U RangeValid;
INT8U RangeNum; //INT8U RangeNum;
INT32U Elec_Fuel_Range;
INT8U Elec_Fuel_RangeValid;
INT16U WorkVol; INT16U WorkVol;
INT8U WorkVolValid; INT8U WorkVolValid;
INT8U WorkNum; INT8U WorkNum;
...@@ -318,6 +320,7 @@ void Gui_AvgSpeed(INT8U Valid, INT8U AvgSpeed, INT8U Refresh); ...@@ -318,6 +320,7 @@ void Gui_AvgSpeed(INT8U Valid, INT8U AvgSpeed, INT8U Refresh);
void Gui_AvgPowCon(INT8U Valid, INT32U AvgPowCon, INT8U Refresh) ; void Gui_AvgPowCon(INT8U Valid, INT32U AvgPowCon, INT8U Refresh) ;
void Gui_InsPowCon(INT8U Valid, INT16U InsPowCon, INT8U Refresh); void Gui_InsPowCon(INT8U Valid, INT16U InsPowCon, INT8U Refresh);
void Gui_Elec_Range(INT8U Valid, INT16U Range, INT8U Refresh); void Gui_Elec_Range(INT8U Valid, INT16U Range, INT8U Refresh);
void Gui_Elec_Fuel_Range(INT8U Valid, INT32U Range, INT8U Refresh);
void Gui_WorkVoltage(INT8U Valid, INT32U WorkVoltage, INT8U Refresh); void Gui_WorkVoltage(INT8U Valid, INT32U WorkVoltage, INT8U Refresh);
void Gui_BatteyVoltage(INT8U Valid,INT16U BatteyVoltage,INT8U Refresh); void Gui_BatteyVoltage(INT8U Valid,INT16U BatteyVoltage,INT8U Refresh);
void Gui_BatteyMaxVoltage(INT8U Valid,INT8U BatteyMaxVoltage,INT8U Refresh); void Gui_BatteyMaxVoltage(INT8U Valid,INT8U BatteyMaxVoltage,INT8U Refresh);
...@@ -333,5 +336,6 @@ void Gui_ChargeSoc(INT16U Soc,INT8U Hour,INT8U Minute,INT8U Refresh); ...@@ -333,5 +336,6 @@ void Gui_ChargeSoc(INT16U Soc,INT8U Hour,INT8U Minute,INT8U Refresh);
void GUI_Setting_Menu3_Clear_AvgEcl_Display(void); void GUI_Setting_Menu3_Clear_AvgEcl_Display(void);
void Gui_DriveMode(INT8U Valid, INT8U Eco, INT8U Refresh); void Gui_DriveMode(INT8U Valid, INT8U Eco, INT8U Refresh);
void Gui_POPUP_TYPE_HINT(INT16U PopupAlarmDis, INT8U Refresh);
void Confirm_Cancel59(void);
#endif #endif
\ No newline at end of file
...@@ -47,7 +47,7 @@ typedef enum ...@@ -47,7 +47,7 @@ typedef enum
MENU_ITEM_Navi_Demand, //��ѯ MENU_ITEM_Navi_Demand, //��ѯ
MENU_ITEM_ECU_AvgELC, MENU_ITEM_ECU_AvgELC,
MENU_ITEM_ECU_ElcDTE, MENU_ITEM_ECU_ElcDTE,//Elec_Fuel
MENU_ITEM_ECU_InsELC, MENU_ITEM_ECU_InsELC,
MENU_ITEM_ECU_RemainPwr, MENU_ITEM_ECU_RemainPwr,
MENU_ITEM_ECU_AvgSpeed, MENU_ITEM_ECU_AvgSpeed,
......
...@@ -154,6 +154,17 @@ void Menu_User_Init(Menu_User_Init_PowerTypeEnum PowerType) ...@@ -154,6 +154,17 @@ void Menu_User_Init(Menu_User_Init_PowerTypeEnum PowerType)
{ {
Menu_Item_Exist_Condition_Set(MENU_ITEM_ECU_ElcDTE, 0); Menu_Item_Exist_Condition_Set(MENU_ITEM_ECU_ElcDTE, 0);
} }
if ((Val_EOL_F101_ConfigType() == 1)||(Val_EOL_F101_ConfigType() == 3)||(Val_EOL_F101_ConfigType() == 4))
{
Menu_Item_Exist_Condition_Set(MENU_ITEM_ECU_ElcDTE, 1);
}
else
{
Menu_Item_Exist_Condition_Set(MENU_ITEM_ECU_ElcDTE, 0);
}
if (Val_EOL_F101_ServiceMaintain() == 2) if (Val_EOL_F101_ServiceMaintain() == 2)
{ {
Menu_Item_Exist_Condition_Set(MENU_ITEM_SET_MAINT, 1); Menu_Item_Exist_Condition_Set(MENU_ITEM_SET_MAINT, 1);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -35,7 +35,7 @@ extern const unsigned char Radar_NB5 [] ; ...@@ -35,7 +35,7 @@ extern const unsigned char Radar_NB5 [] ;
extern const unsigned char IGN1_X47_Y121[];
extern const unsigned char OTA_Word0_01 []; extern const unsigned char OTA_Word0_01 [];
extern const unsigned char OTA_Word0_02 []; extern const unsigned char OTA_Word0_02 [];
extern const unsigned char OTA_Word0_03 []; extern const unsigned char OTA_Word0_03 [];
...@@ -69,7 +69,7 @@ extern const unsigned char Charging_Interface_Unit_h[]; ...@@ -69,7 +69,7 @@ extern const unsigned char Charging_Interface_Unit_h[];
extern const unsigned char Charging_Interface_Unit_min[]; extern const unsigned char Charging_Interface_Unit_min[];
extern const unsigned char Charging_Interface_Unit_SOC[]; extern const unsigned char Charging_Interface_Unit_SOC[];
extern const unsigned char Charging_Interface_Word0_1[]; extern const unsigned char Charging_Interface_Word0_1[];
extern const unsigned char Charging_Interface_Word0_2[];
...@@ -699,4 +699,101 @@ extern const unsigned char ECU_Title_Word0_TemperatureH_2[]; ...@@ -699,4 +699,101 @@ extern const unsigned char ECU_Title_Word0_TemperatureH_2[];
extern const unsigned char ECU_Title_Word0_TemperatureH_2[]; extern const unsigned char ECU_Title_Word0_TemperatureH_2[];
extern const unsigned char ECU_Title_Word0_TemperatureH_2[]; extern const unsigned char ECU_Title_Word0_TemperatureH_2[];
//贴图更新 lly
extern const unsigned char Alarm_044_Word0_1[];
extern const unsigned char Alarm_044_Word0_2[];
extern const unsigned char Alarm_044_Word0_3[];
extern const unsigned char Alarm_045_2_Word0[];
extern const unsigned char Alarm_056_Word0[];
extern const unsigned char Alarm_073_Word0_1[];
extern const unsigned char Alarm_073_Word0_2[];
extern const unsigned char Alarm_011_Word0_1[];
extern const unsigned char Alarm_011_Word0_2[];
extern const unsigned char Alarm_011_Word0_3[];
extern const unsigned char Alarm_012_Word0[];
extern const unsigned char Alarm_013_Word0[];
extern const unsigned char Alarm_014_Word0[];
extern const unsigned char Alarm_043_1_Word0_1[];
extern const unsigned char Alarm_043_1_Word0_2[];
extern const unsigned char Alarm_055_Word0_1[];
extern const unsigned char Alarm_055_Word0_2[];
extern const unsigned char Alarm_079_1_Word0[];
extern const unsigned char TPMS_Alarm_Word0_1[];
extern const unsigned char TPMS_Alarm_Word0_6[];
extern const unsigned char Alarm_004_Word0[];
extern const unsigned char Alarm_015_Word0[];
extern const unsigned char Alarm_018_Word0[];
extern const unsigned char Alarm_020_Word0[];
extern const unsigned char Alarm_029_1_Word0[];
extern const unsigned char Alarm_029_3_Word0[];
extern const unsigned char Alarm_042_1_Word0[];
extern const unsigned char Alarm_085_Word0[];
extern const unsigned char Alarm_026_1_Word0[];
extern const unsigned char Alarm_027_1_Word0[];
extern const unsigned char Alarm_027_2_Word0[];
extern const unsigned char Alarm_028_2_Word0[];
extern const unsigned char Alarm_028_3_Word0[];
extern const unsigned char Alarm_037_Word0_1[];
extern const unsigned char Alarm_037_Word0_2[];
extern const unsigned char Alarm_038_2_Word0[];
extern const unsigned char Alarm_005_Word0_1[];
extern const unsigned char Alarm_005_Word0_2[];
extern const unsigned char Alarm_016_Word0[];
extern const unsigned char Alarm_036_Word0[];
extern const unsigned char Alarm_066_Word0[];
extern const unsigned char OTA_Word0_01[];
extern const unsigned char OTA_Word0_02_1[];
extern const unsigned char OTA_Word0_02_2[];
extern const unsigned char OTA_Word0_03[];
extern const unsigned char OTA_Word0_04_1[];
extern const unsigned char OTA_Word0_04_2[];
extern const unsigned char OTA_Word0_04_3[];
extern const unsigned char OTA_Word0_07_1[];
extern const unsigned char OTA_Word0_07_2[];
extern const unsigned char OTA_Word0_07_3[];
extern const unsigned char OTA_Word0_08_1[];
extern const unsigned char OTA_Word0_08_2[];
extern const unsigned char OTA_Word0_08_3[];
extern const unsigned char OTA_Word0_09_1[];
extern const unsigned char OTA_Word0_09_2[];
extern const unsigned char OTA_Word0_10_1[];
extern const unsigned char OTA_Word0_10_2[];
extern const unsigned char OTA_Word0_10_3[];
extern const unsigned char OTA_Word0_10_4[];
extern const unsigned char OTA_Word0_10_5[];
extern const unsigned char OTA_Word0_12[];
extern const unsigned char OTA_Word0_13[];
extern const unsigned char OTA_Word0_14_1[];
extern const unsigned char OTA_Word0_14_2[];
extern const unsigned char OTA_Word0_15[];
extern const unsigned char OTA_Word0_16[];
extern const unsigned char OTA_Word0_17[];
extern const unsigned char OTA_Word0_18[];
extern const unsigned char OTA_Word0_19[];
extern const unsigned char OTA_Word0_20[];
extern const unsigned char OTA_Word0_21_1[];
extern const unsigned char OTA_Word0_21_2[];
extern const unsigned char OTA_Word0_24[];
extern const unsigned char Alarm_038_Word0 [];
extern const unsigned char Alarm_028_1_Word [];
extern const unsigned char Alarm_026_2_Word0 [];
extern const unsigned char Alarm_043_2_Word0 [];
extern const unsigned char Alarm_086_Word0 [];
extern const unsigned char Alarm_045_1_Word0[];
#endif #endif
\ No newline at end of file
...@@ -10,9 +10,9 @@ uint8_t BlTurnOnDelay; ...@@ -10,9 +10,9 @@ uint8_t BlTurnOnDelay;
uint8_t Bl_Time = 0; uint8_t Bl_Time = 0;
void Backlight_Init(void ) void Backlight_Init(void )
{ {
BLPWMDutyCycle = 50; BLPWMDutyCycle = 53;
BlPWMFilter.Current = 50 ; BlPWMFilter.Current = 53 ;
BlPWMFilter.Current_Last = 50; BlPWMFilter.Current_Last = 53;
BlPWMFilter.Current_Dir = 0; BlPWMFilter.Current_Dir = 0;
BlPWMFilter.InitTimer = 0; BlPWMFilter.InitTimer = 0;
// BlPWMFilter.Backup = 0xFF; // BlPWMFilter.Backup = 0xFF;
......
...@@ -393,6 +393,7 @@ void Popups_ChargeStatus(void) ...@@ -393,6 +393,7 @@ void Popups_ChargeStatus(void)
} }
} }
} }
#pragma CODE_SEG __FAR_SEG MYCODE1
void Popups_Polling(void) void Popups_Polling(void)
{ {
...@@ -1347,6 +1348,10 @@ void Popups_Polling(void) ...@@ -1347,6 +1348,10 @@ void Popups_Polling(void)
{ {
if (Get_CAN_CH0_ID_18FA98D0_Sig_PMS_EngMaintainWarningSts() == 1) if (Get_CAN_CH0_ID_18FA98D0_Sig_PMS_EngMaintainWarningSts() == 1)
{ {
if(Get_CAN_CH0_ID_18FA98D0_Sig_PMS_EngServiceMaintainInterval() == 0)
{
}
if (Popup_OnFlag.Maintenance_engine_Km) if (Popup_OnFlag.Maintenance_engine_Km)
{ {
Popup_Request(POPUP_ID_Maintenance_engine_Km); Popup_Request(POPUP_ID_Maintenance_engine_Km);
...@@ -3156,3 +3161,4 @@ void Popups_Polling(void) ...@@ -3156,3 +3161,4 @@ void Popups_Polling(void)
} }
#pragma CODE_SEG DEFAULT
...@@ -162,7 +162,9 @@ extern _Popup_OnFlag_Struct Popup_OnFlag ; ...@@ -162,7 +162,9 @@ extern _Popup_OnFlag_Struct Popup_OnFlag ;
void Popups_DoorOpen(void); void Popups_DoorOpen(void);
#pragma CODE_SEG __FAR_SEG MYCODE1
void Popups_Polling (void); void Popups_Polling (void);
#pragma CODE_SEG DEFAULT
void Popups_IG_On_Init(void); void Popups_IG_On_Init(void);
void Popups_Sound_Playing ( void ); void Popups_Sound_Playing ( void );
......
...@@ -1487,11 +1487,10 @@ void Tired_Sys_Fault_Lamp(void) ...@@ -1487,11 +1487,10 @@ void Tired_Sys_Fault_Lamp(void)
} }
} }
#if 0 //without can #if 1 //without can
//��ƣ��ϵͳ�ر�ָʾ�� //��ƣ��ϵͳ�ر�ָʾ��
void Tired_Sys_Closed_Lamp(void)//���� void Tired_Sys_Closed_Lamp(void)//����
{ {
if(Val_EOL_F110_DMM() == 1) if(Val_EOL_F110_DMM() == 1)
{ {
if(SYS_OPR_STAT_IGN_ON) if(SYS_OPR_STAT_IGN_ON)
...@@ -1502,7 +1501,7 @@ void Tired_Sys_Closed_Lamp(void)//���� ...@@ -1502,7 +1501,7 @@ void Tired_Sys_Closed_Lamp(void)//����
} }
else else
{ {
if((Get_CAN_CH0_ID_18FAD084_Sig_DMM_WorkSts() == 0)&&(DMM_Valid)) if(Get_CAN_CH0_ID_18FAD084_Sig_DMM_WorkSts() == 0)
{ {
LED_Driver_Channel_Set(Channel_1, LampCh1_Tired_Sys_Closed, Lamp_On); LED_Driver_Channel_Set(Channel_1, LampCh1_Tired_Sys_Closed, Lamp_On);
} }
...@@ -1521,7 +1520,6 @@ void Tired_Sys_Closed_Lamp(void)//���� ...@@ -1521,7 +1520,6 @@ void Tired_Sys_Closed_Lamp(void)//����
{ {
LED_Driver_Channel_Set(Channel_1, LampCh1_Tired_Sys_Closed, Lamp_Off); LED_Driver_Channel_Set(Channel_1, LampCh1_Tired_Sys_Closed, Lamp_Off);
} }
} }
#endif #endif
...@@ -4384,7 +4382,7 @@ void Lamp_Management_Service(void) ...@@ -4384,7 +4382,7 @@ void Lamp_Management_Service(void)
AVAS_Lamp(); AVAS_Lamp();
Tired_Sys_Fault_Lamp(); Tired_Sys_Fault_Lamp();
//��ƣ��ϵͳ�ر�ָʾ�� //��ƣ��ϵͳ�ر�ָʾ��
//Tired_Sys_Closed_Lamp(); Tired_Sys_Closed_Lamp();
//�ƶ�Һλ�ͱ����� //�ƶ�Һλ�ͱ�����
Brake_Fluid_Low_Lamp(); Brake_Fluid_Low_Lamp();
//EPB���ϱ����� //EPB���ϱ�����
......
...@@ -51,6 +51,8 @@ void main(void) ...@@ -51,6 +51,8 @@ void main(void)
//SoundAlarm_Now = Popup_Get_Current_Sound(); //SoundAlarm_Now = Popup_Get_Current_Sound();
Buzzer_Play_Handle(Popup_Get_Current_Sound()); Buzzer_Play_Handle(Popup_Get_Current_Sound());
Data_PDC_Service(); Data_PDC_Service();
Data_AC_Temp_Processing_Service();
Data_Cruise_Processing_Service();
} }
TASK_10ms_GROUP_0 TASK_10ms_GROUP_0
{ {
...@@ -108,6 +110,7 @@ void main(void) ...@@ -108,6 +110,7 @@ void main(void)
Data_SOC_Processing_Service(); Data_SOC_Processing_Service();
Data_Avg_EVCons_Service();//平均电耗 Data_Avg_EVCons_Service();//平均电耗
Data_EV_DTE_Service();// 纯电续航里程 Data_EV_DTE_Service();// 纯电续航里程
Data_Elec_Fuel_Service();//点+油续航
Data_ResiduePwr_Service();//剩余功率 Data_ResiduePwr_Service();//剩余功率
Data_BattVolt_Processing_Service();//工作电压 Data_BattVolt_Processing_Service();//工作电压
Data_BattCurr_Processing_Service();//工作电流 Data_BattCurr_Processing_Service();//工作电流
......
...@@ -87,8 +87,8 @@ void EOL_InitVal(void) ...@@ -87,8 +87,8 @@ void EOL_InitVal(void)
EOL_F102.F102_Byte[i] = 0x00u; EOL_F102.F102_Byte[i] = 0x00u;
} }
EOL_F102.F102_Byte[0u] = 0x69u; //105 EOL_F102.F102_Byte[0u] = 0x78u; //120
EOL_F102.F102_Byte[1u] = 0x82u; //130 EOL_F102.F102_Byte[1u] = 0x7Du; //125
//��ֵ //��ֵ
EOL_F102.F102_Byte[2u] = 105u; //E EOL_F102.F102_Byte[2u] = 105u; //E
EOL_F102.F102_Byte[3u] = 83u; //1/8 EOL_F102.F102_Byte[3u] = 83u; //1/8
......
...@@ -19,10 +19,8 @@ SEGMENTS /* here all RAM/ROM areas of the device are listed. Used in PLACEMENT b ...@@ -19,10 +19,8 @@ SEGMENTS /* here all RAM/ROM areas of the device are listed. Used in PLACEMENT b
RAM = READ_WRITE DATA_NEAR 0x2000 TO 0x3FFF ALIGN 2; RAM = READ_WRITE DATA_NEAR 0x2000 TO 0x3FFF ALIGN 2;
/* non-banked FLASH */ /* non-banked FLASH */
//ROM_4000 = READ_ONLY DATA_NEAR IBCC_NEAR 0x4000 TO 0x7FFF ALIGN 2; ROM_4000 = READ_ONLY DATA_NEAR IBCC_NEAR 0x4000 TO 0x7FFF ALIGN 2;
ROM_4000 = READ_ONLY DATA_NEAR IBCC_NEAR 0x4000 TO 0x77FF ALIGN 2;
ROM_4000_1 = READ_ONLY DATA_NEAR IBCC_NEAR 0x7800 TO 0x7BFF FILL 0xFF;
ROM_4000_2 = READ_ONLY DATA_NEAR IBCC_NEAR 0x7C00 TO 0x7FFF ALIGN 2;
ROM_C000 = READ_ONLY DATA_NEAR IBCC_NEAR 0xC000 TO 0xFAFF ALIGN 2 FILL 0xFF; ROM_C000 = READ_ONLY DATA_NEAR IBCC_NEAR 0xC000 TO 0xFAFF ALIGN 2 FILL 0xFF;
/* VECTORS = READ_ONLY 0xFF00 TO 0xFFFF; intentionally not defined: used for VECTOR commands below */ /* VECTORS = READ_ONLY 0xFF00 TO 0xFFFF; intentionally not defined: used for VECTOR commands below */
//OSVECTORS = READ_ONLY 0xFF10 TO 0xFFFF; /* OSEK interrupt vectors (use your vector.o) */ //OSVECTORS = READ_ONLY 0xFF10 TO 0xFFFF; /* OSEK interrupt vectors (use your vector.o) */
...@@ -75,12 +73,12 @@ PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS ...@@ -75,12 +73,12 @@ PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS
/* in case you want to use ROM_4000 here as well, make sure /* in case you want to use ROM_4000 here as well, make sure
that all files (incl. library files) are compiled with the that all files (incl. library files) are compiled with the
option: -OnB=b */ option: -OnB=b */
INTO ROM_C000, ROM_4000,ROM_4000_2; INTO ROM_C000, ROM_4000,;
MAPDATA_ROM INTO PAGE_FC,PAGE_FB,PAGE_FA,PAGE_F9,PAGE_F7,PAGE_F0_0; MAPDATA_ROM INTO PAGE_FC,PAGE_FB,PAGE_FA,PAGE_F9,PAGE_F7,PAGE_F0_0;
DEFAULT_ROM INTO MYCODE1, DEFAULT_ROM INTO
ROM_4000_2, PAGE_FE,PAGE_F6, PAGE_F5, PAGE_F4, PAGE_F3, PAGE_F2, PAGE_F1, PAGE_F0,ROM_4000 ; PAGE_FE,PAGE_F6, PAGE_F5, PAGE_F4, PAGE_F3, PAGE_F2, PAGE_F1, PAGE_F0,ROM_4000 ;
//.stackstart, /* eventually used for OSEK kernel awareness: Main-Stack Start */ //.stackstart, /* eventually used for OSEK kernel awareness: Main-Stack Start */
SSTACK, /* allocate stack first to avoid overwriting variables on overflow */ SSTACK, /* allocate stack first to avoid overwriting variables on overflow */
...@@ -93,10 +91,10 @@ PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS ...@@ -93,10 +91,10 @@ PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS
RAM_FD; RAM_FD;
DISTRIBUTE DISTRIBUTE_INTO DISTRIBUTE DISTRIBUTE_INTO
ROM_4000_2,ROM_4000, PAGE_FE,PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F7, ROM_4000, PAGE_FE,PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F7,
PAGE_F6, PAGE_F5, PAGE_F4, PAGE_F3, PAGE_F2, PAGE_F1, PAGE_F0; PAGE_F6, PAGE_F5, PAGE_F4, PAGE_F3, PAGE_F2, PAGE_F1, PAGE_F0;
CONST_DISTRIBUTE DISTRIBUTE_INTO CONST_DISTRIBUTE DISTRIBUTE_INTO
ROM_4000_2, ROM_4000, PAGE_FE,PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F7, ROM_4000, PAGE_FE,PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F7,
PAGE_F6, PAGE_F5, PAGE_F4, PAGE_F3, PAGE_F2, PAGE_F1, PAGE_F0; PAGE_F6, PAGE_F5, PAGE_F4, PAGE_F3, PAGE_F2, PAGE_F1, PAGE_F0;
DATA_DISTRIBUTE DISTRIBUTE_INTO DATA_DISTRIBUTE DISTRIBUTE_INTO
RAM, RAM_FD; RAM, RAM_FD;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment