//! 主站模块
//!
//! 包含主站核心功能、事件系统、诊断、配置、对象字典和邮箱网关。

/// 主站核心 (初始化、状态、PDO循环、IO映射)
pub mod core;

/// 事件系统 (线程安全回调注册)
pub mod events;

/// EMCY 紧急消息记录扩展
pub mod events_emcy;

/// 主站诊断信息 (帧/错误/抖动统计)
pub mod diagnostics;

/// 主站诊断信息扩展 (从站错误计数器、PDO丢帧)
pub mod diagnostics_info;

/// ETG.1510 主站诊断对象字典
pub mod diagnostics_etg1510;

/// 主站配置管理 (周期、网络、PDO、互斥锁等)
pub mod config;

/// ETG.1510 主站对象字典
pub mod master_od;

/// ETG.8200 Mailbox Gateway 服务
pub mod mailbox_gateway;

/// 主站状态管理 (状态切换、中止、CPU亲和性)
pub mod state;

/// 主站其他功能 (诊断快照、日志初始化)
pub mod other;

/// 冗余网络管理器
pub mod redundancy;

/// Hot-Connect 组管理 + 热插拔自修复事件
pub mod hot_connect;

// 重新导出核心类型
pub use self::core::{EtherCATMaster, IomapGuard, BuildResult, MasterBuilder, ValidationResult};
pub use events::{MasterEvents, SlaveEvents, SlaveIdentityMismatch};
pub use events_emcy::{EmergencyMessage, EmcyRecorder};
pub use diagnostics::{MasterDiagnosticsInfo, MasterPDODiagnostics, BreakPointInfo, PDOFrameLossStats, DiagnosticsSnapshot};
pub use diagnostics_info::{SlaveErrorCounters, PdoFrameLossInfo};
pub use diagnostics_etg1510::MasterOdEtg1510;
pub use config::{MasterConfig, save_master_settings, load_master_settings};
pub use master_od::MasterObjectDictionary;
pub use mailbox_gateway::MailboxGatewayService;
pub use state::{abort, reset_abort, get_cpu_cores, apply_realtime_optimizations};
pub use other::{SlaveDiagnosticsData, initialize_logging};
pub use redundancy::{RedundancyManager, RedundancyInfo};
pub use hot_connect::{HotConnect, HotConnectGroup, HotConnectStatus, HotPlugIdentityMismatch};
