52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
|
|
/**
|
|||
|
|
******************************************************************************
|
|||
|
|
* @file cmd_router.h
|
|||
|
|
* @brief 指令路由与响应分发模块头文件
|
|||
|
|
* @author Application Layer
|
|||
|
|
* @version 1.0
|
|||
|
|
******************************************************************************
|
|||
|
|
* @attention
|
|||
|
|
* 本模块实现指令路由与响应分发功能
|
|||
|
|
* 设计依据:多通信接口统一指令处理系统开发计划 第3.2节
|
|||
|
|
*
|
|||
|
|
* 核心职责:
|
|||
|
|
* - 从各UART端口读取数据并喂入解析器
|
|||
|
|
* - 根据指令来源端口路由响应
|
|||
|
|
* - 管理响应路由表
|
|||
|
|
******************************************************************************
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef __CMD_ROUTER_H
|
|||
|
|
#define __CMD_ROUTER_H
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
extern "C" {
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#include <stdint.h>
|
|||
|
|
#include <stdbool.h>
|
|||
|
|
#include "multi_uart_router.h"
|
|||
|
|
#include "cmd_parser.h"
|
|||
|
|
|
|||
|
|
typedef void (*cmd_response_handler_t)(port_id_t port, const char *response, uint16_t len);
|
|||
|
|
|
|||
|
|
void CmdRouter_Init(void);
|
|||
|
|
|
|||
|
|
void CmdRouter_Task(void);
|
|||
|
|
|
|||
|
|
void CmdRouter_SetResponseHandler(cmd_response_handler_t handler);
|
|||
|
|
|
|||
|
|
void CmdRouter_SendResponse(port_id_t port, const char *response, uint16_t len);
|
|||
|
|
|
|||
|
|
void CmdRouter_BroadcastResponse(const char *response, uint16_t len);
|
|||
|
|
|
|||
|
|
uint32_t CmdRouter_GetProcessedCount(void);
|
|||
|
|
|
|||
|
|
uint32_t CmdRouter_GetRoutedCount(void);
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#endif
|