#include "task.h"
#include "can_task.h"
#include "gpio.h"
#include "stdio.h"
#include "uart_task.h"

#define DB_TASK_LED_IDX (10)

const uint32_t task_ass[8][2] = {
    {5, 0},    // task0 周期：5ms, 延迟：0
    {10, 2},   // task1 周期：10ms, 延迟：1
    {20, 3},   // task2 周期：100ms, 延迟：2
    {200, 4},  // task3 周期：200ms, 延迟：3
    {500, 5},  // task4 周期：500ms, 延迟：4
    {1000, 6}, // task5 周期：1000ms, 延迟：5
    {1000, 7}, // task6 周期：0ms, 延迟：6
    {1500, 8}, // task7 周期：0ms, 延迟：7
};

volatile uint32_t sys_run_time_u32 = 0;

void task0(void)
{
    can_process();
    uart_task();
    // cli_loop();
}

void task1(void)
{
}
void task2(void)
{
}
void task3(void)
{
}
void task4(void)
{
}

void task5(void)
{
    sys_run_time_u32++;
    HAL_GPIO_TogglePin(LED_01_GPIO_Port, LED_01_Pin);
    HAL_GPIO_TogglePin(LED_02_GPIO_Port, LED_02_Pin);
}

void task6(void)
{
}
void task7(void)
{
}
void task8(void)
{
}
