From 292c313b158544e73e36ad49086e55d7d7af7827 Mon Sep 17 00:00:00 2001 From: xb <18656218039@163.com> Date: Mon, 5 Jan 2026 20:36:13 +0800 Subject: [PATCH] Auto commit from DCSP - 2026/1/5 20:36:13 --- AD硬件服务化 | 1 + CAN硬件服务化 | 1 + GNSS硬件服务化 | 1 + Star_sensorHS.cpp | 870 ++++++++++++++++++ Star_sensorHS.h | 322 +++++++ test.cpp | 761 +++++++++++++++ 开关硬件服务化 | 1 + 星务硬件服务化 | 1 + 星敏硬件服务化/CMakeLists.txt | 46 + 星敏硬件服务化/Star_sensorHS-main.cpp | 120 +++ 星敏硬件服务化/Star_sensorHS.cpp | 838 +++++++++++++++++ 星敏硬件服务化/Star_sensorHS.h | 347 +++++++ 星敏硬件服务化/build/CMakeCache.txt | 369 ++++++++ .../CMakeFiles/3.22.1/CMakeCCompiler.cmake | 72 ++ .../CMakeFiles/3.22.1/CMakeCXXCompiler.cmake | 83 ++ .../3.22.1/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 15968 bytes .../3.22.1/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 15992 bytes .../build/CMakeFiles/3.22.1/CMakeSystem.cmake | 15 + .../3.22.1/CompilerIdC/CMakeCCompilerId.c | 803 ++++++++++++++++ .../build/CMakeFiles/3.22.1/CompilerIdC/a.out | Bin 0 -> 16088 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 791 ++++++++++++++++ .../CMakeFiles/3.22.1/CompilerIdCXX/a.out | Bin 0 -> 16096 bytes .../CMakeDirectoryInformation.cmake | 16 + .../build/CMakeFiles/CMakeOutput.log | 449 +++++++++ .../build/CMakeFiles/Makefile.cmake | 122 +++ .../build/CMakeFiles/Makefile2 | 112 +++ .../Star_sensorHS.dir/DependInfo.cmake | 20 + .../Star_sensorHS-main.cpp.o | Bin 0 -> 12328 bytes .../Star_sensorHS-main.cpp.o.d | 179 ++++ .../Star_sensorHS.dir/Star_sensorHS.cpp.o | Bin 0 -> 34528 bytes .../Star_sensorHS.dir/Star_sensorHS.cpp.o.d | 223 +++++ .../CMakeFiles/Star_sensorHS.dir/build.make | 126 +++ .../Star_sensorHS.dir/cmake_clean.cmake | 13 + .../Star_sensorHS.dir/compiler_depend.make | 2 + .../Star_sensorHS.dir/compiler_depend.ts | 2 + .../CMakeFiles/Star_sensorHS.dir/depend.make | 2 + .../CMakeFiles/Star_sensorHS.dir/flags.make | 10 + .../CMakeFiles/Star_sensorHS.dir/link.txt | 1 + .../Star_sensorHS.dir/progress.make | 4 + .../build/CMakeFiles/TargetDirectories.txt | 3 + .../build/CMakeFiles/cmake.check_cache | 1 + .../build/CMakeFiles/progress.marks | 1 + 星敏硬件服务化/build/Makefile | 208 +++++ 星敏硬件服务化/build/bin/Star_sensorHS | Bin 0 -> 45968 bytes .../build/cmake_install.cmake | 54 ++ 电源服务 | 1 + 管理服务 | 1 + 通信服务 | 1 + 通信硬件服务化 | 1 + 49 files changed, 6994 insertions(+) create mode 160000 AD硬件服务化 create mode 160000 CAN硬件服务化 create mode 160000 GNSS硬件服务化 create mode 100644 Star_sensorHS.cpp create mode 100644 Star_sensorHS.h create mode 100644 test.cpp create mode 160000 开关硬件服务化 create mode 160000 星务硬件服务化 create mode 100644 星敏硬件服务化/CMakeLists.txt create mode 100644 星敏硬件服务化/Star_sensorHS-main.cpp create mode 100644 星敏硬件服务化/Star_sensorHS.cpp create mode 100644 星敏硬件服务化/Star_sensorHS.h create mode 100644 星敏硬件服务化/build/CMakeCache.txt create mode 100644 星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake create mode 100644 星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake create mode 100755 星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin create mode 100755 星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin create mode 100644 星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeSystem.cmake create mode 100644 星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c create mode 100755 星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/a.out create mode 100644 星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out create mode 100644 星敏硬件服务化/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 星敏硬件服务化/build/CMakeFiles/CMakeOutput.log create mode 100644 星敏硬件服务化/build/CMakeFiles/Makefile.cmake create mode 100644 星敏硬件服务化/build/CMakeFiles/Makefile2 create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/DependInfo.cmake create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o.d create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o.d create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/build.make create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/cmake_clean.cmake create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/compiler_depend.make create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/compiler_depend.ts create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/depend.make create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/flags.make create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/link.txt create mode 100644 星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/progress.make create mode 100644 星敏硬件服务化/build/CMakeFiles/TargetDirectories.txt create mode 100644 星敏硬件服务化/build/CMakeFiles/cmake.check_cache create mode 100644 星敏硬件服务化/build/CMakeFiles/progress.marks create mode 100644 星敏硬件服务化/build/Makefile create mode 100755 星敏硬件服务化/build/bin/Star_sensorHS create mode 100644 星敏硬件服务化/build/cmake_install.cmake create mode 160000 电源服务 create mode 160000 管理服务 create mode 160000 通信服务 create mode 160000 通信硬件服务化 diff --git a/AD硬件服务化 b/AD硬件服务化 new file mode 160000 index 0000000..41777ab --- /dev/null +++ b/AD硬件服务化 @@ -0,0 +1 @@ +Subproject commit 41777abf460e67456a3ffc4d747aca6e3a80b2a6 diff --git a/CAN硬件服务化 b/CAN硬件服务化 new file mode 160000 index 0000000..172fb80 --- /dev/null +++ b/CAN硬件服务化 @@ -0,0 +1 @@ +Subproject commit 172fb807f6115c1eea87efe78f091a05878e1667 diff --git a/GNSS硬件服务化 b/GNSS硬件服务化 new file mode 160000 index 0000000..5d19428 --- /dev/null +++ b/GNSS硬件服务化 @@ -0,0 +1 @@ +Subproject commit 5d1942822e84a1bbc242c323cd9367eda703cb8d diff --git a/Star_sensorHS.cpp b/Star_sensorHS.cpp new file mode 100644 index 0000000..df55c04 --- /dev/null +++ b/Star_sensorHS.cpp @@ -0,0 +1,870 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "SimMsg.h" +#include "Star_sensorHS.h" + +using namespace std; + +/* ------------------ 全局变量 ------------------ */ +// FastDDS硬件服务化相关 +SimMsg* StarHS_part = nullptr; +string servername = "Star_sensor_Hardware_Service"; +string topic_name_cmd = "Command"; +string topic_name_tlm = "Telemetry"; + +// 星敏设备相关 +Star_Device nano_stars[MAX_STAR_NUM_PER_TYPE] = {0}; +Star_Device pico_stars[MAX_STAR_NUM_PER_TYPE] = {0}; +uint8_t nano_star_count = 0; +uint8_t pico_star_count = 0; + +// 全局UTC时间变量 +static uint8_t UTC_TIME_SET[5] = {0}; + +// 电星模数据结构体 +static CMD_ESD_S CMD_ESD_S_DATA = {0}; + +// 互斥锁 +static pthread_mutex_t cache_mutex = PTHREAD_MUTEX_INITIALIZER; + +// 发布配置 +static int star_pub_interval_ms = 500; + +// 回调函数指针 +static CommandCallbackFunc command_callback_func = nullptr; +static TelemetryCallbackFunc telemetry_callback_func = nullptr; + +/* ------------------ 日志函数 ------------------ */ +void StarHSWriteLog(const std::string &msg) +{ + std::cout << "[StarHS] " << msg << std::endl; +} + +/* ------------------ 工具函数 ------------------ */ +static int checksum_verify(const uint8_t *data, int len) { + if (len <= 1 || data == NULL) return SAT_ERR_DATA; + uint8_t checksum = 0; + for (int i = 0; i < len - 1; ++i) checksum += data[i]; + if (checksum == data[len - 1]) return SAT_ERR_OK; + fprintf(stderr, "[ERROR] Checksum error: calculated=0x%02X, received=0x%02X\n", checksum, data[len - 1]); + return SAT_ERR_CHECKSUM; +} + +static void update_fault_count(Star_Device *star) { + if (star == NULL) return; + + uint32_t total_errors = star->header_err_cnt + star->check_err_cnt + + star->length_err_cnt + star->send_cmd_cnt; + star->fault_cnt = total_errors; + + if (total_errors > 100) { + fprintf(stderr, "[WARNING] Star device has %u errors, consider reset\n", total_errors); + } +} + +/* ------------------ 串口初始化 ------------------ */ +int star_uart_init(star_type_t type, uint8_t num, const char *dev, int baudrate) { + if (type >= STAR_TYPE_MAX || num == 0 || num > MAX_STAR_NUM_PER_TYPE) { + fprintf(stderr, "[ERROR] Invalid star type=%d or num=%d\n", type, num); + return SAT_ERR_DATA; + } + + uint8_t idx = num - 1; + Star_Device *star = (type == STAR_TYPE_NANO) ? &nano_stars[idx] : &pico_stars[idx]; + + // 如果已经打开,先关闭 + if (star->fd > 0) { + close(star->fd); + star->fd = -1; + } + + // 打开串口 + star->fd = open(dev, O_RDWR | O_NOCTTY | O_NONBLOCK); + if (star->fd < 0) { + perror("[ERROR] Open star serial failed"); + return SAT_ERR_SERIAL; + } + + // 配置串口参数 + struct termios options; + if (tcgetattr(star->fd, &options) < 0) { + perror("[ERROR] Get serial attributes failed"); + close(star->fd); + star->fd = -1; + return SAT_ERR_SERIAL; + } + + // 设置波特率 + speed_t baud = B115200; + switch (baudrate) { + case 9600: baud = B9600; break; + case 19200: baud = B19200; break; + case 38400: baud = B38400; break; + case 57600: baud = B57600; break; + case 115200: baud = B115200; break; + case 230400: baud = B230400; break; + case 460800: baud = B460800; break; + case 921600: baud = B921600; break; + default: baud = B115200; + } + cfsetispeed(&options, baud); + cfsetospeed(&options, baud); + + // 8位数据位,无奇偶校验,1位停止位 + options.c_cflag &= ~PARENB; + options.c_cflag &= ~CSTOPB; + options.c_cflag &= ~CSIZE; + options.c_cflag |= CS8; + + // 启用接收 + options.c_cflag |= CREAD | CLOCAL; + + // 禁用软件流控 + options.c_iflag &= ~(IXON | IXOFF | IXANY); + + // 原始模式 + options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); + options.c_oflag &= ~OPOST; + + // 设置超时 + options.c_cc[VMIN] = 0; + options.c_cc[VTIME] = 10; // 1秒超时 + + if (tcsetattr(star->fd, TCSANOW, &options) < 0) { + perror("[ERROR] Set serial attributes failed"); + close(star->fd); + star->fd = -1; + return SAT_ERR_SERIAL; + } + + // 刷新缓冲区 + tcflush(star->fd, TCIOFLUSH); + + // 初始化设备信息 + star->dev = dev; + star->baudrate = baudrate; + star->on_off_status = 1; + + printf("[OK] %s STAR%d UART init: dev=%s, baud=%d, fd=%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num, dev, baudrate, star->fd); + + return SAT_ERR_OK; +} + +/* ------------------ 发送星敏命令 ------------------ */ +int send_star_cmd(star_type_t type, uint8_t num, enum SENSOR_Cmder cmd, uint8_t param) { + if (type >= STAR_TYPE_MAX || num == 0 || num > MAX_STAR_NUM_PER_TYPE) return SAT_ERR_DATA; + + uint8_t idx = num - 1; + Star_Device *star = (type == STAR_TYPE_NANO) ? &nano_stars[idx] : &pico_stars[idx]; + if (star->fd < 0) { + fprintf(stderr, "[ERROR] Serial not open for %s STAR%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + return SAT_ERR_SERIAL; + } + + uint8_t send_cmd[260] = {0}; + int cmd_len = 5; + uint8_t i = 0; + + switch (cmd) { + case CMD_MCT_OST: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0X00; send_cmd[4] = 0X14; + break; + case CMD_MCT_ESI: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0X03; send_cmd[4] = 0X17; + break; + case CMD_SAT: + send_cmd[0] = 0X74; send_cmd[1] = 0XA3; + memcpy(send_cmd + 2, UTC_TIME_SET, 5); + send_cmd[7] = 0; + for (i = 0; i < 7; i++) send_cmd[7] += send_cmd[i]; + cmd_len = 8; + break; + case CMD_WM_NORM: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X01; send_cmd[3] = 0X01; send_cmd[4] = 0X1A; + break; + case CMD_WM_ALSKY: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X02; send_cmd[3] = 0X02; send_cmd[4] = 0X1C; + break; + case CMD_WM_TST: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X04; send_cmd[3] = 0X04; send_cmd[4] = 0X20; + break; + case CMD_WM_DLD: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X08; send_cmd[3] = 0X08; send_cmd[4] = 0X28; + break; + case CMD_WM_IDLE: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0XF0; send_cmd[3] = 0XF0; send_cmd[4] = 0XF8; + break; + case CMD_WM_HK: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X0A; send_cmd[3] = 0X0A; send_cmd[4] = 0X2C; + break; + case CMD_WM_RST: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0XFF; send_cmd[3] = 0XFF; send_cmd[4] = 0X16; + break; + case CMD_SEN_EXPO: + send_cmd[0] = 0X74; send_cmd[1] = 0XA9; send_cmd[2] = 0X60; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_SEN_AGAIN: + send_cmd[0] = 0X74; send_cmd[1] = 0XA9; send_cmd[2] = 0X30; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_SEN_DGAIN: + send_cmd[0] = 0X74; send_cmd[1] = 0XA9; send_cmd[2] = 0X90; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_ADE: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X03; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_SSE: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X05; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_TKR: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X06; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_ADN: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X09; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X0A; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_0: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X0F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_1: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X1F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_2: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X2F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_3: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X3F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_4: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X4F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_WIN: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X0E; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_RST: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X0B; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_ESD: + { + CMD_ESD_S_DATA.FRAME_HEAD = htons(0x7456); + CMD_ESD_S_DATA.FRAME_ID = htons(0x0001); + memcpy(CMD_ESD_S_DATA.UTC, UTC_TIME_SET, 5); + CMD_ESD_S_DATA.STAR_NUM_S[0] = 1; + memset(&CMD_ESD_S_DATA.SS_SCP_X, 0, sizeof(CMD_ESD_S) - 8); + + uint8_t crc = 0; + uint8_t *data_ptr = (uint8_t *)&CMD_ESD_S_DATA; + for (uint32_t i = 0; i < sizeof(CMD_ESD_S) - 1; i++) { + crc += data_ptr[i]; + } + CMD_ESD_S_DATA.SUM_CRC = crc; + + if (write(star->fd, &CMD_ESD_S_DATA, sizeof(CMD_ESD_S)) != sizeof(CMD_ESD_S)) { + perror("[ERROR] Send ESD cmd failed"); + star->send_cmd_cnt++; + return SAT_ERR_SEND_CMD; + } + star->send_cmd_cnt = 0; + return SAT_ERR_OK; + } + case CMD_MCT_FLT_ON: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x05; send_cmd[4] = 0x19; + break; + case CMD_MCT_FLT_OFF: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x07; send_cmd[4] = 0x1B; + break; + case CMD_MCT_PPS_ON: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x0A; send_cmd[4] = 0x1E; + break; + case CMD_MCT_PPS_OFF: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x0C; send_cmd[4] = 0x20; + break; + case CMD_MCT_PPS_CNT_RST: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x0E; send_cmd[4] = 0x22; + break; + case CMD_TLM_1: + if (type != STAR_TYPE_NANO) return SAT_ERR_DATA; + send_cmd[0] = 0X74; send_cmd[1] = 0XA1; send_cmd[2] = 0X00; send_cmd[3] = 0x00; send_cmd[4] = 0x15; + break; + case CMD_TLM_2: + if (type != STAR_TYPE_PICO) return SAT_ERR_DATA; + send_cmd[0] = 0X74; send_cmd[1] = 0XA1; send_cmd[2] = 0X00; send_cmd[3] = 0x05; send_cmd[4] = 0x1A; + break; + default: + fprintf(stderr, "[ERROR] Unsupported cmd=%d for %s STAR%d\n", cmd, + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + return SAT_ERR_DATA; + } + + if (write(star->fd, send_cmd, cmd_len) != cmd_len) { + perror("[ERROR] Send star cmd failed"); + star->send_cmd_cnt++; + return SAT_ERR_SEND_CMD; + } + + star->send_cmd_cnt = 0; + return SAT_ERR_OK; +} + +/* ------------------ 数据解析纳型星敏 ------------------ */ +static int parse_nano_quaternion(const uint8_t *buf, Star_sensorHS_Frame *frame) { + if (!buf || !frame) return SAT_ERR_DATA; + + int32_t raw_q0 = (int32_t)((buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | buf[7]); + int32_t raw_q1 = (int32_t)((buf[8] << 24) | (buf[9] << 16) | (buf[10] << 8) | buf[11]); + int32_t raw_q2 = (int32_t)((buf[12] << 24) | (buf[13] << 16) | (buf[14] << 8) | buf[15]); + int32_t raw_q3 = (int32_t)((buf[16] << 24) | (buf[17] << 16) | (buf[18] << 8) | buf[19]); + + frame->q0 = (float)raw_q0 / 2147483647.5f; + frame->q1 = (float)raw_q1 / 2147483647.5f; + frame->q2 = (float)raw_q2 / 2147483647.5f; + frame->q3 = (float)raw_q3 / 2147483647.5f; + + int16_t raw_omega_x = (int16_t)((buf[45] << 8) | buf[46]); + int16_t raw_omega_y = (int16_t)((buf[47] << 8) | buf[48]); + int16_t raw_omega_z = (int16_t)((buf[49] << 8) | buf[50]); + + frame->wx = (float)raw_omega_x * 2e-13f; + frame->wy = (float)raw_omega_y * 2e-13f; + frame->wz = (float)raw_omega_z * 2e-13f; + + frame->bitpara_state.ext = buf[20]; + frame->star_num_d = buf[35]; + + return SAT_ERR_OK; +} + +/* ------------------ 数据解析皮型星敏 ------------------ */ +static int parse_pico_quaternion(const uint8_t *buf, Star_sensorHS_Frame *frame) { + if (!buf || !frame) return SAT_ERR_DATA; + + int32_t raw_q1 = (int32_t)((buf[7] << 24) | (buf[6] << 16) | (buf[5] << 8) | buf[4]); + int32_t raw_q2 = (int32_t)((buf[11] << 24) | (buf[10] << 16) | (buf[9] << 8) | buf[8]); + int32_t raw_q3 = (int32_t)((buf[15] << 24) | (buf[14] << 16) | (buf[13] << 8) | buf[12]); + int32_t raw_q0 = (int32_t)((buf[19] << 24) | (buf[18] << 16) | (buf[17] << 8) | buf[16]); + + frame->q0 = (float)raw_q0 / 2147483647.0f; + frame->q1 = (float)raw_q1 / 2147483647.0f; + frame->q2 = (float)raw_q2 / 2147483647.0f; + frame->q3 = (float)raw_q3 / 2147483647.0f; + + frame->star_num_d = (buf[34] >> 1) & 0x7F; + + frame->bitpara_state.str_state1_data1 = buf[31] & 0x0F; + frame->bitpara_state.str_state1_data2 = (buf[31] >> 4) & 0x03; + frame->bitpara_state.str_state1_data3 = (buf[32] >> 6) & 0x03; + + frame->wx = 0.0f; + frame->wy = 0.0f; + frame->wz = 0.0f; + + return SAT_ERR_OK; +} + +/* ------------------ 读取单个星敏数据 ------------------ */ +int read_single_star_data(star_type_t type, uint8_t num, enum SENSOR_Cmder cmd, Star_sensorHS_Frame *frame) { + if (type >= STAR_TYPE_MAX || num == 0 || num > MAX_STAR_NUM_PER_TYPE || !frame) { + return SAT_ERR_DATA; + } + + uint8_t idx = num - 1; + Star_Device *star = (type == STAR_TYPE_NANO) ? &nano_stars[idx] : &pico_stars[idx]; + if (star->fd < 0) { + fprintf(stderr, "[ERROR] Serial not open for %s STAR%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + return SAT_ERR_SERIAL; + } + + int expected_bin_len = 0; + if (cmd == CMD_TLM_1 && type == STAR_TYPE_NANO) { + expected_bin_len = 64; + } else if (cmd == CMD_TLM_2 && type == STAR_TYPE_PICO) { + expected_bin_len = 256; + } else { + fprintf(stderr, "[ERROR] Unknown frame length for cmd=%d, type=%d\n", cmd, type); + return SAT_ERR_DATA; + } + + const int MAX_RETRY = 10; + uint8_t buf[MAX_BUF_SIZE] = {0}; + + for (int retry = 0; retry < MAX_RETRY; ++retry) { + // 清空串口缓冲区 + tcflush(star->fd, TCIOFLUSH); + memset(buf, 0, sizeof(buf)); + int total_read = 0; + + // 发送命令 + int send_ret = send_star_cmd(type, num, cmd, 0); + if (send_ret != SAT_ERR_OK) { + fprintf(stderr, "[ERROR] Retry %d: send cmd failed\n", retry); + // 增加命令发送错误计数 + star->send_cmd_cnt++; + continue; + } + + // 设置超时 + struct timeval start_time, current_time; + gettimeofday(&start_time, NULL); + const long TOTAL_TIMEOUT_MS = 1000; + + // 读取数据 + while (total_read < expected_bin_len && total_read < MAX_BUF_SIZE) { + gettimeofday(¤t_time, NULL); + long elapsed_ms = (current_time.tv_sec - start_time.tv_sec) * 1000 + + (current_time.tv_usec - start_time.tv_usec) / 1000; + if (elapsed_ms > TOTAL_TIMEOUT_MS) { + fprintf(stderr, "[ERROR] Timeout: read %d/%d bytes\n", total_read, expected_bin_len); + star->send_cmd_cnt++; + break; + } + + // 使用select等待数据 + struct timeval timeout = {0, 100000}; + fd_set readfds; + FD_ZERO(&readfds); + FD_SET(star->fd, &readfds); + + int ret = select(star->fd + 1, &readfds, NULL, NULL, &timeout); + if (ret < 0) { + perror("[ERROR] Select failed"); + return SAT_ERR_SELECT; + } else if (ret == 0) { + continue; // 超时,继续等待 + } + + // 读取数据 + if (FD_ISSET(star->fd, &readfds)) { + int bytes = read(star->fd, buf + total_read, expected_bin_len - total_read); + if (bytes > 0) { + total_read += bytes; + } else if (bytes == 0) { + usleep(10000); // 没有数据,等待10ms + } else { + perror("[ERROR] Read star data failed"); + return SAT_ERR_SERIAL; + } + } + } + + // 检查是否超时过多 + if (star->send_cmd_cnt >= 10) { + fprintf(stderr, "[ERROR] Too many timeouts, resetting %s STAR%d UART\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + star_uart_init(type, num, star->dev, star->baudrate); + star->uart_reset_cnt++; + star->send_cmd_cnt = 0; + continue; + } + + // 检查数据长度 + if (total_read < expected_bin_len) { + fprintf(stderr, "[ERROR] Frame too short: %d/%d bytes\n", total_read, expected_bin_len); + star->length_err_cnt++; + update_fault_count(star); + continue; + } + + // 检查帧头 + int header_valid = 0; + if (type == STAR_TYPE_NANO && cmd == CMD_TLM_1) { + header_valid = (buf[0] == 0x8A && buf[1] == 0xA1); + } else if (type == STAR_TYPE_PICO && cmd == CMD_TLM_2) { + header_valid = (buf[0] == 0xEB && buf[1] == 0x50 && buf[2] == 0x22); + } + if (!header_valid) { + fprintf(stderr, "[ERROR] Invalid frame header for %s STAR%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + star->header_err_cnt++; + update_fault_count(star); + continue; + } + + // 检查校验和 + if (checksum_verify(buf, expected_bin_len) != SAT_ERR_OK) { + star->check_err_cnt++; + update_fault_count(star); + continue; + } + + // 解析数据 + int parse_ret = SAT_ERR_DATA; + if (type == STAR_TYPE_NANO) { + parse_ret = parse_nano_quaternion(buf, frame); + } else if (type == STAR_TYPE_PICO) { + parse_ret = parse_pico_quaternion(buf, frame); + } + + if (parse_ret == SAT_ERR_OK) { + // 填充设备状态 + frame->on_off_status = star->on_off_status; + + // 填充错误计数信息 + frame->header_err_cnt = star->header_err_cnt; + frame->check_err_cnt = star->check_err_cnt; + frame->length_err_cnt = star->length_err_cnt; + frame->uart_reset_cnt = star->uart_reset_cnt; + frame->fault_cnt = star->fault_cnt; + + return SAT_ERR_OK; + } else { + fprintf(stderr, "[ERROR] Parse data failed for %s STAR%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + star->check_err_cnt++; // 解析失败也算校验错误 + update_fault_count(star); + continue; + } + } + + fprintf(stderr, "[ERROR] Read failed after %d retries for %s STAR%d\n", + MAX_RETRY, type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + + // 串口复位 + star_uart_init(type, num, star->dev, star->baudrate); + star->uart_reset_cnt++; + update_fault_count(star); + + // 返回错误数据 + memset(frame, 0, sizeof(Star_sensorHS_Frame)); + frame->on_off_status = star->on_off_status; + frame->header_err_cnt = star->header_err_cnt; + frame->check_err_cnt = star->check_err_cnt; + frame->length_err_cnt = star->length_err_cnt; + frame->uart_reset_cnt = star->uart_reset_cnt; + frame->fault_cnt = star->fault_cnt; + + return SAT_ERR_UNKNOWN; +} + +/* ------------------ 星敏设备初始化 ------------------ */ +int star_devices_init(void) { + // 初始化纳型星敏 + char *nano_devs = getenv("STAR_NANO_DEVS"); + if (nano_devs) { + char *token = strtok(nano_devs, ","); + while (token && nano_star_count < MAX_STAR_NUM_PER_TYPE) { + char dev[32]; + int baud; + if (sscanf(token, "%[^:]:%d", dev, &baud) == 2) { + if (star_uart_init(STAR_TYPE_NANO, nano_star_count + 1, dev, baud) == SAT_ERR_OK) { + nano_star_count++; + } + } + token = strtok(NULL, ","); + } + } else { + // 默认配置 + if (star_uart_init(STAR_TYPE_NANO, 1, "/dev/ttyS0", 115200) == SAT_ERR_OK) { + nano_star_count = 1; + } + } + + // 初始化皮型星敏 + char *pico_devs = getenv("STAR_PICO_DEVS"); + if (pico_devs) { + char *token = strtok(pico_devs, ","); + while (token && pico_star_count < MAX_STAR_NUM_PER_TYPE) { + char dev[32]; + int baud; + if (sscanf(token, "%[^:]:%d", dev, &baud) == 2) { + if (star_uart_init(STAR_TYPE_PICO, pico_star_count + 1, dev, baud) == SAT_ERR_OK) { + pico_star_count++; + } + } + token = strtok(NULL, ","); + } + } else { + // 默认配置 + if (star_uart_init(STAR_TYPE_PICO, 1, "/dev/ttyS1", 115200) == SAT_ERR_OK) { + pico_star_count = 1; + } + } + + printf("[INFO] Initialized %d nano stars, %d pico stars\n", nano_star_count, pico_star_count); + return (nano_star_count + pico_star_count) > 0 ? 0 : -1; +} + +/* ------------------ FastDDS硬件服务化初始化 ------------------ */ +int Star_sensorHS_init(int argc, const char* name) { + // 解析参数 + uint8_t domainid = 0; + string appname = "Star_sensor_Hardware_Service"; + + // 简单参数解析 + if (argc >= 2) { + domainid = atoi(name); + } + + if (argc >= 3) { + appname = string(name); + } + + // 初始化FastDDS硬件服务化组件 + std::vector parameters; + string expression = "dest = '" + servername + "'"; + + if (nullptr == StarHS_part) { + StarHS_part = new SimMsg(domainid, 3000, appname, StarHSWriteLog); + if (!StarHS_part) { + std::cerr << "[ERROR] Failed to create StarHS SimMsg instance" << std::endl; + return -1; + } + + // 创建发布者和订阅者 + StarHS_part->create_pub(topic_name_cmd); + StarHS_part->create_pub(topic_name_tlm); + + // 设置默认回调函数 + if (command_callback_func == nullptr) { + command_callback_func = starhs_command_callback; + std::cout << "[INFO] Using internal command callback" << std::endl; + } + + if (telemetry_callback_func == nullptr) { + telemetry_callback_func = starhs_telemetry_callback; + std::cout << "[INFO] Using internal telemetry callback" << std::endl; + } + + // 创建订阅并设置回调 + StarHS_part->create_sub(topic_name_cmd, command_callback_func, expression, parameters); + StarHS_part->create_sub(topic_name_tlm, telemetry_callback_func, expression, parameters); + + std::cout << "[OK] Star_sensorHS FastDDS initialized" << std::endl; + } + + // 初始化星敏设备 + int dev_init_result = star_devices_init(); + if (dev_init_result < 0) { + std::cerr << "[WARNING] No star devices initialized" << std::endl; + } + + // 初始化互斥锁 + pthread_mutex_init(&cache_mutex, NULL); + + // 启动发布线程 + pthread_t pub_thread; + if (pthread_create(&pub_thread, NULL, star_publish_thread, NULL) != 0) { + std::cerr << "[ERROR] Failed to create publish thread" << std::endl; + return -1; + } + pthread_detach(pub_thread); + + std::cout << "[OK] Star_sensorHS initialized successfully" << std::endl; + return 0; +} + +/* ------------------ FastDDS硬件服务化清理 ------------------ */ +void Star_sensorHS_cleanup(void) { + std::cout << "[INFO] Star_sensorHS cleaning up..." << std::endl; + + // 清理FastDDS组件 + if (StarHS_part != nullptr) { + delete StarHS_part; + StarHS_part = nullptr; + } + + // 关闭所有串口 + for (uint8_t i = 0; i < MAX_STAR_NUM_PER_TYPE; i++) { + if (nano_stars[i].fd > 0) { + close(nano_stars[i].fd); + nano_stars[i].fd = -1; + } + if (pico_stars[i].fd > 0) { + close(pico_stars[i].fd); + pico_stars[i].fd = -1; + } + } + + // 重置回调函数 + command_callback_func = nullptr; + telemetry_callback_func = nullptr; + + // 销毁互斥锁 + pthread_mutex_destroy(&cache_mutex); + + std::cout << "[OK] Star_sensorHS cleaned up" << std::endl; +} + +/* ------------------ 内部命令回调函数 ------------------ */ +void starhs_command_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data) { + std::cout << "[INFO] Command received from " << src << " to " << dest << std::endl; + std::cout << "[INFO] Type: " << type << std::endl; + + // 解析命令数据 + if (data.size() >= 4) { + uint8_t star_type = data[0]; + uint8_t star_num = data[1]; + uint8_t cmd = data[2]; + uint8_t param = data[3]; + + std::cout << "[INFO] Cmd: star_type=" << (star_type == 0 ? "NANO" : "PICO") + << ", num=" << (int)star_num << ", cmd=" << (int)cmd << ", param=" << (int)param << std::endl; + + // 执行命令 + int result = send_star_cmd((star_type_t)star_type, star_num, (enum SENSOR_Cmder)cmd, param); + if (result != SAT_ERR_OK) { + std::cerr << "[ERROR] Send command failed: " << result << std::endl; + } + } else { + std::cerr << "[ERROR] Invalid command data size: " << data.size() << std::endl; + } +} + +/* ------------------ 内部遥测回调函数 ------------------ */ +void starhs_telemetry_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data) { + std::cout << "[INFO] Telemetry request received from " << src << " to " << dest << std::endl; + std::cout << "[INFO] Type: " << type << std::endl; + + // 解析请求:前2字节为star_type和star_num + if (data.size() >= 2) { + star_type_t star_type = (star_type_t)data[0]; + uint8_t star_num = data[1]; + enum SENSOR_Cmder cmd = (star_type == STAR_TYPE_NANO) ? CMD_TLM_1 : CMD_TLM_2; + + // 读取数据 + Star_sensorHS_Frame response_frame; + int result = read_single_star_data(star_type, star_num, cmd, &response_frame); + + if (result == SAT_ERR_OK) { + // 发布遥测响应 + Star_sensorHS_telemetry_Pub((uint8_t *)&response_frame, "Gnc_Service", sizeof(Star_sensorHS_Frame)); + std::cout << "[INFO] Telemetry data published successfully" << std::endl; + } else { + std::cerr << "[ERROR] Failed to read star data: " << result << std::endl; + } + } else { + std::cerr << "[ERROR] Invalid telemetry request data size: " << data.size() << std::endl; + } +} + + +/* ------------------ 遥测发布 ------------------ */ +void Star_sensorHS_telemetry_Pub(uint8_t* data, const std::string& dest, uint16_t len) { + if (StarHS_part == nullptr) { + std::cerr << "[ERROR] StarHS_part not initialized" << std::endl; + return; + } + + if (data == nullptr || len == 0) { + std::cerr << "[ERROR] Invalid telemetry data" << std::endl; + return; + } + + // 打印调试信息 + std::cout << "[DEBUG] Telemetry publish to " << dest << ", length=" << len << " bytes" << std::endl; + + // 发布遥测数据 + StarHS_part->publish(topic_name_tlm, servername, dest, "telemetry", data, len); +} + +/* ------------------ 设置命令回调 ------------------ */ +void Star_sensorHS_set_command_callback(CommandCallbackFunc callback) { + command_callback_func = callback; + std::cout << "[INFO] External command callback set" << std::endl; +} + +/* ------------------ 设置遥测回调 ------------------ */ +void Star_sensorHS_set_telemetry_callback(TelemetryCallbackFunc callback) { + telemetry_callback_func = callback; + std::cout << "[INFO] External telemetry callback set" << std::endl; +} + +/* ------------------ 发布线程 ------------------ */ +void *star_publish_thread(void *arg) { + (void)arg; + Star_sensorHS_Frame frame; + + printf("[INFO] Star publish thread started, interval=%d ms\n", star_pub_interval_ms); + + while (1) { + pthread_mutex_lock(&cache_mutex); + + // 遍历所有纳型星敏 + for (uint8_t num = 1; num <= nano_star_count; num++) { + uint8_t idx = num - 1; + Star_Device *star = &nano_stars[idx]; + if (star->fd < 0) continue; + + // 读取数据 + int rc = read_single_star_data(STAR_TYPE_NANO, num, CMD_TLM_1, &frame); + + // 发布数据 + if (rc == SAT_ERR_OK) { + Star_sensorHS_telemetry_Pub((uint8_t *)&frame, "Star_sensor_Monitor", sizeof(Star_sensorHS_Frame)); + } + } + + // 遍历所有皮型星敏 + for (uint8_t num = 1; num <= pico_star_count; num++) { + uint8_t idx = num - 1; + Star_Device *star = &pico_stars[idx]; + if (star->fd < 0) continue; + + // 读取数据 + int rc = read_single_star_data(STAR_TYPE_PICO, num, CMD_TLM_2, &frame); + + // 发布数据 + if (rc == SAT_ERR_OK) { + Star_sensorHS_telemetry_Pub((uint8_t *)&frame, "Star_sensor_Monitor", sizeof(Star_sensorHS_Frame)); + } + } + + pthread_mutex_unlock(&cache_mutex); + + // 按配置间隔休眠 + usleep(star_pub_interval_ms * 1000); + } + return NULL; +} \ No newline at end of file diff --git a/Star_sensorHS.h b/Star_sensorHS.h new file mode 100644 index 0000000..51a22ac --- /dev/null +++ b/Star_sensorHS.h @@ -0,0 +1,322 @@ +#ifndef STAR_SENSORHS_H +#define STAR_SENSORHS_H + +#include +#include +#include + +/* ================== 错误码定义 ================== */ + +#ifndef SAT_ERR_OK +#define SAT_ERR_OK 0 // 成功 +#endif + +#ifndef SAT_ERR_SERIAL +#define SAT_ERR_SERIAL -1 // 串口未打开或无效 +#endif + +#ifndef SAT_ERR_SEND_CMD +#define SAT_ERR_SEND_CMD -2 // 发送命令失败 +#endif + +#ifndef SAT_ERR_NO_RESPONSE +#define SAT_ERR_NO_RESPONSE -3 // 无响应 +#endif + +#ifndef SAT_ERR_SELECT +#define SAT_ERR_SELECT -4 // select() 系统调用失败 +#endif + +#ifndef SAT_ERR_HEADER +#define SAT_ERR_HEADER -5 // 帧头错误 +#endif + +#ifndef SAT_ERR_DATA +#define SAT_ERR_DATA -6 // 数据解析失败 +#endif + +#ifndef SAT_ERR_UNKNOWN +#define SAT_ERR_UNKNOWN -7 // 未知错误 +#endif + +#ifndef SAT_ERR_LEN +#define SAT_ERR_LEN -8 // 帧长度错误 +#endif + +#ifndef SAT_ERR_CHECKSUM +#define SAT_ERR_CHECKSUM -9 // 校验和错误 +#endif + +#ifndef SAT_ERR_TIMEOUT +#define SAT_ERR_TIMEOUT -10 // 接收数据超时 +#endif + +/* ================== 常量定义 ================== */ +#define SS_SCP_ARR_LEN 20 +#define DS_SCP_ARR_LEN 20 +#define MAX_STAR_NUM_PER_TYPE 8 +#define MAX_BUF_SIZE 256 + +/* ================== 类型定义 ================== */ + +// 星敏子类型 +typedef enum { + STAR_TYPE_NANO = 0, + STAR_TYPE_PICO, + STAR_TYPE_MAX +} star_type_t; + +// 星敏感器状态字位域 +#pragma pack(push, 1) +typedef union { + uint8_t ext; + struct { + uint8_t str_state1_data4 : 1; + uint8_t str_state1_data3 : 1; + uint8_t str_state1_data2 : 2; + uint8_t str_state1_data1 : 4; + }; +} Bitpara_State; +#pragma pack(pop) + +// 统一遥测数据帧(包含数据和错误信息) +#pragma pack(push, 1) +typedef struct { + // 四元数数据 + float q0, q1, q2, q3; + + // 角速度 + float wx, wy, wz; + + // 状态信息 + Bitpara_State bitpara_state; // 星敏感器状态字 + uint8_t star_num_d; // 定姿星数 + uint8_t on_off_status; // 设备开关状态 + + // 错误计数部分 + uint16_t header_err_cnt; // 帧头错误累计 + uint16_t check_err_cnt; // 校验错误累计 + uint16_t length_err_cnt; // 长度错误累计 + uint16_t uart_reset_cnt; // 串口复位累计 + uint16_t fault_cnt; // 故障计数(所有错误的总和) +} Star_sensorHS_Frame; +#pragma pack(pop) + +// 星敏命令枚举 +enum SENSOR_Cmder { + CMD_MCT_OST=0, // 光信号激励 + CMD_MCT_ESI, // 电信号激励 + CMD_MCT_PD_ON, // 无 + CMD_MCT_PD_OFF, // 无 + CMD_SAT, // UTC时间(校时) + CMD_WM_NORM, // 正常工作流程 + CMD_WM_ALSKY, // 仅工作于全天识别模式 + CMD_WM_TST, // 测试模式,用于标定 + CMD_WM_DLD, // 星图下传 + CMD_WM_IDLE, // 待机模式 + CMD_WM_HK, // 至启动模式进行在轨维护 + CMD_WM_RST, // 软件复位重启 + CMD_SEN_EXPO, // 曝光时间设置 + CMD_SEN_AGAIN, // 模拟增益设置 + CMD_SEN_DGAIN, // 数字增益设置 + CMD_PAR_ADE, // 设置星对角距匹配容差 + CMD_PAR_SSE, // 设置单星匹配容差 + CMD_PAR_TKR, // 星跟踪半径/二次迭代容差 + CMD_PAR_ADN, // 设置定姿星数 + CMD_PAR_OFST, // 波门星点提取阈值偏移量 + CMD_PAR_OFST_IMG_0, // 星图子块灰度均值0~5 + CMD_PAR_OFST_IMG_1, // 星图子块灰度均值6~100 + CMD_PAR_OFST_IMG_2, // 星图子块灰度均值101~150 + CMD_PAR_OFST_IMG_3, // 星图子块灰度均值151~200 + CMD_PAR_OFST_IMG_4, // 星图子块灰度均值201~255 + CMD_PAR_WIN, // 波门图像大小 + CMD_PAR_RST, // 软件参数恢复默认值 + CMD_ESD, // 电星模数据注入命令 + CMD_MCT_FLT_ON, // 姿态滤波开 + CMD_MCT_FLT_OFF, // 姿态滤波关 + CMD_MCT_PPS_ON, // PPS校时使能开 + CMD_MCT_PPS_OFF, // PPS使能关 + CMD_MCT_PPS_CNT_RST, // PPS计数清零 + CMD_TLM_1, // 读取遥测数据包1(64字节) + CMD_TLM_2 // 读取遥测数据包2(256字节) +}; + +// 电星模数据注入命令结构体 +typedef struct __attribute__((packed)) { + uint16_t FRAME_HEAD; // 帧头 + uint16_t FRAME_ID; + uint8_t UTC[5]; + uint8_t STAR_NUM_S[10]; + float SS_SCP_X; + float SS_SCP_Y; + float SS_SCP_G; + uint8_t RESERVED[45]; + uint8_t SUM_CRC; +} CMD_ESD_S; + +// 设备管理结构体 +typedef struct { + int fd; // 串口文件描述符 + const char *dev; // 设备节点 + int baudrate; // 波特率 + uint8_t header_err_cnt; // 帧头错误计数 + uint8_t check_err_cnt; // 校验错误计数 + uint8_t length_err_cnt; // 帧长错误计数 + uint8_t uart_reset_cnt; // 串口复位计数 + uint16_t fault_cnt; // 故障计数(所有错误的总和) + uint8_t send_cmd_cnt; // 命令发送计数 + uint8_t on_off_status; // 上电状态(1=正常,0=异常) +} Star_Device; + +/* ================== FastDDS相关类型定义 ================== */ + +// 命令回调函数类型 +typedef void (*CommandCallbackFunc)(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +// 遥测回调函数类型 +typedef void (*TelemetryCallbackFunc)(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +/* ================== 硬件操作函数声明 ================== */ + +/** + * @brief 初始化星敏串口 + * @param type 星敏类型 (NANO/PICO) + * @param num 星敏编号 (1~MAX_STAR_NUM_PER_TYPE) + * @param dev 串口设备路径 + * @param baudrate 波特率 + * @return 错误码,SAT_ERR_OK表示成功 + */ +int star_uart_init(star_type_t type, uint8_t num, const char *dev, int baudrate); + +/** + * @brief 发送星敏命令 + * @param type 星敏类型 + * @param num 星敏编号 + * @param cmd 命令枚举 + * @param param 命令参数 + * @return 错误码 + */ +int send_star_cmd(star_type_t type, uint8_t num, enum SENSOR_Cmder cmd, uint8_t param); + +/** + * @brief 读取单个星敏数据 + * @param type 星敏类型 + * @param num 星敏编号 + * @param cmd 遥测命令 (CMD_TLM_1或CMD_TLM_2) + * @param frame 输出数据帧 + * @return 错误码 + */ +int read_single_star_data(star_type_t type, uint8_t num, enum SENSOR_Cmder cmd, Star_sensorHS_Frame *frame); + +/** + * @brief 初始化所有星敏设备 + * @return 成功返回0,失败返回-1 + */ +int star_devices_init(void); + +/** + * @brief 星敏数据发布线程 + * @param arg 线程参数(未使用) + * @return 线程返回值 + */ +void *star_publish_thread(void *arg); + +/** + * @brief 更新故障计数 + * @param star 设备指针 + */ +static inline void update_fault_count(Star_Device *star) { + star->fault_cnt = star->header_err_cnt + star->check_err_cnt + + star->length_err_cnt + star->uart_reset_cnt; +} + +/** + * @brief 获取错误码对应的字符串描述 + * @param err 错误码 + * @return 错误描述字符串 + */ +static inline const char *star_strerror(int err) { + switch (err) { + case SAT_ERR_OK: return "OK"; + case SAT_ERR_SERIAL: return "Serial not open or invalid"; + case SAT_ERR_SEND_CMD: return "Failed to send command"; + case SAT_ERR_NO_RESPONSE: return "No response after sending command"; + case SAT_ERR_SELECT: return "Select() system call failed"; + case SAT_ERR_HEADER: return "Invalid frame header"; + case SAT_ERR_DATA: return "Failed to parse data"; + case SAT_ERR_UNKNOWN: return "Unknown error, check connection or output format"; + case SAT_ERR_LEN: return "Frame length error"; + case SAT_ERR_CHECKSUM: return "Checksum error"; + case SAT_ERR_TIMEOUT: return "Timeout while waiting for response"; + default: return "Unrecognized error"; + } +} + +/* ================== FastDDS服务化接口声明 ================== */ + +/** + * @brief 初始化FastDDS硬件服务化 + * @param argc 参数数量(保留) + * @param name 服务名称 + * @return 成功返回0,失败返回-1 + */ +int Star_sensorHS_init(int argc, const char* name); + +/** + * @brief 清理FastDDS硬件服务化资源 + */ +void Star_sensorHS_cleanup(void); + +/** + * @brief 发布遥测数据 + * @param data 数据指针 + * @param dest 目标地址 + * @param len 数据长度 + */ +void Star_sensorHS_telemetry_Pub(uint8_t *data, const std::string& dest, uint16_t len); + +/** + * @brief 设置命令回调函数 + * @param callback 回调函数指针 + */ +void Star_sensorHS_set_command_callback(CommandCallbackFunc callback); + +/** + * @brief 设置遥测回调函数 + * @param callback 回调函数指针 + */ +void Star_sensorHS_set_telemetry_callback(TelemetryCallbackFunc callback); + +/* ================== 默认回调函数声明 ================== */ + +/** + * @brief 默认命令回调函数 + * @param src 源地址 + * @param dest 目标地址 + * @param type 消息类型 + * @param reserve1 保留参数1 + * @param reserve2 保留参数2 + * @param data 命令数据 + */ +void command_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +/** + * @brief 默认遥测回调函数 + * @param src 源地址 + * @param dest 目标地址 + * @param type 消息类型 + * @param reserve1 保留参数1 + * @param reserve2 保留参数2 + * @param data 遥测数据 + */ +void telemetry_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +#endif /* STAR_SENSORHS_H */ \ No newline at end of file diff --git a/test.cpp b/test.cpp new file mode 100644 index 0000000..ef2d8ae --- /dev/null +++ b/test.cpp @@ -0,0 +1,761 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ComHS.h" +#include "SimMsg.h" + +using namespace std; + +/* + * 全局变量定义 + */ + +/* 串口文件描述符 */ +static int fd_telecontrol = -1; /* 遥控串口 - 通信机发送给通信硬件服务化 */ +static int fd_telemetry = -1; /* 遥测串口 - 通信硬件服务化发送给通信机 */ + +/* 遥测数据缓存 */ +S_Comm_telemetry_data_t S_TELE; /* 维护遥测数据缓存,供状态查询使用 */ + +/* 填充指令 */ +uint8_t cmderPadding[1] = {0xA5}; + +/* 通信机开关状态 */ +uint8_t S_COMM_ON_OFF = 0; + +/* 统计计数器 */ +uint8_t scommHeaderErrCnt = 0; /* 帧头错误 */ +uint8_t scommResIDErrCnt = 0; /* 应答帧ID错误 */ +uint8_t scommCheckErrCnt = 0; /* 帧校验错误 */ +uint8_t scommUartResetCnt = 0; /* 无应答串口复位计数 */ +uint8_t sendCmderCnt = 0; /* 向通信机发送控制指令计数 */ +uint8_t sendCmderSuccessCnt = 0; /* 通信机控制指令执行成功应答计数 */ +uint8_t sendCmderErrCnt = 0; /* 通信机控制指令错误应答计数 */ +uint8_t sendTelemCnt = 0; /* 向通信机发送遥测帧计数 */ +uint8_t sendTelemSuccessCnt = 0; /* 接收通信机遥测帧应答计数 */ +uint8_t sendGetSelfTelemCmderCnt = 0; /* 发送查询通信机工程遥测计数 */ + +/* 数据缓冲区 */ +unsigned char S_Telec1_Data[512] = {0}; /* 遥控数据 */ +unsigned char S_Telem_Data[512] = {0}; /* 遥测数据 */ + +/* ComHS相关全局变量 */ +SimMsg *ComHS_part = nullptr; +string servername = "Com_Hardware_Service"; +string topic_name_cmd = "Command"; +string topic_name_tlm = "Telemetry"; +const char *fastdds_dest = "Com_Service"; + +/* 运行控制 */ +static volatile int g_running = 1; + +/* + * 信号处理函数 + */ +static void signal_handler(int signum) +{ + g_running = 0; +} + +/* + * ComHS日志函数 + */ +void ComHSWriteLog(const string &msg) +{ + cout << msg << endl; +} + +/* + * 初始化ComHS的fastdds + * + * @domainid: 域ID + * @appname: 应用程序名称 + */ +void ComHS_init(uint8_t domainid, string appname) +{ + vector parameters; + string expression = "dest = '" + servername + "'"; + + if (nullptr == ComHS_part) { + ComHS_part = new SimMsg(domainid, 3000, appname, ComHSWriteLog); + ComHS_part->create_pub(topic_name_cmd); + ComHS_part->create_pub(topic_name_tlm); + + ComHS_part->create_sub(topic_name_cmd, command_callback, + expression, parameters); + ComHS_part->create_sub(topic_name_tlm, telemetry_callback, + expression, parameters); + } +} + +/* + * 通信硬件服务化遥控发布 + * + * @data: 要发布的数据 + * @dest: 目标对象 + * @len: 数据长度 + */ +void ComHS_command_Pub(uint8_t *data, string dest, uint16_t len) +{ + if (ComHS_part) { + ComHS_part->publish(topic_name_cmd, "Com_Hardware_Service", + dest, "command", data, len); + } +} + +/* + * 通信硬件服务化遥测发布 + * + * @data: 要发布的数据 + * @dest: 目标对象 + * @len: 数据长度 + */ +void ComHS_telemetry_Pub(uint8_t *data, string dest, uint16_t len) +{ + if (ComHS_part) { + ComHS_part->publish(topic_name_tlm, "Com_Hardware_Service", + dest, "telemetry", data, len); + } +} + +/* + * ComHS命令回调函数 + * + * 将接收到的遥控指令通过send_S_COMM_Cmder()函数发送给串口 + */ +void command_callback(string src, string dest, string type, + string reserve1, string reserve2, + vector &data) +{ + if (S_COMM_ON_OFF != 1) { + cout << "[ERROR] S_COMM is not available" << endl; + return; + } + + if (data.empty()) { + cout << "[ERROR] No command data provided" << endl; + return; + } + + /* 直接发送给通信机 */ + uint8_t *cmd_data = data.data(); + uint16_t cmd_len = data.size(); + + cout << "[INFO] Sending command to S_COMM: " << data.size() << " bytes" << endl; + + /* 发送控制指令 */ + send_S_COMM_Cmder(cmd_data, cmd_len); +} + +/* + * ComHS遥测回调函数 + * + * 1、当接收到的为命令类型,即为取遥测指令时,触发取遥测 + * 2、当接收到的为遥测类型,即为需要下行的遥测时,将遥测下行 + */ +void telemetry_callback(string src, string dest, string type, + string reserve1, string reserve2, + vector &data) +{ + if (S_COMM_ON_OFF != 1) { + cout << "[ERROR] S_COMM is not available" << endl; + return; + } + + if (data.empty()) { + cout << "[ERROR] No telemetry data provided" << endl; + return; + } + + if (type == "command" ) { + if (data.size() == 1 && data[0] == 0xFF) { + Get_S_COMM_UP_CMD(); + } + } else if (type == "telemetry") { + if (data.size() >= sizeof(Multi_EPDU_packet_t)) { + Multi_EPDU_packet_t *down_pkt = (Multi_EPDU_packet_t *)data.data(); + Send_Telemetry_From_S((uint8_t *)down_pkt, sizeof(Multi_EPDU_packet_t)); + cout << "[INFO] Downlink telemetry sent via S_COMM" << endl; + } else { + cout << "[ERROR] Telemetry data too small: " << data.size() + << " bytes, need at least " << sizeof(Multi_EPDU_packet_t) + << " bytes" << endl; + } + } +} + +/* + * 串口初始化 + * + * @dev_telec: 遥控串口设备路径 + * @dev_telem: 遥测串口设备路径 + * @baudrate: 波特率 + * + * 返回值: 成功返回0,失败返回-1 + */ +int scomm_uart_init(const char *dev_telec, const char *dev_telem, int baudrate) +{ + /* 初始化遥控串口 */ + fd_telecontrol = open(dev_telec, O_RDWR | O_NOCTTY | O_NDELAY); + if (fd_telecontrol < 0) { + perror("open telecontrol serial failed"); + return -1; + } + + /* 设置为非阻塞模式 */ + fcntl(fd_telecontrol, F_SETFL, 0); + + /* 初始化遥测串口 */ + fd_telemetry = open(dev_telem, O_RDWR | O_NOCTTY | O_NDELAY); + if (fd_telemetry < 0) { + perror("open telemetry serial failed"); + close(fd_telecontrol); + fd_telecontrol = -1; + return -1; + } + + /* 设置为非阻塞模式 */ + fcntl(fd_telemetry, F_SETFL, 0); + + /* 设置两个串口参数 */ + int fds[] = {fd_telecontrol, fd_telemetry}; + for (int i = 0; i < 2; i++) { + struct termios tty; + + if (tcgetattr(fds[i], &tty) != 0) { + perror("tcgetattr failed"); + continue; + } + + /* 设置波特率 */ + speed_t speed; + switch (baudrate) { + case 9600: + speed = B9600; + break; + case 19200: + speed = B19200; + break; + case 38400: + speed = B38400; + break; + case 57600: + speed = B57600; + break; + case 115200: + speed = B115200; + break; + default: + speed = B115200; + break; + } + + cfsetospeed(&tty, speed); + cfsetispeed(&tty, speed); + + /* 8N1: 8位数据位,无奇偶校验,1位停止位 */ + tty.c_cflag &= ~PARENB; /* 无奇偶校验 */ + tty.c_cflag &= ~CSTOPB; /* 1位停止位 */ + tty.c_cflag &= ~CSIZE; + tty.c_cflag |= CS8; /* 8位数据位 */ + tty.c_cflag |= CREAD | CLOCAL; /* 启用接收器,忽略调制解调器控制线 */ + + /* 关闭流控 */ + tty.c_cflag &= ~CRTSCTS; + + /* 设置输入模式 */ + tty.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); /* 非规范模式 */ + tty.c_iflag &= ~(IXON | IXOFF | IXANY); /* 关闭软件流控 */ + tty.c_iflag &= ~(INLCR | ICRNL | IGNCR | IUCLC); /* 关闭输入转换 */ + + /* 设置输出模式 */ + tty.c_oflag &= ~OPOST; /* 原始输出 */ + tty.c_oflag &= ~ONLCR; /* 不转换换行 */ + + /* 设置超时和最小读取字符数 */ + tty.c_cc[VMIN] = 0; /* 非阻塞 */ + tty.c_cc[VTIME] = 5; /* 0.5秒超时 */ + + if (tcsetattr(fds[i], TCSANOW, &tty) != 0) { + perror("tcsetattr failed"); + } + + /* 清空缓冲区 */ + tcflush(fds[i], TCIOFLUSH); + } + + cout << "[OK] S_COMM UART init telec=" << dev_telec + << " telem=" << dev_telem << " baud=" << baudrate << endl; + return 0; +} + +/* + * S遥测串口发送 + * + * 将遥测数据进行封装,然后发送到通信机串口 + * + * @cmd: 命令码 + * @len: 数据长度 + * @nums: 数据指针 + */ +void S_UART_TELEMETRY_SEND(uint8_t cmd, uint16_t len, uint8_t *nums) +{ + uint8_t tele_check = 0; + uint16_t i; + + memset(S_Telem_Data, 0, 512); + + S_Telem_Data[0] = 0xEB; + S_Telem_Data[1] = 0x90; + S_Telem_Data[2] = cmd; + S_Telem_Data[3] = (unsigned char)len >> 8; + S_Telem_Data[4] = (unsigned char)len; + + for (i = 0; i < len; i++) { + S_Telem_Data[i + 5] = *(nums + i); + } + + for (i = 2; i < (len + 5); i++) { + tele_check += S_Telem_Data[i]; + } + + S_Telem_Data[len + 5] = tele_check; + + if (fd_telemetry >= 0) { + int written = write(fd_telemetry, S_Telem_Data, (len + 6)); + if (written < 0) { + perror("[ERROR] S_COMM write failed"); + } else { + printf("[INFO] S_COMM sent command: 0x%02X, len: %d, bytes: %d\n", + cmd, len, written); + } + } +} + +/* + * 超时读取 + * + * @timeout_ms: 超时时间(毫秒),默认100ms + * @return: 读取到的字节数,-1表示超时或错误 + */ +int scomm_read_with_select(int timeout_ms = 100) +{ + if (fd_telecontrol < 0) { + printf("[ERROR] S_COMM telecontrol port not opened\n"); + return -1; + } + + fd_set read_fds; + struct timeval tv; + uint8_t buffer[512]; + int total_read = 0; + + // 设置超时时间(100ms) + tv.tv_sec = timeout_ms / 1000; + tv.tv_usec = (timeout_ms % 1000) * 1000; + + // 清空并设置文件描述符集合 + FD_ZERO(&read_fds); + FD_SET(fd_telecontrol, &read_fds); + + // 使用select等待数据到达 + int ret = select(fd_telecontrol + 1, &read_fds, NULL, NULL, &tv); + + if (ret > 0) { + // 有数据可读 + if (FD_ISSET(fd_telecontrol, &read_fds)) { + // 读取所有可用数据 + while (total_read < (int)sizeof(buffer)) { + int bytes = read(fd_telecontrol, buffer + total_read, + sizeof(buffer) - total_read); + if (bytes > 0) { + total_read += bytes; + + // 尝试处理数据 + if (process_received_data(buffer, total_read) == 0) { + return total_read; // 成功处理 + } + // 如果返回-1,表示需要更多数据,继续读取 + } else if (bytes < 0) { + if (errno == EAGAIN || errno == EWOULDBLOCK) { + // 没有更多数据了 + break; + } else { + perror("[ERROR] S_COMM read error"); + return -1; + } + } else { + // read返回0,文件结束 + break; + } + } + + if (total_read > 0) { + // 有数据但未能完整处理,返回读取的字节数 + return total_read; + } + } + } else if (ret == 0) { + // select超时 + printf("[WARN] S_COMM read timeout after %d ms\n", timeout_ms); + return -1; + } else { + // select错误 + perror("[ERROR] select failed"); + return -1; + } + + return total_read; +} + +/* + * 发送指令并等待响应 + * + * @cmd: 命令码 + * @len: 数据长度 + * @nums: 数据指针 + * @timeout_ms: 等待响应超时时间,默认100ms + * @return: 响应数据长度,-1表示失败 + */ +int S_UART_SEND_AND_WAIT(uint8_t cmd, uint16_t len, uint8_t *nums, int timeout_ms = 100) +{ + if (S_COMM_ON_OFF != 1) { + printf("[ERROR] S_COMM is not available\n"); + return -1; + } + + if (fd_telemetry < 0 || fd_telecontrol < 0) { + printf("[ERROR] Serial ports not initialized\n"); + return -1; + } + + // 1. 先清空输入缓冲区,避免旧数据干扰 + tcflush(fd_telecontrol, TCIFLUSH); + + // 2. 发送指令 + S_UART_TELEMETRY_SEND(cmd, len, nums); + + // 3. 等待响应(使用select,超时100ms) + return scomm_read_with_select(timeout_ms); +} + +/* + * 向S测控发送控制指令 + * + * 将遥控指令封装,然后发送到通信机串口 + * + * @cmd: 指令数据 + * @len: 指令长度 + */ +void send_S_COMM_Cmder(uint8_t *cmd, uint16_t len) +{ + if (S_COMM_ON_OFF != 1) { + printf("[ERROR] S_COMM is not available\n"); + return; + } + + sendCmderCnt++; + + // 构造命令数据 + uint8_t cmd_buff[64] = {0}; + uint8_t kc = 0; + + cmd_buff[0] = 0x11; + cmd_buff[1] = 0x1A; + cmd_buff[2] = 0xC0; + cmd_buff[3] = 0x00; + + cmd_buff[4] = (uint8_t)(len + 1) >> 8; /* 根据高层协议来,实际上是+2减1 */ + cmd_buff[5] = (uint8_t)len + 1; + + for (kc = 0; kc < len + 2; kc++) { + cmd_buff[kc + 6] = cmd[kc]; + } + + // 发送并等待响应(超时100ms) + int result = S_UART_SEND_AND_WAIT(TELECONTROL_CMD, len + 8, cmd_buff, 100); + + if (result > 0) { + printf("[INFO] Command sent successfully with response\n"); + sendCmderSuccessCnt++; + } else { + printf("[WARN] Command sent but no valid response within 100ms\n"); + sendCmderErrCnt++; + } +} + +/* + * 获取S测控常规遥测(同步版本,使用select超时) + * + * 向通信机串口写入常规遥测查询的指令,进行遥测的查询 + * + */ +void Get_S_COMM_Telemetry_Data(void) +{ + if (S_COMM_ON_OFF != 1) return; + + // 发送并等待响应(超时100ms) + int result = S_UART_SEND_AND_WAIT(CON_TELEMETRY, 1, cmderPadding, 100); + + if (result > 0) { + printf("[INFO] Telemetry query successful\n"); + sendGetSelfTelemCmderCnt = 0; // 重置错误计数 + } else { + printf("[ERROR] Telemetry query failed (timeout 100ms)\n"); + sendGetSelfTelemCmderCnt++; + + if (sendGetSelfTelemCmderCnt >= 3) { + printf("[WARN] Multiple telemetry queries failed\n"); + } + } +} + +/* + * 获取上行遥控指令(同步版本,使用select超时) + * + * 向通信机串口写入获取上行遥控指令,进行上行遥控查询 + * + */ +void Get_S_COMM_UP_CMD(void) +{ + if (S_COMM_ON_OFF != 1) return; + + // 发送并等待响应(超时100ms) + int result = S_UART_SEND_AND_WAIT(QUERY_TELECMD, 1, cmderPadding, 100); + + if (result > 0) { + printf("[INFO] Uplink command query successful\n"); + } else if (result == 0) { + printf("[INFO] No uplink command available\n"); + } else { + printf("[ERROR] Uplink command query failed (timeout 100ms)\n"); + } +} + +/* + * 通过S测控发送下行遥测(可选等待确认) + * + * @tele: 遥测数据 + * @len: 数据长度 + */ +void Send_Telemetry_From_S(uint8_t *tele, uint16_t len) +{ + if (S_COMM_ON_OFF != 1) return; + + sendTelemCnt++; + + // 发送遥测数据 + S_UART_TELEMETRY_SEND(SEND_TELEMETRY, len, tele); + printf("[INFO] S_COMM send telemetry from S, len: %d\n", len); + + scomm_read_with_select(100); +} + +/* + * 接收数据处理函数(改进版,支持部分帧处理) + * + * @data: 接收到的数据 + * @size: 数据大小 + * + * 返回值: 0-成功处理, -1-处理失败, -2-需要更多数据 + */ +int process_received_data(uint8_t *data, uint16_t size) +{ + uint16_t i = 0; + uint8_t cmd = 0; + uint16_t frame_len = 0; + uint8_t checksum0 = 0, checksum1 = 0; + + // 如果数据太少,无法判断帧头 + if (size < 2) { + return -2; // 需要更多数据 + } + + // 查找有效的帧头 + int header_pos = -1; + for (i = 0; i < size - 1; i++) { + if (data[i] == 0xEB && data[i+1] == 0x90) { + header_pos = i; + break; + } + } + + if (header_pos < 0) { + // 如果已经有一定数量的数据但还没找到帧头,可能是无效数据 + if (size > 10) { + scommHeaderErrCnt++; + printf("[ERROR] Frame header not found in %d bytes\n", size); + return -1; // 处理失败 + } + return -2; // 需要更多数据 + } + + // 如果帧头不在开头,调整数据 + if (header_pos > 0) { + printf("[WARN] Found frame header at position %d, discarding %d bytes\n", + header_pos, header_pos); + memmove(S_Telec1_Data, data + header_pos, size - header_pos); + size -= header_pos; + } else { + memcpy(S_Telec1_Data, data, size); + } + + // 检查是否有完整的帧头(至少6字节:2字节帧头+1字节命令+2字节长度+1字节校验) + if (size < 6) { + return -2; // 需要更多数据 + } + + cmd = S_Telec1_Data[2]; + frame_len = (uint16_t)(S_Telec1_Data[3] << 8) | (S_Telec1_Data[4]); + + // 检查是否收到完整帧 + if (size < (frame_len + 6)) { + printf("[DEBUG] Incomplete frame: need %d, got %d\n", + frame_len + 6, size); + return -2; // 需要更多数据 + } + + /* 检查帧长度是否合理 */ + if (frame_len > 500) { + printf("[ERROR] S_COMM frame length too large: %d\n", frame_len); + return -1; + } + + checksum0 = S_Telec1_Data[frame_len + 5]; + + /* 计算校验和 */ + checksum1 = 0; + for (i = 2; i < (frame_len + 5); i++) { + checksum1 += S_Telec1_Data[i]; + } + + if (checksum1 != checksum0) { + scommCheckErrCnt++; + printf("[ERROR] S_COMM checksum error: calc=0x%02X recv=0x%02X\n", + checksum1, checksum0); + return -1; + } + + /* 根据命令类型处理 */ + switch (cmd) { + case 0xF0: /* 常规遥测数据 */ + printf("[INFO] S_COMM telemetry data received, frame_len=%d\n", frame_len); + if (size >= (13 + frame_len - 10)) { + /* 维护遥测数据缓存 */ + memcpy((uint8_t *)&S_TELE, (uint8_t *)&S_Telec1_Data[13], + frame_len - 10); + if (sendGetSelfTelemCmderCnt > 0) { + sendGetSelfTelemCmderCnt--; + } + + /* 通过ComHS发布遥测数据 */ + if (frame_len - 10 > 0) { + ComHS_telemetry_Pub((uint8_t *)&S_TELE, fastdds_dest, + sizeof(S_Comm_telemetry_data_t)); + printf("[INFO] S_COMM telemetry published via ComHS\n"); + } + } + break; + + case 0xE1: /* 遥控指令应答 */ + if ((S_Telec1_Data[5] == 0xAA) && (S_Telec1_Data[6] == 0x8C)) { + sendCmderSuccessCnt++; + printf("[INFO] S_COMM command success\n"); + } else { + sendCmderErrCnt++; + printf("[ERROR] S_COMM command error\n"); + } + break; + + case 0xB4: /* 上行遥控指令 */ + printf("[INFO] S_COMM uplink command received, frame_len=%d\n", frame_len); + if (size >= 9 && frame_len >= 4) { + uint16_t total_data_len = frame_len; + + if (total_data_len > 4) { + ComHS_command_Pub(&S_Telec1_Data[5], fastdds_dest, + total_data_len); + printf("[INFO] S_COMM uplink command published, len=%d bytes\n", + total_data_len); + } else { + printf("[INFO] No actual data in uplink command\n"); + } + } + break; + + case 0xA5: /* 遥测确认 */ + if ((S_Telec1_Data[5] == 0xAA) && (S_Telec1_Data[6] == 0x50)) { + sendTelemSuccessCnt = 1; + printf("[INFO] S_COMM telemetry sent successfully\n"); + } + break; + + default: + scommResIDErrCnt++; + printf("[ERROR] S_COMM unknown command ID: 0x%02X\n", cmd); + return -1; + } + + return 0; /* 处理成功 */ +} + +/* + * 启动SCOMM服务(同步模式,使用select超时) + * + * @dev_telec: 遥控串口设备 + * @dev_telem: 遥测串口设备 + * @baudrate: 波特率 + */ +void start_scomm_service(const char *dev_telec, const char *dev_telem, int baudrate) +{ + /* 设置信号处理 */ + signal(SIGINT, signal_handler); + signal(SIGTERM, signal_handler); + + /* 初始化串口 */ + if (scomm_uart_init(dev_telec, dev_telem, baudrate) < 0) { + S_COMM_ON_OFF = 0; + cerr << "[ERROR] S_COMM UART init failed" << endl; + return; + } + + S_COMM_ON_OFF = 1; + + /* 初始化ComHS通信 */ + ComHS_init(0, "S_Comm_Hardware_Service"); + +} + +/* + * 停止SCOMM服务 + */ +void stop_scomm_service(void) +{ + g_running = 0; + + /* 关闭串口 */ + if (fd_telecontrol >= 0) { + close(fd_telecontrol); + fd_telecontrol = -1; + } + if (fd_telemetry >= 0) { + close(fd_telemetry); + fd_telemetry = -1; + } + + /* 清理ComHS资源 */ + if (ComHS_part) { + delete ComHS_part; + ComHS_part = nullptr; + } + +} diff --git a/开关硬件服务化 b/开关硬件服务化 new file mode 160000 index 0000000..1ef0092 --- /dev/null +++ b/开关硬件服务化 @@ -0,0 +1 @@ +Subproject commit 1ef0092561958cf958bd4ad4e97745dec5e93071 diff --git a/星务硬件服务化 b/星务硬件服务化 new file mode 160000 index 0000000..3a4fea1 --- /dev/null +++ b/星务硬件服务化 @@ -0,0 +1 @@ +Subproject commit 3a4fea17a19183a1ab1d5f8d0721f0aea8617c0d diff --git a/星敏硬件服务化/CMakeLists.txt b/星敏硬件服务化/CMakeLists.txt new file mode 100644 index 0000000..0a9c044 --- /dev/null +++ b/星敏硬件服务化/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.10) +project(Star_sensorHS) + +# 设置C++标准 +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# 设置编译选项 +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -pthread") + +# 包含头文件路径 +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} # 当前目录 + /usr/local/include/simmsg # simmsg头文件目录 + /usr/local/include # 系统本地include + /usr/include # 系统include +) + +# 链接库路径 +link_directories( + /usr/local/lib # 系统本地lib + /usr/lib # 系统lib + /usr/lib/x86_64-linux-gnu # 系统64位库 +) + +# 添加可执行文件 +add_executable(Star_sensorHS + Star_sensorHS-main.cpp + Star_sensorHS.cpp +) + +# 链接库 +target_link_libraries(Star_sensorHS + pthread + m + rt + simmsg + fastrtps + fastcdr + foonathan_memory +) + +# 设置输出目录 +set_target_properties(Star_sensorHS PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin +) diff --git a/星敏硬件服务化/Star_sensorHS-main.cpp b/星敏硬件服务化/Star_sensorHS-main.cpp new file mode 100644 index 0000000..2ae7a98 --- /dev/null +++ b/星敏硬件服务化/Star_sensorHS-main.cpp @@ -0,0 +1,120 @@ +#include +#include +#include +#include +#include + +#include "Star_sensorHS.h" + +/* ------------------ 全局变量 ------------------ */ +extern Star_Device nano_stars[MAX_STAR_NUM_PER_TYPE]; +extern Star_Device pico_stars[MAX_STAR_NUM_PER_TYPE]; +extern uint8_t nano_star_count; +extern uint8_t pico_star_count; + +/* ------------------ 信号处理 ------------------ */ +static volatile bool running = true; + +static void signal_handler(int sig) { + running = false; + std::cout << "[INFO] Received signal " << sig << ", shutting down..." << std::endl; +} + +/* ------------------ 打印使用帮助 ------------------ */ +static void print_usage(const char* program_name) { + std::cout << "Usage: " << program_name << " [OPTIONS]" << std::endl; + std::cout << "Options:" << std::endl; + std::cout << " -h, --help Show this help message" << std::endl; + std::cout << " -v, --version Show version information" << std::endl; + std::cout << " -i, --interval MS Set publish interval in milliseconds (default: 500)" << std::endl; + std::cout << std::endl; + std::cout << "Environment variables:" << std::endl; + std::cout << " STAR_NANO_DEVS Comma-separated list of nano star devices (e.g., /dev/ttyS0:115200,/dev/ttyS1:115200)" << std::endl; + std::cout << " STAR_PICO_DEVS Comma-separated list of pico star devices" << std::endl; +} + +/* ------------------ 主函数 ------------------ */ +int main(int argc, char *argv[]) { + // 解析命令行参数 + int publish_interval_ms = 500; + + for (int i = 1; i < argc; i++) { + std::string arg = argv[i]; + if (arg == "-h" || arg == "--help") { + print_usage(argv[0]); + return 0; + } else if (arg == "-v" || arg == "--version") { + std::cout << "Star Sensor Hardware Service v1.0.0" << std::endl; + return 0; + } else if (arg == "-i" || arg == "--interval") { + if (i + 1 < argc) { + publish_interval_ms = std::atoi(argv[++i]); + if (publish_interval_ms <= 0) { + std::cerr << "[ERROR] Invalid interval value: " << publish_interval_ms << std::endl; + return -1; + } + } else { + std::cerr << "[ERROR] Missing interval value" << std::endl; + print_usage(argv[0]); + return -1; + } + } else { + std::cerr << "[ERROR] Unknown option: " << arg << std::endl; + print_usage(argv[0]); + return -1; + } + } + + + // 设置信号处理 + signal(SIGINT, signal_handler); + signal(SIGTERM, signal_handler); + signal(SIGPIPE, SIG_IGN); // 忽略管道中断信号 + + // 初始化星敏设备 + if (star_devices_init() != 0) { + std::cerr << "[ERROR] No star sensors initialized" << std::endl; + return -1; + } + std::cout << "[OK] Initialized " << (int)nano_star_count << " nano stars, " + << (int)pico_star_count << " pico stars" << std::endl; + + // 初始化FastDDS硬件服务化 + if (Star_sensorHS_init(0, "Star_sensor_Hardware_Service") != 0) { + std::cerr << "[ERROR] Failed to initialize FastDDS hardware service" << std::endl; + return -1; + } + std::cout << "[OK] FastDDS hardware service initialized" << std::endl; + + // 创建发布线程 + pthread_t publish_tid; + if (pthread_create(&publish_tid, NULL, star_publish_thread, NULL) != 0) { + perror("[ERROR] Failed to create publish thread"); + return -1; + } + + while (running) { + sleep(1); + } + + // 等待线程退出 + pthread_join(publish_tid, NULL); + + // 关闭所有串口 + for (int i = 0; i < MAX_STAR_NUM_PER_TYPE; i++) { + if (nano_stars[i].fd > 0) { + close(nano_stars[i].fd); + nano_stars[i].fd = -1; + std::cout << "[INFO] Closed nano star " << (i+1) << " UART" << std::endl; + } + if (pico_stars[i].fd > 0) { + close(pico_stars[i].fd); + pico_stars[i].fd = -1; + std::cout << "[INFO] Closed pico star " << (i+1) << " UART" << std::endl; + } + } + + // 清理FastDDS资源 + Star_sensorHS_cleanup(); + return 0; +} \ No newline at end of file diff --git a/星敏硬件服务化/Star_sensorHS.cpp b/星敏硬件服务化/Star_sensorHS.cpp new file mode 100644 index 0000000..2fa43f2 --- /dev/null +++ b/星敏硬件服务化/Star_sensorHS.cpp @@ -0,0 +1,838 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Star_sensorHS.h" + +/* ------------------ 全局变量 ------------------ */ +// 全局设备管理 +Star_Device nano_stars[MAX_STAR_NUM_PER_TYPE] = {0}; +Star_Device pico_stars[MAX_STAR_NUM_PER_TYPE] = {0}; +uint8_t nano_star_count = 0; +uint8_t pico_star_count = 0; + +// 全局UTC时间变量 +static uint8_t UTC_TIME_SET[5] = {0}; + +// 电星模数据结构体 +static CMD_ESD_S CMD_ESD_S_DATA = {0}; + +// 互斥锁 +static pthread_mutex_t cache_mutex = PTHREAD_MUTEX_INITIALIZER; + +// 发布配置 +static int star_pub_interval_ms = 500; + +// FastDDS回调函数 +static CommandCallbackFunc command_callback_func = nullptr; +static TelemetryCallbackFunc telemetry_callback_func = nullptr; + +/* ------------------ 工具函数 ------------------ */ +static int checksum_verify(const uint8_t *data, int len) { + if (len <= 1 || data == NULL) return SAT_ERR_DATA; + uint8_t checksum = 0; + for (int i = 0; i < len - 1; ++i) checksum += data[i]; + if (checksum == data[len - 1]) return SAT_ERR_OK; + fprintf(stderr, "[ERROR] Checksum error: calculated=0x%02X, received=0x%02X\n", checksum, data[len - 1]); + return SAT_ERR_CHECKSUM; +} + +/* ------------------ 串口初始化 ------------------ */ +int star_uart_init(star_type_t type, uint8_t num, const char *dev, int baudrate) { + if (type >= STAR_TYPE_MAX || num == 0 || num > MAX_STAR_NUM_PER_TYPE) { + fprintf(stderr, "[ERROR] Invalid star type=%d or num=%d\n", type, num); + return SAT_ERR_DATA; + } + + uint8_t idx = num - 1; + Star_Device *star = (type == STAR_TYPE_NANO) ? &nano_stars[idx] : &pico_stars[idx]; + + // 如果已经打开,先关闭 + if (star->fd > 0) { + close(star->fd); + star->fd = -1; + } + + // 打开串口 + star->fd = open(dev, O_RDWR | O_NOCTTY | O_NONBLOCK); + if (star->fd < 0) { + perror("[ERROR] Open star serial failed"); + return SAT_ERR_SERIAL; + } + + // 配置串口参数 + struct termios options; + if (tcgetattr(star->fd, &options) < 0) { + perror("[ERROR] Get serial attributes failed"); + close(star->fd); + star->fd = -1; + return SAT_ERR_SERIAL; + } + + // 设置波特率 + speed_t baud = B115200; + switch (baudrate) { + case 9600: baud = B9600; break; + case 19200: baud = B19200; break; + case 38400: baud = B38400; break; + case 57600: baud = B57600; break; + case 115200: baud = B115200; break; + case 230400: baud = B230400; break; + case 460800: baud = B460800; break; + case 921600: baud = B921600; break; + default: baud = B115200; + } + cfsetispeed(&options, baud); + cfsetospeed(&options, baud); + + // 8位数据位,无奇偶校验,1位停止位 + options.c_cflag &= ~PARENB; + options.c_cflag &= ~CSTOPB; + options.c_cflag &= ~CSIZE; + options.c_cflag |= CS8; + + // 启用接收 + options.c_cflag |= CREAD | CLOCAL; + + // 禁用软件流控 + options.c_iflag &= ~(IXON | IXOFF | IXANY); + + // 原始模式 + options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); + options.c_oflag &= ~OPOST; + + // 设置超时 + options.c_cc[VMIN] = 0; + options.c_cc[VTIME] = 10; // 1秒超时 + + if (tcsetattr(star->fd, TCSANOW, &options) < 0) { + perror("[ERROR] Set serial attributes failed"); + close(star->fd); + star->fd = -1; + return SAT_ERR_SERIAL; + } + + // 刷新缓冲区 + tcflush(star->fd, TCIOFLUSH); + + // 初始化设备信息 + star->dev = dev; + star->baudrate = baudrate; + star->on_off_status = 1; + + printf("[OK] %s STAR%d UART init: dev=%s, baud=%d, fd=%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num, dev, baudrate, star->fd); + + return SAT_ERR_OK; +} + +/* ------------------ 发送星敏命令 ------------------ */ +int send_star_cmd(star_type_t type, uint8_t num, enum SENSOR_Cmder cmd, uint8_t param) { + if (type >= STAR_TYPE_MAX || num == 0 || num > MAX_STAR_NUM_PER_TYPE) return SAT_ERR_DATA; + + uint8_t idx = num - 1; + Star_Device *star = (type == STAR_TYPE_NANO) ? &nano_stars[idx] : &pico_stars[idx]; + if (star->fd < 0) { + fprintf(stderr, "[ERROR] Serial not open for %s STAR%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + return SAT_ERR_SERIAL; + } + + uint8_t send_cmd[260] = {0}; + int cmd_len = 5; + uint8_t i = 0; + + switch (cmd) { + case CMD_MCT_OST: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0X00; send_cmd[4] = 0X14; + break; + case CMD_MCT_ESI: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0X03; send_cmd[4] = 0X17; + break; + case CMD_SAT: + send_cmd[0] = 0X74; send_cmd[1] = 0XA3; + memcpy(send_cmd + 2, UTC_TIME_SET, 5); + send_cmd[7] = 0; + for (i = 0; i < 7; i++) send_cmd[7] += send_cmd[i]; + cmd_len = 8; + break; + case CMD_WM_NORM: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X01; send_cmd[3] = 0X01; send_cmd[4] = 0X1A; + break; + case CMD_WM_ALSKY: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X02; send_cmd[3] = 0X02; send_cmd[4] = 0X1C; + break; + case CMD_WM_TST: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X04; send_cmd[3] = 0X04; send_cmd[4] = 0X20; + break; + case CMD_WM_DLD: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X08; send_cmd[3] = 0X08; send_cmd[4] = 0X28; + break; + case CMD_WM_IDLE: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0XF0; send_cmd[3] = 0XF0; send_cmd[4] = 0XF8; + break; + case CMD_WM_HK: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0X0A; send_cmd[3] = 0X0A; send_cmd[4] = 0X2C; + break; + case CMD_WM_RST: + send_cmd[0] = 0X74; send_cmd[1] = 0XA4; send_cmd[2] = 0XFF; send_cmd[3] = 0XFF; send_cmd[4] = 0X16; + break; + case CMD_SEN_EXPO: + send_cmd[0] = 0X74; send_cmd[1] = 0XA9; send_cmd[2] = 0X60; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_SEN_AGAIN: + send_cmd[0] = 0X74; send_cmd[1] = 0XA9; send_cmd[2] = 0X30; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_SEN_DGAIN: + send_cmd[0] = 0X74; send_cmd[1] = 0XA9; send_cmd[2] = 0X90; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_ADE: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X03; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_SSE: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X05; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_TKR: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X06; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_ADN: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X09; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X0A; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_0: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X0F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_1: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X1F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_2: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X2F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_3: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X3F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_OFST_IMG_4: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X4F; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_WIN: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X0E; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_PAR_RST: + send_cmd[0] = 0X74; send_cmd[1] = 0XAC; send_cmd[2] = 0X0B; send_cmd[3] = param; + send_cmd[4] = 0; + for (i = 0; i < 4; i++) send_cmd[4] += send_cmd[i]; + break; + case CMD_ESD: + { + CMD_ESD_S_DATA.FRAME_HEAD = htons(0x7456); + CMD_ESD_S_DATA.FRAME_ID = htons(0x0001); + memcpy(CMD_ESD_S_DATA.UTC, UTC_TIME_SET, 5); + CMD_ESD_S_DATA.STAR_NUM_S[0] = 1; + memset(&CMD_ESD_S_DATA.SS_SCP_X, 0, sizeof(CMD_ESD_S) - 8); + + uint8_t crc = 0; + uint8_t *data_ptr = (uint8_t *)&CMD_ESD_S_DATA; + for (uint32_t i = 0; i < sizeof(CMD_ESD_S) - 1; i++) { + crc += data_ptr[i]; + } + CMD_ESD_S_DATA.SUM_CRC = crc; + + if (write(star->fd, &CMD_ESD_S_DATA, sizeof(CMD_ESD_S)) != sizeof(CMD_ESD_S)) { + perror("[ERROR] Send ESD cmd failed"); + star->send_cmd_cnt++; + return SAT_ERR_SEND_CMD; + } + star->send_cmd_cnt = 0; + return SAT_ERR_OK; + } + case CMD_MCT_FLT_ON: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x05; send_cmd[4] = 0x19; + break; + case CMD_MCT_FLT_OFF: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x07; send_cmd[4] = 0x1B; + break; + case CMD_MCT_PPS_ON: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x0A; send_cmd[4] = 0x1E; + break; + case CMD_MCT_PPS_OFF: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x0C; send_cmd[4] = 0x20; + break; + case CMD_MCT_PPS_CNT_RST: + send_cmd[0] = 0X74; send_cmd[1] = 0XA0; send_cmd[2] = 0X00; send_cmd[3] = 0x0E; send_cmd[4] = 0x22; + break; + case CMD_TLM_1: + if (type != STAR_TYPE_NANO) return SAT_ERR_DATA; + send_cmd[0] = 0X74; send_cmd[1] = 0XA1; send_cmd[2] = 0X00; send_cmd[3] = 0x00; send_cmd[4] = 0x15; + break; + case CMD_TLM_2: + if (type != STAR_TYPE_PICO) return SAT_ERR_DATA; + send_cmd[0] = 0X74; send_cmd[1] = 0XA1; send_cmd[2] = 0X00; send_cmd[3] = 0x05; send_cmd[4] = 0x1A; + break; + default: + fprintf(stderr, "[ERROR] Unsupported cmd=%d for %s STAR%d\n", cmd, + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + return SAT_ERR_DATA; + } + + if (write(star->fd, send_cmd, cmd_len) != cmd_len) { + perror("[ERROR] Send star cmd failed"); + star->send_cmd_cnt++; + return SAT_ERR_SEND_CMD; + } + + star->send_cmd_cnt = 0; + return SAT_ERR_OK; +} + +/* ------------------ 数据解析纳型星敏 ------------------ */ +static int parse_nano_quaternion(const uint8_t *buf, STAR_INFO *info) { + if (!buf || !info) return SAT_ERR_DATA; + + int32_t raw_q0 = (int32_t)((buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | buf[7]); + int32_t raw_q1 = (int32_t)((buf[8] << 24) | (buf[9] << 16) | (buf[10] << 8) | buf[11]); + int32_t raw_q2 = (int32_t)((buf[12] << 24) | (buf[13] << 16) | (buf[14] << 8) | buf[15]); + int32_t raw_q3 = (int32_t)((buf[16] << 24) | (buf[17] << 16) | (buf[18] << 8) | buf[19]); + + info->q0 = (float)raw_q0 / 2147483647.5f; + info->q1 = (float)raw_q1 / 2147483647.5f; + info->q2 = (float)raw_q2 / 2147483647.5f; + info->q3 = (float)raw_q3 / 2147483647.5f; + + int16_t raw_omega_x = (int16_t)((buf[45] << 8) | buf[46]); + int16_t raw_omega_y = (int16_t)((buf[47] << 8) | buf[48]); + int16_t raw_omega_z = (int16_t)((buf[49] << 8) | buf[50]); + + info->wx = (float)raw_omega_x * 2e-13f; + info->wy = (float)raw_omega_y * 2e-13f; + info->wz = (float)raw_omega_z * 2e-13f; + + info->bitpara_state.ext = buf[20]; + info->star_num_d = buf[35]; + + return SAT_ERR_OK; +} + +/* ------------------ 数据解析皮型星敏 ------------------ */ +static int parse_pico_quaternion(const uint8_t *buf, STAR_INFO *info) { + if (!buf || !info) return SAT_ERR_DATA; + + int32_t raw_q1 = (int32_t)((buf[7] << 24) | (buf[6] << 16) | (buf[5] << 8) | buf[4]); + int32_t raw_q2 = (int32_t)((buf[11] << 24) | (buf[10] << 16) | (buf[9] << 8) | buf[8]); + int32_t raw_q3 = (int32_t)((buf[15] << 24) | (buf[14] << 16) | (buf[13] << 8) | buf[12]); + int32_t raw_q0 = (int32_t)((buf[19] << 24) | (buf[18] << 16) | (buf[17] << 8) | buf[16]); + + info->q0 = (float)raw_q0 / 2147483647.0f; + info->q1 = (float)raw_q1 / 2147483647.0f; + info->q2 = (float)raw_q2 / 2147483647.0f; + info->q3 = (float)raw_q3 / 2147483647.0f; + + info->star_num_d = (buf[34] >> 1) & 0x7F; + + info->bitpara_state.str_state1_data1 = buf[31] & 0x0F; + info->bitpara_state.str_state1_data2 = (buf[31] >> 4) & 0x03; + info->bitpara_state.str_state1_data3 = (buf[32] >> 6) & 0x03; + + info->wx = 0.0f; + info->wy = 0.0f; + info->wz = 0.0f; + + return SAT_ERR_OK; +} + +/* ------------------ 读取单个星敏数据 ------------------ */ +int read_single_star_data(star_type_t type, uint8_t num, enum SENSOR_Cmder cmd, STAR_INFO *info) { + if (type >= STAR_TYPE_MAX || num == 0 || num > MAX_STAR_NUM_PER_TYPE || !info) { + return SAT_ERR_DATA; + } + + uint8_t idx = num - 1; + Star_Device *star = (type == STAR_TYPE_NANO) ? &nano_stars[idx] : &pico_stars[idx]; + if (star->fd < 0) { + fprintf(stderr, "[ERROR] Serial not open for %s STAR%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + return SAT_ERR_SERIAL; + } + + int expected_bin_len = 0; + if (cmd == CMD_TLM_1 && type == STAR_TYPE_NANO) { + expected_bin_len = 64; + } else if (cmd == CMD_TLM_2 && type == STAR_TYPE_PICO) { + expected_bin_len = 256; + } else { + fprintf(stderr, "[ERROR] Unknown frame length for cmd=%d, type=%d\n", cmd, type); + return SAT_ERR_DATA; + } + + const int MAX_RETRY = 10; + uint8_t buf[MAX_BUF_SIZE] = {0}; + + for (int retry = 0; retry < MAX_RETRY; ++retry) { + // 清空串口缓冲区 + tcflush(star->fd, TCIOFLUSH); + memset(buf, 0, sizeof(buf)); + int total_read = 0; + + // 发送命令 + int send_ret = send_star_cmd(type, num, cmd, 0); + if (send_ret != SAT_ERR_OK) { + fprintf(stderr, "[ERROR] Retry %d: send cmd failed\n", retry); + star_rpc_update_error(type, num, SAT_ERR_SEND_CMD); + continue; + } + + // 设置超时 + struct timeval start_time, current_time; + gettimeofday(&start_time, NULL); + const long TOTAL_TIMEOUT_MS = 1000; + + // 读取数据 + while (total_read < expected_bin_len && total_read < MAX_BUF_SIZE) { + gettimeofday(¤t_time, NULL); + long elapsed_ms = (current_time.tv_sec - start_time.tv_sec) * 1000 + + (current_time.tv_usec - start_time.tv_usec) / 1000; + if (elapsed_ms > TOTAL_TIMEOUT_MS) { + fprintf(stderr, "[ERROR] Timeout: read %d/%d bytes\n", total_read, expected_bin_len); + star->send_cmd_cnt++; + star_rpc_update_error(type, num, SAT_ERR_TIMEOUT); + break; + } + + // 使用select等待数据 + struct timeval timeout = {0, 100000}; + fd_set readfds; + FD_ZERO(&readfds); + FD_SET(star->fd, &readfds); + + int ret = select(star->fd + 1, &readfds, NULL, NULL, &timeout); + if (ret < 0) { + perror("[ERROR] Select failed"); + return SAT_ERR_SELECT; + } else if (ret == 0) { + continue; // 超时,继续等待 + } + + // 读取数据 + if (FD_ISSET(star->fd, &readfds)) { + int bytes = read(star->fd, buf + total_read, expected_bin_len - total_read); + if (bytes > 0) { + total_read += bytes; + } else if (bytes == 0) { + usleep(10000); // 没有数据,等待10ms + } else { + perror("[ERROR] Read star data failed"); + return SAT_ERR_SERIAL; + } + } + } + + // 检查是否超时过多 + if (star->send_cmd_cnt >= 10) { + fprintf(stderr, "[ERROR] Too many timeouts, resetting %s STAR%d UART\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + star_uart_init(type, num, star->dev, star->baudrate); + star->uart_reset_cnt++; + star->send_cmd_cnt = 0; + continue; + } + + // 检查数据长度 + if (total_read < expected_bin_len) { + fprintf(stderr, "[ERROR] Frame too short: %d/%d bytes\n", total_read, expected_bin_len); + star->length_err_cnt++; + star_rpc_update_error(type, num, SAT_ERR_LEN); + continue; + } + + // 检查帧头 + int header_valid = 0; + if (type == STAR_TYPE_NANO && cmd == CMD_TLM_1) { + header_valid = (buf[0] == 0x8A && buf[1] == 0xA1); + } else if (type == STAR_TYPE_PICO && cmd == CMD_TLM_2) { + header_valid = (buf[0] == 0xEB && buf[1] == 0x50 && buf[2] == 0x22); + } + if (!header_valid) { + fprintf(stderr, "[ERROR] Invalid frame header for %s STAR%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + star->header_err_cnt++; + star_rpc_update_error(type, num, SAT_ERR_HEADER); + continue; + } + + // 检查校验和 + if (checksum_verify(buf, expected_bin_len) != SAT_ERR_OK) { + star->check_err_cnt++; + star_rpc_update_error(type, num, SAT_ERR_CHECKSUM); + continue; + } + + // 解析数据 + int parse_ret = SAT_ERR_DATA; + if (type == STAR_TYPE_NANO) { + parse_ret = parse_nano_quaternion(buf, info); + } else if (type == STAR_TYPE_PICO) { + parse_ret = parse_pico_quaternion(buf, info); + } + + if (parse_ret == SAT_ERR_OK) { + return SAT_ERR_OK; + } else { + fprintf(stderr, "[ERROR] Parse data failed for %s STAR%d\n", + type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + star_rpc_update_error(type, num, SAT_ERR_DATA); + continue; + } + } + + fprintf(stderr, "[ERROR] Read failed after %d retries for %s STAR%d\n", + MAX_RETRY, type == STAR_TYPE_NANO ? "NANO" : "PICO", num); + star_uart_init(type, num, star->dev, star->baudrate); + star->uart_reset_cnt++; + star_rpc_update_error(type, num, SAT_ERR_UNKNOWN); + return SAT_ERR_UNKNOWN; +} + +/* ------------------ 构建数据帧 ------------------ */ +static void build_star_data_frame(star_type_t type, uint8_t num, const STAR_INFO *info, StarDataFrame *frame) { + if (!frame || !info) return; + + memset(frame, 0, sizeof(StarDataFrame)); + + // 填充帧头 + frame->header.frame_type = 0; // 数据帧 + frame->header.star_type = type; + frame->header.star_num = num; + frame->header.cmd = CMD_TLM_1; // 默认遥测包1 + frame->header.param = 0; + frame->header.data_len = sizeof(StarDataFrame) - sizeof(StarFrameHeader); + + struct timeval tv; + gettimeofday(&tv, NULL); + frame->header.timestamp = tv.tv_sec; + frame->header.timestamp_us = tv.tv_usec; + + // 填充数据 + frame->q0 = info->q0; + frame->q1 = info->q1; + frame->q2 = info->q2; + frame->q3 = info->q3; + frame->wx = info->wx; + frame->wy = info->wy; + frame->wz = info->wz; + frame->star_num_d = info->star_num_d; + frame->on_off_status = (type == STAR_TYPE_NANO) ? nano_stars[num-1].on_off_status : pico_stars[num-1].on_off_status; + frame->error_flags = 0; +} + +/* ------------------ 构建错误帧 ------------------ */ +static void build_star_error_frame(star_type_t type, uint8_t num, int err_code, StarErrorFrame *frame) { + if (!frame) return; + + memset(frame, 0, sizeof(StarErrorFrame)); + + // 填充帧头 + frame->header.frame_type = 2; // 错误帧 + frame->header.star_type = type; + frame->header.star_num = num; + frame->header.cmd = 0; + frame->header.param = 0; + frame->header.data_len = sizeof(StarErrorFrame) - sizeof(StarFrameHeader); + + struct timeval tv; + gettimeofday(&tv, NULL); + frame->header.timestamp = tv.tv_sec; + frame->header.timestamp_us = tv.tv_usec; + + // 填充错误信息 + Star_Device *star = (type == STAR_TYPE_NANO) ? &nano_stars[num-1] : &pico_stars[num-1]; + frame->header_err_cnt = star->header_err_cnt; + frame->check_err_cnt = star->check_err_cnt; + frame->length_err_cnt = star->length_err_cnt; + frame->uart_reset_cnt = star->uart_reset_cnt; + frame->error_code = err_code; +} + +/* ------------------ FastDDS硬件服务化初始化 ------------------ */ +int Star_sensorHS_init(int argc, const char* name) { + + // 设置默认回调函数 + if (command_callback_func == nullptr) { + + command_callback_func = command_callback; + std::cout << "[INFO] Using internal command callback" << std::endl; + } + + if (telemetry_callback_func == nullptr) { + + telemetry_callback_func = telemetry_callback; + std::cout << "[INFO] Using internal telemetry callback" << std::endl; + } + + return 0; +} + +/* ------------------ FastDDS硬件服务化清理 ------------------ */ +void Star_sensorHS_cleanup(void) { + std::cout << "[INFO] Star_sensorHS cleaning up..." << std::endl; + + // 重置回调函数 + command_callback_func = nullptr; + telemetry_callback_func = nullptr; + + std::cout << "[OK] Star_sensorHS cleaned up" << std::endl; +} + +/* ------------------ 发布遥测数据 ------------------ */ +void Star_sensorHS_telemetry_Pub(uint8_t *data, const std::string& dest, uint16_t len) { + if (data == nullptr || len == 0) { + std::cerr << "[ERROR] Invalid telemetry data" << std::endl; + return; + } + + // 打印调试信息(实际项目中应通过FastDDS发布) + std::cout << "[DEBUG] Telemetry publish to " << dest << ", length=" << len << " bytes" << std::endl; + + // TODO: 实现FastDDS数据发布逻辑 + // 实际实现: + // 1. 创建数据样本 + // 2. 填充数据 + // 3. 发布数据 +} + +/* ------------------ 设置命令回调 ------------------ */ +void Star_sensorHS_set_command_callback(CommandCallbackFunc callback) { + command_callback_func = callback; + std::cout << "[INFO] Command callback set" << std::endl; +} + +/* ------------------ 设置遥测回调 ------------------ */ +void Star_sensorHS_set_telemetry_callback(TelemetryCallbackFunc callback) { + telemetry_callback_func = callback; + std::cout << "[INFO] Telemetry callback set" << std::endl; +} + +/* ------------------ 命令帧处理回调 ------------------ */ +void command_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data) { + std::cout << "[INFO] Command received from " << src << " to " << dest << std::endl; + + if (data.size() < sizeof(StarCmdFrame)) { + std::cerr << "[ERROR] Invalid command frame size: " << data.size() << std::endl; + return; + } + + StarCmdFrame *cmd_frame = (StarCmdFrame *)data.data(); + + // 解析命令 + star_type_t star_type = (star_type_t)cmd_frame->header.star_type; + uint8_t star_num = cmd_frame->header.star_num; + enum SENSOR_Cmder cmd = (enum SENSOR_Cmder)cmd_frame->header.cmd; + uint8_t param = cmd_frame->header.param; + + std::cout << "[INFO] Cmd: star_type=" << (star_type == STAR_TYPE_NANO ? "NANO" : "PICO") + << ", num=" << (int)star_num << ", cmd=" << cmd << ", param=" << (int)param << std::endl; + + // 执行命令 + int result = send_star_cmd(star_type, star_num, cmd, param); + if (result != SAT_ERR_OK) { + std::cerr << "[ERROR] Send command failed: " << star_strerror(result) << std::endl; + } +} + +/* ------------------ 遥测帧处理回调 ------------------ */ +void telemetry_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data) { + std::cout << "[INFO] Telemetry request received from " << src << " to " << dest << std::endl; + + if (data.size() < sizeof(StarCmdFrame)) { + std::cerr << "[ERROR] Invalid telemetry frame size: " << data.size() << std::endl; + return; + } + + StarCmdFrame *cmd_frame = (StarCmdFrame *)data.data(); + + // 解析请求 + star_type_t star_type = (star_type_t)cmd_frame->header.star_type; + uint8_t star_num = cmd_frame->header.star_num; + enum SENSOR_Cmder cmd = (enum SENSOR_Cmder)cmd_frame->header.cmd; + + // 读取数据 + STAR_INFO info = {0}; + int result = read_single_star_data(star_type, star_num, cmd, &info); + + // 构建响应帧 + uint8_t response_buf[sizeof(StarDataFrame) + sizeof(StarErrorFrame)]; + uint16_t response_len = 0; + + if (result == SAT_ERR_OK) { + StarDataFrame data_frame; + build_star_data_frame(star_type, star_num, &info, &data_frame); + memcpy(response_buf, &data_frame, sizeof(StarDataFrame)); + response_len = sizeof(StarDataFrame); + } else { + StarErrorFrame error_frame; + build_star_error_frame(star_type, star_num, result, &error_frame); + memcpy(response_buf, &error_frame, sizeof(StarErrorFrame)); + response_len = sizeof(StarErrorFrame); + } + + // 通过FastDDS发布响应 + Star_sensorHS_telemetry_Pub(response_buf, dest, response_len); +} + +/* ------------------ 错误信息更新 ------------------ */ +void star_rpc_update_error(star_type_t type, uint8_t num, int err_code) { + if (type >= STAR_TYPE_MAX || num == 0 || num > MAX_STAR_NUM_PER_TYPE) return; + + uint8_t idx = num - 1; + Star_Device *star = (type == STAR_TYPE_NANO) ? &nano_stars[idx] : &pico_stars[idx]; + + // 构建错误帧并发布 + StarErrorFrame error_frame; + build_star_error_frame(type, num, err_code, &error_frame); + + // 通过FastDDS发布错误帧 + Star_sensorHS_telemetry_Pub((uint8_t *)&error_frame, "GNC_Service", sizeof(StarErrorFrame)); +} + +/* ------------------ 发布线程 ------------------ */ +void *star_publish_thread(void *arg) { + (void)arg; + STAR_INFO info = {0}; + + printf("[INFO] Star publish thread started, interval=%d ms\n", star_pub_interval_ms); + + while (1) { + pthread_mutex_lock(&cache_mutex); + + // 遍历所有纳型星敏 + for (uint8_t num = 1; num <= nano_star_count; num++) { + uint8_t idx = num - 1; + Star_Device *star = &nano_stars[idx]; + if (star->fd < 0) continue; + + int rc = read_single_star_data(STAR_TYPE_NANO, num, CMD_TLM_1, &info); + if (rc == SAT_ERR_OK) { + StarDataFrame data_frame; + build_star_data_frame(STAR_TYPE_NANO, num, &info, &data_frame); + Star_sensorHS_telemetry_Pub((uint8_t *)&data_frame, "Star_sensor_Hardware_Service", sizeof(StarDataFrame)); + } else { + star_rpc_update_error(STAR_TYPE_NANO, num, rc); + } + } + + // 遍历所有皮型星敏 + for (uint8_t num = 1; num <= pico_star_count; num++) { + uint8_t idx = num - 1; + Star_Device *star = &pico_stars[idx]; + if (star->fd < 0) continue; + + int rc = read_single_star_data(STAR_TYPE_PICO, num, CMD_TLM_2, &info); + if (rc == SAT_ERR_OK) { + StarDataFrame data_frame; + build_star_data_frame(STAR_TYPE_PICO, num, &info, &data_frame); + Star_sensorHS_telemetry_Pub((uint8_t *)&data_frame, "Star_sensor_Hardware_Service", sizeof(StarDataFrame)); + } else { + star_rpc_update_error(STAR_TYPE_PICO, num, rc); + } + } + + pthread_mutex_unlock(&cache_mutex); + + // 按配置间隔休眠 + usleep(star_pub_interval_ms * 1000); + } + return NULL; +} + +/* ------------------ 星敏设备初始化 ------------------ */ +int star_devices_init(void) { + // 初始化纳型星敏 + char *nano_devs = getenv("STAR_NANO_DEVS"); + if (nano_devs) { + char *token = strtok(nano_devs, ","); + while (token && nano_star_count < MAX_STAR_NUM_PER_TYPE) { + char dev[32]; + int baud; + if (sscanf(token, "%[^:]:%d", dev, &baud) == 2) { + if (star_uart_init(STAR_TYPE_NANO, nano_star_count + 1, dev, baud) == SAT_ERR_OK) { + nano_star_count++; + } + } + token = strtok(NULL, ","); + } + } else { + // 默认配置 + if (star_uart_init(STAR_TYPE_NANO, 1, "/dev/ttyS0", 115200) == SAT_ERR_OK) { + nano_star_count = 1; + } + } + + // 初始化皮型星敏 + char *pico_devs = getenv("STAR_PICO_DEVS"); + if (pico_devs) { + char *token = strtok(pico_devs, ","); + while (token && pico_star_count < MAX_STAR_NUM_PER_TYPE) { + char dev[32]; + int baud; + if (sscanf(token, "%[^:]:%d", dev, &baud) == 2) { + if (star_uart_init(STAR_TYPE_PICO, pico_star_count + 1, dev, baud) == SAT_ERR_OK) { + pico_star_count++; + } + } + token = strtok(NULL, ","); + } + } else { + // 默认配置 + if (star_uart_init(STAR_TYPE_PICO, 1, "/dev/ttyS1", 115200) == SAT_ERR_OK) { + pico_star_count = 1; + } + } + + printf("[INFO] Initialized %d nano stars, %d pico stars\n", nano_star_count, pico_star_count); + return (nano_star_count + pico_star_count) > 0 ? 0 : -1; +} \ No newline at end of file diff --git a/星敏硬件服务化/Star_sensorHS.h b/星敏硬件服务化/Star_sensorHS.h new file mode 100644 index 0000000..b7eae9e --- /dev/null +++ b/星敏硬件服务化/Star_sensorHS.h @@ -0,0 +1,347 @@ +#ifndef STAR_SENSORHS_H +#define STAR_SENSORHS_H + +#include +#include +#include + +/* ================== 错误码定义 ================== */ + +#ifndef SAT_ERR_OK +#define SAT_ERR_OK 0 // 成功 +#endif + +#ifndef SAT_ERR_SERIAL +#define SAT_ERR_SERIAL -1 // 串口未打开或无效 +#endif + +#ifndef SAT_ERR_SEND_CMD +#define SAT_ERR_SEND_CMD -2 // 发送命令失败 +#endif + +#ifndef SAT_ERR_NO_RESPONSE +#define SAT_ERR_NO_RESPONSE -3 // 无响应 +#endif + +#ifndef SAT_ERR_SELECT +#define SAT_ERR_SELECT -4 // select() 系统调用失败 +#endif + +#ifndef SAT_ERR_HEADER +#define SAT_ERR_HEADER -5 // 帧头错误 +#endif + +#ifndef SAT_ERR_DATA +#define SAT_ERR_DATA -6 // 数据解析失败 +#endif + +#ifndef SAT_ERR_UNKNOWN +#define SAT_ERR_UNKNOWN -7 // 未知错误 +#endif + +#ifndef SAT_ERR_LEN +#define SAT_ERR_LEN -8 // 帧长度错误 +#endif + +#ifndef SAT_ERR_CHECKSUM +#define SAT_ERR_CHECKSUM -9 // 校验和错误 +#endif + +#ifndef SAT_ERR_TIMEOUT +#define SAT_ERR_TIMEOUT -10 // 接收数据超时 +#endif + +/* ================== 常量定义 ================== */ +#define SS_SCP_ARR_LEN 20 +#define DS_SCP_ARR_LEN 20 +#define MAX_STAR_NUM_PER_TYPE 8 +#define MAX_BUF_SIZE 256 + +/* ================== 类型定义 ================== */ + +// 星敏子类型 +typedef enum { + STAR_TYPE_NANO = 0, + STAR_TYPE_PICO, + STAR_TYPE_MAX +} star_type_t; + +// 统一遥测数据帧(包含数据和错误信息) +#pragma pack(push, 1) +typedef struct { + // 帧类型和星敏信息 + uint8_t frame_type; // 帧类型: 1=遥测数据帧 + uint8_t star_type; // 星敏类型: 0=纳型, 1=皮型 + uint8_t star_num; // 星敏编号: 1~MAX_STAR_NUM_PER_TYPE + uint8_t cmd; // 命令编号 + uint8_t param; // 参数 + + // 时间戳 + uint32_t timestamp; // 时间戳(秒) + uint32_t timestamp_us; // 时间戳(微秒) + + // 四元数数据 + float q0, q1, q2, q3; + + // 角速度 + float wx, wy, wz; + + // 状态信息 + uint8_t star_num_d; + uint8_t on_off_status; + + // 错误信息部分 + uint8_t has_error; // 是否有错误(0=无,1=有) + int32_t current_error; // 当前错误代码 + uint16_t header_err_cnt; // 帧头错误累计 + uint16_t check_err_cnt; // 校验错误累计 + uint16_t length_err_cnt; // 长度错误累计 + uint16_t uart_reset_cnt; // 串口复位累计 + + // 保留字段 + uint8_t reserved[4]; +} Star_sensorHS_Frame; +#pragma pack(pop) + +// 星敏命令枚举 +enum SENSOR_Cmder { + CMD_MCT_OST=0, // 光信号激励 + CMD_MCT_ESI, // 电信号激励 + CMD_MCT_PD_ON, // 无 + CMD_MCT_PD_OFF, // 无 + CMD_SAT, // UTC时间(校时) + CMD_WM_NORM, // 正常工作流程 + CMD_WM_ALSKY, // 仅工作于全天识别模式 + CMD_WM_TST, // 测试模式,用于标定 + CMD_WM_DLD, // 星图下传 + CMD_WM_IDLE, // 待机模式 + CMD_WM_HK, // 至启动模式进行在轨维护 + CMD_WM_RST, // 软件复位重启 + CMD_SEN_EXPO, // 曝光时间设置 + CMD_SEN_AGAIN, // 模拟增益设置 + CMD_SEN_DGAIN, // 数字增益设置 + CMD_PAR_ADE, // 设置星对角距匹配容差 + CMD_PAR_SSE, // 设置单星匹配容差 + CMD_PAR_TKR, // 星跟踪半径/二次迭代容差 + CMD_PAR_ADN, // 设置定姿星数 + CMD_PAR_OFST, // 波门星点提取阈值偏移量 + CMD_PAR_OFST_IMG_0, // 星图子块灰度均值0~5 + CMD_PAR_OFST_IMG_1, // 星图子块灰度均值6~100 + CMD_PAR_OFST_IMG_2, // 星图子块灰度均值101~150 + CMD_PAR_OFST_IMG_3, // 星图子块灰度均值151~200 + CMD_PAR_OFST_IMG_4, // 星图子块灰度均值201~255 + CMD_PAR_WIN, // 波门图像大小 + CMD_PAR_RST, // 软件参数恢复默认值 + CMD_ESD, // 电星模数据注入命令 + CMD_MCT_FLT_ON, // 姿态滤波开 + CMD_MCT_FLT_OFF, // 姿态滤波关 + CMD_MCT_PPS_ON, // PPS校时使能开 + CMD_MCT_PPS_OFF, // PPS使能关 + CMD_MCT_PPS_CNT_RST, // PPS计数清零 + CMD_TLM_1, // 读取遥测数据包1(64字节) + CMD_TLM_2 // 读取遥测数据包2(256字节) +}; + +// 原有的星敏数据结构体 +typedef union { + uint8_t ext; + struct { + uint8_t str_state1_data4 : 1; + uint8_t str_state1_data3 : 1; + uint8_t str_state1_data2 : 2; + uint8_t str_state1_data1 : 4; + }; +} Bitpara_State; + +typedef struct { + float q0; // 四元数q0 + float q1; // 四元数q1 + float q2; // 四元数q2 + float q3; // 四元数q3 + float wx; // 角速度wsi_x + float wy; // 角速度wsi_y + float wz; // 角速度wsi_z + Bitpara_State bitpara_state; // 星敏感器状态字 + uint8_t star_num_d; // 定姿星数 +} STAR_INFO; + +// 电星模数据注入命令结构体 +typedef struct __attribute__((packed)) { + uint16_t FRAME_HEAD; // 帧头 + uint16_t FRAME_ID; + uint8_t UTC[5]; + uint8_t STAR_NUM_S[10]; + float SS_SCP_X; + float SS_SCP_Y; + float SS_SCP_G; + uint8_t RESERVED[45]; + uint8_t SUM_CRC; +} CMD_ESD_S; + +// 设备管理结构体 +typedef struct { + int fd; // 串口文件描述符 + const char *dev; // 设备节点 + int baudrate; // 波特率 + uint8_t header_err_cnt; // 帧头错误计数 + uint8_t check_err_cnt; // 校验错误计数 + uint8_t length_err_cnt; // 帧长错误计数 + uint8_t uart_reset_cnt; // 串口复位计数 + uint8_t send_cmd_cnt; // 命令发送计数 + uint8_t on_off_status; // 上电状态(1=正常,0=异常) +} Star_Device; + +/* ================== FastDDS相关类型定义 ================== */ + +// 命令回调函数类型 +typedef void (*CommandCallbackFunc)(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +// 遥测回调函数类型 +typedef void (*TelemetryCallbackFunc)(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +/* ================== 硬件操作函数声明 ================== */ + +/** + * @brief 初始化星敏串口 + * @param type 星敏类型 (NANO/PICO) + * @param num 星敏编号 (1~MAX_STAR_NUM_PER_TYPE) + * @param dev 串口设备路径 + * @param baudrate 波特率 + * @return 错误码,SAT_ERR_OK表示成功 + */ +int star_uart_init(star_type_t type, uint8_t num, const char *dev, int baudrate); + +/** + * @brief 发送星敏命令 + * @param type 星敏类型 + * @param num 星敏编号 + * @param cmd 命令枚举 + * @param param 命令参数 + * @return 错误码 + */ +int send_star_cmd(star_type_t type, uint8_t num, enum SENSOR_Cmder cmd, uint8_t param); + +/** + * @brief 读取单个星敏数据 + * @param type 星敏类型 + * @param num 星敏编号 + * @param cmd 遥测命令 (CMD_TLM_1或CMD_TLM_2) + * @param info 输出数据指针 + * @return 错误码 + */ +int read_single_star_data(star_type_t type, uint8_t num, enum SENSOR_Cmder cmd, STAR_INFO *info); + +/** + * @brief 初始化所有星敏设备 + * @return 成功返回0,失败返回-1 + */ +int star_devices_init(void); + +/** + * @brief 构建星敏统一数据帧 + * @param type 星敏类型 + * @param num 星敏编号 + * @param info 星敏数据 + * @param result 读取结果 + * @param frame 输出数据帧 + */ +void build_star_sensorHS_frame(star_type_t type, uint8_t num, const STAR_INFO *info, + int result, Star_sensorHS_Frame *frame); + +/** + * @brief 星敏数据发布线程 + * @param arg 线程参数(未使用) + * @return 线程返回值 + */ +void *star_publish_thread(void *arg); + +/** + * @brief 获取错误码对应的字符串描述 + * @param err 错误码 + * @return 错误描述字符串 + */ +static inline const char *star_strerror(int err) { + switch (err) { + case SAT_ERR_OK: return "OK"; + case SAT_ERR_SERIAL: return "Serial not open or invalid"; + case SAT_ERR_SEND_CMD: return "Failed to send command"; + case SAT_ERR_NO_RESPONSE: return "No response after sending command"; + case SAT_ERR_SELECT: return "Select() system call failed"; + case SAT_ERR_HEADER: return "Invalid frame header"; + case SAT_ERR_DATA: return "Failed to parse data"; + case SAT_ERR_UNKNOWN: return "Unknown error, check connection or output format"; + case SAT_ERR_LEN: return "Frame length error"; + case SAT_ERR_CHECKSUM: return "Checksum error"; + case SAT_ERR_TIMEOUT: return "Timeout while waiting for response"; + default: return "Unrecognized error"; + } +} + +/* ================== FastDDS服务化接口声明 ================== */ + +/** + * @brief 初始化FastDDS硬件服务化 + * @param argc 参数数量(保留) + * @param name 服务名称 + * @return 成功返回0,失败返回-1 + */ +int Star_sensorHS_init(int argc, const char* name); + +/** + * @brief 清理FastDDS硬件服务化资源 + */ +void Star_sensorHS_cleanup(void); + +/** + * @brief 发布遥测数据 + * @param data 数据指针 + * @param dest 目标地址 + * @param len 数据长度 + */ +void Star_sensorHS_telemetry_Pub(uint8_t *data, const std::string& dest, uint16_t len); + +/** + * @brief 设置命令回调函数 + * @param callback 回调函数指针 + */ +void Star_sensorHS_set_command_callback(CommandCallbackFunc callback); + +/** + * @brief 设置遥测回调函数 + * @param callback 回调函数指针 + */ +void Star_sensorHS_set_telemetry_callback(TelemetryCallbackFunc callback); + +/* ================== 默认回调函数声明 ================== */ + +/** + * @brief 默认命令回调函数 + * @param src 源地址 + * @param dest 目标地址 + * @param type 消息类型 + * @param reserve1 保留参数1 + * @param reserve2 保留参数2 + * @param data 命令数据 + */ +void command_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +/** + * @brief 默认遥测回调函数 + * @param src 源地址 + * @param dest 目标地址 + * @param type 消息类型 + * @param reserve1 保留参数1 + * @param reserve2 保留参数2 + * @param data 遥测数据 + */ +void telemetry_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +#endif /* STAR_SENSORHS_H */ \ No newline at end of file diff --git a/星敏硬件服务化/build/CMakeCache.txt b/星敏硬件服务化/build/CMakeCache.txt new file mode 100644 index 0000000..fec4464 --- /dev/null +++ b/星敏硬件服务化/build/CMakeCache.txt @@ -0,0 +1,369 @@ +# This is the CMakeCache file. +# For build in directory: /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Star_sensorHS + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Star_sensorHS_BINARY_DIR:STATIC=/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build + +//Value Computed by CMake +Star_sensorHS_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Star_sensorHS_SOURCE_DIR:STATIC=/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..488ad37 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "11.4.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..345e930 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "11.4.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..06dd536772c02e825fd19762b11056db14996a8c GIT binary patch literal 15968 zcmeHOYit}>6~4Q15|=!@Nn>J?(k!HfgyMq0>$q*>0HIp1bH ztXow0fy7+P``z=M$Gvmr&hDL=dq0{U9Eita3T2skhhiy}@R^h-l5dj=K}zjWYv}X! z>K3(vz7OM#n>$TGD7xi<4Oa(#iywSzo3VV?6*{zU+!ywN{)m5JeA1c zfsaW8K=AeUlG0)bN5l^p^yA#jxBGtcJ&Q3ZdD$iiKNi_fX}&$34!;Oir9B|>$vNTw zJ(ABbc1Rdt*l$Ao!q_ih+!7%E*iyG;)?>joW3{az+mJlyHV`+R%_Q81w%8GZiD5`-|~X*<|0uS?BS`+_ygcFr_(8-*|q(b&TsL zxz6Vo*7k1@tR^8ud656VJ-m#;*qB8)N+ zWgyBxlz}J%Q3j$6L>c%$&cI(aK%F9?#o?b+|jGHk!D&&=yjKDSSQ za$%VsdrH4}-Q7R|ZkGVfwYjmDEz~dgbAM0vuv%5_II5rOiE~w-dDdO6pYB;f!sYF? zTJ3U+k**!TP(MfYv%*bBCCWgQfhYq}2BHi^ z8Hh3vWgyBxlz}J%Q3j$6{QDW;_g^npGD8Eyd&~63t~6%kCSB)P$DZRs`=QM6Kz6S? zZCFmp${lku`;7xb=}iAnuk!3X|LnAD86}6_-5ndujEoGXjr34|rgw-eJiVE3%^t461(@XicKYAn^&)Fo~0LR z%=6lT6Xf$IHt1jJy^*_(s@?Rzjd+h(n;2Nz_Rf}7_cWhW`!?-;%g)=p*O%=7KKf6< zj_O=Erc3`X5dR@2(rXi+i1)2o5qGF%CZZB$Aj&|LfhYq}2BHi^8Hh3vWgyBxl!5<^ z3}C$?)+b`^p?A|mU0jWB%KF7MB7a%dIlfM0tb^PvGH!h~iH!A-e80p6`oCVUl~_I} zix{ysae{C7sQ7DImAWMQ*Z8!0KyZ~{n_#OT0Ba+wvi@~E%x*Z;@v7T z?EX>n`%8K9sOuv8i^=H)_YJ-0Nw=on@y*Ne{9R=9OTz#60PDm5!-!aydZ4dwZ*tqw zY^CT{lAWDex7N|#S@Fcq`?|Wcj&7}MyC`0+Ngh{C>V;a^hVvaG&8H+GNin#Yu#r8V zkGNW^CS^Q|xk?IuHpK4~9^)JK8LGron@Xg72IHPrS;y#U0miGZRqDf3;dXJofah@- zQ#UJ&fAC+UN~8XN$FonURMNM^`1*zLCxjPJFA9HB2wDx`m8J6Y5@}T%^7j&-gi!z=_V|rTr2-^X?nY_3#|=>*5;~#yymeGfyqU zNiJjcH1P=o;P*UA|AfXGo-chIsBz*#0@< zlW-1TbG-37`>n*UkJGng=({iCcv{7|qRlVUBj8R@! zUna|3$r#U1e6Zfy2EAy{C=_Z4T&v&rt8dOdrv-%fd+OqSgBkE91c6@c!OGV|ZZTNP5H=>D^Bc zE6FglSs{fj3a_v&!Rvb9>8UcToavg%%MpcT!QZq%!r~naMy^~kCd^`vcQ<5)$tq_T zjY`?dQIH~i7};`Je7*e>hCw?b_`xb4B5##wxc_1CHjMgl@Ky`&Y|zG|@^ry9vxKhW z;{*@Ep5D5(I%bJq~*BN0V-RuY153I6N*k@I}bL`e8MbGC@nW#q$YfH z9ba>|<&^DGagkt<&av_)J1C8ZiqahvfVF zL(TUBDvic?frf72a(mTPo*&UATz|?Q-tUI_5gK6IVA)Cn&td4Y z_R3QGxe0oz#sEWApf2ROE~`@Bqh)B;E#D75c6g9 zA9ld|$e-tokTGurc1Yvl{-aN4sKPmgKjyK(su-gE@bQ0^^n6Uv*MAq}_W|>F3FEbe zI^!4UKj@znKcI+p7s$XzL;fA20KyIdAOpV<@=u8ZmHsLAI{@f ziDMJ^V;)-F!PZKpyw4jS@CPoCD(GK#=@^V}Kz!S^5EZ=vs0t(VJuqeNwUC^*{nwLBMY Q?7xnGSg5QHIfO*@PyNmlj{pDw literal 0 HcmV?d00001 diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..8d4b8ab1e6ea857840da1aa325eb4ebef300bbce GIT binary patch literal 15992 zcmeHOYit}>6~4Q9xipD4Zqk^f#7jv~0(fFOj&TDa>)7k;BF7Gi1BDPKyWX+AVjpIA zmf8hM+5oB*f&xN7e}JO$lnPQSA;KSEt5m5#0uhObApQhOr65Ah#!#K;Bw?yH}mhbcS!usMs*nF$F~_;0ny%j$WP}*^sfat&4;DE zrOrb{@(+~ss-3xPx~F?*F4LaN7An*2)4e_IJ>6EhXm#nPxnEKG@R&LPqb84T$^bEZNhbAK^jDx0#man^bKG57t?e~Ho@re8c$a2@0NiLNvJ zyj|4Ajm+Ffgl6_#~Ju*^OnCQPF-(GoL=#pok}G>U3J5?UnWjH)pS8;rMCM~qW@Cc z_H}~hHpTWN{YXm#O3R&pPR?HXP-6D?iBo@=J2V>atako1ac1w&C_rsPnJix%x0>5N zrQ;F*2r-E>E55*R&%C>Vntm_Wsp;ElSDV{Tvf%|mvd?P!-D!p$w-U2+i6@`imw0l1 zSt4{Xap{)3o&s!>08O>4m%HvGvK>E`hZ^>b7|E8KKYf(!&12r>|4Ajm+F zfgl4x27(L(83-~EWFW}EKc4}9|MhAmIXpPBr%Z3`isN=>$}Ju1=soVWA5M-8ruVor zwo@uPnPa8oe*3_1JUKAjr?j2+PtUlHT`bYNyJJJi(b1u}9UmS@_6?JT)~C|hW3&!| z9YULzy@TJq@w=?E&(~@v2+t8dO!zoqg7A^KTJ0Pm7k;P8C3OE`6`GEOHm_dQbe3MI zG0$rUPLR)=*VCWUmN*MxPQ&caEV%GA}B!yf(!&12r>|4Ajm+Ffgl4x27(L(8TjAG z0M;vFeInK#>YEWzjUisWchJf z#E7+tlYGNR#jI&n>Wb)JXK3}X;O&B~f*S+@SQ}ZD^^dDW(IE|?A64OLv8OJGw?$;w zy;3v%r95fsmdIu?IlbUs&}&b+HPy#AC&zO`Wb{kI|Mvjv!~esGSeJUBzkg43`_Xiz z;8voYomRKi(cW3nV&?;0T~=6gjB1F#0-OR&#SCM^t1ru)o7LaI90e^Trc2x9EQ{# z3gaLAx2e*o|3A_85fzOZON`gc!pDTixO++X6T%CqR_bs_Mbt?lXqA92OXY2wwr^2~ z-YAA1Xw=VL+Masn8&B^fUa58Ub@~W1qV4ZgxX!>k#5Y=B{t)p|7KWoA zG=5rRur$c~MOtW_#AF=mXHBHKCiWO_@On|~cgXLleuhNK8^m*e{Prut^{ya<#x~;b zUc?w-5AiKw`jzxu7wX7Z$?dd?v{Ig)w%KlKLJ?7RE92wVm|9p>Z@YPWjMvqd$ud*4 zCvwGfDraZhVySGWD${DLn4iiyu9LAk8e8xh|E!%Vl~VLju;7+v)OabCckE0hpPwNY zk7SdjyU4WvVCut8|GoG2Q!Ck=Q|jBFw8o~Ul>LFB&Yo;xyl8u#MKarE*o7yIb~-yj z?Pjv6g4W-oy*&C{)^&4^$D~(VP*$jOgNOSL>Zg-7Z6X+W|8U>IWIxfg8^ew#M4K2m ztn33rBm4V??2*C2Bk@stv~NE>)FeaSriK`{GQ8II1t*hoQ%a|fqOf50GLW!%V}qS3 z7wySZA;X&(5$9w{a`ySZ)$M1RZNB&h*ECoL&B0y+}%FGKF&fi%v0P;I9Z}GSPb5imlqWx;r zSOdRk#QHbRKZsvbh3AmCFTs2k`y~DLkb%#TZ?nfA^XK_?BB{X6NDDIf=Sjh15AE0I zotE*a^1)Hz@y`W*IFH{Vj!oc?d1!SfTPqdQ-wR*x2hNkq>tA>1Fg|Dp5#R^;7FC!- z`Oe4_dXqJSM2 literal 0 HcmV?d00001 diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeSystem.cmake b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeSystem.cmake new file mode 100644 index 0000000..f4af1d2 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.8.0-90-generic") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.8.0-90-generic") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.8.0-90-generic") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.8.0-90-generic") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c b/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..41b99d7 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/a.out b/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..8b8c27e76b2d5951bf9014e281b5e321a68c6ff6 GIT binary patch literal 16088 zcmeHOeQX>@6`#9&IW&nKx4|YU%~Dd7(0XG#A2mT~&aux~BRdI+Lxs|Gwf3#;6ZhfX z?NPfbB`BrDq>)-c&_6(`ibTanC6G`NkpPFHKubXlAT|6&fEEQQwC1ZaA^D1pm}VVrH`}ldC-#RS z!ZPQ%PS!E;_ypx-Y!jaMf1cOGA_w;0T&JvuII9ltF2WZU;kjM6*72iUcVyCYN3#Vl zmwmt|kpev8mIJR8xOp#IP%LwNcdC5@{d;@dPP^0I5$3mTS8o5%pquea{#dpg_@$x2 zo?Nlu4|&5mb~lzU7Q~%vRO>2o1QYtt^i+amZZF15Wqo!fN1ewXbKida^AzSJ-SJGq zb&TuBT5I?@xxT?)6o(BdQw|<-Q-rrHqt_bYOTt?b{!_wlj_{uqzCFS}Bm9LuN+%vW z+*e2!Yj_@GNSA7OjBPHPt>JmxBF)wC`hJUo7~=@U5r`uYM<9+s9Dz6jaRmM+BJkJ7 zTdp`KE;l%*mi>CGQqCu5f@Jk2=fsa1p408C?s$smzf^DgGC|`;#rh8} zpFV%DGyOZ~#4EE0hteH09nU+bcfUXms_V+6`L|KKapS|#Nc zAuWV^urkM~m{ zJ32yk(;vI+Ojj=cIDM6y>6}{k0zIjpN?&%Ka1t*yKC2qPKa)sbCH~AJ{MYL7#=+@z z&#a*+KfAOk^zv{$ZSo$}<4>ip9;0px`!wuDZfcz32*eSHBM?U*jzAoNI0A75;t0eM zh$9e3;Qu)S{Qc{Csegapfn6iT{6seAmyXg`$zuz(7nHjn^-JY!v2e6qr;ZNWWZJhQ z(|$~8i;0{Uj227zqXYbPRY3D#JEg>*4EzGuQVz=w z?ANVIY*_OC&D1>p9yRoOwR#U>hLGPp1cdZjKpmT{R=-Hd-(oo>9yp{DlTC>Yt5!5T zMjynO=QRhLN&h{p(7Qr^$=gKP?estUTD7W)HBEhMT0hWu!~G4%)t>dc-n(rRe@4{y zT<-o_vyOW+F~;1mXz95r`uYM<9+s9Dz6jaRlNB z#1VLFBY^daSf7YBfcoKus#=BWWc}i5k$)xY9N!@_)J>j=?RJ7RfP-mx2kNllmq~Ll@<8D~0{#=df zaK9v|rQa1%;Wxxjljy_$8S#U01wZG+&lb7A>UTp__*3>n=M~j|S^RH~ z_`_uWh-pPwR=8p$QiV1a7Sp!X5Kr$^pn_GhSVuG@F0 zdob;$_xHNAW1#oL`@0AGdx)l&oNn5YQm6Nja`z1!*xNne9_Z^koE~zAy7vyG$s)Rg zA%%Sl|7ov+pYZ}u>GL5kESQZ8BrM#;;AYB2cbr~?@(zdo1EiJ77TikN&!}u+wCLh3 zs*!SDVXWef`R>2JAypJHvBA4ss%*GimWuTT4A-SC6%r2ZK6Ds;8GD`m6$`g{gdyRr z9J*IbQ{_Fe5%{&QQg(SNA9%xrLCN4aa@hiH_n1(2p&0n~SfOH1l!_C6DVVCEhAUax ztCP(L)xEdBjmM%^ANR`R%Fav`s0xEY$&{cST1^C(%1VCDV*_RLNK*Dh&K&HqB4q*! zu(EkLl4enNrtOc*036SdJtSjqMxwDmo}7F6>aGjQJ|CT`G^ZA8k5K8ICFJF@FYP{*3yg z=l=z=<#R%L_&X!NH+XI!6`i8}_a$O$?JcnbiYV6eKV#sZirBYH0T6m{02%o8h5 zfS-wU80_HhTM>KAbAWiRf`0V;za#dDzp_MA@OcpdLPJzPpd2?5_AiP8@QzT^WTN%| zjObeXIk5+RE@F@V2mLZ-Xf12F9}@Fm?8A)eLk9kyY#VFrG4GyhBa#yIj5IHUf1L_= z?8)Q9{Ct?!&2pNN{^Rk_33lkmuMo#7u*dV{%vRP`Dy5I}2iODWsHoOHG-x+AUGt_o z2RqQ$D8n4;$2_o0?4$Z}IxtsDh+t0CLmu`L#*l}7En@71N|YHFhqw>&bQvllX+HP literal 0 HcmV?d00001 diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp b/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..25c62a8 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out b/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..64ddf3c7775cb583718a68fa037d7d0b28c160be GIT binary patch literal 16096 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 literal 0 HcmV?d00001 diff --git a/星敏硬件服务化/build/CMakeFiles/CMakeDirectoryInformation.cmake b/星敏硬件服务化/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..771e47e --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/星敏硬件服务化/build/CMakeFiles/CMakeOutput.log b/星敏硬件服务化/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..e0e3cca --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,449 @@ +The system is: Linux - 6.8.0-90-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_cbe80/fast && /usr/bin/gmake -f CMakeFiles/cmTC_cbe80.dir/build.make CMakeFiles/cmTC_cbe80.dir/build +gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_cbe80.dir/' + /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_cbe80.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccVqJOpm.s +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/11/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 4011c2103cba78949d7e02d0f0047a3d +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_cbe80.dir/' + as -v --64 -o CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o /tmp/ccVqJOpm.s +GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_cbe80 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cbe80.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o -o cmTC_cbe80 +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_cbe80' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_cbe80.' + /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccBBDUey.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_cbe80 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_cbe80' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_cbe80.' +gmake[1]: Leaving directory '/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_cbe80/fast && /usr/bin/gmake -f CMakeFiles/cmTC_cbe80.dir/build.make CMakeFiles/cmTC_cbe80.dir/build] + ignore line: [gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_cbe80.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_cbe80.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccVqJOpm.s] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 4011c2103cba78949d7e02d0f0047a3d] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_cbe80.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o /tmp/ccVqJOpm.s] + ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_cbe80] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cbe80.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o -o cmTC_cbe80 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_cbe80' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_cbe80.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccBBDUey.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_cbe80 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccBBDUey.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_cbe80] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_cbe80.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_54892/fast && /usr/bin/gmake -f CMakeFiles/cmTC_54892.dir/build.make CMakeFiles/cmTC_54892.dir/build +gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_54892.dir/' + /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_54892.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccKZvj6n.s +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/11 + /usr/include/x86_64-linux-gnu/c++/11 + /usr/include/c++/11/backward + /usr/lib/gcc/x86_64-linux-gnu/11/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 6c87588fc345655b93b8c25f48f88886 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_54892.dir/' + as -v --64 -o CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccKZvj6n.s +GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_54892 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_54892.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_54892 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_54892' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_54892.' + /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOegFNN.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_54892 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_54892' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_54892.' +gmake[1]: Leaving directory '/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/11] + add: [/usr/include/x86_64-linux-gnu/c++/11] + add: [/usr/include/c++/11/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/11] ==> [/usr/include/c++/11] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/11] ==> [/usr/include/x86_64-linux-gnu/c++/11] + collapse include dir [/usr/include/c++/11/backward] ==> [/usr/include/c++/11/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_54892/fast && /usr/bin/gmake -f CMakeFiles/cmTC_54892.dir/build.make CMakeFiles/cmTC_54892.dir/build] + ignore line: [gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_54892.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_54892.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccKZvj6n.s] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/11] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/11] + ignore line: [ /usr/include/c++/11/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 6c87588fc345655b93b8c25f48f88886] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_54892.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccKZvj6n.s] + ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_54892] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_54892.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_54892 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_54892' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_54892.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOegFNN.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_54892 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccOegFNN.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_54892] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_54892.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + diff --git a/星敏硬件服务化/build/CMakeFiles/Makefile.cmake b/星敏硬件服务化/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..68785a5 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,122 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + "/usr/share/cmake-3.22/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + "/usr/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-3.22/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-Determine-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/Star_sensorHS.dir/DependInfo.cmake" + ) diff --git a/星敏硬件服务化/build/CMakeFiles/Makefile2 b/星敏硬件服务化/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..c7bbead --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Makefile2 @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/Star_sensorHS.dir/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/Star_sensorHS.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/Star_sensorHS.dir + +# All Build rule for target. +CMakeFiles/Star_sensorHS.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles --progress-num=1,2,3 "Built target Star_sensorHS" +.PHONY : CMakeFiles/Star_sensorHS.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/Star_sensorHS.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles 3 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/Star_sensorHS.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles 0 +.PHONY : CMakeFiles/Star_sensorHS.dir/rule + +# Convenience name for target. +Star_sensorHS: CMakeFiles/Star_sensorHS.dir/rule +.PHONY : Star_sensorHS + +# clean rule for target. +CMakeFiles/Star_sensorHS.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/clean +.PHONY : CMakeFiles/Star_sensorHS.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/DependInfo.cmake b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/DependInfo.cmake new file mode 100644 index 0000000..13440e1 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/DependInfo.cmake @@ -0,0 +1,20 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS-main.cpp" "CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o" "gcc" "CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o.d" + "/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS.cpp" "CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o" "gcc" "CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..2034f55583b8d14c9f36a8090f82a6733761286a GIT binary patch literal 12328 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 literal 0 HcmV?d00001 diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o.d b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o.d new file mode 100644 index 0000000..25f1854 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o.d @@ -0,0 +1,223 @@ +CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o: \ + /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS.cpp \ + /usr/include/stdc-predef.h /usr/include/c++/11/iostream \ + /usr/include/x86_64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/ostream /usr/include/c++/11/ios \ + /usr/include/c++/11/iosfwd /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/memoryfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/c++/11/exception /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/typeinfo /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/new /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h /usr/include/c++/11/cstdint \ + /usr/lib/gcc/x86_64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/c++/11/bits/ios_base.h /usr/include/c++/11/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/bits/locale_classes.h /usr/include/c++/11/string \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/alloca.h /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/c++/11/cstdio \ + /usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/c++/11/cerrno /usr/include/errno.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/x86_64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc /usr/include/c++/11/cstring \ + /usr/include/string.h /usr/include/strings.h /usr/include/unistd.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/linux/close_range.h /usr/include/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/linux/falloc.h /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h /usr/include/termios.h \ + /usr/include/x86_64-linux-gnu/bits/termios.h \ + /usr/include/x86_64-linux-gnu/bits/termios-struct.h \ + /usr/include/x86_64-linux-gnu/bits/termios-c_cc.h \ + /usr/include/x86_64-linux-gnu/bits/termios-c_iflag.h \ + /usr/include/x86_64-linux-gnu/bits/termios-c_oflag.h \ + /usr/include/x86_64-linux-gnu/bits/termios-baud.h \ + /usr/include/x86_64-linux-gnu/bits/termios-c_cflag.h \ + /usr/include/x86_64-linux-gnu/bits/termios-c_lflag.h \ + /usr/include/x86_64-linux-gnu/bits/termios-tcflow.h \ + /usr/include/x86_64-linux-gnu/bits/termios-misc.h \ + /usr/include/x86_64-linux-gnu/sys/ttydefaults.h \ + /usr/include/x86_64-linux-gnu/sys/ioctl.h \ + /usr/include/x86_64-linux-gnu/bits/ioctls.h \ + /usr/include/x86_64-linux-gnu/asm/ioctls.h \ + /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ + /usr/include/x86_64-linux-gnu/asm/ioctl.h \ + /usr/include/asm-generic/ioctl.h \ + /usr/include/x86_64-linux-gnu/bits/ioctl-types.h \ + /usr/include/x86_64-linux-gnu/sys/time.h /usr/include/signal.h \ + /usr/include/x86_64-linux-gnu/bits/signum-generic.h \ + /usr/include/x86_64-linux-gnu/bits/signum-arch.h \ + /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \ + /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \ + /usr/include/x86_64-linux-gnu/bits/sigaction.h \ + /usr/include/x86_64-linux-gnu/bits/sigcontext.h \ + /usr/include/x86_64-linux-gnu/bits/types/stack_t.h \ + /usr/include/x86_64-linux-gnu/sys/ucontext.h \ + /usr/include/x86_64-linux-gnu/bits/sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/sigstksz.h \ + /usr/include/x86_64-linux-gnu/bits/ss_flags.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/sigthread.h \ + /usr/include/x86_64-linux-gnu/bits/signal_ext.h \ + /usr/include/c++/11/chrono /usr/include/c++/11/ratio \ + /usr/include/c++/11/limits /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h /usr/include/arpa/inet.h \ + /usr/include/netinet/in.h /usr/include/x86_64-linux-gnu/sys/socket.h \ + /usr/include/x86_64-linux-gnu/bits/socket.h \ + /usr/include/x86_64-linux-gnu/bits/socket_type.h \ + /usr/include/x86_64-linux-gnu/bits/sockaddr.h \ + /usr/include/x86_64-linux-gnu/asm/socket.h \ + /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \ + /usr/include/linux/stddef.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/sockios.h \ + /usr/include/asm-generic/sockios.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \ + /usr/include/x86_64-linux-gnu/bits/in.h /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS.h diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/build.make b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/build.make new file mode 100644 index 0000000..9036433 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/build.make @@ -0,0 +1,126 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build + +# Include any dependencies generated for this target. +include CMakeFiles/Star_sensorHS.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/Star_sensorHS.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/Star_sensorHS.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/Star_sensorHS.dir/flags.make + +CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o: CMakeFiles/Star_sensorHS.dir/flags.make +CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o: ../Star_sensorHS-main.cpp +CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o: CMakeFiles/Star_sensorHS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o -MF CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o.d -o CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o -c /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS-main.cpp + +CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS-main.cpp > CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.i + +CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS-main.cpp -o CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.s + +CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o: CMakeFiles/Star_sensorHS.dir/flags.make +CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o: ../Star_sensorHS.cpp +CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o: CMakeFiles/Star_sensorHS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o -MF CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o.d -o CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o -c /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS.cpp + +CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS.cpp > CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.i + +CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS.cpp -o CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.s + +# Object files for target Star_sensorHS +Star_sensorHS_OBJECTS = \ +"CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o" \ +"CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o" + +# External object files for target Star_sensorHS +Star_sensorHS_EXTERNAL_OBJECTS = + +bin/Star_sensorHS: CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o +bin/Star_sensorHS: CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o +bin/Star_sensorHS: CMakeFiles/Star_sensorHS.dir/build.make +bin/Star_sensorHS: CMakeFiles/Star_sensorHS.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX executable bin/Star_sensorHS" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/Star_sensorHS.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/Star_sensorHS.dir/build: bin/Star_sensorHS +.PHONY : CMakeFiles/Star_sensorHS.dir/build + +CMakeFiles/Star_sensorHS.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/Star_sensorHS.dir/cmake_clean.cmake +.PHONY : CMakeFiles/Star_sensorHS.dir/clean + +CMakeFiles/Star_sensorHS.dir/depend: + cd /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/Star_sensorHS.dir/depend + diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/cmake_clean.cmake b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/cmake_clean.cmake new file mode 100644 index 0000000..7d681ea --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/cmake_clean.cmake @@ -0,0 +1,13 @@ +file(REMOVE_RECURSE + "CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o" + "CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o.d" + "CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o" + "CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o.d" + "bin/Star_sensorHS" + "bin/Star_sensorHS.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/Star_sensorHS.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/compiler_depend.make b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/compiler_depend.make new file mode 100644 index 0000000..0385a4d --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for Star_sensorHS. +# This may be replaced when dependencies are built. diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/compiler_depend.ts b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/compiler_depend.ts new file mode 100644 index 0000000..1c175ff --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for Star_sensorHS. diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/depend.make b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/depend.make new file mode 100644 index 0000000..084c37a --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for Star_sensorHS. +# This may be replaced when dependencies are built. diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/flags.make b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/flags.make new file mode 100644 index 0000000..fa9e713 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 -I/usr/local/include/simmsg + +CXX_FLAGS = -std=c++14 -pthread -std=gnu++14 + diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/link.txt b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/link.txt new file mode 100644 index 0000000..059ac88 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -std=c++14 -pthread CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o -o bin/Star_sensorHS -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lpthread -lm -lrt -lsimmsg -lfastrtps -lfastcdr -lfoonathan_memory diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/progress.make b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/progress.make new file mode 100644 index 0000000..6a9dc74 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/progress.make @@ -0,0 +1,4 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 + diff --git a/星敏硬件服务化/build/CMakeFiles/TargetDirectories.txt b/星敏硬件服务化/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..47ef9aa --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,3 @@ +/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir +/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/edit_cache.dir +/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles/rebuild_cache.dir diff --git a/星敏硬件服务化/build/CMakeFiles/cmake.check_cache b/星敏硬件服务化/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/星敏硬件服务化/build/CMakeFiles/progress.marks b/星敏硬件服务化/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +3 diff --git a/星敏硬件服务化/build/Makefile b/星敏硬件服务化/build/Makefile new file mode 100644 index 0000000..ab7406f --- /dev/null +++ b/星敏硬件服务化/build/Makefile @@ -0,0 +1,208 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named Star_sensorHS + +# Build rule for target. +Star_sensorHS: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Star_sensorHS +.PHONY : Star_sensorHS + +# fast build rule for target. +Star_sensorHS/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/build +.PHONY : Star_sensorHS/fast + +Star_sensorHS-main.o: Star_sensorHS-main.cpp.o +.PHONY : Star_sensorHS-main.o + +# target to build an object file +Star_sensorHS-main.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o +.PHONY : Star_sensorHS-main.cpp.o + +Star_sensorHS-main.i: Star_sensorHS-main.cpp.i +.PHONY : Star_sensorHS-main.i + +# target to preprocess a source file +Star_sensorHS-main.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.i +.PHONY : Star_sensorHS-main.cpp.i + +Star_sensorHS-main.s: Star_sensorHS-main.cpp.s +.PHONY : Star_sensorHS-main.s + +# target to generate assembly for a file +Star_sensorHS-main.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.s +.PHONY : Star_sensorHS-main.cpp.s + +Star_sensorHS.o: Star_sensorHS.cpp.o +.PHONY : Star_sensorHS.o + +# target to build an object file +Star_sensorHS.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o +.PHONY : Star_sensorHS.cpp.o + +Star_sensorHS.i: Star_sensorHS.cpp.i +.PHONY : Star_sensorHS.i + +# target to preprocess a source file +Star_sensorHS.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.i +.PHONY : Star_sensorHS.cpp.i + +Star_sensorHS.s: Star_sensorHS.cpp.s +.PHONY : Star_sensorHS.s + +# target to generate assembly for a file +Star_sensorHS.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Star_sensorHS.dir/build.make CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.s +.PHONY : Star_sensorHS.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... Star_sensorHS" + @echo "... Star_sensorHS-main.o" + @echo "... Star_sensorHS-main.i" + @echo "... Star_sensorHS-main.s" + @echo "... Star_sensorHS.o" + @echo "... Star_sensorHS.i" + @echo "... Star_sensorHS.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/星敏硬件服务化/build/bin/Star_sensorHS b/星敏硬件服务化/build/bin/Star_sensorHS new file mode 100755 index 0000000000000000000000000000000000000000..0e5b45fc02f3baf834312d4c45f60f7d86ac16e0 GIT binary patch literal 45968 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