Sys_Task_List.c 3.02 KB
Newer Older
李俭双's avatar
李俭双 committed
1 2 3 4 5 6

#include "Sys_Scheduler_Lib.h"
#include "Application.h"
#include "Components.h"
#include "RTE.h"
#include "UDS_ISO14229_Server.h"
7

李俭双's avatar
李俭双 committed
8 9 10 11 12 13 14 15 16 17 18 19 20
void Sys_Pseudo_Real_Time_Tasks(void)
{
    Power_Management_Service();
    DoCAN_Communication_Service();              
    UDS_Server_Application_Service();
    BU98R10_Update_Service();
    LED_Driver_Service();
    
}

void Sys_2ms_Tasks(void)
{
    Common_Input_Para();
21
    //Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u);
李俭双's avatar
李俭双 committed
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
    Sys_Status_Update_Service();
    Analog_Signal_Conv_Service();
    CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp,2u);

    // if (RTE_GPIO_Get_Level(VSPEED_TEN_OUT))
    // {
    //     RTE_GPIO_Config(VSPEED_TEN_OUT, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW);
    // }
    // else
    // {
    //     RTE_GPIO_Config(VSPEED_TEN_OUT, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_HIGH);
    // }
}

void Sys_5ms_Tasks(void)
{
    Flash_Sync_Signal_Generation_Service();
39
    
40 41
}

李俭双's avatar
李俭双 committed
42 43

void Sys_10ms_Tasks(void)
44 45
{    
	Line_In_Debounce_Service(10u);
46 47 48 49 50
    if(Common_GetIgnOnTime() >= 3000)
    {
        Key_Service();
    }

李俭双's avatar
李俭双 committed
51 52 53 54 55
    Data_Mileage_Write_EEPROM();
    Can_BusOff_Recover(10u);
    Turn_Left_Right_Lamp();
    Fuel_R_Cal(10u);
    TYW_Check_Count();
56
    Data_TPMS_Processing_Service();
李俭双's avatar
李俭双 committed
57 58
    Protocol_Service();
    Protocol_Send_Service();  
59
    
60
    FaultCode_Service(10u);
61
    }    
李俭双's avatar
李俭双 committed
62 63 64 65 66 67 68

void Sys_20ms_Tasks(void)
{
    Key_Clear_Time();
    Key_Auto_Save();
    Data_Vehicle_Speed_Processing_Service();
    Data_Engine_Speed_Processing_Service();
69
    Data_Coolant_Temp_Processing_Service();
70
    
李俭双's avatar
李俭双 committed
71
    
72
    BU98R10_Update_Request();
李俭双's avatar
李俭双 committed
73 74 75 76
}

void Sys_50ms_Tasks(void)
{
77
    
李俭双's avatar
李俭双 committed
78 79 80 81 82 83 84
    LED_Driver_Scan_Refresh();
    Telltales_Management();
    Gauge_Service();
    Key_Check_Service();
}

uint8_t u8LEDDriverCheckCount = 0U;
85

李俭双's avatar
李俭双 committed
86 87
void Sys_100ms_Tasks(void)
{
李俭双's avatar
李俭双 committed
88 89 90 91 92 93
    if((PageType != Page_Time_Hour)&&(PageType != Page_Time_Minute))
    {
        RTE_RTC_Get_CounterValue(&counter_val);
        counter_val.time.RTC_Hours = RTC_Bcd2ToByte(counter_val.time.RTC_Hours);
		counter_val.time.RTC_Minutes = RTC_Bcd2ToByte(counter_val.time.RTC_Minutes);
    }
94
    Service_Interval_Processing();
李俭双's avatar
李俭双 committed
95 96 97
    Fuel_Cal_Sevice(100u);
    BackLight_Process();
    Services_Mileage_Callback();
98
    Data_Voltage_Processing_Service();
99
	S3_ServerCNTT();    
100
    Send_UUID_To_Esp32();
101
    
李俭双's avatar
李俭双 committed
102 103 104 105 106
    if (u8LEDDriverCheckCount >= 10U)
    {
        u8LEDDriverCheckCount = 0U;
        LED_Driver_Work_Check();
        LED_Driver_Service_Immediate();//注意顺序1
107
        //ALS_Service();//注意顺序2
李俭双's avatar
李俭双 committed
108 109 110 111
    }
    else
    {
        u8LEDDriverCheckCount++;
112 113 114
    }   

    Clear_Navigation_St(); 
115
    Protocol_ESP32_Active_Service();
116 117 118 119
    if(Common_GetIgnOffTime() >= 1000)
    {
        CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Disable);
    }
120
    
李俭双's avatar
李俭双 committed
121 122 123 124 125 126 127
}


/**
 * @brief 50us中断服务 尽可能的减少中断使用
 * 
 */
128

李俭双's avatar
李俭双 committed
129 130 131
void Sys_Exact_50us_Tasks(void)
{
    static uint32_t task_1ms = 0u;
132
    Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 50u);
李俭双's avatar
李俭双 committed
133 134 135 136 137 138 139 140
    DoCAN_Timer_Update(50u);
    GenDelay_Tick();
    task_1ms++;
    if ( task_1ms >=20U )   
    {
        task_1ms =0U;
        eeprom_1ms_timeCount( );
    }
141
    
李俭双's avatar
李俭双 committed
142
}