RTU/release/inc/app_modules.h

26 lines
1.7 KiB
C
Raw Permalink 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.

// ============================================================
// 应用模块注册表 — X-Macro 中心化列表
//
// 注意:此文件故意不设 #pragma once 或 include guard
// 因为需要被多次包含(每次在不同的 APP_MODULE 宏定义下展开)
// ============================================================
#ifndef APP_MODULE
#error "APP_MODULE macro must be defined before including app_modules.h"
#endif
// 格式: APP_MODULE(ENUM后缀, 配置名, init1, init2, thread入口)
// - ENUM后缀: 用于生成 ENUM_APP_<后缀> 枚举值(大写)
// - 配置名: 用于生成 "app_<配置名>" 匹配配置文件(小写)
// - init1/init2/thread: 模块初始化函数和线程入口
APP_MODULE(SYS, sys, app_sys_init1, app_sys_init2, app_sys )
APP_MODULE(CMD, cmd, app_cmd_init1, app_cmd_init2, app_cmd )
APP_MODULE(WEB_SERVER, web_server, app_web_server_init1, app_web_server_init2, app_web_server)
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(SELF_PTL, self_ptl, app_self_ptl_init1, app_self_ptl_init2, app_self_ptl )
APP_MODULE(IEC61850M, iec61850m, app_iec61850m_init1, app_iec61850m_init2, app_iec61850m )
APP_MODULE(IEC61850S, iec61850s, app_iec61850s_init1, app_iec61850s_init2, app_iec61850s )
APP_MODULE(MODBUS_M, modbus_m, app_modbus_m_init1, app_modbus_m_init2, app_modbus_m )
APP_MODULE(PLC, plc, app_plc_init1, app_plc_init2, app_plc )