commit 292c313b158544e73e36ad49086e55d7d7af7827 Author: xb <18656218039@163.com> Date: Mon Jan 5 20:36:13 2026 +0800 Auto commit from DCSP - 2026/1/5 20:36:13 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 0000000..06dd536 Binary files /dev/null and b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin differ 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 0000000..8d4b8ab Binary files /dev/null and b/星敏硬件服务化/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin differ 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 0000000..8b8c27e Binary files /dev/null and b/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdC/a.out differ 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 0000000..64ddf3c Binary files /dev/null and b/星敏硬件服务化/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out differ 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 0000000..2034f55 Binary files /dev/null and b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o differ diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o.d b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o.d new file mode 100644 index 0000000..f58d0d8 --- /dev/null +++ b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o.d @@ -0,0 +1,179 @@ +CMakeFiles/Star_sensorHS.dir/Star_sensorHS-main.cpp.o: \ + /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS-main.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/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/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 \ + /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/Star_sensorHS.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 diff --git a/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o new file mode 100644 index 0000000..bd94d04 Binary files /dev/null and b/星敏硬件服务化/build/CMakeFiles/Star_sensorHS.dir/Star_sensorHS.cpp.o differ 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 0000000..0e5b45f Binary files /dev/null and b/星敏硬件服务化/build/bin/Star_sensorHS differ diff --git a/星敏硬件服务化/build/cmake_install.cmake b/星敏硬件服务化/build/cmake_install.cmake new file mode 100644 index 0000000..5c671f2 --- /dev/null +++ b/星敏硬件服务化/build/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /home/xb/satellite/aircraft-1/container-2/星敏硬件服务化 + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/xb/satellite/aircraft-1/container-2/星敏硬件服务化/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/电源服务 b/电源服务 new file mode 160000 index 0000000..1ac73e2 --- /dev/null +++ b/电源服务 @@ -0,0 +1 @@ +Subproject commit 1ac73e2003b56567db934edafc21c1f79bd2bffb diff --git a/管理服务 b/管理服务 new file mode 160000 index 0000000..602487a --- /dev/null +++ b/管理服务 @@ -0,0 +1 @@ +Subproject commit 602487a59ce6f50c002e31b3f2b9120be1598b6c diff --git a/通信服务 b/通信服务 new file mode 160000 index 0000000..af14e40 --- /dev/null +++ b/通信服务 @@ -0,0 +1 @@ +Subproject commit af14e4022ec2ca1508678c24e523ed69bec89857 diff --git a/通信硬件服务化 b/通信硬件服务化 new file mode 160000 index 0000000..0fd98e2 --- /dev/null +++ b/通信硬件服务化 @@ -0,0 +1 @@ +Subproject commit 0fd98e248b3bb81a2d31ff456140ca74576ef3a4