0
0

Auto commit from DCSP - 2026/1/5 11:30:54

This commit is contained in:
xb
2026-01-05 11:30:54 +08:00
parent 6980e8ade2
commit 0fd98e248b
9 changed files with 865 additions and 734 deletions

View File

@@ -2,41 +2,65 @@
#include <cstdlib>
#include <string>
#include <unistd.h>
#include <signal.h>
#include "ComHS.h"
using namespace std;
/* 全局运行标志 */
static volatile int keep_running = 1;
/* 信号处理函数 */
void signal_handler(int signum)
{
keep_running = 0;
cout << "\n[INFO] Received signal " << signum << ", stopping..." << endl;
}
/*
* 主函数
*
* 命令行参数:
* argv[1]: 遥控串口设备路径 (默认: /dev/ttyUSB0)
* argv[2]: 遥测串口设备路径 (默认: /dev/ttyUSB1)
* argv[3]: 波特率 (默认: 115200)
*/
int main(int argc, char *argv[])
{
// 默认串口配置
const char *dev_telec = "/dev/ttyUSB0"; //串口
const char *dev_telem = "/dev/ttyUSB1"; // 遥测串口
const char *dev_telec = "/dev/ttyUSB0"; /* 遥控串口 */
const char *dev_telem = "/dev/ttyUSB1"; /*串口 */
int baudrate = 115200;
// 从命令行参数获取配置
if (argc >= 3)
{
/* 从命令行参数获取配置 */
if (argc >= 3) {
dev_telec = argv[1];
dev_telem = argv[2];
}
if (argc >= 4)
{
if (argc >= 4) {
baudrate = atoi(argv[3]);
}
// 启动服务
/* 设置信号处理 */
signal(SIGINT, signal_handler);
signal(SIGTERM, signal_handler);
/* 启动服务 */
start_scomm_service(dev_telec, dev_telem, baudrate);
// 主循环
int counter = 0;
while (1)
{
while (keep_running) {
static int counter = 0;
if (counter++ >= 10) {
counter = 0;
}
sleep(1);
}
// 服务停止
cout << "[INFO] Stopping service..." << endl;
stop_scomm_service();
cout << "[INFO] Service stopped successfully" << endl;
return 0;
}