#include "Task.h" #include "dr7f701401.dvf.h" #include "PIC_Comm.h" #include "api_tft.h" #include "Analog_Signals.h" #include "Buzzer_Play_User.h" #include "Sound_Alarm_User.h" #include "GPIO.h" #include "Watchdog.h" #include "Task_Scheduler.h" #include "GUI.h" #include "COM_CAN.h" // #include "Flash_synchronizer.h" #include "r_typedefs.h" #include "RTE_ADC.h" #include "CAN_CH0_CAN_Communication_Matrix.h" #include "Rscan.h" #include "Telltales_Lib.h" #include "Telltales_user.h" #include "Line_in.h" #include "Line_In_user.h" #include "EEPROM_24Cxx.h" #include "Simulated_IIC_Master.h" #include "Non_volatile_Memorys.h" #include "EEPROM_24Cxx_Remap.h" #include "PowerManag_User.h" #include "DataProcess.h" #include "Key.h" #include "NM_Config.h" #include "NMUserControl.h" #include "LED_Driver.h" #include "LED_Driver_Interface.h" #include "Gauges.h" #include "Popup_Alarm.h" #include "Popup_Alarm_user.h" #include "Popup_Alarm_Handle.h" #include "Sound_Alarm_handle.h" #include "LCD_BUS.h" #include "LCD_MonoTFT.h" #include "UDS_Common.h" #include "DoCAN_ISO15765.h" /******************************************************************************* * * * * *******************************************************************************/ uint8_t Menu_Update_Flag = 0u; uint16_t SeatBeltCount; extern uint8_t TELTALES_MODE; uint8_t CAN_EXIST_Flag = 0u; /*============================================================================== ------------------------------------------------------------------------------*/ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void) { PoMa_Service( ); DoCAN_Communication_Service( ); UDS_Server_Application_Service( ); LED_Driver_Service( ); EEPROM_RW_Service( ); Gauges_Zero_Severces( ); Buzzer_Play_Service( ); Sound_Alarm_Service( ); Menu_Hide_Service(); } /*============================================================================*/ /*============================================================================== 2ms任务 ------------------------------------------------------------------------------*/ void Sys_Run_Mode_2ms_Tasks_Group(void) { Analog_Signal_Conv_Service(); Common_Input_Para(); Flash_Service(); Buzzer_Play_Time_Count(2); Sound_Alarm_Handle_Time(2); //Can_RX_ResetAllTimer_Self_Check(); } /*============================================================================== 5ms任务 ------------------------------------------------------------------------------*/ void Sys_Run_Mode_5ms_Tasks_Group(void) { UDS_10ms_Service(); Key_Clear_Time(); COM_RX_Process(); } /*============================================================================== 10ms任务 ------------------------------------------------------------------------------*/ Pop_Alarm_en_t enYZHDTest=0; Sound_Alarm_en_t enYZHDTest1=0; void Sys_Run_Mode_10ms_Tasks_Group(void) { enYZHDTest=Pop_Alarm_Get_Current(); enYZHDTest1=Sound_Alarm_Current_Read(); NVM_Data_Update_Service(); EEPROM_Access_Service(); TurnLeft_Lamp(); TurnRight_Lamp(); SendMsg(); Gui_LightProc(); FuelAFCTimeCall(); Key_Service(); Line_In_Debounce_Service(10u); Data_Engine_Speed_Processing_Service(); Sound_Alarm_Trigger_TURN(); //Can_BusOff_Fun( ); LCDBUS_Check_RealTime( ); } /*============================================================================== 20ms任务 ------------------------------------------------------------------------------*/ void Sys_Run_Mode_20ms_Tasks_Group0(void) { PoMa_Time_Service(20U); Data_Vehicle_Speed_Processing_Service(); CAN_J1939_Time_Handle(20U); CAN_1939_Process(); } /*============================================================================== 50ms任务 ------------------------------------------------------------------------------*/ void Sys_Run_Mode_50ms_Tasks_Group(void) { Draw_Graph_Engine( ); Gauges_Management_Service(); Telltales_Management(); LED_Driver_Scan_Refresh(); } /*============================================================================== 100ms任务 ------------------------------------------------------------------------------*/ void Sys_Run_Mode_100ms_Tasks_Group(void) { Data_Fuel_Consumption_Count_ISR(); TPMS_Tyre_Lost(); LED_Driver_Refresh_Example(); PoMa_Sleep_Delay_Time_Handle(); Mileage_Source_Service(); Maint_Service(); Data_Coolant_Temp_Processing_Service(); ExecFuel(); Fuel_RangeDis(); Data_AvgFuel_Processing_Service(); Data_AvgFuel_TripA_Display_Service(); Data_Instantaneous_Fuel_Service(); Data_Instantaneous_Fuel_Display_Service(); //Data_Safety_Belt_Processing_Service(); Data_TPMS_Value_Processing(); Data_Urea_Processing_Service(); Data_Urea_Limited_Torque(); Data_Urea_Limited_Vehicle_Speed(); Data_Avg_Speed_Processing(); AvgSpeed_DriTime_Add(1); AvgSpeed_Speed_Add(Common_Get_Act_V_Speed()); Safety_Belt_DriTime_Add(1); Data_Fuel_Display(); // Gui_Display_Service(); Popups_Alarm_Trigger_Time(); Popups_Alarm_Trigger_Service(); Sound_Alarm_Trigger_Service(); Sound_Alarm_Trigger_Time(); Data_Gear_Processing_Service(); //RTI_Timing_Service(); Power_Management_Time_Handle(); Can18FF9CF1_Lost(); RTC_TIME_Processing_Service(); CAN_Message_Time_Handle(); CAN_Time_Lost(); } /*============================================================================== 精准50us任务 ------------------------------------------------------------------------------*/ volatile uint8_t Time_2ms_Flag = 0u; uint8_t Time_2ms_Cnt = 0u; uint16_t TimerCount = 0; uint16_t task_2ms = 0U; uint16_t task_10ms = 0U; void Sys_Exact_50us_Tasks(void) { static uint16_t SEG_TIMER; static uint32_t task_1ms = 0u; UDS_50us_Service( ); DoCAN_Timer_Update(50); //bsp_MotorMove_50us_main(); bsp_MotorMove_50us_main(); task_2ms++; if (task_2ms >= 40) { task_2ms = 0U; OsekNM_Manage_Main(); } // GenDelay_Tick( ); #ifndef INNER_PIC_ON LCDBUS_Monitor_Time_ISR( ); #endif } /*============================================================================== 精准100ms任务 ------------------------------------------------------------------------------*/ void Sys_Exact_100ms_Tasks(void) { Mileage_Rolling_Counter_Update_ISR(Common_Get_Act_V_Speed()); }