Initial commit: CCU621_M firmware project with BLE debug link support.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
#ifndef APP_INIT_H
|
||||
#define APP_INIT_H
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "publicdata/public_define.h"
|
||||
|
||||
//任务最小堆栈空间大小 --注意单位是字节!!!!
|
||||
#define TASK_SIZE_SIZE_512 (configMINIMAL_STACK_SIZE*4) //512字节
|
||||
#define TASK_SIZE_SIZE_1024 (configMINIMAL_STACK_SIZE*8) //1024字节=1k
|
||||
#define TASK_SIZE_SIZE_2048 (TASK_SIZE_SIZE_1024*2) //2048字节=2k
|
||||
#define TASK_SIZE_SIZE_3k (TASK_SIZE_SIZE_1024*3) //3k
|
||||
#define TASK_SIZE_SIZE_4k (TASK_SIZE_SIZE_1024*4) //4k
|
||||
#define TASK_SIZE_SIZE_5k (TASK_SIZE_SIZE_1024*5) //5k
|
||||
#define TASK_SIZE_SIZE_6k (TASK_SIZE_SIZE_1024*6) //6k
|
||||
#define TASK_SIZE_SIZE_7k (TASK_SIZE_SIZE_1024*7) //7k
|
||||
#define TASK_SIZE_SIZE_8k (TASK_SIZE_SIZE_1024*8) //8k
|
||||
//任务延时周期
|
||||
#define TASK_SLEEP_MS_1000 (1000U)
|
||||
#define TASK_SLEEP_MS_500 (500U)
|
||||
#define TASK_SLEEP_MS_300 (300U)
|
||||
#define TASK_SLEEP_MS_200 (200U)
|
||||
#define TASK_SLEEP_MS_150 (150U)
|
||||
#define TASK_SLEEP_MS_100 (100U)
|
||||
#define TASK_SLEEP_MS_50 (50U)
|
||||
#define TASK_SLEEP_MS_30 (30U)
|
||||
#define TASK_SLEEP_MS_20 (20U)
|
||||
#define TASK_SLEEP_MS_10 (10U)
|
||||
#define TASK_SLEEP_MS_5 (5U)
|
||||
#define TASK_SLEEP_MS_1 (1U)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char task_name[16];
|
||||
UBaseType_t task_prio;
|
||||
uint16_t task_size;
|
||||
uint16_t task_timer;
|
||||
TaskFunction_t task_entry;
|
||||
void *task_arg;
|
||||
} MY_TASK_DATA;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
TASK_ID_EthIf = 0,
|
||||
TASK_ID_TCPIP,
|
||||
TASK_ID_BmsComm,
|
||||
TASK_ID_DataColl,
|
||||
TASK_ID_FlowCtrl,
|
||||
TASK_ID_FaultCheck,
|
||||
TASK_ID_MduComm,
|
||||
TASK_ID_SubComm,
|
||||
TASK_ID_PlatComm,
|
||||
#if (MY_SHELL_EN)
|
||||
TASK_ID_MyShell,
|
||||
#endif
|
||||
TASK_ID_UI,
|
||||
TASK_ID_WATCHDOG,
|
||||
TASK_ID_MeterColl,
|
||||
TASK_ID_Meterfee,
|
||||
TASK_ID_MyLog,
|
||||
#if (TCP_DEBUG_EN)
|
||||
TASK_ID_TcpSer,
|
||||
#endif
|
||||
|
||||
TASK_ID_EthLink,
|
||||
MY_TASK_NUM
|
||||
} TASK_ID;
|
||||
|
||||
extern const MY_TASK_DATA my_task_data[MY_TASK_NUM];
|
||||
|
||||
/* lwIP TCP/IP 线程:任务表与 lwipopts.h 中 TCPIP_THREAD_* 须一致(lwipopts 不可再 include 本头文件) */
|
||||
#define MY_TCPIP_NAME (my_task_data[TASK_ID_TCPIP].task_name)
|
||||
#define MY_TCPIP_PRIO (my_task_data[TASK_ID_TCPIP].task_prio)
|
||||
#define MY_TCPIP_SIZE (my_task_data[TASK_ID_TCPIP].task_size)
|
||||
|
||||
/* 兼容参考工程的任务访问宏 */
|
||||
#ifndef mSleep
|
||||
#define mSleep(x) (vTaskDelay(pdMS_TO_TICKS((x))))
|
||||
#endif
|
||||
|
||||
#define MY_TASK_NEW(task_id, func, para) \
|
||||
xTaskCreate((func), \
|
||||
my_task_data[(task_id)].task_name, \
|
||||
(uint16_t)(my_task_data[(task_id)].task_size / sizeof(StackType_t)), \
|
||||
(para), \
|
||||
my_task_data[(task_id)].task_prio, \
|
||||
NULL)
|
||||
|
||||
#define MY_SLEEP_TIME(task_id) mSleep(my_task_data[(task_id)].task_timer)
|
||||
#define MY_GET_SLEEP_TIME(task_id) (my_task_data[(task_id)].task_timer)
|
||||
#define MY_GET_TASK_NAME(task_id) (my_task_data[(task_id)].task_name)
|
||||
|
||||
void app_os_init(void);
|
||||
void delay_ms(uint32_t ms);
|
||||
void v_fault_blink_code_loop(uint32_t blink_count);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user