#include #include #include #include #include "MemsHS.h" using namespace std; // 全局变量用于信号处理 static bool running = true; // 信号处理函数 void signal_handler(int signal) { running = false; } int main(int argc, char* argv[]) { // 设置信号处理 signal(SIGINT, signal_handler); signal(SIGTERM, signal_handler); // 默认配置文件 string config_file = "MemsHS.json"; cout << "[INFO] Starting MEMS Hardware Service" << endl; cout << "[INFO] Loading configuration from: " << config_file << endl; // 解析配置文件 MemsConfig config; int result = parse_mems_config_file(config_file.c_str(), &config); if (result != 0) { cerr << "[ERROR] Failed to parse config file" << endl; // 使用默认配置 config.device = "/dev/tnt5"; config.baudrate = 115200; cout << "[WARN] Using default config: device=" << config.device << ", baudrate=" << config.baudrate << endl; } // 初始化MEMS设备 result = mems_uart_init(config.device.c_str(), config.baudrate); if (result == MEMS_ERR_OK) { cout << "[OK] MEMS initialized successfully" << endl; } else { cerr << "[ERROR] Failed to initialize MEMS" << endl; } // 初始化FastDDS Fastdds_init(0, "Mems_Hardware_Service"); // 主循环 while (running) { usleep(1000000); // 每1秒检查一次 } // 清理 MEMS_hardware_cleanup(); return 0; }