RTU_ALL_AI/src/system/inc/app_modules.h

32 lines
1.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @file app_modules.h
* @brief 应用模块注册表 — X-Macro 中心化列表
* @details 此文件故意不设 include guard因为需要被多次包含
* (每次在不同的 APP_MODULE 宏定义下展开)。
* 新增模块只需在此文件中追加一行,无需修改其他代码。
*
* 格式: APP_MODULE(枚举后缀, 配置名, init1, init2, 线程入口)
* - 枚举后缀: 用于生成 ENUM_APP_<后缀> 枚举值(大写)
* - 配置名: 用于生成 "app_<配置名>" 名称字符串(小写)
* - init1: 阶段1 初始化函数(信号注册前)
* - init2: 阶段2 初始化函数(信号注册后,可为 NULL
* - 线程入口: 主循环入口函数(独立线程中运行)
*/
#ifndef APP_MODULE
#error "APP_MODULE macro must be defined before including app_modules.h"
#endif
/* ============== 线程模块system/ 子目录) ============== */
APP_MODULE(MODBUS_M, modbus_m, app_modbus_m_init1, app_modbus_m_init2, app_modbus_m)
APP_MODULE(WEB_SERVER, web_server, app_web_server_init1, app_web_server_init2, app_web_server)
APP_MODULE(SELF_PTL, self_ptl, app_self_ptl_init1, app_self_ptl_init2, app_self_ptl)
APP_MODULE(COM_ROUTER, com_router, app_com_router_init1, app_com_router_init2, app_com_router)
APP_MODULE(IEC, iec, app_iec_init1, app_iec_init2, app_iec)
APP_MODULE(PLC, plc, app_plc_init1, app_plc_init2, app_plc)
/* ============== 预留模块(阶段 2-3 实现后取消注释) ============== */
// APP_MODULE(COM_DECODE, com_decode, app_com_decode_init1, app_com_decode_init2, app_com_decode)
// APP_MODULE(IEC, iec, app_iec_init1, app_iec_init2, app_iec)
// APP_MODULE(WEB_SERVER, web_server, app_web_server_init1, app_web_server_init2, app_web_server)