#ifndef __FLY_PARAM_H
#define __FLY_PARAM_H
#include "includes.h"
// #include "ext_flash.h"
#include "queue.h"
// #include "soc_out.h"
// #include "bms_config.h"
#include <string.h>

#define CAN_MSG_LEN 8

#define UART1_TASK_PRIO 23
#define UART3_TASK_PRIO 24
#define UART6_TASK_PRIO 24
#define MISC_PRIO       28
#define NET_PRIO        30
#define INIT_TASK_PRIO  35

#define INIT_STK_SIZE       128
#define MISC_TASK_STK_SIZE  512
#define NET_TASK_STK_SIZE   512
#define LED1_STK_SIZE       512
#define UART1_TASK_STK_SIZE 256
#define UART3_TASK_STK_SIZE 256
#define UART6_TASK_STK_SIZE 256

extern OS_EVENT *net_mutex;
extern OS_EVENT *can1_sem;
extern OS_EVENT *can2_sem;
extern OS_EVENT *uart1_mbox;
extern OS_EVENT *uart3_mbox;
extern OS_EVENT *uart6_mbox;

extern SqQueue CanQueueCan1;
extern SqQueue CanQueueCan2;

extern CPU_STK init_task_stk[INIT_STK_SIZE];
extern CPU_STK uart1_task_stk[UART1_TASK_STK_SIZE];
extern CPU_STK uart3_task_stk[UART3_TASK_STK_SIZE];
extern CPU_STK uart6_task_stk[UART6_TASK_STK_SIZE];
extern CPU_STK misc_task_stk[MISC_TASK_STK_SIZE];
extern CPU_STK net_task_stk[NET_TASK_STK_SIZE];

#endif
