Merge branch 'xm'

This commit is contained in:
xxxxm 2026-03-20 06:07:48 +08:00
commit 41d930ddd1
165 changed files with 4652 additions and 5644 deletions

11
.clangd Normal file
View File

@ -0,0 +1,11 @@
CompileFlags:
Add:
- '-ferror-limit=0'
- '-Wno-implicit-int'
CompilationDatabase: build/Debug
Diagnostics:
Suppress:
- unused-includes
- unknown_typename
- unknown_typename_suggest
- typename_requires_specqual

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
build
mx.scratch
!.settings

View File

@ -0,0 +1,158 @@
{
"resolved": [
{
"name": "cmake",
"version": "4.0.1+st.3",
"platform": "darwin",
"selected_by": [
{
"name": "cmake",
"version": "4.0.1+st.3"
}
]
},
{
"name": "cmake",
"version": "4.0.1+st.3",
"platform": "x86_64-linux",
"selected_by": [
{
"name": "cmake",
"version": "4.0.1+st.3"
}
]
},
{
"name": "cmake",
"version": "4.0.1+st.3",
"platform": "x86_64-windows",
"selected_by": [
{
"name": "cmake",
"version": "4.0.1+st.3"
}
]
},
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2",
"platform": "aarch64-darwin",
"selected_by": [
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2"
}
]
},
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2",
"platform": "x86_64-darwin",
"selected_by": [
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2"
}
]
},
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2",
"platform": "x86_64-linux",
"selected_by": [
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2"
}
]
},
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2",
"platform": "x86_64-windows",
"selected_by": [
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2"
}
]
},
{
"name": "gnu-tools-for-stm32-14_3_1-description",
"version": "1.0.1+st.2",
"platform": "all",
"selected_by": [
{
"name": "gnu-tools-for-stm32-14_3_1-description",
"version": ">=0.0.1"
}
]
},
{
"name": "ninja",
"version": "1.13.1+st.1",
"platform": "darwin",
"selected_by": [
{
"name": "ninja",
"version": "1.13.1+st.1"
}
]
},
{
"name": "ninja",
"version": "1.13.1+st.1",
"platform": "x86_64-linux",
"selected_by": [
{
"name": "ninja",
"version": "1.13.1+st.1"
}
]
},
{
"name": "ninja",
"version": "1.13.1+st.1",
"platform": "x86_64-windows",
"selected_by": [
{
"name": "ninja",
"version": "1.13.1+st.1"
}
]
},
{
"name": "st-arm-clangd",
"version": "19.1.2+st.3",
"platform": "darwin",
"selected_by": [
{
"name": "st-arm-clangd",
"version": "19.1.2+st.3"
}
]
},
{
"name": "st-arm-clangd",
"version": "19.1.2+st.3",
"platform": "x86_64-linux",
"selected_by": [
{
"name": "st-arm-clangd",
"version": "19.1.2+st.3"
}
]
},
{
"name": "st-arm-clangd",
"version": "19.1.2+st.3",
"platform": "x86_64-windows",
"selected_by": [
{
"name": "st-arm-clangd",
"version": "19.1.2+st.3"
}
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"bundles": [
{
"name": "cmake",
"version": "4.0.1+st.3"
},
{
"name": "ninja",
"version": "1.13.1+st.1"
},
{
"name": "gnu-tools-for-stm32",
"version": "14.3.1+st.2"
},
{
"name": "st-arm-clangd",
"version": "19.1.2+st.3"
}
]
}

9
.settings/ide.store.json Normal file
View File

@ -0,0 +1,9 @@
{
"source": {
"sourceType": "STM32CubeMX"
},
"device": "STM32F407IGH6",
"core": "Cortex-M4",
"order": 0,
"toolchain": "GCC"
}

8
.vscode/c_cpp_properties.json vendored Normal file
View File

@ -0,0 +1,8 @@
{
"configurations": [
{
"name": "STM32",
"compileCommands": "${workspaceFolder}/build/Debug/compile_commands.json"
}
]
}

15
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,15 @@
{
"cmake.cmakePath": "cube-cmake",
"cmake.configureArgs": [
"-DCMAKE_COMMAND=cube-cmake"
],
"cmake.preferredGenerators": [
"Ninja"
],
"stm32cube-ide-clangd.path": "cube",
"stm32cube-ide-clangd.arguments": [
"starm-clangd",
"--query-driver=${env:CUBE_BUNDLE_PATH}/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc*",
"--query-driver=${env:CUBE_BUNDLE_PATH}/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++*"
]
}

View File

@ -81,14 +81,14 @@ target_sources(${CMAKE_PROJECT_NAME} PRIVATE
User/device/referee.c
User/device/remote_control.c
User/device/supercap.c
User/device/referee.c
# User/module sources
User/module/cap.c
User/module/chassis.c
User/module/cmd.c
User/module/cmd_adapter.c
User/module/cmd_behavior.c
User/module/cmd_example.c
User/module/cmd/cmd.c
User/module/cmd/cmd_adapter.c
User/module/cmd/cmd_behavior.c
User/module/cmd/cmd_example.c
User/module/config.c
User/module/gimbal.c
User/module/shoot.c

138
User/device/CMakeLists.txt Normal file
View File

@ -0,0 +1,138 @@
cmake_minimum_required(VERSION 3.22)
#
# This file is generated only once,
# and is not re-generated if converter is called multiple times.
#
# User is free to modify the file as much as necessary
#
# Setup compiler settings
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON)
# Define the build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug")
endif()
# Set the project name
set(CMAKE_PROJECT_NAME CtrBoard-H7_ALL)
# Enable compile command to ease indexing with e.g. clangd
set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)
# Core project settings
project(${CMAKE_PROJECT_NAME})
message("Build type: " ${CMAKE_BUILD_TYPE})
# Enable CMake support for ASM and C languages
enable_language(C ASM)
# Create an executable object type
add_executable(${CMAKE_PROJECT_NAME})
# Add STM32CubeMX generated sources
add_subdirectory(cmake/stm32cubemx)
# Link directories setup
target_link_directories(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined library search paths
)
# Add sources to executable
target_sources(${CMAKE_PROJECT_NAME} PRIVATE
# Add user sources here
# User/bsp sources
User/bsp/fdcan.c
User/bsp/flash.c
User/bsp/gpio.c
User/bsp/mm.c
User/bsp/pwm.c
User/bsp/spi.c
User/bsp/time.c
User/bsp/uart.c
# User/component sources
User/component/QuaternionEKF.c
User/component/ahrs.c
User/component/crc16.c
User/component/crc8.c
User/component/error_detect.c
User/component/filter.c
User/component/freertos_cli.c
User/component/kalman_filter.c
User/component/limiter.c
User/component/lqr.c
User/component/pid.c
User/component/user_math.c
User/component/vmc.c
User/component/ui.c
# User/device sources
User/device/bmi088.c
User/device/buzzer.c
User/device/dr16.c
User/device/gimbal_imu.c
User/device/motor.c
User/device/motor_dm.c
User/device/motor_lk.c
User/device/motor_lz.c
User/device/motor_rm.c
User/device/vofa.c
User/device/mrobot.c
User/device/referee.c
User/device/supercap.c
# User/module sources
User/module/balance_chassis.c
User/module/config.c
User/module/gimbal.c
User/module/shoot.c
User/module/cap.c
User/module/cmd/cmd.c
User/module/cmd/cmd_adapter.c
User/module/cmd/cmd_behavior.c
User/module/cmd/cmd_example.c
User/module/vision_bridge.c
User/module/aimbot.c
# User/task sources
User/task/ai.c
User/task/atti_esit.c
User/task/blink.c
User/task/ctrl_chassis.c
User/task/ctrl_gimbal.c
User/task/ctrl_shoot.c
User/task/debug.c
User/task/init.c
User/task/monitor.c
User/task/rc.c
User/task/cli.c
User/task/cap.c
User/task/user_task.c
User/task/vofa.c
User/task/cmd.c
User/task/ref_main.c
)
# Add include paths
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined include paths
User
)
# Add project symbols (macros)
target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE
# Add user defined symbols
)
# Remove wrong libob.a library dependency when using cpp files
list(REMOVE_ITEM CMAKE_C_IMPLICIT_LINK_LIBRARIES ob)
# Add linked libraries
target_link_libraries(${CMAKE_PROJECT_NAME}
stm32cubemx
${CMAKE_SOURCE_DIR}/Drivers/CMSIS/DSP/Lib/GCC/libarm_cortexM7lfsp_math.a
# Add user defined libraries
)

View File

@ -1,169 +1,218 @@
// /*
// DR16接收机
// Example
/*
DR16接收机
Example
// DR16_Init(&dr16);
DR16_Init(&dr16);
// while (1) {
// DR16_StartDmaRecv(&dr16);
// if (DR16_WaitDmaCplt(20)) {
// DR16_ParseData(&dr16);
// } else {
// DR16_Offline(&dr16);
// }
// }
// */
while (1) {
DR16_StartDmaRecv(&dr16);
if (DR16_WaitDmaCplt(20)) {
DR16_ParseData(&dr16);
} else {
DR16_Offline(&dr16);
}
}
*/
// /* Includes ----------------------------------------------------------------- */
// #include "dr16.h"
// #include "bsp/uart.h"
// #include "bsp/time.h"
// #include "device.h"
/* Includes ----------------------------------------------------------------- */
#include "dr16.h"
#include "bsp/uart.h"
#include "bsp/time.h"
#include "device.h"
// #include <string.h>
// #include <stdbool.h>
#include <string.h>
#include <stdbool.h>
// /* USER INCLUDE BEGIN */
/* USER INCLUDE BEGIN */
// /* USER INCLUDE END */
// /* Private define ----------------------------------------------------------- */
// #define DR16_CH_VALUE_MIN (364u)
// #define DR16_CH_VALUE_MID (1024u)
// #define DR16_CH_VALUE_MAX (1684u)
/* USER INCLUDE END */
/* Private define ----------------------------------------------------------- */
#define DR16_CH_VALUE_MIN (364u)
#define DR16_CH_VALUE_MID (1024u)
#define DR16_CH_VALUE_MAX (1684u)
// /* USER DEFINE BEGIN */
/* USER DEFINE BEGIN */
// /* USER DEFINE END */
/* USER DEFINE END */
// /* Private macro ------------------------------------------------------------ */
// /* Private typedef ---------------------------------------------------------- */
// /* Private variables -------------------------------------------------------- */
/* Private macro ------------------------------------------------------------ */
/* Private typedef ---------------------------------------------------------- */
/* Private variables -------------------------------------------------------- */
// static osThreadId_t thread_alert;
// static bool inited = false;
static osThreadId_t thread_alert;
static bool inited = false;
static DR16_t *dr16_instance = NULL; /* 用于空闲中断回调中访问实例 */
static uint8_t sync_buf[32]; /* 帧同步时的丢弃缓冲区 */
// /* Private function -------------------------------------------------------- */
// static void DR16_RxCpltCallback(void) {
// osThreadFlagsSet(thread_alert, SIGNAL_DR16_RAW_REDY);
// }
/* Private function -------------------------------------------------------- */
static void DR16_RxCpltCallback(void) {
osThreadFlagsSet(thread_alert, SIGNAL_DR16_RAW_REDY);
}
// static bool DR16_DataCorrupted(const DR16_t *dr16) {
// if (dr16 == NULL) return DEVICE_ERR_NULL;
/**
* @brief -
* 线DMA接收
* StartDmaRecv
*/
static void DR16_IdleCallback(void) {
/* 停止当前DMA接收无论收了多少字节 */
HAL_UART_AbortReceive(BSP_UART_GetHandle(BSP_UART_DR16));
/* 通知任务:可以启动下一次对齐的接收了 */
osThreadFlagsSet(thread_alert, SIGNAL_DR16_RAW_REDY);
}
// if ((dr16->raw_data.ch_r_x < DR16_CH_VALUE_MIN) ||
// (dr16->raw_data.ch_r_x > DR16_CH_VALUE_MAX))
// return DEVICE_ERR;
static bool DR16_DataCorrupted(const DR16_t *dr16) {
if (dr16 == NULL) return DEVICE_ERR_NULL;
// if ((dr16->raw_data.ch_r_y < DR16_CH_VALUE_MIN) ||
// (dr16->raw_data.ch_r_y > DR16_CH_VALUE_MAX))
// return DEVICE_ERR;
if ((dr16->raw_data.ch_r_x < DR16_CH_VALUE_MIN) ||
(dr16->raw_data.ch_r_x > DR16_CH_VALUE_MAX))
return DEVICE_ERR;
// if ((dr16->raw_data.ch_l_x < DR16_CH_VALUE_MIN) ||
// (dr16->raw_data.ch_l_x > DR16_CH_VALUE_MAX))
// return DEVICE_ERR;
if ((dr16->raw_data.ch_r_y < DR16_CH_VALUE_MIN) ||
(dr16->raw_data.ch_r_y > DR16_CH_VALUE_MAX))
return DEVICE_ERR;
// if ((dr16->raw_data.ch_l_y < DR16_CH_VALUE_MIN) ||
// (dr16->raw_data.ch_l_y > DR16_CH_VALUE_MAX))
// return DEVICE_ERR;
if ((dr16->raw_data.ch_l_x < DR16_CH_VALUE_MIN) ||
(dr16->raw_data.ch_l_x > DR16_CH_VALUE_MAX))
return DEVICE_ERR;
// if (dr16->raw_data.sw_l == 0) return DEVICE_ERR;
if ((dr16->raw_data.ch_l_y < DR16_CH_VALUE_MIN) ||
(dr16->raw_data.ch_l_y > DR16_CH_VALUE_MAX))
return DEVICE_ERR;
// if (dr16->raw_data.sw_r == 0) return DEVICE_ERR;
if (dr16->raw_data.sw_l == 0) return DEVICE_ERR;
// return DEVICE_OK;
// }
if (dr16->raw_data.sw_r == 0) return DEVICE_ERR;
// /* Exported functions ------------------------------------------------------- */
// int8_t DR16_Init(DR16_t *dr16) {
// if (dr16 == NULL) return DEVICE_ERR_NULL;
// if (inited) return DEVICE_ERR_INITED;
// if ((thread_alert = osThreadGetId()) == NULL) return DEVICE_ERR_NULL;
return DEVICE_OK;
}
// BSP_UART_RegisterCallback(BSP_UART_DR16, BSP_UART_RX_CPLT_CB,
// DR16_RxCpltCallback);
/* Exported functions ------------------------------------------------------- */
int8_t DR16_Init(DR16_t *dr16) {
if (dr16 == NULL) return DEVICE_ERR_NULL;
if (inited) return DEVICE_ERR_INITED;
if ((thread_alert = osThreadGetId()) == NULL) return DEVICE_ERR_NULL;
// inited = true;
// return DEVICE_OK;
// }
dr16_instance = dr16;
// int8_t DR16_Restart(void) {
// __HAL_UART_DISABLE(BSP_UART_GetHandle(BSP_UART_DR16));
// __HAL_UART_ENABLE(BSP_UART_GetHandle(BSP_UART_DR16));
// return DEVICE_OK;
// }
/* 注册 DMA 接收完成回调 */
BSP_UART_RegisterCallback(BSP_UART_DR16, BSP_UART_RX_CPLT_CB,
DR16_RxCpltCallback);
// int8_t DR16_StartDmaRecv(DR16_t *dr16) {
// if (HAL_UART_Receive_DMA(BSP_UART_GetHandle(BSP_UART_DR16),
// (uint8_t *)&(dr16->raw_data),
// sizeof(dr16->raw_data)) == HAL_OK)
// return DEVICE_OK;
// return DEVICE_ERR;
// }
/* 注册空闲中断回调并使能空闲中断,用于帧同步 */
BSP_UART_RegisterCallback(BSP_UART_DR16, BSP_UART_IDLE_LINE_CB,
DR16_IdleCallback);
__HAL_UART_ENABLE_IT(BSP_UART_GetHandle(BSP_UART_DR16), UART_IT_IDLE);
// bool DR16_WaitDmaCplt(uint32_t timeout) {
// return (osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, timeout) ==
// SIGNAL_DR16_RAW_REDY);
// }
/*
* DMA接收
* DMA会从帧中间开始收
* IdleCallback Abort StartDmaRecv
*
*/
HAL_UART_Receive_DMA(BSP_UART_GetHandle(BSP_UART_DR16),
sync_buf, sizeof(sync_buf));
/* 等待空闲中断完成首次同步最多50ms足够等一帧 */
osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, 50);
// int8_t DR16_ParseData(DR16_t *dr16){
// if (dr16 == NULL) return DEVICE_ERR_NULL;
inited = true;
return DEVICE_OK;
}
// if (DR16_DataCorrupted(dr16)) {
// return DEVICE_ERR;
// }
int8_t DR16_Restart(void) {
UART_HandleTypeDef *huart = BSP_UART_GetHandle(BSP_UART_DR16);
// dr16->header.online = true;
// dr16->header.last_online_time = BSP_TIME_Get_us();
/* 先终止当前DMA接收 */
HAL_UART_AbortReceive(huart);
// memset(&(dr16->data), 0, sizeof(dr16->data));
/* 重置串口 */
__HAL_UART_DISABLE(huart);
__HAL_UART_ENABLE(huart);
// float full_range = (float)(DR16_CH_VALUE_MAX - DR16_CH_VALUE_MIN);
/* 重新使能空闲中断 */
__HAL_UART_ENABLE_IT(huart, UART_IT_IDLE);
// // 解析摇杆数据
// dr16->data.ch_r_x = 2.0f * ((float)dr16->raw_data.ch_r_x - DR16_CH_VALUE_MID) / full_range;
// dr16->data.ch_r_y = 2.0f * ((float)dr16->raw_data.ch_r_y - DR16_CH_VALUE_MID) / full_range;
// dr16->data.ch_l_x = 2.0f * ((float)dr16->raw_data.ch_l_x - DR16_CH_VALUE_MID) / full_range;
// dr16->data.ch_l_y = 2.0f * ((float)dr16->raw_data.ch_l_y - DR16_CH_VALUE_MID) / full_range;
/* 重新做帧同步:丢弃式接收,等空闲中断对齐 */
HAL_UART_Receive_DMA(huart, sync_buf, sizeof(sync_buf));
osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, 50);
// // 解析拨杆位置
// dr16->data.sw_l = (DR16_SwitchPos_t)dr16->raw_data.sw_l;
// dr16->data.sw_r = (DR16_SwitchPos_t)dr16->raw_data.sw_r;
return DEVICE_OK;
}
// // 解析鼠标数据
// dr16->data.mouse.x = dr16->raw_data.x;
// dr16->data.mouse.y = dr16->raw_data.y;
// dr16->data.mouse.z = dr16->raw_data.z;
int8_t DR16_StartDmaRecv(DR16_t *dr16) {
if (HAL_UART_Receive_DMA(BSP_UART_GetHandle(BSP_UART_DR16),
(uint8_t *)&(dr16->raw_data),
sizeof(dr16->raw_data)) == HAL_OK)
return DEVICE_OK;
return DEVICE_ERR;
}
// dr16->data.mouse.l_click = dr16->raw_data.press_l;
// dr16->data.mouse.r_click = dr16->raw_data.press_r;
bool DR16_WaitDmaCplt(uint32_t timeout) {
return (osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, timeout) ==
SIGNAL_DR16_RAW_REDY);
}
// // 解析键盘按键 - 使用union简化代码
// uint16_t key_value = dr16->raw_data.key;
int8_t DR16_ParseData(DR16_t *dr16){
if (dr16 == NULL) return DEVICE_ERR_NULL;
// // 解析键盘位映射W-B键位0-15
// for (int i = DR16_KEY_W; i <= DR16_KEY_B; i++) {
// dr16->data.keyboard.key[i] = (key_value & (1 << i)) != 0;
// }
if (DR16_DataCorrupted(dr16)) {
/* 数据损坏说明帧错位了,重启串口并重新同步 */
DR16_Restart();
return DEVICE_ERR;
}
// // 解析鼠标点击
// dr16->data.keyboard.key[DR16_L_CLICK] = dr16->data.mouse.l_click;
// dr16->data.keyboard.key[DR16_R_CLICK] = dr16->data.mouse.r_click;
dr16->header.online = true;
dr16->header.last_online_time = BSP_TIME_Get_us();
// // 解析第五通道
// dr16->data.ch_res = 2.0f * ((float)dr16->raw_data.res - DR16_CH_VALUE_MID) / full_range;
memset(&(dr16->data), 0, sizeof(dr16->data));
// return DEVICE_OK;
// }
float full_range = (float)(DR16_CH_VALUE_MAX - DR16_CH_VALUE_MIN);
// int8_t DR16_Offline(DR16_t *dr16){
// if (dr16 == NULL) return DEVICE_ERR_NULL;
// 解析摇杆数据
dr16->data.ch_r_x = 2.0f * ((float)dr16->raw_data.ch_r_x - DR16_CH_VALUE_MID) / full_range;
dr16->data.ch_r_y = 2.0f * ((float)dr16->raw_data.ch_r_y - DR16_CH_VALUE_MID) / full_range;
dr16->data.ch_l_x = 2.0f * ((float)dr16->raw_data.ch_l_x - DR16_CH_VALUE_MID) / full_range;
dr16->data.ch_l_y = 2.0f * ((float)dr16->raw_data.ch_l_y - DR16_CH_VALUE_MID) / full_range;
// dr16->header.online = false;
// memset(&(dr16->data), 0, sizeof(dr16->data));
// 解析拨杆位置
dr16->data.sw_l = (DR16_SwitchPos_t)dr16->raw_data.sw_l;
dr16->data.sw_r = (DR16_SwitchPos_t)dr16->raw_data.sw_r;
// return DEVICE_OK;
// }
// 解析鼠标数据
dr16->data.mouse.x = dr16->raw_data.x;
dr16->data.mouse.y = dr16->raw_data.y;
dr16->data.mouse.z = dr16->raw_data.z;
// /* USER FUNCTION BEGIN */
dr16->data.mouse.l_click = dr16->raw_data.press_l;
dr16->data.mouse.r_click = dr16->raw_data.press_r;
// /* USER FUNCTION END */
// 解析键盘按键 - 使用union简化代码
uint16_t key_value = dr16->raw_data.key;
// 解析键盘位映射W-B键位0-15
for (int i = DR16_KEY_W; i <= DR16_KEY_B; i++) {
dr16->data.keyboard.key[i] = (key_value & (1 << i)) != 0;
}
// 解析鼠标点击
dr16->data.keyboard.key[DR16_L_CLICK] = dr16->data.mouse.l_click;
dr16->data.keyboard.key[DR16_R_CLICK] = dr16->data.mouse.r_click;
// 解析第五通道
dr16->data.ch_res = 2.0f * ((float)dr16->raw_data.res - DR16_CH_VALUE_MID) / full_range;
return DEVICE_OK;
}
int8_t DR16_Offline(DR16_t *dr16){
if (dr16 == NULL) return DEVICE_ERR_NULL;
dr16->header.online = false;
memset(&(dr16->data), 0, sizeof(dr16->data));
return DEVICE_OK;
}
/* USER FUNCTION BEGIN */
/* USER FUNCTION END */

View File

@ -1,117 +1,117 @@
// #pragma once
#pragma once
// #ifdef __cplusplus
// extern "C" {
// #endif
#ifdef __cplusplus
extern "C" {
#endif
// /* Includes ----------------------------------------------------------------- */
// #include <cmsis_os2.h>
/* Includes ----------------------------------------------------------------- */
#include <cmsis_os2.h>
// #include "component/user_math.h"
// #include "device.h"
#include "component/user_math.h"
#include "device.h"
// /* USER INCLUDE BEGIN */
/* USER INCLUDE BEGIN */
// // // // ///* USER INCLUDE END */
/* USER INCLUDE END */
// /* USER DEFINE BEGIN */
/* USER DEFINE BEGIN */
// // // // ///* USER DEFINE END */
/* USER DEFINE END */
// /* Exported constants ------------------------------------------------------- */
// /* Exported macro ----------------------------------------------------------- */
// /* Exported types ----------------------------------------------------------- */
// typedef struct __packed {
// uint16_t ch_r_x : 11;
// uint16_t ch_r_y : 11;
// uint16_t ch_l_x : 11;
// uint16_t ch_l_y : 11;
// uint8_t sw_r : 2;
// uint8_t sw_l : 2;
// int16_t x;
// int16_t y;
// int16_t z;
// uint8_t press_l;
// uint8_t press_r;
// uint16_t key;
// uint16_t res;
// } DR16_RawData_t;
/* Exported constants ------------------------------------------------------- */
/* Exported macro ----------------------------------------------------------- */
/* Exported types ----------------------------------------------------------- */
typedef struct __packed {
uint16_t ch_r_x : 11;
uint16_t ch_r_y : 11;
uint16_t ch_l_x : 11;
uint16_t ch_l_y : 11;
uint8_t sw_r : 2;
uint8_t sw_l : 2;
int16_t x;
int16_t y;
int16_t z;
uint8_t press_l;
uint8_t press_r;
uint16_t key;
uint16_t res;
} DR16_RawData_t;
// typedef enum {
// DR16_SW_ERR = 0,
// DR16_SW_UP = 1,
// DR16_SW_MID = 3,
// DR16_SW_DOWN = 2,
// } DR16_SwitchPos_t;
typedef enum {
DR16_SW_ERR = 0,
DR16_SW_UP = 1,
DR16_SW_MID = 3,
DR16_SW_DOWN = 2,
} DR16_SwitchPos_t;
// /* 键盘按键值 */
// typedef enum {
// DR16_KEY_W = 0,
// DR16_KEY_S,
// DR16_KEY_A,
// DR16_KEY_D,
// DR16_KEY_SHIFT,
// DR16_KEY_CTRL,
// DR16_KEY_Q,
// DR16_KEY_E,
// DR16_KEY_R,
// DR16_KEY_F,
// DR16_KEY_G,
// DR16_KEY_Z,
// DR16_KEY_X,
// DR16_KEY_C,
// DR16_KEY_V,
// DR16_KEY_B,
// DR16_L_CLICK,
// DR16_R_CLICK,
// DR16_KEY_NUM,
// } DR16_Key_t;
/* 键盘按键值 */
typedef enum {
DR16_KEY_W = 0,
DR16_KEY_S,
DR16_KEY_A,
DR16_KEY_D,
DR16_KEY_SHIFT,
DR16_KEY_CTRL,
DR16_KEY_Q,
DR16_KEY_E,
DR16_KEY_R,
DR16_KEY_F,
DR16_KEY_G,
DR16_KEY_Z,
DR16_KEY_X,
DR16_KEY_C,
DR16_KEY_V,
DR16_KEY_B,
DR16_L_CLICK,
DR16_R_CLICK,
DR16_KEY_NUM,
} DR16_Key_t;
// typedef struct {
// float ch_l_x; /* 遥控器左侧摇杆横轴值,上为正 */
// float ch_l_y; /* 遥控器左侧摇杆纵轴值,右为正 */
// float ch_r_x; /* 遥控器右侧摇杆横轴值,上为正 */
// float ch_r_y; /* 遥控器右侧摇杆纵轴值,右为正 */
typedef struct {
float ch_l_x; /* 遥控器左侧摇杆横轴值,上为正 */
float ch_l_y; /* 遥控器左侧摇杆纵轴值,右为正 */
float ch_r_x; /* 遥控器右侧摇杆横轴值,上为正 */
float ch_r_y; /* 遥控器右侧摇杆纵轴值,右为正 */
// float ch_res; /* 第五通道值 */
float ch_res; /* 第五通道值 */
// DR16_SwitchPos_t sw_r; /* 右侧拨杆位置 */
// DR16_SwitchPos_t sw_l; /* 左侧拨杆位置 */
DR16_SwitchPos_t sw_r; /* 右侧拨杆位置 */
DR16_SwitchPos_t sw_l; /* 左侧拨杆位置 */
// struct {
// int16_t x;
// int16_t y;
// int16_t z;
// bool l_click; /* 左键 */
// bool r_click; /* 右键 */
// } mouse; /* 鼠标值 */
struct {
int16_t x;
int16_t y;
int16_t z;
bool l_click; /* 左键 */
bool r_click; /* 右键 */
} mouse; /* 鼠标值 */
// union {
// bool key[DR16_KEY_NUM]; /* 键盘按键值 */
// uint16_t value; /* 键盘按键值的位映射 */
// } keyboard;
union {
bool key[DR16_KEY_NUM]; /* 键盘按键值 */
uint16_t value; /* 键盘按键值的位映射 */
} keyboard;
// uint16_t res; /* 保留,未启用 */
// } DR16_Data_t;
uint16_t res; /* 保留,未启用 */
} DR16_Data_t;
// typedef struct {
// DEVICE_Header_t header;
// DR16_RawData_t raw_data;
// DR16_Data_t data;
// } DR16_t;
typedef struct {
DEVICE_Header_t header;
DR16_RawData_t raw_data;
DR16_Data_t data;
} DR16_t;
// /* Exported functions prototypes -------------------------------------------- */
// int8_t DR16_Init(DR16_t *dr16);
// int8_t DR16_Restart(void);
// int8_t DR16_StartDmaRecv(DR16_t *dr16);
// bool DR16_WaitDmaCplt(uint32_t timeout);
// int8_t DR16_ParseData(DR16_t *dr16);
// int8_t DR16_Offline(DR16_t *dr16);
/* Exported functions prototypes -------------------------------------------- */
int8_t DR16_Init(DR16_t *dr16);
int8_t DR16_Restart(void);
int8_t DR16_StartDmaRecv(DR16_t *dr16);
bool DR16_WaitDmaCplt(uint32_t timeout);
int8_t DR16_ParseData(DR16_t *dr16);
int8_t DR16_Offline(DR16_t *dr16);
// /* USER FUNCTION BEGIN */
/* USER FUNCTION BEGIN */
// // // // ///* USER FUNCTION END */
/* USER FUNCTION END */
// #ifdef __cplusplus
// }
// #endif
#ifdef __cplusplus
}
#endif

View File

@ -12,7 +12,7 @@
#include "component/crc8.h"
#include "component/user_math.h"
#include "device/referee.h"
#include "module/cmd.h"
// #include "module/cmd/cmd.h"
/* Private define ----------------------------------------------------------- */
#define REF_HEADER_SOF (0xA5)
@ -31,7 +31,8 @@
/* Private variables -------------------------------------------------------- */
static volatile uint32_t drop_message = 0;
static uint8_t rxbuf[REF_LEN_RX_BUFF];
// static uint8_t rxbuf[REF_LEN_RX_BUFF];
uint8_t rxbuf[REF_LEN_RX_BUFF];
static osThreadId_t thread_alert;
static bool inited = false;
@ -61,7 +62,7 @@ static void RefereeSlowRefreshTimerCallback(void *arg) {
/* Exported functions ------------------------------------------------------- */
int8_t Referee_Init(Referee_t *ref, Referee_UI_t *ui,
const CMD_Screen_t *screen) {
const Referee_Screen_t *screen) {
if (ref == NULL) return DEVICE_ERR_NULL;
if (inited) return DEVICE_ERR_INITED;
@ -88,7 +89,7 @@ int8_t Referee_Init(Referee_t *ref, Referee_UI_t *ui,
osTimerStart(ref->ui_fast_timer_id, fast_period_ms);
osTimerStart(ref->ui_slow_timer_id, slow_period_ms);
__HAL_UART_ENABLE_IT(BSP_UART_GetHandle(BSP_UART_REF), UART_IT_IDLE);
// __HAL_UART_ENABLE_IT(BSP_UART_GetHandle(BSP_UART_REF), UART_IT_IDLE);
inited = true;
return 0;
@ -103,7 +104,7 @@ int8_t Referee_Restart(void) {
int8_t Referee_StartReceiving(Referee_t *ref) {
(void)ref;
if ( BSP_UART_Receive(BSP_UART_REF, rxbuf, REF_LEN_RX_BUFF,true)
if ( BSP_UART_Receive(BSP_UART_REF, rxbuf, REF_LEN_RX_BUFF,0)
== BSP_OK)
return DEVICE_OK;
return DEVICE_ERR;
@ -567,7 +568,7 @@ UI_Del_t *Referee_GetDelAdd(Referee_UI_t *ref_ui) {
return &(ref_ui->del[ref_ui->del_counter++]);
}
uint8_t Referee_PraseCmd(Referee_UI_t *ref_ui, CMD_UI_t cmd) {
uint8_t Referee_PraseCmd(Referee_UI_t *ref_ui, Referee_UI_CMD_t cmd) {
switch (cmd) {
/* Demo */
case UI_NOTHING:
@ -614,8 +615,6 @@ uint8_t Referee_PackCap(Referee_ForCap_t *cap, const Referee_t *ref) {
uint8_t Referee_PackAI(Referee_ForAI_t *ai, const Referee_t *ref) {
ai->ref_status = ref->ref_status;
memcpy(&(ai->robot_status), &(ref->robot_status), sizeof(ai->robot_status));
memcpy(&(ai->game_status), &(ref->game_status), sizeof(ai->game_status));
return 0;
}
@ -648,11 +647,31 @@ uint8_t Referee_UIRefresh(Referee_UI_t *ui) {
UI_DrawLine(Referee_GetGrapicAdd(ui), "6", UI_GRAPIC_OPERATION_ADD,
UI_GRAPIC_LAYER_CHASSIS, GREEN, UI_DEFAULT_WIDTH * 12,
ui->screen->width * 0.4, ui->screen->height * 0.2,
ui->screen->width * 0.4 + sin(ui->chassis_ui.angle) * 46,
ui->screen->height * 0.2 + cos(ui->chassis_ui.angle) * 46);
ui->screen->width * 0.4f + sinf(ui->chassis_ui.angle) * 46.0f,
ui->screen->height * 0.2f + cosf(ui->chassis_ui.angle) * 46.0f);
UI_DrawLine(Referee_GetGrapicAdd(ui), "7", UI_GRAPIC_OPERATION_ADD,
UI_GRAPIC_LAYER_CHASSIS, GREEN, UI_DEFAULT_WIDTH * 12,
ui->screen->width * 0.4, ui->screen->height * 0.4,
ui->screen->width * 0.4f - sinf(ui->chassis_ui.l0[0]) * 46.0f,
ui->screen->height * 0.4f - cosf(ui->chassis_ui.l0[0]) * 46.0f);
UI_DrawLine(Referee_GetGrapicAdd(ui), "8", UI_GRAPIC_OPERATION_ADD,
UI_GRAPIC_LAYER_CHASSIS, GREEN, UI_DEFAULT_WIDTH * 12,
ui->screen->width * 0.4, ui->screen->height * 0.6,
ui->screen->width * 0.4f - sinf(ui->chassis_ui.theta[0]) * 46.0f,
ui->screen->height * 0.6f - cosf(ui->chassis_ui.theta[0]) * 46.0f);
UI_DrawLine(Referee_GetGrapicAdd(ui), "9", UI_GRAPIC_OPERATION_ADD,
UI_GRAPIC_LAYER_CHASSIS, GREEN, UI_DEFAULT_WIDTH * 12,
ui->screen->width * 0.4, ui->screen->height * 0.4,
ui->screen->width * 0.4f - sinf(ui->chassis_ui.l0[1]) * 46.0f,
ui->screen->height * 0.4f - cosf(ui->chassis_ui.l0[1]) * 46.0f);
UI_DrawLine(Referee_GetGrapicAdd(ui), "a", UI_GRAPIC_OPERATION_ADD,
UI_GRAPIC_LAYER_CHASSIS, GREEN, UI_DEFAULT_WIDTH * 12,
ui->screen->width * 0.4, ui->screen->height * 0.8,
ui->screen->width * 0.4f - sinf(ui->chassis_ui.theta[1]) * 46.0f,
ui->screen->height * 0.8f - cosf(ui->chassis_ui.theta[1]) * 46.0f);
float start_pos_h = 0.0f;
switch (ui->chassis_ui.mode) {
case STOP:
case CHASSIS_MODE_RELAX:
start_pos_h = 0.68f;
break;
case CHASSIS_MODE_FOLLOW_GIMBAL:

View File

@ -13,12 +13,12 @@ extern "C" {
#include <stdbool.h>
#include "component/ui.h"
#include "component/user_math.h"
//#include "device/can.h"
#include "module/shoot.h"
#include "device/device.h"
#include "module/cmd.h"
#include "module/config.h"
#include "device/referee_proto_types.h"
#include "device/supercap.h"
#include "module/chassis.h"
#include "module/gimbal.h"
#include "module/shoot.h"
/* Exported constants ------------------------------------------------------- */
/* Exported macro ----------------------------------------------------------- */
@ -37,7 +37,13 @@ typedef struct __packed {
uint8_t crc8;
} Referee_Header_t;
typedef enum { REF_STATUS_OFFLINE = 0, REF_STATUS_RUNNING } Referee_Status_t;
/* 分辨率配置 */
/* Referee_Status_t, PowerHeat_t, RobotStatus_t, ShootData_t,
ForCap/AI/Chassis/Shoot_t, Screen_t, UI_CMD_t
device/referee_proto_types.h include*/
typedef enum {
REF_CMD_ID_GAME_STATUS = 0x0001,
@ -121,29 +127,7 @@ typedef struct __packed {
uint16_t dart_info;
} Referee_DartInfo_t;
typedef struct __packed
{
uint8_t robot_id;
uint8_t robot_level;
uint16_t current_HP;
uint16_t maximum_HP;
uint16_t shooter_barrel_cooling_value;
uint16_t shooter_barrel_heat_limit;
uint16_t chassis_power_limit;
uint8_t power_management_gimbal_output : 1;
uint8_t power_management_chassis_output : 1;
uint8_t power_management_shooter_output : 1;
}Referee_RobotStatus_t;
typedef struct __packed {
uint16_t chassis_volt;
uint16_t chassis_amp;
float chassis_watt;
uint16_t chassis_pwr_buff;
uint16_t shooter_17mm_barrel_heat;
uint16_t shooter_42mm_barrel_heat;
} Referee_PowerHeat_t;
typedef struct __packed {
float x;
@ -166,13 +150,6 @@ typedef struct __packed {
} Referee_RobotDamage_t;
typedef struct __packed {
uint8_t bullet_type;
uint8_t shooter_id;
uint8_t bullet_freq;
float bullet_speed;
} Referee_ShootData_t;/* 0x0207 */
typedef struct __packed {
uint16_t bullet_17_remain;
uint16_t bullet_42_remain;
@ -597,28 +574,6 @@ typedef struct {
osTimerId_t ui_slow_timer_id;
} Referee_t;
typedef struct {
Chassis_Mode_t mode;
float angle;
} Referee_ChassisUI_t;
typedef struct {
float percentage;
SuperCapReadyEnum ready;//超电状态
SuperCapStateEnum status;//超电是否可用
uint8_t online;//超电是否离线
// CAN_CapStatus_t status;
} Referee_CapUI_t;
typedef struct {
Gimbal_Mode_t mode;
} Referee_GimbalUI_t;
typedef struct {
Shoot_Mode_t mode;
Shoot_Running_State_t fire;
} Referee_ShootUI_t;
typedef struct __packed {
/* UI缓冲数据 */
UI_Ele_t grapic[REF_UI_MAX_GRAPIC_NUM];
@ -629,15 +584,16 @@ typedef struct __packed {
uint8_t character_counter;
uint8_t del_counter;
/* UI所需信息 */
Referee_CapUI_t cap_ui;
Referee_ChassisUI_t chassis_ui;
Referee_ShootUI_t shoot_ui;
Referee_GimbalUI_t gimbal_ui;
Cap_RefereeUI_t cap_ui;
Chassis_RefereeUI_t chassis_ui;
Shoot_RefereeUI_t shoot_ui;
Gimbal_RefereeUI_t gimbal_ui;
bool cmd_pc;
/* 屏幕分辨率 */
const CMD_Screen_t *screen;
const Referee_Screen_t *screen;
} Referee_UI_t;
typedef struct __packed {
uint16_t data_cmd_id;
uint16_t sender_ID;
@ -692,35 +648,10 @@ typedef struct __packed {
uint16_t crc16;
} Referee_UI_Del_t;
typedef struct {
Referee_Status_t ref_status;
float chassis_watt;
float chassis_power_limit;
float chassis_pwr_buff;
} Referee_ForCap_t;
typedef struct {
Referee_Status_t ref_status;
Referee_RobotStatus_t robot_status;
Referee_GameStatus_t game_status;
} Referee_ForAI_t;
typedef struct {
Referee_Status_t ref_status;
float chassis_power_limit;
float chassis_pwr_buff;
} Referee_ForChassis_t;
typedef struct {
Referee_Status_t ref_status;
Referee_PowerHeat_t power_heat;
Referee_RobotStatus_t robot_status;
Referee_ShootData_t shoot_data;
} Referee_ForShoot_t;
/* Exported functions prototypes -------------------------------------------- */
int8_t Referee_Init(Referee_t *ref, Referee_UI_t *ui,
const CMD_Screen_t *screen);
const Referee_Screen_t *screen);
int8_t Referee_Restart(void);
int8_t Referee_StartReceiving(Referee_t *ref);
@ -733,7 +664,7 @@ int8_t Referee_MoveData(void *data, void *tmp, uint32_t len);
int8_t Referee_PackUI(Referee_UI_t *ui, Referee_t *ref);
UI_Ele_t *Referee_GetGrapicAdd(Referee_UI_t *ref_ui);
UI_Drawcharacter_t *Referee_GetCharacterAdd(Referee_UI_t *ref_ui);
uint8_t Referee_PraseCmd(Referee_UI_t *ref_ui, CMD_UI_t cmd);
uint8_t Referee_PraseCmd(Referee_UI_t *ref_ui, Referee_UI_CMD_t cmd);
uint8_t Referee_PackCap(Referee_ForCap_t *cap, const Referee_t *ref);
uint8_t Referee_PackShoot(Referee_ForShoot_t *ai, Referee_t *ref);
uint8_t Referee_PackChassis(Referee_ForChassis_t *chassis,

View File

@ -0,0 +1,89 @@
/*
*
*/
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <stdbool.h>
/* ---- 在线状态 ---- */
typedef enum { REF_STATUS_OFFLINE = 0, REF_STATUS_RUNNING } Referee_Status_t;
/* ---- 协议报文字段子集 ---- */
typedef struct __attribute__((packed)) {
uint8_t robot_id;
uint8_t robot_level;
uint16_t current_HP;
uint16_t maximum_HP;
uint16_t shooter_barrel_cooling_value;
uint16_t shooter_barrel_heat_limit;
uint16_t chassis_power_limit;
uint8_t power_management_gimbal_output : 1;
uint8_t power_management_chassis_output : 1;
uint8_t power_management_shooter_output : 1;
} Referee_RobotStatus_t;
typedef struct __attribute__((packed)) {
uint16_t chassis_volt;
uint16_t chassis_amp;
float chassis_watt;
uint16_t chassis_pwr_buff;
uint16_t shooter_17mm_barrel_heat;
uint16_t shooter_42mm_barrel_heat;
} Referee_PowerHeat_t;
typedef struct __attribute__((packed)) {
uint8_t bullet_type;
uint8_t shooter_id;
uint8_t bullet_freq;
float bullet_speed;
} Referee_ShootData_t;
/* ---- 转发包:各 module/task 消费 ---- */
typedef struct {
Referee_Status_t ref_status;
float chassis_watt;
float chassis_power_limit;
float chassis_pwr_buff;
} Referee_ForCap_t;
typedef struct {
Referee_Status_t ref_status;
} Referee_ForAI_t;
typedef struct {
Referee_Status_t ref_status;
float chassis_power_limit;
float chassis_pwr_buff;
} Referee_ForChassis_t;
typedef struct {
Referee_Status_t ref_status;
Referee_PowerHeat_t power_heat;
Referee_RobotStatus_t robot_status;
Referee_ShootData_t shoot_data;
} Referee_ForShoot_t;
/* ---- 屏幕分辨率 & UI 指令 ---- */
typedef struct {
uint16_t width;
uint16_t height;
} Referee_Screen_t;
typedef enum {
UI_NOTHING,
UI_AUTO_AIM_START,
UI_AUTO_AIM_STOP,
UI_HIT_SWITCH_START,
UI_HIT_SWITCH_STOP
} Referee_UI_CMD_t;
#ifdef __cplusplus
}
#endif

View File

@ -96,7 +96,14 @@ uint8_t get_supercap_energy(void);
uint32_t get_chassis_energy_from_supercap(void);
int8_t PowerLimit_Output(float power_limit, float *motor_out, uint32_t len);
/* UI 导出结构(供 referee 系统绘制) */
typedef struct {
float percentage;
SuperCapReadyEnum ready;//超电状态
SuperCapStateEnum status;//超电是否可用
uint8_t online;//超电是否离线
// CAN_CapStatus_t status;
} Cap_RefereeUI_t;
#ifdef __cplusplus
}
#endif /*SUPERCAP_H*/

269
User/module/aimbot.c Normal file
View File

@ -0,0 +1,269 @@
#include "module/aimbot.h"
#include "device/device.h"
#include "bsp/uart.h"
#include "component/crc16.h"
#include <string.h>
/* =====================================================================
* FDCAN ?
* 使IMU
* ===================================================================== */
#define FB_FRAME_DATA 0u /* 弹速(4B)+弹数(2B)+模式(1B)+保留(1B) */
/* =====================================================================
* UART <EFBFBD>?<EFBFBD>?PC<EFBFBD>?
* ===================================================================== */
int8_t Aimbot_AIStartRecv(Aimbot_AI_t *ai) {
if (BSP_UART_Receive(BSP_UART_AI, (uint8_t *)ai, sizeof(*ai), true) == DEVICE_OK) {
return DEVICE_OK;
}
return DEVICE_ERR;
}
int8_t Aimbot_AIGetResult(Aimbot_AI_t *ai, Aimbot_AIResult_t *result) {
if (ai->head[0] != 'M' || ai->head[1] != 'R') {
return DEVICE_ERR;
}
if (!CRC16_Verify((const uint8_t *)ai, sizeof(*ai))) {
return DEVICE_ERR;
}
result->mode = ai->mode;
result->gimbal_t.setpoint.yaw = ai->yaw;
result->gimbal_t.vel.yaw = ai->yaw_vel;
result->gimbal_t.accl.yaw = ai->yaw_acc;
result->gimbal_t.setpoint.pit = ai->pitch;
result->gimbal_t.vel.pit = ai->pitch_vel;
result->gimbal_t.accl.pit = ai->pitch_acc;
return DEVICE_OK;
}
/**
* @brief MCU UART <EFBFBD>?
* <EFBFBD>?quat gimbal_fb->imu<EFBFBD>?
*/
int8_t Aimbot_MCUPack(Aimbot_MCU_t *mcu, const Gimbal_Feedback_t *gimbal_fb,
const AHRS_Quaternion_t *quat,
float bullet_speed, uint16_t bullet_count, uint8_t mode) {
if (mcu == NULL || gimbal_fb == NULL || quat == NULL) {
return DEVICE_ERR_NULL;
}
mcu->head[0] = 'M';
mcu->head[1] = 'R';
mcu->mode = mode;
mcu->q[0] = quat->q0;
mcu->q[1] = quat->q1;
mcu->q[2] = quat->q2;
mcu->q[3] = quat->q3;
mcu->yaw = gimbal_fb->imu.eulr.yaw;
mcu->yaw_vel = gimbal_fb->imu.gyro.z;
mcu->pitch = gimbal_fb->imu.eulr.pit;
mcu->pitch_vel = gimbal_fb->imu.gyro.x;
mcu->bullet_speed = bullet_speed;
mcu->bullet_count = bullet_count;
mcu->crc16 = CRC16_Calc((const uint8_t *)mcu,
sizeof(*mcu) - sizeof(uint16_t), CRC16_INIT);
if (!CRC16_Verify((const uint8_t *)mcu, sizeof(*mcu))) {
return DEVICE_ERR;
}
return DEVICE_OK;
}
int8_t Aimbot_MCUStartSend(Aimbot_MCU_t *mcu) {
if (BSP_UART_Transmit(BSP_UART_AI, (uint8_t *)mcu, sizeof(*mcu), true) == DEVICE_OK) {
return DEVICE_OK;
}
return DEVICE_ERR;
}
/* =====================================================================
* CAN <EFBFBD>?
* ===================================================================== */
/**
* @brief <EFBFBD>?Aimbot CAN <EFBFBD>?
* cmd_id fb_base_id <EFBFBD>?6 <EFBFBD>?ID<EFBFBD>?
* ID/<EFBFBD>?
*/
int8_t Aimbot_Init(Aimbot_Param_t *param) {
if (param == NULL) return DEVICE_ERR_NULL;
BSP_FDCAN_Init();
/* 注册 AI 指令帧队列(下层板接收/上层板发送) */
BSP_FDCAN_RegisterId(param->can, param->cmd_id,
BSP_FDCAN_DEFAULT_QUEUE_SIZE);
for (uint8_t i = 0; i < 3; i++) {
BSP_CAN_RegisterId(param->can, param->cmd_id + i,
10);
}
/* 注册反馈数据帧队列(上层板接收/下层板发送) */
for (uint8_t i = 0; i < AIMBOT_FB_FRAME_NUM; i++) {
BSP_FDCAN_RegisterId(param->can, param->fb_base_id + i,
BSP_FDCAN_DEFAULT_QUEUE_SIZE);
}
return DEVICE_OK;
}
/**
* @brief <EFBFBD>?Gimbal/IMU/Shoot CAN <EFBFBD>?
/**
* @brief CAN
*/
int8_t Aimbot_PackFeedback(Aimbot_FeedbackData_t *fb,
float bullet_speed, uint16_t bullet_count,
uint8_t mode) {
if (fb == NULL) {
return DEVICE_ERR_NULL;
}
fb->mode = mode;
fb->bullet_speed = bullet_speed;
fb->bullet_count = bullet_count;
return DEVICE_OK;
}
/**
* @brief 1 CAN
*
* 8
* 0: bullet_speed(float,4B) bullet_count(uint16,2B) mode(1B) rsv(1B)
*/
void Aimbot_SendFeedbackOnCAN(const Aimbot_Param_t *param,
const Aimbot_FeedbackData_t *fb) {
if (param == NULL || fb == NULL) return;
BSP_FDCAN_StdDataFrame_t frame;
frame.dlc = AIMBOT_CAN_DLC;
/* 帧0: 弹速 + 弹数 + 模式 */
frame.id = param->fb_base_id + FB_FRAME_DATA;
memcpy(&frame.data[0], &fb->bullet_speed, 4);
frame.data[4] = (uint8_t)(fb->bullet_count & 0xFFu);
frame.data[5] = (uint8_t)((fb->bullet_count >> 8u) & 0xFFu);
frame.data[6] = fb->mode;
frame.data[7] = 0u;
BSP_FDCAN_TransmitStdDataFrame(param->can, &frame);
}
/**
* @brief CAN <EFBFBD>?AI <EFBFBD>?
*
* 8 vision_bridge <EFBFBD>?
* data[0] : mode (1B)
* data[1..3.5] : yaw (28bit <EFBFBD>?.1µrad/LSB)
* data[4.5..7] : pit (28bit <EFBFBD>?.1µrad/LSB)
*
* @return DEVICE_OK
* DEVICE_ERR
*/
int8_t Aimbot_ParseCmdFromCAN(const Aimbot_Param_t *param,
Aimbot_AIResult_t *result) {
if (param == NULL || result == NULL) return DEVICE_ERR_NULL;
BSP_FDCAN_Message_t msg;
int8_t ret = DEVICE_ERR;
if (BSP_FDCAN_GetMessage(param->can, param->cmd_id, &msg,
BSP_FDCAN_TIMEOUT_IMMEDIATE) == 0) {
result->mode = msg.data[0];
/* 解析 yaw高 28 位),符号扩展为 int32 */
int32_t yaw_raw = (int32_t)(((uint32_t)msg.data[1] << 20u) |
((uint32_t)msg.data[2] << 12u) |
((uint32_t)msg.data[3] << 4u) |
((uint32_t)(msg.data[4] >> 4u) & 0xFu));
if (yaw_raw & 0x08000000) yaw_raw |= (int32_t)0xF0000000;
result->gimbal_t.setpoint.yaw = (float)yaw_raw / AIMBOT_ANGLE_SCALE;
/* 解析 pit低 28 位),符号扩展为 int32 */
int32_t pit_raw = (int32_t)(((uint32_t)(msg.data[4] & 0xFu) << 24u) |
((uint32_t)msg.data[5] << 16u) |
((uint32_t)msg.data[6] << 8u) |
(uint32_t)msg.data[7]);
if (pit_raw & 0x08000000) pit_raw |= (int32_t)0xF0000000;
result->gimbal_t.setpoint.pit = (float)pit_raw / AIMBOT_ANGLE_SCALE;
ret = DEVICE_OK;
}
if (BSP_FDCAN_GetMessage(param->can, param->cmd_id + 1, &msg,
BSP_FDCAN_TIMEOUT_IMMEDIATE) == 0) {
memcpy(&result->gimbal_t.vel.yaw, &msg.data[0], 4);
memcpy(&result->gimbal_t.vel.pit, &msg.data[4], 4);
ret = DEVICE_OK;
}
if (BSP_FDCAN_GetMessage(param->can, param->cmd_id + 2, &msg,
BSP_FDCAN_TIMEOUT_IMMEDIATE) == 0) {
memcpy(&result->gimbal_t.accl.yaw, &msg.data[0], 4);
memcpy(&result->gimbal_t.accl.pit, &msg.data[4], 4);
ret = DEVICE_OK;
}
return ret;
}
/**
* @brief AI CAN 8 <EFBFBD>?
*
* <EFBFBD>?vision_bridge.c <EFBFBD>?AI_SendCmdOnFDCAN
* <EFBFBD>?vision_bridge <EFBFBD>?
*/
void Aimbot_SendCmdOnCAN(const Aimbot_Param_t *param,
const Aimbot_AIResult_t *cmd) {
if (param == NULL || cmd == NULL) return;
const int32_t yaw = (int32_t)(cmd->gimbal_t.setpoint.yaw * AIMBOT_ANGLE_SCALE);
const int32_t pit = (int32_t)(cmd->gimbal_t.setpoint.pit * AIMBOT_ANGLE_SCALE);
BSP_FDCAN_StdDataFrame_t frame = {0};
frame.id = param->cmd_id;
frame.dlc = AIMBOT_CAN_DLC;
frame.data[0] = cmd->mode;
frame.data[1] = (uint8_t)((yaw >> 20) & 0xFF);
frame.data[2] = (uint8_t)((yaw >> 12) & 0xFF);
frame.data[3] = (uint8_t)((yaw >> 4) & 0xFF);
frame.data[4] = (uint8_t)(((yaw & 0xF) << 4) | ((pit >> 24) & 0xF));
frame.data[5] = (uint8_t)((pit >> 16) & 0xFF);
frame.data[6] = (uint8_t)((pit >> 8) & 0xFF);
frame.data[7] = (uint8_t)(pit & 0xFF);
BSP_FDCAN_TransmitStdDataFrame(param->can, &frame);
/* 第二帧:发速度 */
frame.id = param->cmd_id + 1;
memcpy(&frame.data[0], &cmd->gimbal_t.vel.yaw, 4);
memcpy(&frame.data[4], &cmd->gimbal_t.vel.pit, 4);
BSP_FDCAN_TransmitStdDataFrame(param->can, &frame);
/* 第三帧:发加速度 */
frame.id = param->cmd_id + 2;
memcpy(&frame.data[0], &cmd->gimbal_t.accl.yaw, 4);
memcpy(&frame.data[4], &cmd->gimbal_t.accl.pit, 4);
BSP_FDCAN_TransmitStdDataFrame(param->can, &frame);
}
/**
* @brief CAN 1
*
* @return DEVICE_OK
*/
int8_t Aimbot_ParseFeedbackFromCAN(const Aimbot_Param_t *param,
Aimbot_FeedbackData_t *fb) {
if (param == NULL || fb == NULL) return DEVICE_ERR_NULL;
BSP_FDCAN_Message_t msg;
/* 帧0: 弹速 + 弹数 + 模式 */
if (BSP_FDCAN_GetMessage(param->can,
param->fb_base_id + FB_FRAME_DATA,
&msg, BSP_FDCAN_TIMEOUT_IMMEDIATE) == 0) {
memcpy(&fb->bullet_speed, &msg.data[0], 4);
fb->bullet_count = (uint16_t)(msg.data[4] | ((uint16_t)msg.data[5] << 8u));
fb->mode = msg.data[6];
}
return DEVICE_OK;
}

174
User/module/aimbot.h Normal file
View File

@ -0,0 +1,174 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ----------------------------------------------------------------- */
#include "component/user_math.h"
#include "module/gimbal.h"
#include "bsp/can.h"
#include <stdint.h>
// 数据包协议定义UART 通信使用 head[2]={'M', 'R'} 标识)
/* ============================ CAN 通信定义 ============================
* <----> <--CAN-->
*
* 使IMUatti_esti
*
* 8
* 0 (fb_base_id+0): (4B) + (2B) + (1B) + (1B)
*
* AI 8
* (cmd_id): mode(1B) + yaw(28bit) + pit(28bit) 0.1µrad
* ====================================================================== */
#define AIMBOT_FB_FRAME_NUM 1u /* 反馈数据帧总数(仅下层三字段) */
#define AIMBOT_CAN_DLC 8u /* CAN 帧数据长度 */
#define AIMBOT_ANGLE_SCALE 10000000.0f /* 指令角度定点数比例0.1µrad/LSB */
/* CAN 通信参数结构体 */
typedef struct {
BSP_CAN_t can; /* 使用的 CAN 总线实例 */
uint32_t cmd_id; /* 上层板→下层板 AI 指令帧 CAN ID */
uint32_t fb_base_id; /* 下层板→上层板 反馈数据起始 CAN ID */
} Aimbot_Param_t;
/* CAN 反馈数据结构体(下层板打包后经 CAN 发给上层板的内容)
* bullet_speed / bullet_count / mode */
typedef struct {
uint8_t mode; /* 下层板当前工作模式 */
float bullet_speed; /* 弹速m/s */
uint16_t bullet_count; /* 子弹累计发射次数 */
} Aimbot_FeedbackData_t;
/*-----------------------------to上位机---------------------------------*/
typedef struct __attribute__((packed))
{
uint8_t head[2]; // 数据包头: {'M', 'R'}
uint8_t mode; // 0: 空闲, 1: 自瞄, 2: 小符, 3: 大符
float q[4]; // 四元数 wxyz 顺序
float yaw; // 偏航角
float yaw_vel; // 偏航角速度
float pitch; // 俯仰角
float pitch_vel; // 俯仰角速度
float bullet_speed; // 弹速
uint16_t bullet_count; // 子弹累计发送次数
uint16_t crc16; // CRC16 校验
} Aimbot_MCU_t;
// 裁判系统数据结构
typedef struct __attribute__((packed))
{
uint16_t remain_hp; // 剩余血量
uint8_t game_progress : 4; // 比赛进度
uint16_t stage_remain_time; // 比赛剩余时间
} Aimbot_RefereeData_t;
typedef struct __attribute__((packed))
{
uint8_t id; // 数据包 ID: 0xA8
Aimbot_RefereeData_t data;
uint16_t crc16;
} Aimbot_Referee_t;
/*------------------------------------上位机back-------------------------------------*/
typedef struct __attribute__((packed))
{
uint8_t head[2]; // 数据包头: {'M', 'R'}
uint8_t mode; // 0: 不控制, 1: 控制云台但不开火2: 控制云台且开火
float yaw; // 目标偏航角
float yaw_vel; // 偏航角速度
float yaw_acc; // 偏航角加速度
float pitch; // 目标俯仰角
float pitch_vel; // 俯仰角速度
float pitch_acc; // 俯仰角加速度
uint16_t crc16; // CRC16 校验
} Aimbot_AI_t;
typedef struct __attribute__((packed)) {
uint8_t mode; // 0: 不控制, 1: 控制云台但不开火, 2: 控制云台且开火
struct{
// Gimbal_CMD_t g_cmd;
struct{
float yaw; // 目标偏航角
float pit; // 目标俯仰角
}setpoint;
struct{
float pit; // 俯仰角加速度
float yaw; // 偏航角加速度
}accl;
struct{
float pit; // 俯仰角速度
float yaw; // 偏航角速度
}vel;
}gimbal_t;
struct{
float Vx; // X 方向速度
float Vy; // Y 方向速度
float Vw; // Z 方向角速度
}chassis_t;
uint8_t reserved; // 预留字段
} Aimbot_AIResult_t; // 解析后的AI控制指令
/* ---------- UART 通信接口(上层板与上位机 PC 间) ---------- */
int8_t Aimbot_MCUPack(Aimbot_MCU_t *mcu, const Gimbal_feedback_t *gimbal_fb,
const AHRS_Quaternion_t *quat,
float bullet_speed, uint16_t bullet_count, uint8_t mode);
int8_t Aimbot_MCUStartSend(Aimbot_MCU_t *mcu);
int8_t Aimbot_AIGetResult(Aimbot_AI_t *ai, Aimbot_AIResult_t *result);
int8_t Aimbot_AIStartRecv(Aimbot_AI_t *ai);
/* ---------- CAN 通信接口(下层板与上层板间) ---------- */
/**
* @brief Aimbot CAN CAN ID
* @param param CAN
* @return DEVICE_OK / DEVICE_ERR_NULL
*/
int8_t Aimbot_Init(Aimbot_Param_t *param);
/**
* @brief
* @param fb
* @param bullet_speed m/s
* @param bullet_count
* @param mode
*/
int8_t Aimbot_PackFeedback(Aimbot_FeedbackData_t *fb,
float bullet_speed, uint16_t bullet_count,
uint8_t mode);
/**
* @brief CAN 1
*/
void Aimbot_SendFeedbackOnCAN(const Aimbot_Param_t *param,
const Aimbot_FeedbackData_t *fb);
/**
* @brief CAN AI
* @return DEVICE_OK DEVICE_ERR
*/
int8_t Aimbot_ParseCmdFromCAN(const Aimbot_Param_t *param,
Aimbot_AIResult_t *result);
/**
* @brief CAN AI 8
*/
void Aimbot_SendCmdOnCAN(const Aimbot_Param_t *param,
const Aimbot_AIResult_t *cmd);
/**
* @brief CAN
* @return DEVICE_OK OK
*/
int8_t Aimbot_ParseFeedbackFromCAN(const Aimbot_Param_t *param,
Aimbot_FeedbackData_t *fb);
#ifdef __cplusplus
}
#endif

View File

@ -40,7 +40,7 @@ chassis_init(&chassis,&Config_GetRobotParam()->chassis,CHASSIS_FREQ);
#include "math.h"
#include "component/pid.h"
#include "component/filter.h"
#include "module/cmd.h"
#include "module/cmd/cmd.h"
#include "stdlib.h"
/*舵轮舵向校准方法注释掉关于6020反馈角度的处理以及6020数据的发送这两处(define.h里有快捷方法)

View File

@ -84,6 +84,7 @@ extern "C"
} Chassis_out_t;
/*底盘模式*/
typedef enum
{
@ -104,6 +105,15 @@ typedef enum
}Chassis_ctrl_mode_t;
/* UI 导出结构(供 referee 系统绘制) */
typedef struct {
Chassis_Mode_t mode;
float angle;
/* 轮腿角度和距轮长 */
float l0[2];
float theta[2];
} Chassis_RefereeUI_t;
typedef struct
{
int cmd_power_on_safe; // 上电安全标志

View File

@ -1,316 +0,0 @@
/*
* CMD V2 -
*/
#include "module/cmd.h"
#include "bsp/time.h"
#include "chassis.h"
#include <stdint.h>
#include <string.h>
/* ========================================================================== */
/* 命令构建函数 */
/* ========================================================================== */
/* 从RC输入生成底盘命令 */
static void CMD_RC_BuildChassisCmd(CMD_t *ctx) {
CMD_RCModeMap_t *map = &ctx->config->rc_mode_map;
/* 根据左拨杆位置选择模式 */
switch (ctx->input.rc.sw[0]) {
case CMD_SW_UP:
ctx->output.chassis.cmd.mode = map->sw_left_up;
break;
case CMD_SW_MID:
ctx->output.chassis.cmd.mode = map->sw_left_mid;
break;
case CMD_SW_DOWN:
ctx->output.chassis.cmd.mode = map->sw_left_down;
break;
default:
ctx->output.chassis.cmd.mode = CHASSIS_MODE_RELAX;
break;
}
/* 左摇杆控制移动 */
ctx->output.chassis.cmd.Vx = ctx->input.rc.joy_right.x;
ctx->output.chassis.cmd.Vy = ctx->input.rc.joy_right.y;
}
/* 从RC输入生成云台命令 */
static void CMD_RC_BuildGimbalCmd(CMD_t *ctx) {
CMD_RCModeMap_t *map = &ctx->config->rc_mode_map;
/* 根据拨杆选择云台模式 */
switch (ctx->input.rc.sw[4]) {
case CMD_SW_UP:
ctx->output.gimbal.cmd.mode = map->gimbal_sw_up;
break;
case CMD_SW_MID:
ctx->output.gimbal.cmd.mode = map->gimbal_sw_mid;
break;
case CMD_SW_DOWN:
ctx->output.gimbal.cmd.mode = map->gimbal_sw_down;
break;
default:
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELAX;
break;
}
/* 右摇杆控制云台 */
ctx->output.gimbal.cmd.delta_yaw_6020 = -ctx->input.rc.joy_left.x * 2.0f;
ctx->output.gimbal.cmd.delta_yaw_4310 = -ctx->input.rc.joy_left.x * 1.2f;
ctx->output.gimbal.cmd.delta_pitch_4310 = -ctx->input.rc.joy_left.y * 1.5f;
}
/* 从RC输入生成射击命令 */
static void CMD_RC_BuildShootCmd(CMD_t *ctx) {
if (ctx->input.online[CMD_SRC_RC]) {
ctx->output.shoot.cmd.mode = SHOOT_MODE_SINGLE;
} else {
ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE;
}
/* C拨杆选择发弹模式上单发中多发下连发 */
switch (ctx->input.rc.sw[2]) {
case CMD_SW_DOWN:
ctx->output.shoot.cmd.mode = SHOOT_MODE_CONTINUE;
break;
case CMD_SW_MID:
ctx->output.shoot.cmd.mode = SHOOT_MODE_BURST;
break;
case CMD_SW_UP:
ctx->output.shoot.cmd.mode = SHOOT_MODE_SINGLE;
break;
default:
ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE;
break;
}
/* 根据D拨杆控制射击 */
switch (ctx->input.rc.sw[3]) {
case CMD_SW_DOWN:
ctx->output.shoot.cmd.ready = true;
ctx->output.shoot.cmd.firecmd = true;
break;
case CMD_SW_MID:
ctx->output.shoot.cmd.ready = true;
ctx->output.shoot.cmd.firecmd = false;
break;
case CMD_SW_UP:
ctx->output.shoot.cmd.ready = false;
ctx->output.shoot.cmd.firecmd = false;
default:
ctx->output.shoot.cmd.ready = false;
ctx->output.shoot.cmd.firecmd = false;
break;
}
switch (ctx->input.rc.sw[1]) {
case CMD_SW_UP:
ctx->output.chassis.cmd.ctrl_mode = CHASSIS_MODE_RC;
ctx->output.gimbal.cmd.ctrl_mode = GIMBAL_MODE_REMOTE;
ctx->output.shoot.cmd.control_mode = SHOOT_REMOTE;
break;
case CMD_SW_MID:
ctx->output.chassis.cmd.ctrl_mode = CHASSIS_MODE_DAOHANG;
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_DAOHANG;
ctx->output.shoot.cmd.control_mode = SHOOT_REMOTE;
break;
case CMD_SW_DOWN:
ctx->output.chassis.cmd.ctrl_mode = CHASSIS_MODE_FOLLOW_GIMBAL;
ctx->output.gimbal.cmd.ctrl_mode = GIMBAL_MODE_SCAN;
ctx->output.shoot.cmd.control_mode = SHOOT_AI;
break;
default:
ctx->output.chassis.cmd.mode = CHASSIS_MODE_RELAX;
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELAX;
ctx->output.shoot.cmd.control_mode = SHOOT_REMOTE;
break;
}
/* sw[5] (F拨杆): 下=纯AI自瞄(无扫描), 上/中=保持B拨杆的设定 */
if (ctx->input.rc.sw[5] == CMD_SW_DOWN) {
ctx->output.gimbal.cmd.ctrl_mode = GIMBAL_MODE_AI;
ctx->output.shoot.cmd.control_mode = SHOOT_AI;
}
}
/* 从PC输入生成底盘命令 */
static void CMD_PC_BuildChassisCmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.chassis.cmd.mode = CHASSIS_MODE_RELAX;
return;
}
ctx->output.chassis.cmd.mode = CHASSIS_MODE_FOLLOW_GIMBAL;
/* WASD控制移动 */
ctx->output.chassis.cmd.Vx = 0.0f;
ctx->output.chassis.cmd.Vy = 0.0f;
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_CHASSIS);
}
/* 从PC输入生成云台命令 */
static void CMD_PC_BuildGimbalCmd(CMD_t *ctx) {
CMD_Sensitivity_t *sens = &ctx->config->sensitivity;
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELAX;
return;
}
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_ABSOLUTE;
/* 鼠标控制云台 */
ctx->output.gimbal.cmd.delta_yaw_6020 = (float)-ctx->input.pc.mouse.x * ctx->timer.dt * sens->mouse_sens;
ctx->output.gimbal.cmd.delta_pitch_4310 = (float)ctx->input.pc.mouse.y * ctx->timer.dt * sens->mouse_sens * 1.5f;
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_GIMBAL);
}
/* 从PC输入生成射击命令 */
static void CMD_PC_BuildShootCmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE;
return;
}
ctx->output.shoot.cmd.ready = true;
ctx->output.shoot.cmd.firecmd = ctx->input.pc.mouse.l_click;
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_SHOOT);
}
/* 离线安全模式 */
static void CMD_SetOfflineMode(CMD_t *ctx) {
ctx->output.chassis.cmd.mode = CHASSIS_MODE_RELAX;
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELAX;
ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE;
}
/* ========================================================================== */
/* 公开API实现 */
/* ========================================================================== */
int8_t CMD_Init(CMD_t *ctx, CMD_Config_t *config) {
if (ctx == NULL || config == NULL) {
return CMD_ERR_NULL;
}
memset(ctx, 0, sizeof(CMD_t));
ctx->config = config;
/* 初始化适配器 */
CMD_Adapter_InitAll();
/* 初始化行为处理器 */
CMD_Behavior_Init();
return CMD_OK;
}
int8_t CMD_UpdateInput(CMD_t *ctx) {
if (ctx == NULL) {
return CMD_ERR_NULL;
}
/* 保存上一帧输入 */
memcpy(&ctx->last_input, &ctx->input, sizeof(ctx->input));
/* 更新所有输入源 */
for (int i = 0; i < CMD_SRC_NUM; i++) {
CMD_Adapter_GetInput((CMD_InputSource_t)i, &ctx->input);
}
return CMD_OK;
}
typedef void (*CMD_BuildCommandFunc)(CMD_t *cmd);
typedef struct {
CMD_InputSource_t source;
CMD_BuildCommandFunc chassisFunc;
CMD_BuildCommandFunc gimbalFunc;
CMD_BuildCommandFunc shootFunc;
} CMD_SourceHandler_t;
CMD_SourceHandler_t sourceHandlers[CMD_SRC_NUM] = {
{CMD_SRC_RC, CMD_RC_BuildChassisCmd, CMD_RC_BuildGimbalCmd, CMD_RC_BuildShootCmd},
{CMD_SRC_PC, CMD_PC_BuildChassisCmd, CMD_PC_BuildGimbalCmd, CMD_PC_BuildShootCmd},
{CMD_SRC_NUC, NULL, NULL, NULL},
{CMD_SRC_REF, NULL, NULL, NULL},
};
int8_t CMD_Arbitrate(CMD_t *ctx) {
if (ctx == NULL) {
return CMD_ERR_NULL;
}
/* 自动仲裁:优先级 PC > RC > NUC */
CMD_InputSource_t candidates[] = {CMD_SRC_RC, CMD_SRC_PC, CMD_SRC_NUC};
const int num_candidates = sizeof(candidates) / sizeof(candidates[0]);
/* 如果当前输入源仍然在线且有效,保持使用 */
if (ctx->active_source < CMD_SRC_NUM &&
ctx->active_source != CMD_SRC_REF &&
ctx->input.online[ctx->active_source]) {
goto seize;
}
/* 否则选择第一个可用的控制输入源 */
for (int i = 0; i < num_candidates; i++) {
CMD_InputSource_t src = candidates[i];
if (ctx->input.online[src]) {
ctx->active_source = src;
break;
}else {
ctx->active_source = CMD_SRC_NUM;
continue;
}
}
ctx->output.chassis.source = ctx->active_source;
ctx->output.gimbal.source = ctx->active_source;
ctx->output.shoot.source = ctx->active_source;
/* 优先级抢占逻辑 */
seize:
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_NONE);
return CMD_OK;
}
int8_t CMD_GenerateCommands(CMD_t *ctx) {
if (ctx == NULL) {
return CMD_ERR_NULL;
}
/* 更新时间 */
uint64_t now_us = BSP_TIME_Get_us();
ctx->timer.now = now_us / 1000000.0f;
ctx->timer.dt = (now_us - ctx->timer.last_us) / 1000000.0f;
ctx->timer.last_us = now_us;
/* 没有有效输入源 */
if (ctx->active_source >= CMD_SRC_NUM) {
CMD_SetOfflineMode(ctx);
return CMD_ERR_NO_INPUT;
}
sourceHandlers[ctx->output.gimbal.source].gimbalFunc(ctx);
sourceHandlers[ctx->output.chassis.source].chassisFunc(ctx);
sourceHandlers[ctx->output.shoot.source].shootFunc(ctx);
return CMD_OK;
}
int8_t CMD_Update(CMD_t *ctx) {
int8_t ret;
ret = CMD_UpdateInput(ctx);
if (ret != CMD_OK) return ret;
CMD_Arbitrate(ctx);
ret = CMD_GenerateCommands(ctx);
return ret;
}

748
User/module/cmd/cmd.c Normal file
View File

@ -0,0 +1,748 @@
/*
* CMD V2 -
*/
#include "cmd.h"
#include "bsp/time.h"
#include "module/cmd/cmd_types.h"
#include "module/gimbal.h"
#include "module/shoot.h"
#include <stdint.h>
#include <string.h>
/* ========================================================================== */
/* 命令构建函数 */
/* ========================================================================== */
/* 从RC输入生成底盘命令 */
#if CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_CHASSIS
static void CMD_RC_BuildChassisCmd(CMD_t *ctx) {
CMD_RCModeMap_t *map = &ctx->config->rc_mode_map;
/* 根据左拨杆位置选择模式 */
switch (ctx->input.rc.sw[0]) {
case CMD_SW_UP:
ctx->output.chassis.cmd.mode = map->sw_left_up;
break;
case CMD_SW_MID:
ctx->output.chassis.cmd.mode = map->sw_left_mid;
break;
case CMD_SW_DOWN:
ctx->output.chassis.cmd.mode = map->sw_left_down;
break;
default:
ctx->output.chassis.cmd.mode = CHASSIS_MODE_RELAX;
break;
}
/* 摇杆控制移动 */
ctx->output.chassis.cmd.Vx = ctx->input.rc.joy_right.x;
ctx->output.chassis.cmd.Vy = ctx->input.rc.joy_right.y;
ctx->output.chassis.cmd.Vw = ctx->input.rc.joy_left.x;
}
#endif /* CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_CHASSIS */
/* 从 RC 输入生成云台命令 */
#if CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_GIMBAL
static void CMD_RC_BuildGimbalCmd(CMD_t *ctx) {
CMD_RCModeMap_t *map = &ctx->config->rc_mode_map;
/* 根据拨杆选择云台模式 */
switch (ctx->input.rc.sw[0]) {
case CMD_SW_UP:
ctx->output.gimbal.cmd.mode = map->gimbal_sw_up;
break;
case CMD_SW_MID:
ctx->output.gimbal.cmd.mode = map->gimbal_sw_mid;
break;
case CMD_SW_DOWN:
ctx->output.gimbal.cmd.mode = map->gimbal_sw_down;
break;
default:
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELAX;
break;
}
/* 左摇杆控制云台 */
ctx->output.gimbal.cmd.delta_yaw_4310 = -ctx->input.rc.joy_right.x * 5.0f;
ctx->output.gimbal.cmd.delta_pitch_4310 = ctx->input.rc.joy_right.y * 5.0f;
}
#endif /* CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_GIMBAL */
/* 从 RC 输入生成射击命令 */
#if CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_SHOOT
static void CMD_RC_BuildShootCmd(CMD_t *ctx) {
if (ctx->input.online[CMD_SRC_RC]) {
ctx->output.shoot.cmd.mode = SHOOT_MODE_SINGLE;
} else {
ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE;
}
/* 根据右拨杆控制射击 */
switch (ctx->input.rc.sw[1]) {
case CMD_SW_DOWN:
ctx->output.shoot.cmd.ready = true;
ctx->output.shoot.cmd.firecmd = true;
break;
case CMD_SW_MID:
ctx->output.shoot.cmd.ready = true;
ctx->output.shoot.cmd.firecmd = false;
break;
case CMD_SW_UP:
default:
ctx->output.shoot.cmd.ready = false;
ctx->output.shoot.cmd.firecmd = false;
break;
}
}
#endif /* CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_SHOOT */
/* 从 RC 输入生成履带命令 */
#if CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_TRACK
static void CMD_RC_BuildTrackCmd(CMD_t *ctx) {
CMD_RCModeMap_t *map = &ctx->config->rc_mode_map;
if (!ctx->input.online[CMD_SRC_RC]) {
ctx->output.track.cmd.enable = false;
ctx->output.track.cmd.vel = 0.0f;
ctx->output.track.cmd.omega = 0.0f;
return;
}
switch (ctx->input.rc.sw[0]) {
case CMD_SW_UP:
ctx->output.track.cmd.enable = map->track_sw_up;
break;
case CMD_SW_MID:
ctx->output.track.cmd.enable = map->track_sw_mid;
break;
case CMD_SW_DOWN:
ctx->output.track.cmd.enable = map->track_sw_down;
break;
default:
ctx->output.track.cmd.enable = false;
break;
}
ctx->output.track.cmd.enable = ctx->input.online[CMD_SRC_RC];
ctx->output.track.cmd.vel = ctx->input.rc.joy_right.y * 2.0f;
if(fabsf(ctx->input.rc.joy_right.y * 2.0f) > 1.0f)
ctx->output.track.cmd.vel = ctx->output.track.cmd.vel > 0 ? 1.0f
: -1.0f;
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_TRACK);
}
#endif /* CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_TRACK */
/* 从PC输入生成底盘命令 */
#if CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_CHASSIS
static void CMD_PC_BuildChassisCmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.chassis.cmd.mode = CHASSIS_MODE_RELAX;
return;
}
ctx->output.chassis.cmd.mode = CHASSIS_MODE_FOLLOW_GIMBAL;
/* WASD控制移动 */
ctx->output.chassis.cmd.Vx = 0.0f;
ctx->output.chassis.cmd.Vy = 0.0f;
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_CHASSIS);
}
#endif /* CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_CHASSIS */
/* 从PC输入生成云台命令 */
#if CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_GIMBAL
static void CMD_PC_BuildGimbalCmd(CMD_t *ctx) {
CMD_Sensitivity_t *sens = &ctx->config->sensitivity;
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELAX;
return;
}
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_ABSOLUTE;
/* 鼠标控制云台 */
ctx->output.gimbal.cmd.delta_yaw_4310 = (float)-ctx->input.pc.mouse.x * ctx->timer.dt * sens->mouse_sens;
ctx->output.gimbal.cmd.delta_pitch_4310 = (float)ctx->input.pc.mouse.y * ctx->timer.dt * sens->mouse_sens * 1.5f;
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_GIMBAL);
}
#endif /* CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_GIMBAL */
/* 从PC输入生成射击命令 */
#if CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_SHOOT
static void CMD_PC_BuildShootCmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE;
return;
}
ctx->output.shoot.cmd.ready = true;
ctx->output.shoot.cmd.firecmd = ctx->input.pc.mouse.l_click;
}
#endif /* CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_SHOOT */
/* 从PC输入生成履带命令 */
#if CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_TRACK
static void CMD_PC_BuildTrackCmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.track.cmd.enable = false;
ctx->output.track.cmd.vel = 0.0f;
ctx->output.track.cmd.omega = 0.0f;
return;
}
ctx->output.track.cmd.enable = true;
/* 可根据需要添加PC对履带的控制例如键盘按键 */
ctx->output.track.cmd.vel = 0.0f;
ctx->output.track.cmd.omega = 0.0f;
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_TRACK);
}
#endif /* CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_TRACK */
/* 从NUC/AI输入生成云台命令 */
#if CMD_ENABLE_SRC_NUC && CMD_ENABLE_MODULE_GIMBAL
static void CMD_NUC_BuildGimbalCmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_NUC]) {
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELAX;
return;
}
ctx->output.chassis.cmd.Vx = ctx->input.nuc.chassis.vx;
ctx->output.chassis.cmd.Vy = ctx->input.nuc.chassis.vy;
ctx->output.chassis.cmd.Vw = ctx->input.nuc.chassis.vw;
/* 使用AI提供的云台控制数据 */
#error "gimbal未写完"
// if (ctx->input.nuc.mode!=0) {
// ctx->output.gimbal.cmd.mode = GIMBAL_MODE_AI_CONTROL;
// ctx->output.gimbal.cmd.mode_ai = (uint8_t)ctx->input.nuc.mode; /* 直接使用AI模式细分字段 */
// ctx->output.gimbal.cmd.setpoint_yaw = ctx->input.nuc.gimbal.setpoint.yaw;
// ctx->output.gimbal.cmd.setpoint_pit = ctx->input.nuc.gimbal.setpoint.pit;
// ctx->output.gimbal.cmd.ff_vel_yaw = ctx->input.nuc.gimbal.vel.yaw;
// ctx->output.gimbal.cmd.ff_vel_pit = ctx->input.nuc.gimbal.vel.pit;
// ctx->output.gimbal.cmd.ff_accl_yaw = ctx->input.nuc.gimbal.accl.yaw;
// ctx->output.gimbal.cmd.ff_accl_pit = ctx->input.nuc.gimbal.accl.pit;
// }
}
#endif /* CMD_ENABLE_SRC_NUC && CMD_ENABLE_MODULE_GIMBAL */
/* 从 NUC/AI 输入生成射击命令 */
#if CMD_ENABLE_SRC_NUC && CMD_ENABLE_MODULE_SHOOT
static void CMD_NUC_BuildShootCmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_NUC]) {
ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE;
return;
}
/* 根据AI模式决定射击行为 */
switch (ctx->input.nuc.mode) {
case 0:
case 1:
/* mode=1 只控云台,不让射击机构进入 ready避免摩擦轮继续预转。 */
ctx->output.shoot.cmd.ready = false;
ctx->output.shoot.cmd.firecmd = false;
break;
case 2:
if ((ctx->active_source == CMD_SRC_PC && ctx->input.pc.mouse.l_click) ||
(ctx->active_source == CMD_SRC_RC && ctx->input.rc.sw[1] == CMD_SW_DOWN)) {
ctx->output.shoot.cmd.ready = true;
ctx->output.shoot.cmd.firecmd = true;
} else {
ctx->output.shoot.cmd.ready = true;
ctx->output.shoot.cmd.firecmd = false;
}
break;
default:
ctx->output.shoot.cmd.ready = false;
ctx->output.shoot.cmd.firecmd = false;
break;
}
}
#endif /* CMD_ENABLE_SRC_NUC && CMD_ENABLE_MODULE_SHOOT */
/* 从 RC 输入生成机械臂命令 */
#if CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_ARM
static void CMD_RC_BuildArmCmd(CMD_t *ctx) {
/*
* 姿
*
* SW_L (sw[0]) 使:
* UP /
* MID 使
* DOWN 使
*
* SW_R (sw[1]) :
*
* UP 3 +
* X (RX) X
* Y (RY) Y
* Y (LY) Z
* X (LX) Yaw
*
* MID 姿/姿 Z
* X (RX) Yaw
* Y (RY) Pitch
* X (LX) Roll
* Y (LY) Z
*
* DOWN set_target_as_current姿姿
*
* :
* = "末端去哪里"XY平移
* Y = "臂的高低" Z升降=
* X = / 姿
*/
ctx->output.arm.cmd.set_target_as_current = false;
if (ctx->input.rc.sw[1] == CMD_SW_DOWN) {
ctx->output.arm.cmd.set_target_as_current = true;
}
switch (ctx->input.rc.sw[0]) {
case CMD_SW_MID:
case CMD_SW_DOWN:
ctx->output.arm.cmd.enable = true;
break;
default:
ctx->output.arm.cmd.enable = false;
goto end;
}
/* 遥控器模式使用笛卡尔位姿累积控制 */
ctx->output.arm.cmd.ctrl_type = ARM_CTRL_REMOTE_CARTESIAN;
/* set_target_as_current 置位时不叠加摇杆增量,由上层负责同步位姿基准 */
if (ctx->output.arm.cmd.set_target_as_current) return;
/* 输出摇杆速度命令m/s, rad/s——不含 dt由arm_main在正确坐标系下积分到世界系 target_pose */
float pos_scale = 0.3f; /* 末端线速度上限 (m/s) */
float rot_scale = 1.0f; /* 末端角速度上限 (rad/s) */
memset(&ctx->output.arm.cmd.joy_vel, 0, sizeof(ctx->output.arm.cmd.joy_vel));
switch (ctx->input.rc.sw[1]) {
case CMD_SW_UP:
/* 位置模式3轴平移 + 偏航 */
ctx->output.arm.cmd.joy_vel.x = ctx->input.rc.joy_right.x * pos_scale;
ctx->output.arm.cmd.joy_vel.y = ctx->input.rc.joy_right.y * pos_scale;
ctx->output.arm.cmd.joy_vel.z = ctx->input.rc.joy_left.y * pos_scale;
ctx->output.arm.cmd.joy_vel.yaw = ctx->input.rc.joy_left.x * rot_scale;
break;
case CMD_SW_MID:
/* 姿态模式:俯仰 + 横滚 + 偏航 + 升降全6自由度可达Z/Yaw持续可调 */
ctx->output.arm.cmd.joy_vel.yaw = ctx->input.rc.joy_right.x * rot_scale;
ctx->output.arm.cmd.joy_vel.pitch = ctx->input.rc.joy_right.y * rot_scale;
ctx->output.arm.cmd.joy_vel.roll = ctx->input.rc.joy_left.x * rot_scale;
ctx->output.arm.cmd.joy_vel.z = ctx->input.rc.joy_left.y * pos_scale;
break;
default:
break;
}
end:
return;
}
#endif /* CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_ARM */
/* 从 PC 输入生成机械臂命令 */
#if CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_ARM
static void CMD_PC_BuildArmCmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.arm.cmd.enable = false;
return;
}
ctx->output.arm.cmd.enable = true;
ctx->output.arm.cmd.ctrl_type = ARM_CTRL_REMOTE_CARTESIAN;
/* 鼠标控制末端位坐 XY其他轴可根据需要扩展 */
float sens = ctx->config->sensitivity.mouse_sens * 0.001f;
ctx->output.arm.cmd.target_pose.x += (float)ctx->input.pc.mouse.x * sens * ctx->timer.dt;
ctx->output.arm.cmd.target_pose.y += (float)ctx->input.pc.mouse.y * sens * ctx->timer.dt;
}
#endif /* CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_ARM */
/* 从 RC 输入生成平衡底盘命令 */
#if CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_BALANCE_CHASSIS
static void CMD_RC_BuildBalanceChassisCmd(CMD_t *ctx) {
CMD_RCModeMap_t *map = &ctx->config->rc_mode_map;
switch (ctx->input.rc.sw[0]) {
case CMD_SW_UP:
ctx->output.balance_chassis.cmd.mode = map->balance_sw_up;
break;
case CMD_SW_MID:
ctx->output.balance_chassis.cmd.mode = map->balance_sw_mid;
break;
case CMD_SW_DOWN:
ctx->output.balance_chassis.cmd.mode = map->balance_sw_down;
break;
default:
ctx->output.balance_chassis.cmd.mode = CHASSIS_MODE_RELAX;
break;
}
/* 左摩杆Y/X → 平移右摩杆X → 转向 */
ctx->output.balance_chassis.cmd.move_vec.vx = ctx->input.rc.joy_left.y;
ctx->output.balance_chassis.cmd.move_vec.vy = ctx->input.rc.joy_left.x;
ctx->output.balance_chassis.cmd.move_vec.wz = ctx->input.rc.joy_right.x;
/* 拨轮传递目标高度 */
ctx->output.balance_chassis.cmd.height = ctx->input.rc.dial;
ctx->output.balance_chassis.cmd.jump_trigger = false;
}
#endif /* CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_BALANCE_CHASSIS */
/* 从 PC 输入生成平衡底盘命令 */
#if CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_BALANCE_CHASSIS
static void CMD_PC_BuildBalanceChassisCmd(CMD_t *ctx) {
CMD_Sensitivity_t *sens = &ctx->config->sensitivity;
if (!ctx->input.online[CMD_SRC_PC]) {
ctx->output.balance_chassis.cmd.mode = CHASSIS_MODE_RELAX;
return;
}
ctx->output.balance_chassis.cmd.move_vec.vx = 0.0f;
ctx->output.balance_chassis.cmd.move_vec.vy = 0.0f;
ctx->output.balance_chassis.cmd.move_vec.wz = 0.0f;
ctx->output.balance_chassis.cmd.mode = CHASSIS_MODE_WHELL_LEG_BALANCE;
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_BALANCE_CHASSIS);
}
#endif /* CMD_ENABLE_SRC_PC && CMD_ENABLE_MODULE_BALANCE_CHASSIS */
#if CMD_ENABLE_SRC_NUC && CMD_ENABLE_MODULE_REFUI
static void CMD_NUC_BuildRefUICmd(CMD_t *ctx) {
if (!ctx->input.online[CMD_SRC_NUC]) {
ctx->output.refui.cmd = UI_AUTO_AIM_STOP;
return;
}
ctx->output.refui.cmd = (ctx->input.nuc.mode != 0) ? UI_AUTO_AIM_START : UI_AUTO_AIM_STOP;
}
#endif /* CMD_ENABLE_SRC_NUC && CMD_ENABLE_MODULE_REFUI */
/* 离线安全模式 */
static void CMD_SetOfflineMode(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.cmd.mode = CHASSIS_MODE_RELAX;
#endif
#if CMD_ENABLE_MODULE_GIMBAL
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELAX;
#endif
#if CMD_ENABLE_MODULE_SHOOT
ctx->output.shoot.cmd.mode = SHOOT_MODE_SAFE;
#endif
#if CMD_ENABLE_MODULE_TRACK
ctx->output.track.cmd.enable = false;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.cmd.mode = CHASSIS_MODE_RELAX;
#endif
#if CMD_ENABLE_MODULE_ARM
ctx->output.arm.cmd.enable = false;
#endif
#if CMD_ENABLE_MODULE_REFUI
ctx->output.refui.cmd = UI_NOTHING;
#endif
}
/* ========================================================================== */
/* 公开API实现 */
/* ========================================================================== */
int8_t CMD_Init(CMD_t *ctx, CMD_Config_t *config) {
if (ctx == NULL || config == NULL) {
return CMD_ERR_NULL;
}
memset(ctx, 0, sizeof(CMD_t));
ctx->config = config;
/* 初始化适配器 */
CMD_Adapter_InitAll();
/* 初始化行为处理器 */
CMD_Behavior_Init();
return CMD_OK;
}
int8_t CMD_UpdateInput(CMD_t *ctx) {
if (ctx == NULL) {
return CMD_ERR_NULL;
}
/* 保存上一帧输入 */
memcpy(&ctx->last_input, &ctx->input, sizeof(ctx->input));
/* 更新所有输入源 */
for (int i = 0; i < CMD_SRC_NUM; i++) {
CMD_Adapter_GetInput((CMD_InputSource_t)i, &ctx->input);
}
return CMD_OK;
}
typedef void (*CMD_BuildCommandFunc)(CMD_t *cmd);
typedef struct {
CMD_InputSource_t source;
CMD_BuildCommandFunc chassisFunc;
CMD_BuildCommandFunc gimbalFunc;
CMD_BuildCommandFunc shootFunc;
CMD_BuildCommandFunc trackFunc;
CMD_BuildCommandFunc armFunc;
CMD_BuildCommandFunc refuiFunc;
CMD_BuildCommandFunc balanceChassisFunc;
} CMD_SourceHandler_t;
/* Build-function conditional references */
#if CMD_ENABLE_MODULE_CHASSIS && CMD_ENABLE_SRC_RC
#define _FN_RC_CHASSIS CMD_RC_BuildChassisCmd
#else
#define _FN_RC_CHASSIS NULL
#endif
#if CMD_ENABLE_MODULE_GIMBAL && CMD_ENABLE_SRC_RC
#define _FN_RC_GIMBAL CMD_RC_BuildGimbalCmd
#else
#define _FN_RC_GIMBAL NULL
#endif
#if CMD_ENABLE_MODULE_SHOOT && CMD_ENABLE_SRC_RC
#define _FN_RC_SHOOT CMD_RC_BuildShootCmd
#else
#define _FN_RC_SHOOT NULL
#endif
#if CMD_ENABLE_MODULE_TRACK && CMD_ENABLE_SRC_RC
#define _FN_RC_TRACK CMD_RC_BuildTrackCmd
#else
#define _FN_RC_TRACK NULL
#endif
#if CMD_ENABLE_MODULE_CHASSIS && CMD_ENABLE_SRC_PC
#define _FN_PC_CHASSIS CMD_PC_BuildChassisCmd
#else
#define _FN_PC_CHASSIS NULL
#endif
#if CMD_ENABLE_MODULE_GIMBAL && CMD_ENABLE_SRC_PC
#define _FN_PC_GIMBAL CMD_PC_BuildGimbalCmd
#else
#define _FN_PC_GIMBAL NULL
#endif
#if CMD_ENABLE_MODULE_SHOOT && CMD_ENABLE_SRC_PC
#define _FN_PC_SHOOT CMD_PC_BuildShootCmd
#else
#define _FN_PC_SHOOT NULL
#endif
#if CMD_ENABLE_MODULE_TRACK && CMD_ENABLE_SRC_PC
#define _FN_PC_TRACK CMD_PC_BuildTrackCmd
#else
#define _FN_PC_TRACK NULL
#endif
#if CMD_ENABLE_MODULE_ARM && CMD_ENABLE_SRC_RC
#define _FN_RC_ARM CMD_RC_BuildArmCmd
#else
#define _FN_RC_ARM NULL
#endif
#if CMD_ENABLE_MODULE_ARM && CMD_ENABLE_SRC_PC
#define _FN_PC_ARM CMD_PC_BuildArmCmd
#else
#define _FN_PC_ARM NULL
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS && CMD_ENABLE_SRC_RC
#define _FN_RC_BALANCE_CHASSIS CMD_RC_BuildBalanceChassisCmd
#else
#define _FN_RC_BALANCE_CHASSIS NULL
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS && CMD_ENABLE_SRC_PC
#define _FN_PC_BALANCE_CHASSIS CMD_PC_BuildBalanceChassisCmd
#else
#define _FN_PC_BALANCE_CHASSIS NULL
#endif
#if CMD_ENABLE_MODULE_GIMBAL && CMD_ENABLE_SRC_NUC
#define _FN_NUC_GIMBAL CMD_NUC_BuildGimbalCmd
#else
#define _FN_NUC_GIMBAL NULL
#endif
#if CMD_ENABLE_MODULE_SHOOT && CMD_ENABLE_SRC_NUC
#define _FN_NUC_SHOOT CMD_NUC_BuildShootCmd
#else
#define _FN_NUC_SHOOT NULL
#endif
CMD_SourceHandler_t sourceHandlers[CMD_SRC_NUM] = {
#if CMD_ENABLE_SRC_RC
[CMD_SRC_RC] = {CMD_SRC_RC, _FN_RC_CHASSIS, _FN_RC_GIMBAL, _FN_RC_SHOOT, _FN_RC_TRACK, _FN_RC_ARM, NULL, _FN_RC_BALANCE_CHASSIS},
#endif
#if CMD_ENABLE_SRC_PC
[CMD_SRC_PC] = {CMD_SRC_PC, _FN_PC_CHASSIS, _FN_PC_GIMBAL, _FN_PC_SHOOT, _FN_PC_TRACK, _FN_PC_ARM, NULL, _FN_PC_BALANCE_CHASSIS},
#endif
#if CMD_ENABLE_SRC_NUC
#if CMD_ENABLE_MODULE_REFUI
#define _FN_NUC_REFUI CMD_NUC_BuildRefUICmd
#else
#define _FN_NUC_REFUI NULL
#endif
[CMD_SRC_NUC] = {CMD_SRC_NUC, NULL, _FN_NUC_GIMBAL, _FN_NUC_SHOOT, NULL, NULL, _FN_NUC_REFUI, NULL},
#endif
#if CMD_ENABLE_SRC_REF
[CMD_SRC_REF] = {CMD_SRC_REF, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
#endif
};
int8_t CMD_Arbitrate(CMD_t *ctx) {
if (ctx == NULL) {
return CMD_ERR_NULL;
}
/* RC > PC priority arbitration */
CMD_InputSource_t candidates[] = {
#if CMD_ENABLE_SRC_RC
CMD_SRC_RC,
#endif
#if CMD_ENABLE_SRC_PC
CMD_SRC_PC,
#endif
};
const int num_candidates = sizeof(candidates) / sizeof(candidates[0]);
/* keep current source if still online */
if (ctx->active_source < CMD_SRC_NUM &&
#if CMD_ENABLE_SRC_REF
ctx->active_source != CMD_SRC_REF &&
#endif
ctx->input.online[ctx->active_source]) {
goto seize;
}
/* 否则选择第一个可用的控制输入源 */
for (int i = 0; i < num_candidates; i++) {
CMD_InputSource_t src = candidates[i];
if (ctx->input.online[src]) {
ctx->active_source = src;
break;
}else {
ctx->active_source = CMD_SRC_NUM;
continue;
}
}
/* 优先级抢占逻辑 */
seize:
/* reset output sources */
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.source = ctx->active_source;
#endif
#if CMD_ENABLE_MODULE_GIMBAL
ctx->output.gimbal.source = ctx->active_source;
#endif
#if CMD_ENABLE_MODULE_SHOOT
ctx->output.shoot.source = ctx->active_source;
#endif
#if CMD_ENABLE_MODULE_TRACK
ctx->output.track.source = ctx->active_source;
#endif
#if CMD_ENABLE_MODULE_ARM
ctx->output.arm.source = ctx->active_source;
#endif
#if CMD_ENABLE_MODULE_REFUI
ctx->output.refui.source = ctx->active_source;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.source = ctx->active_source;
#endif
CMD_Behavior_ProcessAll(ctx, &ctx->input, &ctx->last_input, CMD_MODULE_NONE);
#if CMD_ENABLE_SRC_NUC && CMD_ENABLE_SRC_RC && CMD_ENABLE_MODULE_GIMBAL && CMD_ENABLE_MODULE_SHOOT
if (ctx->input.online[CMD_SRC_NUC]) {
if (ctx->active_source==CMD_SRC_RC) {
if (ctx->input.rc.sw[0] == CMD_SW_DOWN) {
//用遥控器调自瞄的时候打开下面两行
ctx->output.gimbal.source = CMD_SRC_NUC;
ctx->output.shoot.source = CMD_SRC_NUC;
ctx->output.chassis.source = CMD_SRC_NUC;
#if CMD_ENABLE_MODULE_REFUI
ctx->output.refui.source = CMD_SRC_NUC;
#endif
}
}
}
#endif
return CMD_OK;
}
int8_t CMD_GenerateCommands(CMD_t *ctx) {
if (ctx == NULL) {
return CMD_ERR_NULL;
}
/* 更新时间 */
uint64_t now_us = BSP_TIME_Get_us();
ctx->timer.now = now_us / 1000000.0f;
ctx->timer.dt = (now_us - ctx->timer.last_us) / 1000000.0f;
ctx->timer.last_us = now_us;
/* 没有有效输入源 */
if (ctx->active_source >= CMD_SRC_NUM) {
CMD_SetOfflineMode(ctx);
return CMD_ERR_NO_INPUT;
}
#if CMD_ENABLE_MODULE_GIMBAL
if (sourceHandlers[ctx->output.gimbal.source].gimbalFunc != NULL) {
sourceHandlers[ctx->output.gimbal.source].gimbalFunc(ctx);
}
#endif
#if CMD_ENABLE_MODULE_CHASSIS
if (sourceHandlers[ctx->output.chassis.source].chassisFunc != NULL) {
sourceHandlers[ctx->output.chassis.source].chassisFunc(ctx);
}
#endif
#if CMD_ENABLE_MODULE_SHOOT
if (sourceHandlers[ctx->output.shoot.source].shootFunc != NULL) {
sourceHandlers[ctx->output.shoot.source].shootFunc(ctx);
}
#endif
#if CMD_ENABLE_MODULE_TRACK
if (sourceHandlers[ctx->output.track.source].trackFunc != NULL) {
sourceHandlers[ctx->output.track.source].trackFunc(ctx);
}
#endif
#if CMD_ENABLE_MODULE_ARM
if (sourceHandlers[ctx->output.arm.source].armFunc != NULL) {
sourceHandlers[ctx->output.arm.source].armFunc(ctx);
}
#endif
#if CMD_ENABLE_MODULE_REFUI
if (sourceHandlers[ctx->output.refui.source].refuiFunc != NULL) {
sourceHandlers[ctx->output.refui.source].refuiFunc(ctx);
} else {
ctx->output.refui.cmd = UI_NOTHING;
}
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
if (sourceHandlers[ctx->output.balance_chassis.source].balanceChassisFunc != NULL) {
sourceHandlers[ctx->output.balance_chassis.source].balanceChassisFunc(ctx);
}
#endif
return CMD_OK;
}
#if CMD_ENABLE_SRC_REF
static void CMD_REF_BuildOutput(CMD_t *ctx) {
ctx->output.ref = ctx->input.ref;
}
#endif
int8_t CMD_Update(CMD_t *ctx) {
int8_t ret;
ret = CMD_UpdateInput(ctx);
if (ret != CMD_OK) return ret;
CMD_Arbitrate(ctx);
ret = CMD_GenerateCommands(ctx);
#if CMD_ENABLE_SRC_REF
CMD_REF_BuildOutput(ctx);
#endif
return ret;
}

View File

@ -4,15 +4,30 @@
*/
#pragma once
#include "gimbal.h"
#include "module/cmd_types.h"
#include "module/cmd_adapter.h"
#include "module/cmd_behavior.h"
#include "cmd_types.h"
#include "cmd_adapter.h"
#include "cmd_behavior.h"
/* 引入输出模块的命令类型 */
/* 按需引入输出模块的命令类型 */
#if CMD_ENABLE_MODULE_CHASSIS
#include "module/chassis.h"
#endif
#if CMD_ENABLE_MODULE_GIMBAL
#include "module/gimbal.h"
#endif
#if CMD_ENABLE_MODULE_SHOOT
#include "module/shoot.h"
#endif
#if CMD_ENABLE_MODULE_TRACK
#include "module/track.h"
#endif
#if CMD_ENABLE_MODULE_ARM
#include "component/arm_kinematics/arm6dof.h"
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
#include "module/balance_chassis.h"
#endif
#include <stdint.h>
#ifdef __cplusplus
@ -24,42 +39,64 @@ extern "C" {
/* ========================================================================== */
/* 每个模块的输出包含源信息和命令 */
#if CMD_ENABLE_MODULE_CHASSIS
typedef struct {
CMD_InputSource_t source;
Chassis_CMD_t cmd;
} CMD_ChassisOutput_t;
#endif
#if CMD_ENABLE_MODULE_GIMBAL
typedef struct {
CMD_InputSource_t source;
Gimbal_CMD_t cmd;
} CMD_GimbalOutput_t;
#endif
#if CMD_ENABLE_MODULE_SHOOT
typedef struct {
CMD_InputSource_t source;
Shoot_CMD_t cmd;
} CMD_ShootOutput_t;
#endif
#if CMD_ENABLE_MODULE_TRACK
typedef struct {
CMD_InputSource_t source;
Track_CMD_t cmd;
} CMD_TrackOutput_t;
#endif
#if CMD_ENABLE_MODULE_ARM
typedef struct {
CMD_InputSource_t source;
Arm_CMD_t cmd;
} CMD_ArmOutput_t;
#endif
#if CMD_ENABLE_MODULE_REFUI
typedef struct {
CMD_InputSource_t source;
Referee_UI_CMD_t cmd;
} CMD_RefUIOutput_t;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
typedef struct {
CMD_InputSource_t source;
Chassis_CMD_t cmd;
} CMD_BalanceChassisOutput_t;
#endif
#if CMD_ENABLE_SRC_REF
// /* REF 透传输出:裁判数据直通各模块,不参与仲裁 */
// typedef CMD_RawInput_REF_t CMD_RawInput_REF_t;
#endif
/* ========================================================================== */
/* 配置结构 */
/* ========================================================================== */
/* AI行为状态 */
typedef enum {
AI_STATUS_STOP, /* 停止状态 */
AI_STATUS_AUTOAIM, /* 自瞄状态 */
AI_STATUS_HITSWITCH, /* 打符状态 */
AI_STATUS_AUTOMATIC /* 自动状态 */
} CMD_AI_Status_t;
/* UI所用行为状态 */
typedef enum {
UI_NOTHING, /* 当前无状态 */
UI_AUTO_AIM_START, /* 自瞄状态开启 */
UI_AUTO_AIM_STOP, /* 自瞄状态关闭 */
UI_HIT_SWITCH_START, /* 打符状态开启 */
UI_HIT_SWITCH_STOP /* 打符状态关闭 */
} CMD_UI_t;
/* 灵敏度配置 */
typedef struct {
float mouse_sens; /* 鼠标灵敏度 */
@ -68,37 +105,34 @@ typedef struct {
float move_slow_mult; /* 慢速移动倍率 */
} CMD_Sensitivity_t;
/* 分辨率配置 */
typedef struct {
uint16_t width;
uint16_t height;
} CMD_Screen_t;
/* RC模式映射配置 - 定义开关位置到模式的映射 */
typedef struct {
#if CMD_ENABLE_MODULE_CHASSIS
/* 左拨杆映射 - 底盘模式 */
Chassis_Mode_t sw_left_up;
Chassis_Mode_t sw_left_mid;
Chassis_Mode_t sw_left_down;
#endif
Chassis_ctrl_mode_t chassis_ctrl_mode_sw_up;
Chassis_ctrl_mode_t chassis_ctrl_mode_sw_mid;
Chassis_ctrl_mode_t chassis_ctrl_mode_sw_down;
#if CMD_ENABLE_MODULE_GIMBAL
/* 右拨杆映射 - 云台/射击模式 */
Gimbal_Mode_t gimbal_sw_up;
Gimbal_Mode_t gimbal_sw_mid;
Gimbal_Mode_t gimbal_sw_down;
#endif
GIMBAL_Ctrl_mode_t gimmbal_ctrl_mode_sw_up;
GIMBAL_Ctrl_mode_t gimmbal_ctrl_mode_sw_mid;
GIMBAL_Ctrl_mode_t gimmbal_ctrl_mode_sw_down;
Shoot_Mode_t shoot_sw_up;
Shoot_Mode_t shoot_sw_mid;
Shoot_Mode_t shoot_sw_down;
#if CMD_ENABLE_MODULE_TRACK
/* 左拨杆映射 - 履带使能 */
bool track_sw_up;
bool track_sw_mid;
bool track_sw_down;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
/* 左拨杆映射 - 平衡底盘模式 */
Chassis_Mode_t balance_sw_up;
Chassis_Mode_t balance_sw_mid;
Chassis_Mode_t balance_sw_down;
#endif
} CMD_RCModeMap_t;
/* 整体配置 */
@ -108,8 +142,7 @@ typedef struct {
/* 灵敏度设置 */
CMD_Sensitivity_t sensitivity;
/* 分辨率设置 */
CMD_Screen_t screen;
/* RC模式映射 */
CMD_RCModeMap_t rc_mode_map;
@ -141,10 +174,30 @@ typedef struct CMD_Context {
/* 输出 */
struct {
#if CMD_ENABLE_MODULE_CHASSIS
CMD_ChassisOutput_t chassis;
#endif
#if CMD_ENABLE_MODULE_GIMBAL
CMD_GimbalOutput_t gimbal;
#endif
#if CMD_ENABLE_MODULE_SHOOT
CMD_ShootOutput_t shoot;
#endif
#if CMD_ENABLE_MODULE_TRACK
CMD_TrackOutput_t track;
#endif
#if CMD_ENABLE_MODULE_ARM
CMD_ArmOutput_t arm;
#endif
#if CMD_ENABLE_MODULE_REFUI
CMD_RefUIOutput_t refui;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
CMD_BalanceChassisOutput_t balance_chassis;
#endif
#if CMD_ENABLE_SRC_REF
CMD_RawInput_REF_t ref;
#endif
} output;
} CMD_t;
@ -193,19 +246,60 @@ int8_t CMD_Update(CMD_t *ctx);
/* ========================================================================== */
/* 获取底盘命令 */
#if CMD_ENABLE_MODULE_CHASSIS
static inline Chassis_CMD_t* CMD_GetChassisCmd(CMD_t *ctx) {
return &ctx->output.chassis.cmd;
}
#endif
/* 获取云台命令 */
#if CMD_ENABLE_MODULE_GIMBAL
static inline Gimbal_CMD_t* CMD_GetGimbalCmd(CMD_t *ctx) {
return &ctx->output.gimbal.cmd;
}
#endif
/* 获取射击命令 */
#if CMD_ENABLE_MODULE_SHOOT
static inline Shoot_CMD_t* CMD_GetShootCmd(CMD_t *ctx) {
return &ctx->output.shoot.cmd;
}
#endif
/* 获取履带命令 */
#if CMD_ENABLE_MODULE_TRACK
static inline Track_CMD_t* CMD_GetTrackCmd(CMD_t *ctx) {
return &ctx->output.track.cmd;
}
#endif
/* 获取机械臂命令 */
#if CMD_ENABLE_MODULE_ARM
static inline Arm_CMD_t* CMD_GetArmCmd(CMD_t *ctx) {
return &ctx->output.arm.cmd;
}
#endif
/* 获取裁判系UI命令 */
#if CMD_ENABLE_MODULE_REFUI
static inline Referee_UI_CMD_t* CMD_GetRefUICmd(CMD_t *ctx) {
return &ctx->output.refui.cmd;
}
#endif
/* 获取平衡底盘命令 */
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
static inline Chassis_CMD_t* CMD_GetBalanceChassisCmd(CMD_t *ctx) {
return &ctx->output.balance_chassis.cmd;
}
#endif
/* 获取裁判系透传数据 */
#if CMD_ENABLE_SRC_REF
static inline CMD_RawInput_REF_t* CMD_GetRefData(CMD_t *ctx) {
return &ctx->output.ref;
}
#endif
#ifdef __cplusplus
}

View File

@ -1,7 +1,9 @@
/*
* CMD V2 -
*/
#include "module/cmd_adapter.h"
#include "cmd_adapter.h"
#include "module/cmd/cmd_adapter.h"
#include <stdbool.h>
#include <string.h>
/* ========================================================================== */
@ -9,7 +11,6 @@
/* ========================================================================== */
// static CMD_InputAdapter_t *g_adapters[CMD_SRC_NUM] = {0};
CMD_InputAdapter_t *g_adapters[CMD_SRC_NUM] = {0};
/* ========================================================================== */
/* DR16 适配器实现 */
/* ========================================================================== */
@ -63,6 +64,7 @@ int8_t CMD_DR16_PC_GetInput(void *data, CMD_RawInput_t *output) {
/* PC端鼠标映射 */
output->pc.mouse.x = dr16->data.mouse.x;
output->pc.mouse.y = dr16->data.mouse.y;
output->pc.mouse.z = dr16->data.mouse.z;
output->pc.mouse.l_click = dr16->data.mouse.l_click;
output->pc.mouse.r_click = dr16->data.mouse.r_click;
@ -121,92 +123,70 @@ CMD_DEFINE_ADAPTER(AT9S, at9s, CMD_SRC_RC, CMD_AT9S_Init, CMD_AT9S_GetInput, CMD
#endif /* CMD_RC_DEVICE_TYPE == 1 */
/* ========================================================================== */
/* ET16s 适配器实现 */
/* NUC/AI 适配器实现 */
/* ========================================================================== */
#if CMD_RC_DEVICE_TYPE == 3
int8_t CMD_ET16s_Init(void *data) {
/* ========================================================================== */
/* REF/裁判系统 适配器实现 */
/* ========================================================================== */
#if CMD_ENABLE_SRC_REF
int8_t CMD_REF_AdapterInit(void *data) {
(void)data;
/* RC DMA/IRQ is owned by Task_rc; avoid re-initializing REMOTE here.
Re-init would overwrite ET16s.c static thread_alert and lose RC flags. */
return CMD_OK;
}
int8_t CMD_ET16s_GetInput(void *data, CMD_RawInput_t *output) {
int8_t CMD_REF_GetInput(void *data, CMD_RawInput_t *output) {
CMD_RawInput_REF_t *ref = (CMD_RawInput_REF_t *)data;
output->online[CMD_SRC_REF] = CMD_REF_IsOnline(ref);
output->ref = *ref;
return CMD_OK;
}
ET16s_t *et16s = (ET16s_t *)data;
bool CMD_REF_IsOnline(void *data) {
CMD_RawInput_REF_t *ref = (CMD_RawInput_REF_t *)data;
return !(ref->chassis.ref_status == REF_STATUS_OFFLINE&&
ref->ai.ref_status == REF_STATUS_OFFLINE&&
ref->cap.ref_status == REF_STATUS_OFFLINE&&
ref->shoot.ref_status == REF_STATUS_OFFLINE);
}
memset(output, 0, sizeof(CMD_RawInput_RC_t));
// memset(output, 0, sizeof(CMD_RawInput_RC_t));
CMD_DEFINE_ADAPTER(REF, cmd_ref, CMD_SRC_REF, CMD_REF_AdapterInit, CMD_REF_GetInput, CMD_REF_IsOnline)
output->online[CMD_SRC_RC] = et16s->header.online;
#endif /* CMD_ENABLE_SRC_REF */
/* TODO: 按照AT9S的数据格式进行映射 */
output->rc.joy_left.x = et16s->ET16s.ch_l_x;
output->rc.joy_left.y = et16s->ET16s.ch_l_y;
output->rc.joy_right.x = et16s->ET16s.ch_r_x;
output->rc.joy_right.y = et16s->ET16s.ch_r_y;
/* 拨杆映射需要根据AT9S的实际定义 */
switch (et16s->ET16s.key_A) {
case ET16S_SW_UP: output->rc.sw[0] = CMD_SW_UP; break;
case ET16S_SW_MID: output->rc.sw[0] = CMD_SW_MID; break;
case ET16S_SW_DOWN: output->rc.sw[0] = CMD_SW_DOWN; break;
default: output->rc.sw[0] = CMD_SW_ERR; break;
}
switch (et16s->ET16s.key_B) {
case ET16S_SW_UP: output->rc.sw[1] = CMD_SW_UP; break;
case ET16S_SW_MID: output->rc.sw[1] = CMD_SW_MID; break;
case ET16S_SW_DOWN: output->rc.sw[1] = CMD_SW_DOWN; break;
default: output->rc.sw[1] = CMD_SW_ERR; break;
}
switch (et16s->ET16s.key_C) {
case ET16S_SW_UP: output->rc.sw[2] = CMD_SW_UP; break;
case ET16S_SW_MID: output->rc.sw[2] = CMD_SW_MID; break;
case ET16S_SW_DOWN: output->rc.sw[2] = CMD_SW_DOWN; break;
default: output->rc.sw[2] = CMD_SW_ERR; break;
}
switch (et16s->ET16s.key_D) {
case ET16S_SW_UP: output->rc.sw[3] = CMD_SW_UP; break;
case ET16S_SW_MID: output->rc.sw[3] = CMD_SW_MID; break;
case ET16S_SW_DOWN: output->rc.sw[3] = CMD_SW_DOWN; break;
default: output->rc.sw[3] = CMD_SW_ERR; break;
}
switch (et16s->ET16s.key_E) {
case ET16S_SW_UP: output->rc.sw[4] = CMD_SW_UP; break;
case ET16S_SW_MID: output->rc.sw[4] = CMD_SW_MID; break;
case ET16S_SW_DOWN: output->rc.sw[4] = CMD_SW_DOWN; break;
default: output->rc.sw[4] = CMD_SW_ERR; break;
}
switch (et16s->ET16s.key_F) {
case ET16S_SW_UP: output->rc.sw[5] = CMD_SW_UP; break;
case ET16S_SW_MID: output->rc.sw[5] = CMD_SW_MID; break;
case ET16S_SW_DOWN: output->rc.sw[5] = CMD_SW_DOWN; break;
default: output->rc.sw[5] = CMD_SW_ERR; break;
}
switch (et16s->ET16s.key_G) {
case ET16S_SW_UP: output->rc.sw[6] = CMD_SW_UP; break;
case ET16S_SW_MID: output->rc.sw[6] = CMD_SW_MID; break;
case ET16S_SW_DOWN: output->rc.sw[6] = CMD_SW_DOWN; break;
default: output->rc.sw[6] = CMD_SW_ERR; break;
}
switch (et16s->ET16s.key_H) {
case ET16S_SW_UP: output->rc.sw[7] = CMD_SW_UP; break;
case ET16S_SW_MID: output->rc.sw[7] = CMD_SW_MID; break;
case ET16S_SW_DOWN: output->rc.sw[7] = CMD_SW_DOWN; break;
default: output->rc.sw[7] = CMD_SW_ERR; break;
#if CMD_ENABLE_SRC_NUC
int8_t CMD_NUC_AdapterInit(void *data) {
/* NUC适配器不需要特殊初始化 */
return CMD_OK;
}
int8_t CMD_NUC_GetInput(void *data, CMD_RawInput_t *output) {
AI_cmd_t *ai_cmd = (AI_cmd_t *)data;
output->online[CMD_SRC_NUC] = true;
/* 映射AI数据到NUC输入结构 */
output->nuc.mode = ai_cmd->mode;
output->nuc.gimbal.setpoint.yaw = ai_cmd->gimbal.setpoint.yaw;
output->nuc.gimbal.setpoint.pit = ai_cmd->gimbal.setpoint.pit;
output->nuc.gimbal.accl.pit = ai_cmd->gimbal.accl.pit;
output->nuc.gimbal.accl.yaw = ai_cmd->gimbal.accl.yaw;
output->nuc.gimbal.vel.pit = ai_cmd->gimbal.vel.pit;
output->nuc.gimbal.vel.yaw = ai_cmd->gimbal.vel.yaw;
return CMD_OK;
}
bool CMD_ET16s_IsOnline(void *data) {
ET16s_t *et16s = (ET16s_t *)data;
return et16s->header.online;
bool CMD_NUC_IsOnline(void *data) {
return true;
}
CMD_DEFINE_ADAPTER(ET16s, cmd_et16s, CMD_SRC_RC, CMD_ET16s_Init, CMD_ET16s_GetInput, CMD_ET16s_IsOnline)
#endif /* CMD_RC_DEVICE_TYPE == 3 */
/* 定义NUC适配器实例 */
extern AI_cmd_t ai_cmd;
CMD_DEFINE_ADAPTER(NUC, cmd_ai, CMD_SRC_NUC, CMD_NUC_AdapterInit, CMD_NUC_GetInput, CMD_NUC_IsOnline)
#endif /* CMD_ENABLE_SRC_NUC */
/* ========================================================================== */
/* 适配器管理实现 */
@ -229,12 +209,16 @@ int8_t CMD_Adapter_InitAll(void) {
#elif CMD_RC_DEVICE_TYPE == 1
/* AT9S 目前只支持 RC 输入 */
CMD_Adapter_Register(&g_adapter_AT9S);
#elif CMD_RC_DEVICE_TYPE == 2
/* 目前只支持 RC 输入 */
#endif
#elif CMD_RC_DEVICE_TYPE == 3
/* ET16s 目前只支持 RC 输入 */
CMD_Adapter_Register(&g_adapter_ET16s);
#if CMD_ENABLE_SRC_NUC
/* 注册NUC适配器 */
CMD_Adapter_Register(&g_adapter_NUC);
#endif
#if CMD_ENABLE_SRC_REF
/* 注册REF适配器 */
CMD_Adapter_Register(&g_adapter_REF);
#endif
/* 初始化所有已注册的适配器 */

View File

@ -4,7 +4,7 @@
*/
#pragma once
#include "module/cmd_types.h"
#include "cmd_types.h"
#ifdef __cplusplus
extern "C" {
@ -45,7 +45,6 @@ typedef struct {
* - bool CMD_DR16_IsOnline(void *data);
*/
#define CMD_DECLARE_ADAPTER(NAME, var, TYPE) \
extern TYPE var; \
int8_t CMD_##NAME##_Init(void *data); \
int8_t CMD_##NAME##_GetInput(void *data, CMD_RawInput_t *output); \
bool CMD_##NAME##_IsOnline(void *data);
@ -70,7 +69,7 @@ typedef struct {
/* ========================================================================== */
/* 选择使用的RC设备 - 只需修改这里 */
#define CMD_RC_DEVICE_TYPE 3 /* 0:DR16, 1:AT9S, 2:VT13 3:ET16s*/
#define CMD_RC_DEVICE_TYPE 0 /* 0:DR16, 1:AT9S, 2:VT13 */
#if CMD_RC_DEVICE_TYPE == 0
#include "device/dr16.h"
@ -88,11 +87,27 @@ typedef struct {
CMD_DECLARE_ADAPTER(VT13, vt13, VT13_t)
#define CMD_RC_ADAPTER_NAME VT13
#define CMD_RC_ADAPTER_VAR vt13
#elif CMD_RC_DEVICE_TYPE == 3
#include "device/ET16s.h"
CMD_DECLARE_ADAPTER(ET16s, cmd_et16s, ET16s_t)
#define CMD_RC_ADAPTER_NAME ET16s
#define CMD_RC_ADAPTER_VAR ET16s
#endif
/* ========================================================================== */
/* NUC/AI适配器配置 */
/* ========================================================================== */
#if CMD_ENABLE_SRC_NUC
#include "module/vision_bridge.h"
extern AI_cmd_t cmd_ai;
int8_t CMD_NUC_AdapterInit(void *data);
int8_t CMD_NUC_GetInput(void *data, CMD_RawInput_t *output);
bool CMD_NUC_IsOnline(void *data);
#endif
/* ========================================================================== */
/* REF/裁判系统适配器配置 */
/* ========================================================================== */
#if CMD_ENABLE_SRC_REF
extern CMD_RawInput_REF_t cmd_ref;
int8_t CMD_REF_AdapterInit(void *data);
int8_t CMD_REF_GetInput(void *data, CMD_RawInput_t *output);
bool CMD_REF_IsOnline(void *data);
#endif
/* ========================================================================== */

View File

@ -1,9 +1,12 @@
/*
* CMD V2 -
*/
#include "module/cmd_behavior.h"
#include "module/cmd.h"
#include "cmd_behavior.h"
#include "cmd.h"
#include "module/chassis.h"
#if CMD_ENABLE_MODULE_GIMBAL
#include "module/gimbal.h"
#endif
#include <string.h>
/* ========================================================================== */
@ -12,75 +15,151 @@
/* 行为处理函数实现 */
int8_t CMD_Behavior_Handle_FORE(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.cmd.Vy += ctx->config->sensitivity.move_sens;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.cmd.move_vec.vx = ctx->config->sensitivity.move_sens;
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_BACK(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.cmd.Vy -= ctx->config->sensitivity.move_sens;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.cmd.move_vec.vx = -ctx->config->sensitivity.move_sens;
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_LEFT(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.cmd.Vx -= ctx->config->sensitivity.move_sens;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.cmd.move_vec.vy = -ctx->config->sensitivity.move_sens;
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_RIGHT(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.cmd.Vx += ctx->config->sensitivity.move_sens;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.cmd.move_vec.vy = ctx->config->sensitivity.move_sens;
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_ACCELERATE(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.cmd.Vx *= ctx->config->sensitivity.move_fast_mult;
ctx->output.chassis.cmd.Vy *= ctx->config->sensitivity.move_fast_mult;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.cmd.move_vec.vx *= ctx->config->sensitivity.move_fast_mult;
ctx->output.balance_chassis.cmd.move_vec.vy *= ctx->config->sensitivity.move_fast_mult;
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_DECELERATE(CMD_t *ctx) {
ctx->output.chassis.cmd.Vx *= ctx->config->sensitivity.move_slow_mult;
ctx->output.chassis.cmd.Vy *= ctx->config->sensitivity.move_slow_mult;
int8_t CMD_Behavior_Handle_CLIMB(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.cmd.mode = CHASSIS_MODE_CLIMB_STEP;
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_FIRE(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_SHOOT
ctx->output.shoot.cmd.firecmd = true;
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_FIRE_MODE(CMD_t *ctx) {
#if CMD_ENABLE_MODULE_SHOOT
ctx->output.shoot.cmd.mode = (ctx->output.shoot.cmd.mode + 1) % SHOOT_MODE_NUM;
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_ROTOR(CMD_t *ctx) {
ctx->output.chassis.cmd.mode = CHASSIS_MODE_ROTOR;
// ctx->output.chassis.cmd.mode_rotor = ROTOR_MODE_RAND;
#if CMD_ENABLE_MODULE_GIMBAL
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELATIVE;
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.cmd.mode = CHASSIS_MODE_ROTOR;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.cmd.mode = CHASSIS_MODE_BALANCE_ROTOR;
#endif
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_AUTOAIM(CMD_t *ctx) {
/* TODO: 自瞄模式切换 */
/* 自瞄模式切换 */
#if CMD_ENABLE_SRC_NUC && CMD_ENABLE_MODULE_GIMBAL && CMD_ENABLE_MODULE_SHOOT
if (ctx->input.online[CMD_SRC_NUC]) {
if (ctx->active_source == CMD_SRC_PC){
ctx->output.gimbal.source = CMD_SRC_NUC;
ctx->output.shoot.source = CMD_SRC_NUC;
#if CMD_ENABLE_MODULE_REFUI
ctx->output.refui.source = CMD_SRC_NUC;
#endif
}
}
#endif
return CMD_OK;
}
int8_t CMD_Behavior_Handle_CHECKSOURCERCPC(CMD_t *ctx) {
/* TODO: 切换RC和PC输入源 */
/* 切换RC和PC输入源 */
if (ctx->active_source == CMD_SRC_PC) {
ctx->active_source = CMD_SRC_RC;
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.source = CMD_SRC_RC;
#endif
#if CMD_ENABLE_MODULE_GIMBAL
ctx->output.gimbal.source = CMD_SRC_RC;
#endif
#if CMD_ENABLE_MODULE_SHOOT
ctx->output.shoot.source = CMD_SRC_RC;
#endif
#if CMD_ENABLE_MODULE_ARM
ctx->output.arm.source = CMD_SRC_RC;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.source = CMD_SRC_RC;
#endif
} else if(ctx->active_source == CMD_SRC_RC) {
ctx->active_source = CMD_SRC_PC;
#if CMD_ENABLE_MODULE_CHASSIS
ctx->output.chassis.source = CMD_SRC_PC;
#endif
#if CMD_ENABLE_MODULE_GIMBAL
ctx->output.gimbal.source = CMD_SRC_PC;
#endif
#if CMD_ENABLE_MODULE_SHOOT
ctx->output.shoot.source = CMD_SRC_PC;
#endif
#if CMD_ENABLE_MODULE_ARM
ctx->output.arm.source = CMD_SRC_PC;
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
ctx->output.balance_chassis.source = CMD_SRC_PC;
#endif
}
return CMD_OK;
}
extern bool reset;
int8_t CMD_Behavior_Handle_RESET(CMD_t *ctx) {
reset = !reset;
return CMD_OK;
}
/* 行为配置表 - 由宏生成 */
static const CMD_BehaviorConfig_t g_behavior_configs[] = {
CMD_BEHAVIOR_TABLE(BUILD_BEHAVIOR_CONFIG)

View File

@ -4,7 +4,7 @@
*/
#pragma once
#include "module/cmd_types.h"
#include "cmd_types.h"
#ifdef __cplusplus
extern "C" {

View File

@ -3,7 +3,7 @@
*
* 使CMD模块
*/
#include "module/cmd.h"
#include "cmd.h"
/* ========================================================================== */
/* config示例 */

View File

@ -0,0 +1,66 @@
/*
* CMD V2 -
*
* 使/
*
*/
#pragma once
/* ========================================================================== */
/* 输入源使能开关 */
/* ========================================================================== */
/** 遥控器输入 (DR16 / AT9S 等) */
#define CMD_ENABLE_SRC_RC 1
/** PC 端键鼠输入 (通过 DR16 转发) */
#define CMD_ENABLE_SRC_PC 1
/** NUC / AI 输入 */
#define CMD_ENABLE_SRC_NUC 1
/**
*
* 1 (): cmd referee .ref
* 0 (): cmd
*/
#define CMD_ENABLE_SRC_REF 1
/* ========================================================================== */
/* 输出模块使能开关 */
/* ========================================================================== */
/** 底盘模块 (需要 module/chassis.h) */
#define CMD_ENABLE_MODULE_CHASSIS 1
/** 云台模块 (需要 module/gimbal.h) */
#define CMD_ENABLE_MODULE_GIMBAL 1
/** 射击模块 (需要 module/shoot.h) */
#define CMD_ENABLE_MODULE_SHOOT 1
/** 履带模块 (需要 module/track.h) */
#define CMD_ENABLE_MODULE_TRACK 0
/** 机械臂模块 (需要 component/arm_kinematics/arm6dof.h) */
#define CMD_ENABLE_MODULE_ARM 0
/** 裁判系统UI命令模块 (需要 device/referee.h) */
#define CMD_ENABLE_MODULE_REFUI 1
/** 平衡底盘模块 (需要 module/balance_chassis.h) */
#define CMD_ENABLE_MODULE_BALANCE_CHASSIS 0
/* ========================================================================== */
/* 合法性检查 */
/* ========================================================================== */
/* PC输入源依赖RC适配器共同存在DR16同时提供RC和PC数据 */
#if CMD_ENABLE_SRC_PC && !CMD_ENABLE_SRC_RC
#error "CMD_ENABLE_SRC_PC requires CMD_ENABLE_SRC_RC (both share the DR16 adapter)"
#endif
/* NUC依赖vision_bridge模块确保已包含相关模块 */
/* #if CMD_ENABLE_SRC_NUC && !defined(VISION_BRIDGE_ENABLED)
#error "CMD_ENABLE_SRC_NUC requires vision_bridge module"
#endif */

View File

@ -6,6 +6,7 @@
#include <stdint.h>
#include <stdbool.h>
#include "cmd_feature.h" /* 功能特性开关 */
#ifdef __cplusplus
extern "C" {
@ -24,21 +25,93 @@ extern "C" {
/* 输入源配置宏表 */
/* ========================================================================== */
/*
* 使config中定义需要启用的输入源
* : X(, , , )
* 使 cmd_feature.h CMD_ENABLE_SRC_xxx
* : X(, , )
*/
/* 各输入源条件展开辅助宏 */
#if CMD_ENABLE_SRC_RC
#define _X_SRC_RC(X) X(RC, CMD_RC_AdapterInit, CMD_RC_GetInput)
#else
#define _X_SRC_RC(X)
#endif
#if CMD_ENABLE_SRC_PC
#define _X_SRC_PC(X) X(PC, CMD_PC_AdapterInit, CMD_PC_GetInput)
#else
#define _X_SRC_PC(X)
#endif
#if CMD_ENABLE_SRC_NUC
#define _X_SRC_NUC(X) X(NUC, CMD_NUC_AdapterInit, CMD_NUC_GetInput)
#else
#define _X_SRC_NUC(X)
#endif
#if CMD_ENABLE_SRC_REF
#define _X_SRC_REF(X) X(REF, CMD_REF_AdapterInit, CMD_REF_GetInput)
#else
#define _X_SRC_REF(X)
#endif
#define CMD_INPUT_SOURCE_TABLE(X) \
X(RC, CMD_RC_AdapterInit, CMD_RC_GetInput) \
X(PC, CMD_PC_AdapterInit, CMD_PC_GetInput) \
X(NUC, CMD_NUC_AdapterInit, CMD_NUC_GetInput) \
X(REF, CMD_REF_AdapterInit, CMD_REF_GetInput)
_X_SRC_RC(X) \
_X_SRC_PC(X) \
_X_SRC_NUC(X) \
_X_SRC_REF(X)
/* 各输出模块条件展开辅助宏 */
#if CMD_ENABLE_MODULE_CHASSIS
#define _X_MOD_CHASSIS(X) X(CHASSIS, Chassis_CMD_t, chassis)
#else
#define _X_MOD_CHASSIS(X)
#endif
#if CMD_ENABLE_MODULE_GIMBAL
#define _X_MOD_GIMBAL(X) X(GIMBAL, Gimbal_CMD_t, gimbal)
#else
#define _X_MOD_GIMBAL(X)
#endif
#if CMD_ENABLE_MODULE_SHOOT
#define _X_MOD_SHOOT(X) X(SHOOT, Shoot_CMD_t, shoot)
#else
#define _X_MOD_SHOOT(X)
#endif
#if CMD_ENABLE_MODULE_TRACK
#define _X_MOD_TRACK(X) X(TRACK, Track_CMD_t, track)
#else
#define _X_MOD_TRACK(X)
#endif
#if CMD_ENABLE_MODULE_ARM
#define _X_MOD_ARM(X) X(ARM, Arm_CMD_t, arm)
#else
#define _X_MOD_ARM(X)
#endif
#if CMD_ENABLE_MODULE_REFUI
#define _X_MOD_REFUI(X) X(REFUI, Referee_UI_CMD_t, refui)
#else
#define _X_MOD_REFUI(X)
#endif
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
#define _X_MOD_BALANCE_CHASSIS(X) X(BALANCE_CHASSIS, Chassis_CMD_t, balance_chassis)
#else
#define _X_MOD_BALANCE_CHASSIS(X)
#endif
/* 输出模块配置宏表 */
#define CMD_OUTPUT_MODULE_TABLE(X) \
X(CHASSIS, Chassis_CMD_t, chassis) \
X(GIMBAL, Gimbal_CMD_t, gimbal) \
X(SHOOT, Shoot_CMD_t, shoot)
_X_MOD_CHASSIS(X) \
_X_MOD_GIMBAL(X) \
_X_MOD_SHOOT(X) \
_X_MOD_TRACK(X) \
_X_MOD_ARM(X) \
_X_MOD_REFUI(X) \
_X_MOD_BALANCE_CHASSIS(X) \
/* ========================================================================== */
/* 输入源枚举 */
@ -92,15 +165,10 @@ typedef enum {
CMD_KEY_NUM
} CMD_KeyIndex_t;
/* 裁判系统数据 */
typedef struct {
uint8_t game_status; /* 比赛状态 */
} CMD_Referee_t;
typedef struct {
CMD_Joystick_t joy_left; /* 左摇杆 */
CMD_Joystick_t joy_right; /* 右摇杆 */
CMD_SwitchPos_t sw[8]; /* 4个拨杆 */
CMD_SwitchPos_t sw[4]; /* 4个拨杆 */
float dial; /* 拨轮 */
} CMD_RawInput_RC_t;
@ -109,30 +177,64 @@ typedef struct {
CMD_Keyboard_t keyboard;
} CMD_RawInput_PC_t;
/* AI输入数据 */
typedef struct {
int a;
uint8_t mode;
struct {
struct {
float yaw;
float pit;
} setpoint;
struct {
float pit;
float yaw;
} accl;
struct {
float pit;
float yaw;
} vel;
} gimbal;
struct {
float vx;
float vy;
float vw;
} chassis;
} CMD_RawInput_NUC_t;
#if CMD_ENABLE_SRC_REF
#include "device/referee_proto_types.h"
/* 裁判系统原始输入,包含需转发给各模块的完整子集 */
typedef struct {
CMD_Referee_t referee;
Referee_ForChassis_t chassis;
Referee_ForShoot_t shoot;
Referee_ForCap_t cap;
Referee_ForAI_t ai;
} CMD_RawInput_REF_t;
#endif
/* 统一的原始输入结构 - 所有设备适配后都转换成这个格式 */
typedef struct {
bool online[CMD_SRC_NUM];
#if CMD_ENABLE_SRC_RC
/* 遥控器部分 */
CMD_RawInput_RC_t rc;
#endif
#if CMD_ENABLE_SRC_PC
/* PC部分 */
CMD_RawInput_PC_t pc;
#endif
#if CMD_ENABLE_SRC_NUC
/* NUC部分 */
/* 暂无定义,预留扩展 */
CMD_RawInput_NUC_t nuc;
#endif
#if CMD_ENABLE_SRC_REF
/* REF部分 - 裁判系统数据 */
CMD_RawInput_REF_t ref;
#endif
} CMD_RawInput_t;
/* ========================================================================== */
@ -143,26 +245,32 @@ typedef enum {
CMD_MODULE_CHASSIS = (1 << 1),
CMD_MODULE_GIMBAL = (1 << 2),
CMD_MODULE_SHOOT = (1 << 3),
CMD_MODULE_ALL = 0x0E
CMD_MODULE_TRACK = (1 << 4),
CMD_MODULE_ARM = (1 << 5),
CMD_MODULE_REFUI = (1 << 6),
CMD_MODULE_BALANCE_CHASSIS = (1 << 7),
CMD_MODULE_ALL = 0xFE
} CMD_ModuleMask_t;
/* ========================================================================== */
/* 行为定义 */
/* ========================================================================== */
/* 行为-按键映射宏表 */
#define BEHAVIOR_CONFIG_COUNT (11)
#define BEHAVIOR_CONFIG_COUNT (12)
#define CMD_BEHAVIOR_TABLE(X) \
X(FORE, CMD_KEY_W, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
X(BACK, CMD_KEY_S, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
X(LEFT, CMD_KEY_A, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
X(RIGHT, CMD_KEY_D, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
X(ACCELERATE, CMD_KEY_SHIFT, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
X(DECELERATE, CMD_KEY_CTRL, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
X(FORE, CMD_KEY_W, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
X(BACK, CMD_KEY_S, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
X(LEFT, CMD_KEY_A, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
X(RIGHT, CMD_KEY_D, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
X(ACCELERATE, CMD_KEY_SHIFT, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
X(ROTOR, CMD_KEY_CTRL, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
X(FIRE, CMD_KEY_L_CLICK, CMD_ACTIVE_PRESSED, CMD_MODULE_SHOOT) \
X(FIRE_MODE, CMD_KEY_B, CMD_ACTIVE_RISING_EDGE, CMD_MODULE_SHOOT) \
X(ROTOR, CMD_KEY_E, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
X(AUTOAIM, CMD_KEY_R, CMD_ACTIVE_RISING_EDGE, CMD_MODULE_GIMBAL | CMD_MODULE_SHOOT) \
X(CHECKSOURCERCPC, CMD_KEY_CTRL|CMD_KEY_SHIFT|CMD_KEY_V, CMD_ACTIVE_RISING_EDGE, CMD_MODULE_NONE)
X(CLIMB, CMD_KEY_R, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
X(AUTOAIM, CMD_KEY_R_CLICK, CMD_ACTIVE_PRESSED, CMD_MODULE_NONE) \
X(CHECKSOURCERCPC,CMD_KEY_CTRL|CMD_KEY_SHIFT|CMD_KEY_V, CMD_ACTIVE_RISING_EDGE, CMD_MODULE_NONE) \
X(RESET, CMD_KEY_CTRL|CMD_KEY_SHIFT|CMD_KEY_G, CMD_ACTIVE_RISING_EDGE, CMD_MODULE_NONE)
/* 触发类型 */
typedef enum {
CMD_ACTIVE_PRESSED, /* 按住时触发 */
@ -191,6 +299,7 @@ typedef enum {
#define CMD_KEY_SET(kb, key) ((kb)->bitmap |= (1 << (key)))
#define CMD_KEY_CLEAR(kb, key) ((kb)->bitmap &= ~(1 << (key)))
#ifdef __cplusplus
}
#endif

View File

@ -369,11 +369,9 @@ Config_Param_t config = {
CMD_SRC_NUC,
CMD_SRC_REF,
},
.screen={
.ref_screen={
.width=1920,
.height=1080,
},
.sensitivity = {
@ -390,20 +388,6 @@ Config_Param_t config = {
.gimbal_sw_up = GIMBAL_MODE_RELAX,
.gimbal_sw_mid = GIMBAL_MODE_ABSOLUTE,
.gimbal_sw_down = GIMBAL_MODE_RELATIVE,
.shoot_sw_up = SHOOT_MODE_SAFE,
.shoot_sw_mid = SHOOT_MODE_SINGLE,
.shoot_sw_down = SHOOT_MODE_CONTINUE,
.gimmbal_ctrl_mode_sw_up = GIMBAL_MODE_REMOTE,
.gimmbal_ctrl_mode_sw_mid = GIMBAL_MODE_AI,
.gimmbal_ctrl_mode_sw_down = GIMBAL_MODE_REMOTE,
.chassis_ctrl_mode_sw_up = CHASSIS_MODE_RC,
.chassis_ctrl_mode_sw_mid = CHASSIS_MODE_DAOHANG,
.chassis_ctrl_mode_sw_down = CHASSIS_MODE_RC,
},
},

View File

@ -12,13 +12,15 @@ extern "C" {
#include "module/chassis.h"
#include "module/gimbal.h"
#include "module/shoot.h"
#include "module/cmd.h"
#include "module/cmd/cmd.h"
#include "device/referee_proto_types.h"
#include "module/aimbot.h"
typedef struct{
Chassis_Param_t chassis; /**/
Gimbal_Param_t gimbal;
Shoot_Params_t shoot;
CMD_Config_t cmd_param;
Referee_Screen_t ref_screen;
AHRS_Eulr_t mech_zero[4];
}Config_Param_t;

View File

@ -38,7 +38,7 @@ Gimbal_Output(&gimbal);
#include "bsp/time.h"
#include "component/filter.h"
#include "math.h"
#include "module/cmd.h"
#include "module/cmd/cmd.h"
#include "device/motor_rm.h"
#include "device/motor.h"
@ -472,6 +472,15 @@ void Gimbal_Output(Gimbal_t *g)
MOTOR_DM_MITCtrl(&g->param->pitch_4310_motor, &output_pitch_4310);
}
/**
* @brief UI数据
*
* @param g
* @param ui UI结构体
*/
void Gimbal_DumpUI(const Gimbal_t *g, Gimbal_RefereeUI_t *ui) {
ui->mode = g->mode;
}
/* @brief 导出云台UI数据
*

View File

@ -118,7 +118,10 @@ extern "C"
GIMBAL_MODE_AI,
GIMBAL_MODE_SCAN,
}GIMBAL_Ctrl_mode_t;
/* UI 导出结构(供 referee 系统绘制) */
typedef struct {
Gimbal_Mode_t mode;
} Gimbal_RefereeUI_t;
typedef struct {
Gimbal_Mode_t mode;
float delta_yaw_4310;
@ -247,6 +250,14 @@ int8_t Gimbal_Control(Gimbal_t *g, Gimbal_CMD_t *g_cmd);
*/
void Gimbal_Output(Gimbal_t *g);
/**
* \brief
*
* \param s
* \param out CAN设备云台输出结构体
*/
void Gimbal_Output(Gimbal_t *g);
#ifdef __cplusplus
}
#endif

View File

@ -38,14 +38,21 @@ void Task(void *argument) {
#include "bsp/time.h"
#include "component/filter.h"
#include "component/user_math.h"
#include "module/cmd.h"
/* Private typedef ---------------------------------------------------------- */
/* Private define ----------------------------------------------------------- */
#define MAX_FRIC_RPM 7000.0f
#define MAX_TRIG_RPM 6000.0f//这里可能也会影响最高发射频率,待测试
/* 发射检测参数 */
#define SHOT_DETECT_RPM_DROP_THRESHOLD 100.0f /* 摩擦轮转速下降阈值单位rpm */
#define SHOT_DETECT_SUSPECTED_TIME 0.0005f /* 发射嫌疑持续时间阈值,单位秒 */
#define FRIC_READY_RPM_RATIO 0.95f /* 摩擦轮准备好的转速比例 */
/* Private macro ------------------------------------------------------------ */
/* Private variables -------------------------------------------------------- */
static bool last_firecmd;
/* Private function -------------------------------------------------------- */
/**
@ -176,12 +183,336 @@ int8_t Shoot_CaluTargetRPM(Shoot_t *s, float target_speed)
s->target_variable.fric_rpm=6500.0f;
break;
case SHOOT_PROJECTILE_42MM:
s->target_variable.fric_rpm=4000.0f;
s->target_variable.fric_rpm=4000.0f;//6500
break;
}
return SHOOT_OK;
}
/**
* \brief 使
*
* \param s
*
* \return
*/
static int8_t Shoot_UpdateHeatControl(Shoot_t *s)
{
if (s == NULL) {
return SHOOT_ERR_NULL;
}
if (!s->param->heatControl.enable || !s->heatcontrol.ref_online) {
s->heatcontrol.Hres = 0.0f;
s->heatcontrol.ncd = s->param->basic.shot_freq;
return SHOOT_OK;
}
/* 使用融合后的热量值计算剩余热量 */
s->heatcontrol.Hres = s->heatcontrol.Hmax - s->heatcontrol.Hnow_fused;
/* 计算冷却射频 ncd = Hcd / Hgen */
if (s->heatcontrol.Hgen > 0.0f) {
s->heatcontrol.ncd = s->heatcontrol.Hcd / s->heatcontrol.Hgen;
} else {
s->heatcontrol.ncd = 0.0f;
}
return SHOOT_OK;
}
/**
* \brief
*
* \param s
*
* \return
*/
static float Shoot_CalcAvgFricRpm(Shoot_t *s)
{
if (s == NULL) {
return 0.0f;
}
float sum = 0.0f;
uint8_t fric_num = s->param->basic.fric_num;
for (int i = 0; i < fric_num; i++) {
sum += fabs(s->var_fric.fil_rpm[i]);
}
return (fric_num > 0) ? (sum / fric_num) : 0.0f;
}
/**
* \brief
*
* \param s
*
* \return
*/
static bool Shoot_DetectShotByRpmDrop(Shoot_t *s)
{
if (s == NULL) {
return false;
}
/* 只在READY和FIRE状态下检测避免停机时误判 */
if (s->running_state != SHOOT_STATE_READY &&
s->running_state != SHOOT_STATE_FIRE) {
return false;
}
/* 计算当前摩擦轮平均转速 */
s->heatcontrol.avgFricRpm = Shoot_CalcAvgFricRpm(s);
/* 计算当前转速与目标转速的差值(掉速量) */
s->heatcontrol.rpmDrop = s->target_variable.fric_rpm - s->heatcontrol.avgFricRpm;
/* 判断是否发生明显掉速 */
if (s->heatcontrol.rpmDrop > SHOT_DETECT_RPM_DROP_THRESHOLD) {
return true;
}
return false;
}
/**
* \brief
*
* \param s
*
* \return
*
* \note
*
*/
static int8_t Shoot_FuseHeatData(Shoot_t *s)
{
if (s == NULL) {
return SHOOT_ERR_NULL;
}
if (!s->param->heatControl.enable || !s->heatcontrol.ref_online) {
return SHOOT_OK;
}
/* 如果裁判系统数据有效Hmax > 0 */
if (s->heatcontrol.Hmax > 0.0f && s->heatcontrol.Hnow >= 0.0f) {
/* 检测裁判系统数据是否有更新 */
if (s->heatcontrol.Hnow != s->heatcontrol.Hnow_last) {
/* 数据更新了,用裁判系统数据修正估计值 */
s->heatcontrol.Hnow_estimated = s->heatcontrol.Hnow;
s->heatcontrol.Hnow_last = s->heatcontrol.Hnow; /* 记录本次值 */
}
/* 融合值就是裁判系统值(作为基准) */
s->heatcontrol.Hnow_fused = s->heatcontrol.Hnow;
} else {
/* 裁判系统数据无效,仅使用自主估计值 */
s->heatcontrol.Hnow_fused = s->heatcontrol.Hnow_estimated;
}
return SHOOT_OK;
}
/**
* \brief
*
* \param s
*
* \return
*/
static int8_t Shoot_CalcAvailableShots(Shoot_t *s)
{
if (s == NULL) {
return SHOOT_ERR_NULL;
}
if (!s->param->heatControl.enable || !s->heatcontrol.ref_online) {
s->heatcontrol.shots_available = UINT16_MAX;
return SHOOT_OK;
}
/* 计算剩余热量 */
float heat_available = s->heatcontrol.Hmax - s->heatcontrol.Hnow_fused;
/* 计算可发射弹数 */
if (s->heatcontrol.Hgen > 0.0f && heat_available > 0.0f) {
s->heatcontrol.shots_available = (uint16_t)(heat_available / s->heatcontrol.Hgen);
} else {
s->heatcontrol.shots_available = 0;
}
return SHOOT_OK;
}
/**
* \brief
*
* \param s
*
* \return
*/
static int8_t Shoot_HeatDetectionFSM(Shoot_t *s)
{
if (s == NULL) {
return SHOOT_ERR_NULL;
}
if (!s->param->heatControl.enable || !s->heatcontrol.ref_online) {
s->heatcontrol.detectState = SHOOT_HEAT_DETECT_IDLE;
s->heatcontrol.shotDetected = false;
return SHOOT_OK;
}
switch (s->heatcontrol.detectState) {
case SHOOT_HEAT_DETECT_IDLE:
/* 停机状态:等待摩擦轮启动并加速到目标速度附近 */
if (s->running_state == SHOOT_STATE_READY ||
s->running_state == SHOOT_STATE_FIRE) {
/* 计算当前平均转速 */
s->heatcontrol.avgFricRpm = Shoot_CalcAvgFricRpm(s);
/* 检查摩擦轮是否达到目标转速的85%以上 */
if (s->heatcontrol.avgFricRpm >= s->target_variable.fric_rpm * FRIC_READY_RPM_RATIO) {
s->heatcontrol.detectState = SHOOT_HEAT_DETECT_READY;
s->heatcontrol.lastAvgFricRpm = s->heatcontrol.avgFricRpm;
}
}
break;
case SHOOT_HEAT_DETECT_READY:
/* 准备检测状态:监测摩擦轮掉速 */
/* 检测掉速(当前转速低于目标转速超过阈值) */
if (Shoot_DetectShotByRpmDrop(s)) {
s->heatcontrol.detectState = SHOOT_HEAT_DETECT_SUSPECTED;
s->heatcontrol.detectTime = s->timer.now; /* 记录进入嫌疑状态的时间 */
}
/* 如果摩擦轮停止 */
if (s->running_state == SHOOT_STATE_IDLE) {
s->heatcontrol.detectState = SHOOT_HEAT_DETECT_IDLE;
}
break;
case SHOOT_HEAT_DETECT_SUSPECTED:
/* 发射嫌疑状态:持续检测掉速 */
/* 更新掉速量 */
s->heatcontrol.avgFricRpm = Shoot_CalcAvgFricRpm(s);
s->heatcontrol.rpmDrop = s->target_variable.fric_rpm - s->heatcontrol.avgFricRpm;
/* 若掉速消失(转速恢复正常),回到准备状态 */
if (s->heatcontrol.rpmDrop < SHOT_DETECT_RPM_DROP_THRESHOLD) {
s->heatcontrol.detectState = SHOOT_HEAT_DETECT_READY;
}
/* 若嫌疑状态持续超过阈值时间,确认发射 */
else if ((s->timer.now - s->heatcontrol.detectTime) >= SHOT_DETECT_SUSPECTED_TIME) {
s->heatcontrol.detectState = SHOOT_HEAT_DETECT_CONFIRMED;
}
break;
case SHOOT_HEAT_DETECT_CONFIRMED:
/* 确认发射状态:增加热量并返回准备状态 */
/* 根据弹丸类型增加估计热量 */
switch (s->param->basic.projectileType) {
case SHOOT_PROJECTILE_17MM:
s->heatcontrol.Hnow_estimated += 10.0f;
break;
case SHOOT_PROJECTILE_42MM:
s->heatcontrol.Hnow_estimated += 100.0f;
break;
default:
s->heatcontrol.Hnow_estimated += s->heatcontrol.Hgen;
break;
}
/* 限制估计热量不超过最大值 */
if (s->heatcontrol.Hnow_estimated > s->heatcontrol.Hmax) {
s->heatcontrol.Hnow_estimated = s->heatcontrol.Hmax;
}
/* 增加发射计数 */
s->heatcontrol.shots_detected++;
/* 返回准备检测状态 */
s->heatcontrol.detectState = SHOOT_HEAT_DETECT_READY;
break;
default:
s->heatcontrol.detectState = SHOOT_HEAT_DETECT_IDLE;
break;
}
/* 善后工作:热量冷却(每个周期都执行) */
if (s->heatcontrol.Hnow_estimated > 0.0f && s->heatcontrol.Hcd > 0.0f) {
s->heatcontrol.Hnow_estimated -= s->heatcontrol.Hcd * s->timer.dt;
if (s->heatcontrol.Hnow_estimated < 0.0f) {
s->heatcontrol.Hnow_estimated = 0.0f;
}
}
/* 数据融合 */
Shoot_FuseHeatData(s);
/* 计算可发射弹数 */
Shoot_CalcAvailableShots(s);
return SHOOT_OK;
}
/**
* \brief
*
* \param s
*
* \return Hz
*/
static float Shoot_CaluFreqByHeat(Shoot_t *s)
{
if (s == NULL) {
return 0.0f;
}
/* 如果热量控制未启用,返回配置的射频 */
if (!s->param->heatControl.enable || !s->heatcontrol.ref_online) {
return s->param->basic.shot_freq;
}
/* 检查Hmax和Hcd是否有效 */
if (s->heatcontrol.Hmax <= 0.0f || s->heatcontrol.Hcd <= 0.0f) {
return s->param->basic.shot_freq; /* 数据无效,使用默认射频 */
}
float Hres = s->heatcontrol.Hres;
float Hwarn = s->param->heatControl.Hwarn;
float Hsatu = s->param->heatControl.Hsatu;
float Hthres = s->param->heatControl.Hthres;
float nmax = s->param->heatControl.nmax;
float ncd = s->heatcontrol.ncd;
/* 剩余热量大于预警值:最大射频 */
if (Hres > Hwarn) {
return nmax;
}
/* 剩余热量在预警值和饱和值之间:线性映射 */
else if (Hres > Hsatu) {
/* 线性插值: n = ncd + (nmax - ncd) * (Hres - Hsatu) / (Hwarn - Hsatu) */
float ratio = (Hres - Hsatu) / (Hwarn - Hsatu);
return ncd + (nmax - ncd) * ratio;
}
/* 剩余热量在饱和值和阈值之间:冷却射频 */
else if (Hres > Hthres) {
return ncd;
}
/* 剩余热量小于阈值:停止射击 */
else {
return 0.0f;
}
}
/**
* \brief
*
@ -192,18 +523,37 @@ int8_t Shoot_CaluTargetRPM(Shoot_t *s, float target_speed)
*/
int8_t Shoot_CaluTargetAngle(Shoot_t *s, Shoot_CMD_t *cmd)
{
if (s == NULL || s->var_trig.num_toShoot == 0) {
if (s == NULL || cmd == NULL || s->var_trig.num_toShoot == 0 || s->param->basic.num_trig_tooth == 0) {
return SHOOT_ERR_NULL;
}
/* 更新热量控制数据 */
Shoot_UpdateHeatControl(s);
/* 根据热量控制计算实际射频 */
float actual_freq = Shoot_CaluFreqByHeat(s);
/* 检查可发射弹丸数是否满足安全余量 */
if (s->param->heatControl.enable &&
s->heatcontrol.shots_available <= s->param->heatControl.safe_shots) {
actual_freq = 0.0f; /* 禁止发弹 */
}
float dt = s->timer.now - s->var_trig.time_lastShoot;
float dpos;
float dpos_abs;
dpos = CircleError(s->target_variable.trig_angle, s->var_trig.trig_agl, M_2PI);
if(dt >= 1.0f/s->param->basic.shot_freq && cmd->firecmd && dpos<=1.0f)
dpos_abs = fabsf(dpos);
/* 使用热量控制计算出的射频,而不是配置的固定射频 */
if(actual_freq > 0.0f && dt >= 1.0f/actual_freq && cmd->firecmd && dpos_abs <= 1.0f)
{
s->var_trig.time_lastShoot=s->timer.now;
CircleAdd(&s->target_variable.trig_angle, M_2PI/s->param->basic.num_trig_tooth, M_2PI);
s->var_trig.num_toShoot--;
s->var_trig.num_shooted++;
}
return SHOOT_OK;
}
@ -299,8 +649,7 @@ int8_t Shoot_UpdateFeedback(Shoot_t *s)
* \param cmd
*
* \return
*/
// float a;
*/float a;
int8_t Shoot_RunningFSM(Shoot_t *s, Shoot_CMD_t *cmd)
{
if (s == NULL || cmd == NULL) {
@ -395,6 +744,7 @@ int8_t Shoot_RunningFSM(Shoot_t *s, Shoot_CMD_t *cmd)
else if(last_firecmd==false&&cmd->firecmd==true)
{
s->running_state=SHOOT_STATE_FIRE;
s->target_variable.trig_angle = s->var_trig.trig_agl;
/* 根据模式设置待发射弹数 */
switch(s->mode)
{
@ -461,6 +811,7 @@ int8_t Shoot_RunningFSM(Shoot_t *s, Shoot_CMD_t *cmd)
{
s->running_state=SHOOT_STATE_READY;
pos=s->var_trig.trig_agl;
s->target_variable.trig_angle = pos;
s->var_trig.num_toShoot=0;
}
break;
@ -524,7 +875,10 @@ int8_t Shoot_JamDetectionFSM(Shoot_t *s, Shoot_CMD_t *cmd)
/* 清空待发射弹 */
s->var_trig.num_toShoot=0;
/* 修改拨弹盘目标角度 */
s->target_variable.trig_angle = s->var_trig.trig_agl-(M_2PI/s->param->basic.num_trig_tooth);
s->target_variable.trig_angle = s->var_trig.trig_agl;
CircleAdd(&s->target_variable.trig_angle,
-(M_2PI / s->param->basic.num_trig_tooth),
M_2PI);
/* 切换状态 */
s->jamdetection.fsmState = SHOOT_JAMFSM_STATE_DEAL;
/* 记录处理开始时间 */
@ -623,6 +977,10 @@ int8_t Shoot_Init(Shoot_t *s, Shoot_Params_t *param, float target_freq)
/* 归零变量 */
memset(&s->var_trig,0,sizeof(s->var_trig));
/* 初始化热量控制 */
memset(&s->heatcontrol, 0, sizeof(s->heatcontrol));
return SHOOT_OK;
}
@ -644,15 +1002,27 @@ int8_t Shoot_Control(Shoot_t *s, Shoot_CMD_t *cmd)
s->timer.lask_wakeup = BSP_TIME_Get_us();
Shoot_CaluTargetRPM(s,233);
/* 运行热量检测状态机 */
Shoot_HeatDetectionFSM(s);
/* 运行卡弹检测状态机 */
Shoot_JamDetectionFSM(s, cmd);
// Shoot_CalufeedbackRPM(s);
return SHOOT_OK;
}
/**
* @brief UI数据
*
* @param s
* @param ui UI结构体
*/
void Shoot_DumpUI(Shoot_t *s, Shoot_RefereeUI_t *ui) {
ui->mode = s->mode;
ui->fire = s->running_state;
}
void Shoot_DumpAI(Shoot_t *s, Shoot_AI_t *ai) {
ai->num_shooted=s->var_trig.num_shooted;
ai->bullet_speed=12.0f;
}

View File

@ -30,13 +30,37 @@ typedef enum {
SHOOT_JAMFSM_STATE_CONFIRMED, /* 确认状态 */
SHOOT_JAMFSM_STATE_DEAL /* 处理状态 */
}Shoot_JamDetectionFSM_State_t;
typedef enum {
SHOOT_HEAT_DETECT_IDLE = 0, /* 停机状态 */
SHOOT_HEAT_DETECT_READY, /* 准备检测状态 */
SHOOT_HEAT_DETECT_SUSPECTED, /* 发射嫌疑状态 */
SHOOT_HEAT_DETECT_CONFIRMED /* 确认发射状态 */
}Shoot_HeatDetectionFSM_State_t;
typedef enum {
SHOOT_STATE_IDLE = 0,/* 熄火 */
SHOOT_STATE_READY, /* 准备射击 */
SHOOT_STATE_FIRE /* 射击 */
}Shoot_Running_State_t;
typedef enum {
SHOOT_MODE_SAFE = 0,/* 安全模式 */
SHOOT_MODE_SINGLE, /* 单发模式 */
SHOOT_MODE_BURST, /* 多发模式 */
SHOOT_MODE_CONTINUE,/* 连发模式 */
SHOOT_MODE_NUM
}Shoot_Mode_t;
typedef struct {
uint16_t num_shooted;/* 已发射弹数 */
float bullet_speed;/* 目标弹速 */
}Shoot_AI_t;
/* UI 导出结构(供 referee 系统绘制) */
typedef struct {
Shoot_Mode_t mode;
Shoot_Running_State_t fire;
} Shoot_RefereeUI_t;
typedef enum {
SHOOT_PROJECTILE_17MM,
@ -76,6 +100,37 @@ typedef struct {
float lastTime;/* 用于记录怀疑状态或处理状态的开始时间 */
Shoot_JamDetectionFSM_State_t fsmState; /* 卡弹检测状态机 */
}Shoot_JamDetection_t;
typedef struct {
bool ref_online; /* 裁判系统数据是否在线 */
/* 从裁判系统读取的常量 */
float Hmax; // 热量上限
float Hcd; // 热量冷却速度
float Hgen; // 每发射一发产生的热量
/* 实时数据 */
float Hnow; // 当前热量(从裁判系统实时读取)
float Hnow_last; // 上次裁判系统热量值(用于检测更新)
float Hres; // 剩余热量 (Hmax - Hnow)
/* 控制变量 */
float ncd; // 冷却射频(消耗热量 = 自然恢复热量)
/* 发射检测状态机 */
Shoot_HeatDetectionFSM_State_t detectState; // 检测状态
float detectTime; // 检测计时器
float avgFricRpm; // 摩擦轮平均转速
float lastAvgFricRpm; // 上次摩擦轮平均转速
float rpmDrop; // 转速下降量
bool shotDetected; // 检测到发射标志
/* 自主热量估计 */
float Hnow_estimated; // 估计的当前热量
float Hnow_fused; // 融合后的热量值
uint16_t shots_detected; // 检测到的发射数
uint16_t shots_available;// 当前热量可发射弹数
}Shoot_HeatControl_t;
typedef struct {
float out_follow[MAX_FRIC_NUM];
float out_err[MAX_FRIC_NUM];
@ -87,7 +142,11 @@ typedef struct {
float outlpf_trig;
}Shoot_Output_t;
typedef struct {
Shoot_Mode_t mode;/* 射击模式 */
bool ready; /* 准备射击 */
bool firecmd; /* 射击 */
}Shoot_CMD_t;
/* 底盘参数的结构体包含所有初始化用的参数通常是const存好几组 */
typedef struct {
struct{
@ -104,6 +163,14 @@ typedef struct {
float threshold; /* 卡弹检测阈值单位A (dji2006建议设置为120Adji3508建议设置为235A,根据实际测试调整)*/
float suspectedTime;/* 卡弹怀疑时间,单位秒 */
}jamDetection;/* 卡弹检测参数 */
struct {
bool enable; /* 是否启用热量控制 */
uint16_t safe_shots;/* 安全余量当shots_available小于等于该值时禁止发弹 */
float nmax;//最大射频
float Hwarn;//热量预警值
float Hsatu;//热量饱和值
float Hthres;//热量阈值,超过这个值将无法射击
}heatControl;/* 热量控制参数 */
struct {
Shoot_MOTOR_RM_Param_t fric[MAX_FRIC_NUM];
MOTOR_RM_Param_t trig;
@ -134,28 +201,6 @@ typedef struct {
float dt; /* 两次唤醒间隔时间,单位秒 */
}Shoot_Timer_t;
typedef enum {
SHOOT_MODE_SAFE = 0,/* 安全模式 */
SHOOT_MODE_SINGLE, /* 单发模式 */
SHOOT_MODE_BURST, /* 多发模式 */
SHOOT_MODE_CONTINUE,/* 连发模式 */
SHOOT_MODE_NUM
}Shoot_Mode_t;
typedef enum {
SHOOT_REMOTE = 0,/* 遥控器控制 */
SHOOT_AI, /* AI控制 */
} Shoot_Control_Mode_t;
typedef struct {
Shoot_Mode_t mode;/* 射击模式 */
Shoot_Control_Mode_t control_mode;/* 控制模式 */
bool ready; /* 准备射击 */
bool firecmd; /* 射击 */
}Shoot_CMD_t;
/*
*
*
@ -170,6 +215,7 @@ typedef struct {
/* 控制信息*/
Shoot_Running_State_t running_state; /* 运行状态机 */
Shoot_JamDetection_t jamdetection; /* 卡弹检测控制信息 */
Shoot_HeatControl_t heatcontrol; /* 热量控制信息 */
Shoot_VARSForFricCtrl_t var_fric; /* 摩擦轮控制信息 */
Shoot_VARSForTrigCtrl_t var_trig; /* 角度计算控制信息 */
Shoot_Output_t output; /* 输出信息 */
@ -177,6 +223,7 @@ typedef struct {
struct {
float fric_rpm; /* 目标摩擦轮转速 */
float trig_angle;/* 目标拨弹位置 */
float bullet_speed;/* 目标弹速 */
}target_variable;
/* 反馈控制用的PID */
@ -245,8 +292,15 @@ int8_t Shoot_UpdateFeedback(Shoot_t *s);
*/
int8_t Shoot_Control(Shoot_t *s, Shoot_CMD_t *cmd);
/**
* @brief UI数据
*
* @param s
* @param ui UI结构体
*/
void Shoot_DumpUI(Shoot_t *s, Shoot_RefereeUI_t *ui);
void Shoot_DumpAI(Shoot_t *s, Shoot_AI_t *ai) ;
#ifdef __cplusplus
}
#endif

120
User/module/vision_bridge.c Normal file
View File

@ -0,0 +1,120 @@
#include "vision_bridge.h"
#include "device/device.h"
#include "bsp/uart.h"
#include "component/crc16.h"
#include <string.h>
#include "bsp/fdcan.h"
#define AI_CMD_CAN_DLC (8u) /* 1字节mode + 3.5字节yaw + 3.5字节pit */
#define AI_CMD_ANGLE_SCALE (10000000.0f) /* 0.0000001 rad per LSB */
int8_t AI_Init(AI_t *ai, AI_Param_t *param) {
if (ai == NULL) return DEVICE_ERR_NULL;
BSP_FDCAN_Init();
memset(ai, 0, sizeof(AI_t));
ai->param = param;
BSP_FDCAN_RegisterId(ai->param->can, ai->param->vision_id, 3);
return 0;
}
int8_t AI_ParseForHost(AI_t* ai, AI_RawData_t* raw_data){
ai->tohost.head[0]='M';
ai->tohost.head[1]='R';
ai->tohost.mode=raw_data->mode;
ai->tohost.pitch=raw_data->pitch;
ai->tohost.yaw=raw_data->yaw;
ai->tohost.pitch_vel=raw_data->pitch_vel;
ai->tohost.yaw_vel=raw_data->yaw_vel;
ai->tohost.q[0]=raw_data->q[0];
ai->tohost.q[1]=raw_data->q[1];
ai->tohost.q[2]=raw_data->q[2];
ai->tohost.q[3]=raw_data->q[3];
ai->tohost.bullet_count=10;
ai->tohost.bullet_speed=10.5;
ai->tohost.crc16=CRC16_Calc(((const uint8_t*)&(ai->tohost)),sizeof(ai->tohost)-sizeof(uint16_t), CRC16_INIT );
if(CRC16_Verify(((const uint8_t*)&(ai->tohost)), sizeof(ai->tohost))!=true){
return DEVICE_ERR;
}
return DEVICE_OK;
}
int8_t AI_Get(AI_t *ai, AI_cmd_t* outcmd) {
if(ai->fromhost.head[0]!='M'&&ai->fromhost.head[1]!='R'){
return DEVICE_ERR;
}
// CRC16_Calc(&ai->fromhost,sizeof(ai->fromhost),ai->fromhost.crc16);
if(CRC16_Verify((const uint8_t*)&(ai->fromhost), sizeof(ai->fromhost))!=true){
return DEVICE_ERR;
}
outcmd->gimbal.setpoint.pit = ai->fromhost.pitch;
outcmd->gimbal.setpoint.yaw = ai->fromhost.yaw;
outcmd->mode = ai->fromhost.mode;
outcmd->gimbal.accl.pit = ai->fromhost.pitch_acc;
outcmd->gimbal.vel.pit = ai->fromhost.pitch_vel;
outcmd->gimbal.accl.yaw = ai->fromhost.yaw_acc;
outcmd->gimbal.vel.yaw = ai->fromhost.yaw_vel;
return DEVICE_OK;
}
/* 打包并通过 CAN2 发送AI命令给下层板mode + yaw + pit */
void AI_SendCmdOnFDCAN(AI_t *ai, const AI_cmd_t *cmd) {
if (cmd == NULL) return;
/* 将float角度转换为int32_t定点数0.0000001 rad/LSB */
const int32_t yaw = (int32_t)(cmd->gimbal.setpoint.yaw * AI_CMD_ANGLE_SCALE);
const int32_t pit = (int32_t)(cmd->gimbal.setpoint.pit * AI_CMD_ANGLE_SCALE);
BSP_FDCAN_StdDataFrame_t frame = {0};
frame.id = ai->param->vision_id;
frame.dlc = AI_CMD_CAN_DLC;
/* mode(1字节) + yaw(3.5字节) + pit(3.5字节) */
frame.data[0] = cmd->mode;
frame.data[1] = (uint8_t)((yaw >> 20) & 0xFF);
frame.data[2] = (uint8_t)((yaw >> 12) & 0xFF);
frame.data[3] = (uint8_t)((yaw >> 4) & 0xFF);
frame.data[4] = (uint8_t)(((yaw & 0xF) << 4) | ((pit >> 24) & 0xF));
frame.data[5] = (uint8_t)((pit >> 16) & 0xFF);
frame.data[6] = (uint8_t)((pit >> 8) & 0xFF);
frame.data[7] = (uint8_t)(pit & 0xFF);
(void)BSP_FDCAN_TransmitStdDataFrame(ai->param->can, &frame);
}
/* 从CAN消息解析AI命令 (mode + yaw + pit) */
void AI_ParseCmdFromCan(AI_t *ai, AI_cmd_t *cmd) {
if (cmd == NULL) {
return;
}
BSP_FDCAN_Message_t msg;
if (BSP_FDCAN_GetMessage(ai->param->can, ai->param->vision_id, &msg, BSP_FDCAN_TIMEOUT_IMMEDIATE) != 0) {
return;
}
/* 解析mode (1字节) */
cmd->mode = msg.data[0];
/* 解析yaw (3.5字节) */
int32_t yaw_raw = (int32_t)((msg.data[1] << 20) | (msg.data[2] << 12) | (msg.data[3] << 4) | ((msg.data[4] >> 4) & 0xF));
if (yaw_raw & 0x08000000) yaw_raw |= 0xF0000000;
cmd->gimbal.setpoint.yaw = (float)yaw_raw / AI_CMD_ANGLE_SCALE;
/* 解析pit (3.5字节) */
int32_t pit_raw = (int32_t)(((msg.data[4] & 0xF) << 24) | (msg.data[5] << 16) | (msg.data[6] << 8) | msg.data[7]);
if (pit_raw & 0x08000000) pit_raw |= 0xF0000000;
cmd->gimbal.setpoint.pit = (float)pit_raw / AI_CMD_ANGLE_SCALE;
/* 其他字段根据需要可以初始化为0 */
cmd->gimbal.vel.yaw = 0.0f;
cmd->gimbal.vel.pit = 0.0f;
cmd->gimbal.accl.yaw = 0.0f;
cmd->gimbal.accl.pit = 0.0f;
}

View File

@ -0,0 +1,99 @@
/*
*
*/
#pragma once
#include "component/user_math.h"
#include "bsp/can.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ----------------------------------------------------------------- */
struct __attribute__((packed)) AI_ToHost
{
uint8_t head[2];
uint8_t mode; // 0: 空闲, 1: 自瞄, 2: 小符, 3: 大符
float q[4]; // wxyz顺序 /q4,q0,q1,q2/
float yaw;
float yaw_vel;
float pitch;
float pitch_vel;
float bullet_speed;
uint16_t bullet_count; // 子弹累计发送次数
uint16_t crc16;
};
struct __attribute__((packed)) AI_FromHost
{
uint8_t head[2];
uint8_t mode; // 0: 不控制, 1: 控制云台但不开火2: 控制云台且开火
float yaw;
float yaw_vel;
float yaw_acc;
float pitch;
float pitch_vel;
float pitch_acc;
uint16_t crc16;
};
typedef struct {
uint8_t mode;
struct{
struct{
float yaw;
float pit;
}setpoint;
struct{
float pit;
float yaw;
}accl;
struct{
float pit;
float yaw;
}vel;
}gimbal;
}AI_cmd_t;
typedef struct {
uint8_t mode; // 0: 空闲, 1: 自瞄, 2: 小符, 3: 大符
float q[4]; // wxyz顺序 /q4,q0,q1,q2/
float yaw;
float yaw_vel;
float pitch;
float pitch_vel;
float bullet_speed;
uint16_t bullet_count; // 子弹累计发送次数
}AI_RawData_t;
typedef struct {
BSP_CAN_t can;
uint16_t vision_id;
}AI_Param_t;
typedef struct __attribute__((packed)) {
struct AI_ToHost tohost;
struct AI_FromHost fromhost;
AI_Param_t *param;
}AI_t;
int8_t AI_Init(AI_t *ai, AI_Param_t *param);
int8_t AI_StartReceiving(AI_t *ai);
int8_t AI_Get(AI_t *ai, AI_cmd_t* ai_cmd);
int8_t AI_ParseForHost(AI_t* ai, AI_RawData_t* raw_data);
int8_t AI_StartSend(AI_t *ai);
void AI_SendCmdOnCan(AI_t *ai, const AI_cmd_t *cmd);
void AI_ParseCmdFromCan(AI_t *ai, AI_cmd_t *cmd);
#ifdef __cplusplus
}
#endif

View File

@ -9,10 +9,10 @@
#include "device/ET16s.h"
#include "device/dr16.h"
#include "module/config.h"
#include "module/cmd.h"
#include "module/cmd_adapter.h"
#include "module/cmd_behavior.h"
#include "module/cmd_types.h"
#include "module/cmd/cmd.h"
#include "module/cmd/cmd_adapter.h"
#include "module/cmd/cmd_behavior.h"
#include "module/cmd/cmd_types.h"
#include "module/gimbal.h"
/* USER INCLUDE END */

View File

@ -68,6 +68,7 @@ void Task_Init(void *argument) {
task_runtime.msgq.shoot.ai.s_cmd_ai_bool_count = osMessageQueueNew(2u, sizeof(PackageMCU_t),NULL);
task_runtime.msgq.navi.c_cmd = osMessageQueueNew(2u, sizeof(AI_result_t),NULL); /* 新增的 ai 消息队列 主要是给底盘发送导航相关的命令*/
/* 裁判系统 */
task_runtime.msgq.referee.ai= osMessageQueueNew(2u, sizeof(Referee_ForAI_t), NULL);
task_runtime.msgq.referee.cap= osMessageQueueNew(2u, sizeof(Referee_ForCap_t), NULL);
task_runtime.msgq.referee.cap= osMessageQueueNew(2u, sizeof(Referee_ForChassis_t), NULL);

View File

@ -7,6 +7,7 @@
#include "task/user_task.h"
/* USER INCLUDE BEGIN */
#include "device/referee.h"
#include "module/config.h"
/* USER INCLUDE END */
/* Private typedef ---------------------------------------------------------- */
@ -16,15 +17,18 @@
/* USER STRUCT BEGIN */
Referee_t ref;
Referee_UI_t ui;
CMD_UI_t ref_cmd;
Referee_UI_CMD_t ref_cmd;
Referee_ForCap_t for_cap;
Referee_ForAI_t for_ai;
Referee_ForChassis_t for_chassis;
Referee_ForShoot_t for_shoot;
uint8_t send_data[6]={1,2,3,4};
/* USER STRUCT END */
/* Private function --------------------------------------------------------- */
/* USER PRIVATE CODE BEGIN */
/* USER PRIVATE CODE END */
/* Exported functions ------------------------------------------------------- */
void Task_referee(void *argument) {
(void)argument; /* 未使用argument消除警告 */
@ -39,8 +43,8 @@ void Task_referee(void *argument) {
/* USER CODE INIT BEGIN */
uint32_t last_online_tick = 0;
/* 初始化裁判系统 */
Referee_Init(&ref, &ui,&Config_GetRobotParam()->cmd_param.screen);
Referee_Init(&ref, &ui, &Config_GetRobotParam()->ref_screen);
/* USER CODE INIT END */
while (1) {
@ -50,7 +54,7 @@ void Task_referee(void *argument) {
if (osThreadFlagsWait(SIGNAL_REFEREE_RAW_REDY, osFlagsWaitAll, 10) !=
SIGNAL_REFEREE_RAW_REDY) {
if (osKernelGetTickCount() - last_online_tick > 3000)
if (osKernelGetTickCount() - last_online_tick > 2500)
Referee_HandleOffline(&ref);
} else {
Referee_Parse(&ref);
@ -60,30 +64,31 @@ void Task_referee(void *argument) {
Referee_PackAI(&for_ai, &ref);
Referee_PackShoot(&for_shoot, &ref);
Referee_PackChassis(&for_chassis, &ref);
if (osKernelGetTickCount() > delay_tick){
tick += delay_tick;
{
/* 裁判系统数据读取 */
osMessageQueueReset(task_runtime.msgq.referee.cap);
osMessageQueuePut(task_runtime.msgq.referee.cap, &for_cap, 0, 0);
osMessageQueueReset(task_runtime.msgq.referee.ai);
osMessageQueuePut(task_runtime.msgq.referee.ai, &for_ai, 0, 0);
osMessageQueueReset(task_runtime.msgq.referee.chassis);
osMessageQueuePut(task_runtime.msgq.referee.chassis, &for_chassis, 0, 0);
osMessageQueueReset(task_runtime.msgq.referee.shoot);
osMessageQueuePut(task_runtime.msgq.referee.shoot, &for_shoot, 0, 0);
osMessageQueueReset(task_runtime.msgq.referee.tocmd.cap);
osMessageQueuePut(task_runtime.msgq.referee.tocmd.cap, &for_cap, 0, 0);
osMessageQueueReset(task_runtime.msgq.referee.tocmd.ai);
osMessageQueuePut(task_runtime.msgq.referee.tocmd.ai, &for_ai, 0, 0);
osMessageQueueReset(task_runtime.msgq.referee.tocmd.chassis);
osMessageQueuePut(task_runtime.msgq.referee.tocmd.chassis, &for_chassis, 0, 0);
osMessageQueueReset(task_runtime.msgq.referee.tocmd.shoot);
osMessageQueuePut(task_runtime.msgq.referee.tocmd.shoot, &for_shoot, 0, 0);
/* UI数据获取 */
osMessageQueueGet(task_runtime.msgq.ui.cap, &(ui.cap_ui), NULL, 0);
osMessageQueueGet(task_runtime.msgq.ui.chassis, &(ui.chassis_ui), NULL,0);
osMessageQueueGet(task_runtime.msgq.ui.gimbal, &(ui.gimbal_ui), NULL, 0);
osMessageQueueGet(task_runtime.msgq.ui.shoot, &(ui.shoot_ui), NULL, 0);
osMessageQueueGet(task_runtime.msgq.ui.cmd, &(ui.cmd_pc), NULL, 0);
osMessageQueueGet(task_runtime.msgq.referee.ui.tocap, &(ui.cap_ui), NULL, 0);
osMessageQueueGet(task_runtime.msgq.referee.ui.tochassis, &(ui.chassis_ui), NULL,0);
osMessageQueueGet(task_runtime.msgq.referee.ui.togimbal, &(ui.gimbal_ui), NULL, 0);
osMessageQueueGet(task_runtime.msgq.referee.ui.toshoot, &(ui.shoot_ui), NULL, 0);
osMessageQueueGet(task_runtime.msgq.referee.ui.tocmd, &(ui.cmd_pc), NULL, 0);
Referee_UIRefresh(&ui);
while (osMessageQueueGet(task_runtime.msgq.referee.ui, &ref_cmd, NULL,
while (osMessageQueueGet(task_runtime.msgq.referee.ui.frcmd, &ref_cmd, NULL,
0) == osOK) {
ref_cmd=UI_AUTO_AIM_START;
Referee_PraseCmd(&ui, ref_cmd);
// Referee_StartSend(send_data, sizeof(send_data));
}
Referee_PackUI(&ui, &ref);
}

View File

@ -1,14 +1,16 @@
/*
shoot Task
ctrl_shoot Task
*/
/* Includes ----------------------------------------------------------------- */
#include "cmsis_os.h"
#include "task/user_task.h"
/* USER INCLUDE BEGIN */
#include "module/shoot.h"
#include "module/config.h"
#include "device/ai.h"
#include "device/referee_proto_types.h"
/* USER INCLUDE END */
/* Private typedef ---------------------------------------------------------- */
@ -18,95 +20,53 @@
/* USER STRUCT BEGIN */
Shoot_t shoot;
Shoot_CMD_t shoot_cmd;
AI_result_t shoot_ai_result_cmd;
PackageMCU_t shoot_ai_mcu_package;
Referee_ForShoot_t shoot_ref;
Shoot_AI_t shoot_forai;
/* USER STRUCT END */
/* Private function --------------------------------------------------------- */
/* USER PRIVATE CODE BEGIN */
/* USER PRIVATE CODE END */
/* Exported functions ------------------------------------------------------- */
void Task_shoot(void *argument) {
void Task_ctrl_shoot(void *argument) {
(void)argument; /* 未使用argument消除警告 */
/* 计算任务运行到指定频率需要等待的tick数 */
const uint32_t delay_tick = osKernelGetTickFreq() / SHOOT_FREQ;
const uint32_t delay_tick = osKernelGetTickFreq() / CTRL_SHOOT_FREQ;
osDelay(SHOOT_INIT_DELAY); /* 延时一段时间再开启任务 */
osDelay(MONITOR_INIT_DELAY); /* 延时一段时间再开启任务 */
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
/* USER CODE INIT BEGIN */
Shoot_Init(&shoot,&Config_GetRobotParam()->shoot,SHOOT_FREQ);
Shoot_SetMode(&shoot,SHOOT_MODE_SINGLE);
shoot_ai_mcu_package.data.bullet_count = 0;
static bool last_fire_state = false;
bool current_fire_state = false; // 当前是否需要发射
static uint32_t ai_last_fire_tick = 0;
static const uint32_t ai_single_interval_ms = 220;
static const uint32_t ai_burst_interval_ms = 110;
static const uint32_t ai_continue_interval_ms = 0;
Shoot_Init(&shoot,&Config_GetRobotParam()->shoot_param,CTRL_SHOOT_FREQ);
MRobot_RegisterDevice("shoot", &shoot, print_shoot);
/* USER CODE INIT END */
while (1) {
tick += delay_tick; /* 计算下一个唤醒时刻 */
/* USER CODE BEGIN */
osMessageQueueGet(task_runtime.msgq.shoot.cmd, &shoot_cmd, NULL, 0);
osMessageQueueGet(task_runtime.msgq.shoot.ai.s_cmd, &shoot_ai_result_cmd, NULL, 0);
osMessageQueueGet(task_runtime.msgq.shoot.ref, &shoot_ref, NULL, 0);
if(shoot_cmd.control_mode==SHOOT_REMOTE)
{
//do nothing使用遥控器的指令
current_fire_state = shoot_cmd.firecmd;
}
else if(shoot_cmd.control_mode==SHOOT_AI)
{
uint32_t now_ms = osKernelGetTickCount();
uint32_t interval_ms = ai_single_interval_ms;
shoot_cmd.ready = true;
if (shoot_ai_result_cmd.mode == 2) {
switch (shoot_cmd.mode) {
case SHOOT_MODE_CONTINUE:
interval_ms = ai_continue_interval_ms;
break;
case SHOOT_MODE_BURST:
interval_ms = ai_burst_interval_ms;
break;
case SHOOT_MODE_SINGLE:
default:
interval_ms = ai_single_interval_ms;
break;
}
if (interval_ms == 0) {
shoot_cmd.firecmd = true;
} else if ((now_ms - ai_last_fire_tick) >= interval_ms) {
shoot_cmd.firecmd = true;
ai_last_fire_tick = now_ms;
Shoot_DumpAI(&shoot, &shoot_forai);
osMessageQueuePut(task_runtime.msgq.ai.rawdata_FromShoot, &shoot_forai, 0, 0);
if (shoot_ref.ref_status == REF_STATUS_RUNNING) {
shoot.heatcontrol.ref_online = true;
shoot.heatcontrol.Hmax = (float)shoot_ref.robot_status.shooter_barrel_heat_limit;
shoot.heatcontrol.Hcd = (float)shoot_ref.robot_status.shooter_barrel_cooling_value;
shoot.heatcontrol.Hnow = (float)shoot_ref.power_heat.shooter_42mm_barrel_heat;
shoot.heatcontrol.Hgen = 10.0f; /* 42mm弹丸每发产生热量 */
} else {
shoot_cmd.firecmd = false;
shoot.heatcontrol.ref_online = false;
}
} else {
shoot_cmd.firecmd = false;
ai_last_fire_tick = now_ms;
}
current_fire_state = shoot_cmd.firecmd;
}
if(current_fire_state == true && last_fire_state == false)
{
shoot_ai_mcu_package.data.bullet_count++; /* 每次射击时增加射击数量 */
}
last_fire_state = current_fire_state;
Shoot_UpdateFeedback(&shoot);
Shoot_SetMode(&shoot,shoot_cmd.mode);
Shoot_Control(&shoot,&shoot_cmd);
osMessageQueueReset(task_runtime.msgq.shoot.ai.s_cmd_ai_bool_count);
osMessageQueuePut(task_runtime.msgq.shoot.ai.s_cmd_ai_bool_count, &shoot_ai_mcu_package, 0, 0);
/* USER CODE END */
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
}

View File

@ -1,171 +0,0 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "build/Debug/CMakeFiles/4.0.1/CMakeSystem.cmake"
},
{
"path" : "cmake/gcc-arm-none-eabi.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isGenerated" : true,
"path" : "build/Debug/CMakeFiles/4.0.1/CMakeCCompiler.cmake"
},
{
"isGenerated" : true,
"path" : "build/Debug/CMakeFiles/4.0.1/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Platform/Generic.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Compiler/GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Platform/Generic.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Internal/CMakeCLinkerInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Internal/CMakeCommonLinkerInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Compiler/GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Platform/Generic.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Internal/CMakeCXXLinkerInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Internal/CMakeCommonLinkerInformation.cmake"
},
{
"isGenerated" : true,
"path" : "build/Debug/CMakeFiles/4.0.1/CMakeASMCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeASMInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Compiler/GNU-ASM.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Internal/CMakeASMLinkerInformation.cmake"
},
{
"path" : "cmake/stm32cubemx/CMakeLists.txt"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "/Users/lvzucheng/Documents/R/Er_sentry/build/Debug",
"source" : "/Users/lvzucheng/Documents/R/Er_sentry"
},
"version" :
{
"major" : 1,
"minor" : 1
}
}

View File

@ -1,97 +0,0 @@
{
"configurations" :
[
{
"directories" :
[
{
"build" : ".",
"childIndexes" :
[
1
],
"jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
},
"projectIndex" : 0,
"source" : ".",
"targetIndexes" :
[
2
]
},
{
"build" : "cmake/stm32cubemx",
"jsonFile" : "directory-cmake.stm32cubemx-Debug-4b19649788072bcc790a.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
},
"parentIndex" : 0,
"projectIndex" : 0,
"source" : "cmake/stm32cubemx",
"targetIndexes" :
[
0,
1
]
}
],
"name" : "Debug",
"projects" :
[
{
"directoryIndexes" :
[
0,
1
],
"name" : "lll0121",
"targetIndexes" :
[
0,
1,
2
]
}
],
"targets" :
[
{
"directoryIndex" : 1,
"id" : "FreeRTOS::@768a070a0fe75716b479",
"jsonFile" : "target-FreeRTOS-Debug-c652e4fc77b4f28337ba.json",
"name" : "FreeRTOS",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "STM32_Drivers::@768a070a0fe75716b479",
"jsonFile" : "target-STM32_Drivers-Debug-b0aa5fd7c17851fa1380.json",
"name" : "STM32_Drivers",
"projectIndex" : 0
},
{
"directoryIndex" : 0,
"id" : "lll0121::@6890427a1f51a3e7e1df",
"jsonFile" : "target-lll0121-Debug-1d767958bec70da90eaa.json",
"name" : "lll0121",
"projectIndex" : 0
}
]
}
],
"kind" : "codemodel",
"paths" :
{
"build" : "/Users/lvzucheng/Documents/R/Er_sentry/build/Debug",
"source" : "/Users/lvzucheng/Documents/R/Er_sentry"
},
"version" :
{
"major" : 2,
"minor" : 8
}
}

View File

@ -1,14 +0,0 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : ".",
"source" : "."
}
}

View File

@ -1,14 +0,0 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "cmake/stm32cubemx",
"source" : "cmake/stm32cubemx"
}
}

View File

@ -1,132 +0,0 @@
{
"cmake" :
{
"generator" :
{
"multiConfig" : false,
"name" : "Ninja"
},
"paths" :
{
"cmake" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake",
"cpack" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cpack",
"ctest" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/ctest",
"root" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0"
},
"version" :
{
"isDirty" : false,
"major" : 4,
"minor" : 0,
"patch" : 1,
"string" : "4.0.1",
"suffix" : ""
}
},
"objects" :
[
{
"jsonFile" : "codemodel-v2-46489f7879a9c47dc474.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 8
}
},
{
"jsonFile" : "cache-v2-4c5028c5e3aae1ad4776.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-2fcb4b80fda6b3324f8b.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 1
}
},
{
"jsonFile" : "toolchains-v1-cce5960ef8dd127cae49.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
],
"reply" :
{
"client-vscode" :
{
"query.json" :
{
"requests" :
[
{
"kind" : "cache",
"version" : 2
},
{
"kind" : "codemodel",
"version" : 2
},
{
"kind" : "toolchains",
"version" : 1
},
{
"kind" : "cmakeFiles",
"version" : 1
}
],
"responses" :
[
{
"jsonFile" : "cache-v2-4c5028c5e3aae1ad4776.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "codemodel-v2-46489f7879a9c47dc474.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 8
}
},
{
"jsonFile" : "toolchains-v1-cce5960ef8dd127cae49.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-2fcb4b80fda6b3324f8b.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 1
}
}
]
}
}
}
}

View File

@ -1,246 +0,0 @@
{
"artifacts" :
[
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/./__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.obj"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"target_link_libraries",
"target_sources"
],
"files" :
[
"cmake/stm32cubemx/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 101,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 103,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 102,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11"
}
],
"defines" :
[
{
"backtrace" : 2,
"define" : "DEBUG"
},
{
"backtrace" : 2,
"define" : "STM32F407xx"
},
{
"backtrace" : 2,
"define" : "USE_HAL_DRIVER"
}
],
"includes" :
[
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Core/Inc"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Drivers/STM32F4xx_HAL_Driver/Inc"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Middlewares/Third_Party/FreeRTOS/Source/include"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Drivers/CMSIS/Device/ST/STM32F4xx/Include"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Drivers/CMSIS/Include"
}
],
"language" : "C",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
]
}
],
"id" : "FreeRTOS::@768a070a0fe75716b479",
"name" : "FreeRTOS",
"paths" :
{
"build" : "cmake/stm32cubemx",
"source" : "cmake/stm32cubemx"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
]
}
],
"sources" :
[
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/croutine.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/event_groups.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/list.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/queue.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/tasks.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/timers.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c",
"sourceGroupIndex" : 0
}
],
"type" : "OBJECT_LIBRARY"
}

View File

@ -1,345 +0,0 @@
{
"artifacts" :
[
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Core/Src/system_stm32f4xx.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c.obj"
},
{
"path" : "cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/./__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c.obj"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"target_link_libraries",
"target_sources"
],
"files" :
[
"cmake/stm32cubemx/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 95,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 97,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 96,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11"
}
],
"defines" :
[
{
"backtrace" : 2,
"define" : "DEBUG"
},
{
"backtrace" : 2,
"define" : "STM32F407xx"
},
{
"backtrace" : 2,
"define" : "USE_HAL_DRIVER"
}
],
"includes" :
[
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Core/Inc"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Drivers/STM32F4xx_HAL_Driver/Inc"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Middlewares/Third_Party/FreeRTOS/Source/include"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Drivers/CMSIS/Device/ST/STM32F4xx/Include"
},
{
"backtrace" : 2,
"path" : "/Users/lvzucheng/Documents/R/Er_sentry/cmake/stm32cubemx/../../Drivers/CMSIS/Include"
}
],
"language" : "C",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18
]
}
],
"id" : "STM32_Drivers::@768a070a0fe75716b479",
"name" : "STM32_Drivers",
"paths" :
{
"build" : "cmake/stm32cubemx",
"source" : "cmake/stm32cubemx"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18
]
}
],
"sources" :
[
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Core/Src/system_stm32f4xx.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c",
"sourceGroupIndex" : 0
},
{
"backtrace" : 3,
"compileGroupIndex" : 0,
"path" : "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c",
"sourceGroupIndex" : 0
}
],
"type" : "OBJECT_LIBRARY"
}

View File

@ -1,94 +0,0 @@
{
"kind" : "toolchains",
"toolchains" :
[
{
"compiler" :
{
"id" : "GNU",
"implicit" : {},
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc",
"version" : ""
},
"language" : "ASM",
"sourceFileExtensions" :
[
"s",
"S",
"asm"
]
},
{
"compiler" :
{
"id" : "GNU",
"implicit" :
{
"includeDirectories" :
[
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include",
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include-fixed",
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include"
],
"linkDirectories" : [],
"linkFrameworkDirectories" : [],
"linkLibraries" : []
},
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc",
"version" : "13.3.1"
},
"language" : "C",
"sourceFileExtensions" :
[
"c",
"m"
]
},
{
"compiler" :
{
"id" : "GNU",
"implicit" :
{
"includeDirectories" :
[
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1",
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard",
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1/backward",
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include",
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include-fixed",
"/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include"
],
"linkDirectories" : [],
"linkFrameworkDirectories" : [],
"linkLibraries" : []
},
"path" : "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++",
"version" : "13.3.1"
},
"language" : "CXX",
"sourceFileExtensions" :
[
"C",
"M",
"c++",
"cc",
"cpp",
"cxx",
"mm",
"mpp",
"CPP",
"ixx",
"cppm",
"ccm",
"cxxm",
"c++m"
]
}
],
"version" :
{
"major" : 1,
"minor" : 0
}
}

Binary file not shown.

View File

@ -1,99 +1,120 @@
# ninja log v6
8 309 1773939135304855749 CMakeFiles/lll0121.dir/User/module/shoot.c.obj 79f5f6b1ae098d32
2 307 1773939135298919738 CMakeFiles/lll0121.dir/User/module/cmd_behavior.c.obj 97edbed62de5473
5 291 1773939135301951704 CMakeFiles/lll0121.dir/User/module/config.c.obj 74044b476f78cb5f
2 291 1773939135298700648 CMakeFiles/lll0121.dir/User/module/cmd.c.obj 774deb362a311499
521 747 1773939133650223364 CMakeFiles/lll0121.dir/User/device/bmi088.c.obj e6eebd0f13879cbb
356 651 1773939133484699982 CMakeFiles/lll0121.dir/User/bsp/uart.c.obj bdd007f95de94299
3 180 1773939133131940899 CMakeFiles/lll0121.dir/startup_stm32f407xx.s.obj 7f81a25e4ab77773
234 349 1773939133363110959 CMakeFiles/lll0121.dir/User/bsp/mm.c.obj 78c95c3ca0ded63d
542 653 1773939133670552599 CMakeFiles/lll0121.dir/User/device/motor.c.obj 7e5c574bcac3d34f
409 561 1773939133537552359 CMakeFiles/lll0121.dir/User/component/pid.c.obj a7d61a6050aa87a7
9 271 1773939135305339597 CMakeFiles/lll0121.dir/User/task/Task9.c.obj f30d494e5cc8ad7a
181 509 1773939133309228718 CMakeFiles/lll0121.dir/User/bsp/gpio.c.obj 4cd8f47677f0605
381 500 1773939133509673773 CMakeFiles/lll0121.dir/User/component/crc8.c.obj 83f981d4cb2addca
538 641 1773939133666976283 CMakeFiles/lll0121.dir/User/device/dr16.c.obj f35ad7d496319c30
2 293 1773939135298568561 CMakeFiles/lll0121.dir/User/module/chassis.c.obj ee5fefb23e7b2bf3
3 244 1773939133132152739 CMakeFiles/lll0121.dir/User/bsp/calc_lib.c.obj 417cf5489dd7aa69
496 638 1773939133625061692 CMakeFiles/lll0121.dir/User/component/user_math.c.obj 865e08def332d05a
543 774 1773939133671481377 CMakeFiles/lll0121.dir/User/device/motor_dm.c.obj aab11ae8e2d88966
400 557 1773939133529097730 CMakeFiles/lll0121.dir/User/component/freertos_cli.c.obj fceb43430e0aedc8
370 521 1773939133499208959 CMakeFiles/lll0121.dir/User/component/crc16.c.obj fb5c255dd5975c65
246 549 1773939133374268002 CMakeFiles/lll0121.dir/User/bsp/spi.c.obj 4501d7577d103d75
407 538 1773939133535958353 CMakeFiles/lll0121.dir/User/component/mixer.c.obj 57dd3c69793fa754
350 628 1773939133478331249 CMakeFiles/lll0121.dir/User/bsp/time.c.obj baf5b714164eece0
7 298 1773939135303380872 CMakeFiles/lll0121.dir/User/module/gimbal.c.obj 80f531b0f0aac202
398 543 1773939133526482819 CMakeFiles/lll0121.dir/User/component/error_detect.c.obj 595374c995f680cb
402 542 1773939133530749363 CMakeFiles/lll0121.dir/User/component/limiter.c.obj ad30b0b019a4fca
400 549 1773939133528598674 CMakeFiles/lll0121.dir/User/component/filter.c.obj 2b637bcc86c1ddbc
546 774 1773939133674534510 CMakeFiles/lll0121.dir/User/device/motor_rm.c.obj 268a7f6b699137a5
2 360 1773939133130609193 CMakeFiles/lll0121.dir/Core/Src/dma.c.obj ef186f8764b8a9b0
244 591 1773939133372655662 CMakeFiles/lll0121.dir/User/bsp/pwm.c.obj 9ead881d898d9d26
500 728 1773939133628752470 CMakeFiles/lll0121.dir/User/device/ET16s.c.obj d8d1163712adb346
2 409 1773939133130814699 CMakeFiles/lll0121.dir/Core/Src/spi.c.obj 8f6b8ab894e48138
368 496 1773939133496403166 CMakeFiles/lll0121.dir/User/component/capacity.c.obj 48baa37e1f6641b1
2 407 1773939133131092749 CMakeFiles/lll0121.dir/Core/Src/usart.c.obj 4c2ea4e5a9ade3e6
10 291 1773939135307155319 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj c79294bd4a35183c
2 402 1773939133130405187 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj 88ff98db4190674
2 173 1773939135298812526 CMakeFiles/lll0121.dir/User/module/cmd_adapter.c.obj 76d02dd1b7056804
447 613 1773939133575704128 CMakeFiles/lll0121.dir/User/component/ui.c.obj 60d45e72adf7100a
4 400 1773939133132458457 CMakeFiles/lll0121.dir/User/bsp/dwt.c.obj 2554383461f63d5e
549 652 1773939133677839651 CMakeFiles/lll0121.dir/User/device/remote_control.c.obj 5b78014638b72d76
1 397 1773939133130090261 CMakeFiles/lll0121.dir/Core/Src/main.c.obj 3e1e9ea87ee3ee0b
3 381 1773939133131234295 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_it.c.obj aecabd416152e5d0
4 447 1773939133132315369 CMakeFiles/lll0121.dir/User/bsp/can.c.obj a97454f9ad8c141f
2 368 1773939133130969037 CMakeFiles/lll0121.dir/Core/Src/tim.c.obj c43da613e4c57dcf
3 271 1773939135300261112 CMakeFiles/lll0121.dir/User/module/cmd_example.c.obj fcf00a879d8ca8b2
2 356 1773939133130289892 CMakeFiles/lll0121.dir/Core/Src/gpio.c.obj 6e5a6d3fe06fde94
3 245 1773939133131798020 CMakeFiles/lll0121.dir/Core/Src/syscalls.c.obj 5f09c3ebd20389a3
3 370 1773939133131420467 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_hal_msp.c.obj fb407076166d1396
360 546 1773939133489179491 CMakeFiles/lll0121.dir/User/component/ahrs.c.obj 9f00ad11e038c03d
3 234 1773939133131595597 CMakeFiles/lll0121.dir/Core/Src/sysmem.c.obj 29c059a300d085d7
2 400 1773939133130510398 CMakeFiles/lll0121.dir/Core/Src/can.c.obj af2718dbe5418fc4
8 289 1773939241583793248 CMakeFiles/lll0121.dir/User/task/tempCodeRunnerFile.c.obj 93d3d269f2179b74
8 402 1773939241583894834 CMakeFiles/lll0121.dir/User/task/user_task.c.obj bb27ec4e9f6dfbeb
7 419 1773939241582485292 CMakeFiles/lll0121.dir/User/task/rc.c.obj 2c2bcde841c6e64b
3 420 1773939241578912101 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_it.c.obj aecabd416152e5d0
4 282 1773939248920934556 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Core/Src/system_stm32f4xx.c.obj eb8cee8d133b05ae
4 301 1773939248921647702 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c.obj d9962de437a7f85d
4 310 1773939248921469030 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c.obj 42f4c475e8662046
4 316 1773939248921073768 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c.obj 986132164e488923
8 254 1773939254427134231 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c.obj 2293bfa76d5141b3
9 278 1773939254427914338 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c.obj 4d18d61a5faac3bb
7 278 1773939254426093200 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c.obj 4a457843c1218ba1
5 280 1773939254424785744 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c.obj 91d08dd1744c0ee5
8 273 1773939257974900407 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c.obj ec47090a2eb092c5
8 284 1773939257974754986 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c.obj 563f19e858d9dc6e
7 286 1773939257973413613 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c.obj 25aa088efb8401b9
7 295 1773939257973287692 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c.obj b5489ef6c0103723
7 268 1773939268948274546 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c.obj 61e8563f9cb376e2
6 285 1773939268946535452 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c.obj eaea1864ed215730
6 286 1773939268946405990 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c.obj c95fc51c65a4d89f
9 323 1773939268949760216 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c.obj a9d51a1513995935
8 220 1773939313330437462 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj be617f09bbd5d63a
8 459 1773939313330099494 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c.obj 1aeb228bb88451af
8 495 1773939313330270790 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c.obj 6565b57fcaf7786f
6 560 1773939313328349358 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c.obj 98c0da48cc725f7c
7 275 1773939385358575461 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj 744268a7e7b1c619
7 344 1773939385358385914 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj 714437d425a8906f
8 348 1773939385358908554 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj 4582c582eea80a1a
7 394 1773939385358745341 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj d33e901ef42535c
4 483 1773939385355336114 CMakeFiles/lll0121.dir/User/task/gimbal.c.obj 25343234e454afcc
2 487 1773939385353261010 CMakeFiles/lll0121.dir/User/device/ai.c.obj b31ff782d03d0042
2 510 1773939385353696564 CMakeFiles/lll0121.dir/User/device/supercap.c.obj 1dff8d953d7a7bb
3 515 1773939385354297999 CMakeFiles/lll0121.dir/User/task/ai.c.obj e34134523e675580
3 527 1773939385354729345 CMakeFiles/lll0121.dir/User/task/chassis.c.obj 9b3aa4eb7a950b1c
5 532 1773939385356285309 CMakeFiles/lll0121.dir/User/task/referee.c.obj 26839a1f9e5a277a
7 541 1773939385358146281 CMakeFiles/lll0121.dir/User/task/super_cap.c.obj 3d200c4761920f94
4 544 1773939385355547037 CMakeFiles/lll0121.dir/User/task/init.c.obj 7310d52e94240ebd
6 545 1773939385356999414 CMakeFiles/lll0121.dir/User/task/shoot.c.obj e876b02126daede2
2 581 1773939385353538601 CMakeFiles/lll0121.dir/User/device/referee.c.obj 75726ee6d417a3f7
5 335 1773939541695935124 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.obj c81711fc2fec6969
5 335 1773939541695571322 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj f6df743da2389ce
4 339 1773939541695307522 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj 3653f296ef2e93be
4 375 1773939541695180852 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj e7056e24f7fa5f38
4 422 1773939541695053598 CMakeFiles/lll0121.dir/User/task/cmd.c.obj 380bc120bd16f4a1
4 430 1773939541694903927 CMakeFiles/lll0121.dir/User/module/cap.c.obj e3a5643faf455187
4 489 1773939541694656836 CMakeFiles/lll0121.dir/User/device/referee.c.obj 75726ee6d417a3f7
4 493 1773939541695434234 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj e3cf55d581d5663f
493 906 1773939542184048434 lll0121.elf e3fc90b0617842c5
# ninja log v7
133 569 7956565468990761 CMakeFiles/lll0121.dir/startup_stm32f407xx.s.obj c39582fc6d6bbca3
218 684 7956565469840836 CMakeFiles/lll0121.dir/User/component/crc8.c.obj 5ef82c5909994808
139 714 7956565469050763 CMakeFiles/lll0121.dir/User/bsp/calc_lib.c.obj 7e8f7986c1c508e
122 759 7956565468885564 CMakeFiles/lll0121.dir/Core/Src/sysmem.c.obj 5d54101b5777a9be
212 784 7956565469780756 CMakeFiles/lll0121.dir/User/component/crc16.c.obj 7ef995faca0ba963
164 813 7956565469310752 CMakeFiles/lll0121.dir/User/bsp/mm.c.obj a9fbbd17fcba7f7c
231 930 7956565469960832 CMakeFiles/lll0121.dir/User/component/filter.c.obj 48df3cc63d1209b4
63 940 7956565468285465 CMakeFiles/lll0121.dir/Core/Src/gpio.c.obj 804aa69edb1d18a9
300 950 7956565470666019 CMakeFiles/lll0121.dir/User/component/mixer.c.obj 7f75d8ca0c661538
306 973 7956565470726007 CMakeFiles/lll0121.dir/User/component/pid.c.obj 8a34fef0336004dc
225 994 7956565469910820 CMakeFiles/lll0121.dir/User/component/error_detect.c.obj 57b63b6919a17a01
98 1027 7956565468635516 CMakeFiles/lll0121.dir/Core/Src/usart.c.obj c3a586e6c71f83c3
85 1036 7956565468515500 CMakeFiles/lll0121.dir/Core/Src/spi.c.obj 86a5d337b2ca37ce
293 1045 7956565470596007 CMakeFiles/lll0121.dir/User/component/limiter.c.obj 7d61ceaaaa82af06
92 1089 7956565468585489 CMakeFiles/lll0121.dir/Core/Src/tim.c.obj a8b06eb888c9071a
760 1098 7956565475262084 CMakeFiles/lll0121.dir/User/device/dr16.c.obj b06245e7fb4b27fc
74 1117 7956565468405508 CMakeFiles/lll0121.dir/Core/Src/can.c.obj b468b1ddc0227fcb
205 1126 7956565469710740 CMakeFiles/lll0121.dir/User/component/capacity.c.obj 3f86620803bd0226
79 1135 7956565468455486 CMakeFiles/lll0121.dir/Core/Src/dma.c.obj 5466460c3e0f7e51
312 1144 7956565470787049 CMakeFiles/lll0121.dir/User/component/ui.c.obj d139d7dc1d5ee879
127 1177 7956565468935594 CMakeFiles/lll0121.dir/Core/Src/syscalls.c.obj 9bc8b2ef118d42d6
197 1187 7956565469630738 CMakeFiles/lll0121.dir/User/component/ahrs.c.obj 614dee9b2574c6ca
320 1195 7956565470866104 CMakeFiles/lll0121.dir/User/component/user_math.c.obj 773f800b68d75322
56 1219 7956565468225476 CMakeFiles/lll0121.dir/Core/Src/main.c.obj fa61242add200544
950 1268 7956565477168717 CMakeFiles/lll0121.dir/User/device/remote_control.c.obj 7518b2178e33b77c
171 1297 7956565469370762 CMakeFiles/lll0121.dir/User/bsp/pwm.c.obj 4aba72d00c2652a2
237 1313 7956565470035996 CMakeFiles/lll0121.dir/User/component/freertos_cli.c.obj 9b642a8afdafccc8
116 1359 7956565468825578 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_hal_msp.c.obj 9024a981631998b
106 1361 7956565468725494 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_it.c.obj c7c8cedf4075bc3b
784 1362 7956565475507580 CMakeFiles/lll0121.dir/User/device/motor.c.obj 21990dff98f3a7a8
158 1370 7956565469240773 CMakeFiles/lll0121.dir/User/bsp/gpio.c.obj ae3790c6f67d1b70
150 1374 7956565469161675 CMakeFiles/lll0121.dir/User/bsp/dwt.c.obj 2e29018f42b16023
190 1484 7956565469561097 CMakeFiles/lll0121.dir/User/bsp/uart.c.obj 3e3ba7acc2f9894a
184 1533 7956565469500777 CMakeFiles/lll0121.dir/User/bsp/time.c.obj 456005123491d098
177 1603 7956565469440765 CMakeFiles/lll0121.dir/User/bsp/spi.c.obj 8838262688faa173
144 1733 7956565469100748 CMakeFiles/lll0121.dir/User/bsp/can.c.obj 566224b28d5913a4
570 1746 7956565473362322 CMakeFiles/lll0121.dir/User/device/ET16s.c.obj b5e4b3cc9b01c292
714 1973 7956565474799936 CMakeFiles/lll0121.dir/User/device/bmi088.c.obj 99906f5fd2de716e
813 2003 7956565475798103 CMakeFiles/lll0121.dir/User/device/motor_dm.c.obj 87bd3277fa8673a
931 2025 7956565476973486 CMakeFiles/lll0121.dir/User/device/motor_rm.c.obj 4fdcf0027c379ace
175 518 7956566502362117 CMakeFiles/lll0121.dir/User/task/tempCodeRunnerFile.c.obj fcf3e6a97d2be1a4
186 1176 7956566502477591 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Core/Src/system_stm32f4xx.c.obj 7d5e28554532f813
216 1197 7956566502772966 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c.obj 409fa9ce75f6f463
192 1253 7956566502537680 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c.obj d7a6080ad1147f24
223 1265 7956566502838236 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c.obj 6c07ac79d6deba66
204 1271 7956566502652947 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c.obj d02c7280cb7a95f7
229 1305 7956566502898204 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c.obj 2f0c53600fad9b91
210 1314 7956566502712943 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c.obj 2ac3b2b9eef595c7
198 1315 7956566502597676 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c.obj 7f72a53486764ff9
192 1321 7956567193399636 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c.obj 118396d7478dcf2c
212 1326 7956567193589626 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c.obj fd9877864181164e
199 1336 7956567193459609 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c.obj 1fcc4c49d4a1351c
218 1344 7956567193649627 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c.obj 2580bddb3cdd74aa
181 1362 7956567193279631 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c.obj f2f68b3cf94dcd48
186 1363 7956567193339602 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c.obj 3c6d8f5427f14ea2
205 1385 7956567193529611 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c.obj bec835dee5133bd8
224 1505 7956567193709622 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c.obj 1b6ba925da43c207
230 1669 7956567193769722 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c.obj 57c2487296a7ddc8
222 749 7956567882344270 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj f4bb18eb16e08b35
234 930 7956567882464276 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj 655712c87cc5f984
246 977 7956567882584281 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj cfe7d8492b766271
228 991 7956567882404282 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj 771d79a4caad2912
240 1018 7956567882524274 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj e4463768ad92c10d
259 1044 7956567882714352 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj 708233d5da65b169
252 1166 7956567882644272 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj 5076bb70f52eff48
216 1309 7956567882284282 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c.obj 1ac8875aa80f070d
210 1382 7956567882224265 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c.obj 7174b18a2e073af0
184 748 7956568164491045 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj 851a823fca276961
190 755 7956568164541035 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.obj ab06ffd21a823576
178 1471 7956568164431040 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj 50f48e94feb00c76
86 1231 7956576725614652 CMakeFiles/lll0121.dir/User/module/shoot.c.obj b021660efe697650
22 977 7956577864105815 CMakeFiles/lll0121.dir/User/device/dr16.c.obj b06245e7fb4b27fc
5 752 7956582460642039 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
29 776 7956582460884537 CMakeFiles/lll0121.dir/User/module/cmd/cmd_adapter.c.obj 1e9b373696641c96
73 786 7956582461320440 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2
36 790 7956582460956648 CMakeFiles/lll0121.dir/User/module/cmd/cmd_example.c.obj 20e68ac2005bd2af
33 794 7956582460916642 CMakeFiles/lll0121.dir/User/module/cmd/cmd_behavior.c.obj 3d415dffee52ce68
54 795 7956582461133558 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
47 799 7956582461061817 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
90 806 7956582461496415 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
7 767 7956586429184955 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
49 836 7956586429603746 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
37 839 7956586429483090 CMakeFiles/lll0121.dir/User/module/cmd/cmd_example.c.obj 20e68ac2005bd2af
33 854 7956586429447131 CMakeFiles/lll0121.dir/User/module/cmd/cmd_behavior.c.obj 3d415dffee52ce68
57 870 7956586429678874 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
78 876 7956586429897637 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2
96 879 7956586430068754 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
19 842 7956599492129885 CMakeFiles/lll0121.dir/User/device/supercap.c.obj e71df70cc59eb1c8
11 863 7956599492056803 CMakeFiles/lll0121.dir/User/device/ai.c.obj 5b23dbc7b9a80bf3
6 864 7956599492002789 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
38 890 7956599492319540 CMakeFiles/lll0121.dir/User/module/cmd/cmd_example.c.obj 20e68ac2005bd2af
33 916 7956599492274666 CMakeFiles/lll0121.dir/User/module/cmd/cmd_behavior.c.obj 3d415dffee52ce68
51 926 7956599492452359 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
15 927 7956599492086804 CMakeFiles/lll0121.dir/User/device/referee.c.obj f8e2b3f09edeeef4
60 935 7956599492541491 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
100 942 7956599492940761 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
81 952 7956599492756295 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2
20 454 7956600358708994 CMakeFiles/lll0121.dir/User/module/gimbal.c.obj 2b09aff572713fab
8 727 7956602411146205 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
26 774 7956602411333562 CMakeFiles/lll0121.dir/User/module/cmd/cmd_adapter.c.obj 1e9b373696641c96
47 794 7956602411535009 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
34 800 7956602411409498 CMakeFiles/lll0121.dir/User/module/cmd/cmd_example.c.obj 20e68ac2005bd2af
43 806 7956602411494953 CMakeFiles/lll0121.dir/User/module/gimbal.c.obj 2b09aff572713fab
30 806 7956602411373550 CMakeFiles/lll0121.dir/User/module/cmd/cmd_behavior.c.obj 3d415dffee52ce68
55 812 7956602411626686 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
77 837 7956602411848218 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2
97 844 7956602412042263 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
9 414 7956604171780367 CMakeFiles/lll0121.dir/User/module/chassis.c.obj 1a794e7c15b83fa5
21 412 7956605794141923 CMakeFiles/lll0121.dir/User/device/ai.c.obj 5b23dbc7b9a80bf3
41 644 7956606287356484 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
23 645 7956606287181859 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
67 672 7956606287614693 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2
84 687 7956606287788104 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
48 691 7956606287427540 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
6 546 7956607333565532 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
20 574 7956607333696612 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
27 601 7956607333761787 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
60 601 7956607334105319 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
45 606 7956607333949910 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2

View File

@ -1,6 +1,6 @@
# This is the CMakeCache file.
# For build in directory: /Users/lvzucheng/Documents/R/Er_sentry/build/Debug
# It was generated by CMake: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake
# For build in directory: d:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug
# It was generated by CMake: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/bin/cmake.exe
# 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.
@ -15,18 +15,18 @@
########################
//Path to a program.
CMAKE_ADDR2LINE:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-addr2line
CMAKE_ADDR2LINE:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-addr2line.exe
//Path to a program.
CMAKE_AR:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ar
CMAKE_AR:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-ar.exe
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_ASM_COMPILER_AR:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar
CMAKE_ASM_COMPILER_AR:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ar.exe
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_ASM_COMPILER_RANLIB:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib
CMAKE_ASM_COMPILER_RANLIB:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ranlib.exe
//Flags used by the ASM compiler during all build types.
CMAKE_ASM_FLAGS:STRING=
@ -52,11 +52,11 @@ CMAKE_COMMAND:UNINITIALIZED=cube-cmake
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar
CMAKE_CXX_COMPILER_AR:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ar.exe
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ranlib.exe
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=
@ -75,11 +75,11 @@ CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_AR:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar
CMAKE_C_COMPILER_AR:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ar.exe
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib
CMAKE_C_COMPILER_RANLIB:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ranlib.exe
//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=
@ -97,7 +97,7 @@ CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//Path to a program.
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
CMAKE_DLLTOOL:FILEPATH=D:/Drivers/MSYS2/ucrt64/bin/dlltool.exe
//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=
@ -118,13 +118,13 @@ CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_EXPORT_BUILD_DATABASE:BOOL=
//Value Computed by CMake.
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/pkgRedirects
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/pkgRedirects
//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/lll0121
//make program
CMAKE_MAKE_PROGRAM:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/ninja/1.12.1+st.9/bin/ninja
//Program used to build from build.ninja files.
CMAKE_MAKE_PROGRAM:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/ninja/1.13.1+st.1/bin/ninja.exe
//Flags used by the linker during the creation of modules during
// all build types.
@ -147,10 +147,10 @@ CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_NM:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-nm
CMAKE_NM:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-nm.exe
//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-objdump
CMAKE_OBJDUMP:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-objdump.exe
//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=
@ -162,10 +162,10 @@ CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
CMAKE_PROJECT_NAME:STATIC=lll0121
//Path to a program.
CMAKE_RANLIB:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib
CMAKE_RANLIB:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-ranlib.exe
//Path to a program.
CMAKE_READELF:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-readelf
CMAKE_READELF:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-readelf.exe
//Flags used by the linker during the creation of shared libraries
// during all build types.
@ -215,13 +215,13 @@ CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_STRIP:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-strip
CMAKE_STRIP:FILEPATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-strip.exe
//Path to a program.
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
//No help, variable specified on the command line.
CMAKE_TOOLCHAIN_FILE:UNINITIALIZED=/Users/lvzucheng/Documents/R/Er_sentry/cmake/gcc-arm-none-eabi.cmake
CMAKE_TOOLCHAIN_FILE:UNINITIALIZED=D:/STM32Projects_HAL/board-F4/sentry/sentry2026/cmake/gcc-arm-none-eabi.cmake
//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
@ -230,13 +230,13 @@ CMAKE_TOOLCHAIN_FILE:UNINITIALIZED=/Users/lvzucheng/Documents/R/Er_sentry/cmake/
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//Value Computed by CMake
lll0121_BINARY_DIR:STATIC=/Users/lvzucheng/Documents/R/Er_sentry/build/Debug
lll0121_BINARY_DIR:STATIC=D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug
//Value Computed by CMake
lll0121_IS_TOP_LEVEL:STATIC=ON
//Value Computed by CMake
lll0121_SOURCE_DIR:STATIC=/Users/lvzucheng/Documents/R/Er_sentry
lll0121_SOURCE_DIR:STATIC=D:/STM32Projects_HAL/board-F4/sentry/sentry2026
########################
@ -263,7 +263,7 @@ CMAKE_ASM_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO
CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/Users/lvzucheng/Documents/R/Er_sentry/build/Debug
CMAKE_CACHEFILE_DIR:INTERNAL=d:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4
//Minor version of cmake used to create the current loaded cache
@ -271,9 +271,9 @@ CMAKE_CACHE_MINOR_VERSION:INTERNAL=0
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=1
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cpack
CMAKE_CPACK_COMMAND:INTERNAL=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/bin/cpack.exe
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/ctest
CMAKE_CTEST_COMMAND:INTERNAL=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/bin/ctest.exe
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
@ -305,7 +305,7 @@ CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_DLLTOOL
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
//Path to cache edit program executable.
CMAKE_EDIT_COMMAND:INTERNAL=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/ccmake
CMAKE_EDIT_COMMAND:INTERNAL=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/bin/cmake-gui.exe
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
@ -332,7 +332,7 @@ CMAKE_GENERATOR_PLATFORM:INTERNAL=
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/Users/lvzucheng/Documents/R/Er_sentry
CMAKE_HOME_DIRECTORY:INTERNAL=D:/STM32Projects_HAL/board-F4/sentry/sentry2026
//Name of CMakeLists files to read
CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
@ -360,7 +360,7 @@ CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0
CMAKE_ROOT:INTERNAL=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
@ -389,8 +389,6 @@ CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
CMAKE_STRIP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_TAPI
CMAKE_TAPI-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1

View File

@ -1,10 +1,10 @@
set(CMAKE_ASM_COMPILER "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc")
set(CMAKE_ASM_COMPILER "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc.exe")
set(CMAKE_ASM_COMPILER_ARG1 "")
set(CMAKE_AR "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ar")
set(CMAKE_ASM_COMPILER_AR "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar")
set(CMAKE_RANLIB "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib")
set(CMAKE_ASM_COMPILER_RANLIB "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib")
set(CMAKE_LINKER "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++")
set(CMAKE_AR "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-ar.exe")
set(CMAKE_ASM_COMPILER_AR "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ar.exe")
set(CMAKE_RANLIB "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-ranlib.exe")
set(CMAKE_ASM_COMPILER_RANLIB "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ranlib.exe")
set(CMAKE_LINKER "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_ASM_COMPILER_LINKER "")

View File

@ -1,7 +1,7 @@
set(CMAKE_C_COMPILER "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc")
set(CMAKE_C_COMPILER "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc.exe")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "13.3.1")
set(CMAKE_C_COMPILER_VERSION "14.3.1")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
@ -22,11 +22,11 @@ set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ar")
set(CMAKE_C_COMPILER_AR "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar")
set(CMAKE_RANLIB "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib")
set(CMAKE_C_COMPILER_RANLIB "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib")
set(CMAKE_LINKER "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++")
set(CMAKE_AR "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-ar.exe")
set(CMAKE_C_COMPILER_AR "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ar.exe")
set(CMAKE_RANLIB "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-ranlib.exe")
set(CMAKE_C_COMPILER_RANLIB "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ranlib.exe")
set(CMAKE_LINKER "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_C_COMPILER_LINKER "NOTFOUND")
@ -77,7 +77,7 @@ endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include-fixed;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include")
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include-fixed;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

View File

@ -1,20 +1,20 @@
set(CMAKE_CXX_COMPILER "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++")
set(CMAKE_CXX_COMPILER "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "13.3.1")
set(CMAKE_CXX_COMPILER_VERSION "14.3.1")
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_STANDARD_LATEST "23")
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_CXX_STANDARD_LATEST "26")
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;cxx_std_26")
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_CXX26_COMPILE_FEATURES "")
set(CMAKE_CXX26_COMPILE_FEATURES "cxx_std_26")
set(CMAKE_CXX_PLATFORM_ID "")
set(CMAKE_CXX_SIMULATE_ID "")
@ -24,14 +24,14 @@ set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ar")
set(CMAKE_CXX_COMPILER_AR "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar")
set(CMAKE_RANLIB "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib")
set(CMAKE_LINKER "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++")
set(CMAKE_AR "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-ar.exe")
set(CMAKE_CXX_COMPILER_AR "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ar.exe")
set(CMAKE_RANLIB "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-ranlib.exe")
set(CMAKE_CXX_COMPILER_RANLIB "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc-ranlib.exe")
set(CMAKE_LINKER "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_CXX_COMPILER_LINKER "COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++")
set(CMAKE_CXX_COMPILER_LINKER "[1/2] C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe")
set(CMAKE_CXX_COMPILER_LINKER_ID "")
set(CMAKE_CXX_COMPILER_LINKER_VERSION )
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT )
@ -89,7 +89,7 @@ endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1/backward;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include-fixed;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include")
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1/backward;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include-fixed;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
@ -100,4 +100,8 @@ set(CMAKE_CXX_COMPILER_IMPORT_STD "")
set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Experimental `import std` support not enabled when detecting toolchain; it must be set before `CXX` is enabled (usually a `project()` call)")
### Imported target for C++26 standard library
set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Experimental `import std` support not enabled when detecting toolchain; it must be set before `CXX` is enabled (usually a `project()` call)")

View File

@ -1,9 +1,9 @@
set(CMAKE_HOST_SYSTEM "Darwin-25.0.0")
set(CMAKE_HOST_SYSTEM_NAME "Darwin")
set(CMAKE_HOST_SYSTEM_VERSION "25.0.0")
set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64")
set(CMAKE_HOST_SYSTEM "Windows-10.0.26200")
set(CMAKE_HOST_SYSTEM_NAME "Windows")
set(CMAKE_HOST_SYSTEM_VERSION "10.0.26200")
set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
include("/Users/lvzucheng/Documents/R/Er_sentry/cmake/gcc-arm-none-eabi.cmake")
include("D:/STM32Projects_HAL/board-F4/sentry/sentry2026/cmake/gcc-arm-none-eabi.cmake")
set(CMAKE_SYSTEM "Generic")
set(CMAKE_SYSTEM_NAME "Generic")

View File

@ -4,51 +4,63 @@ events:
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineSystem.cmake:200 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineSystem.cmake:200 (message)"
- "CMakeLists.txt:28 (project)"
message: |
The target system is: Generic - - arm
The host system is: Darwin - 25.0.0 - arm64
The host system is: Windows - 10.0.26200 - AMD64
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
- "CMakeLists.txt:28 (project)"
message: |
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc
Compiler: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc.exe
Build flags: -mcpu=cortex-m4;-mfpu=fpv4-sp-d16;-mfloat-abi=hard;-Wall;-fdata-sections;-ffunction-sections;-mcpu=cortex-m4;-mfpu=fpv4-sp-d16;-mfloat-abi=hard;-Wall;-fdata-sections;-ffunction-sections
Id flags:
The output was:
1
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-exit.o): in function `exit':
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-exit.o): in function `exit':
(.text.exit+0x14): undefined reference to `_exit'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-closer.o): in function `_close_r':
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_exit): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-exit.o)
(.text.exit+0x14): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-closer.o): in function `_close_r':
(.text._close_r+0xc): undefined reference to `_close'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-lseekr.o): in function `_lseek_r':
(.text._lseek_r+0x10): undefined reference to `_lseek'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-readr.o): in function `_read_r':
(.text._read_r+0x10): undefined reference to `_read'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-sbrkr.o): in function `_sbrk_r':
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_close): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-closer.o)
(.text._close_r+0xc): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-lseekr.o): in function `_lseek_r':
(.text._lseek_r+0x14): undefined reference to `_lseek'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_lseek): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-lseekr.o)
(.text._lseek_r+0x14): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-readr.o): in function `_read_r':
(.text._read_r+0x14): undefined reference to `_read'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_read): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-readr.o)
(.text._read_r+0x14): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-writer.o): in function `_write_r':
(.text._write_r+0x14): undefined reference to `_write'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_write): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-writer.o)
(.text._write_r+0x14): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-sbrkr.o): in function `_sbrk_r':
(.text._sbrk_r+0xc): undefined reference to `_sbrk'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-writer.o): in function `_write_r':
(.text._write_r+0x10): undefined reference to `_write'
collect2: error: ld returned 1 exit status
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_sbrk): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-sbrkr.o)
(.text._sbrk_r+0xc): dangerous relocation: unsupported relocation
collect2.exe: error: ld returned 1 exit status
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
- "CMakeLists.txt:28 (project)"
message: |
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc
Compiler: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-gcc.exe
Build flags: -mcpu=cortex-m4;-mfpu=fpv4-sp-d16;-mfloat-abi=hard;-Wall;-fdata-sections;-ffunction-sections;-mcpu=cortex-m4;-mfpu=fpv4-sp-d16;-mfloat-abi=hard;-Wall;-fdata-sections;-ffunction-sections
Id flags: -c
@ -59,48 +71,60 @@ events:
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"
The C compiler identification is GNU, found in:
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/4.0.1/CompilerIdC/CMakeCCompilerId.o
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/4.0.1/CompilerIdC/CMakeCCompilerId.o
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
- "CMakeLists.txt:28 (project)"
message: |
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++
Compiler: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe
Build flags: -mcpu=cortex-m4;-mfpu=fpv4-sp-d16;-mfloat-abi=hard;-Wall;-fdata-sections;-ffunction-sections;-mcpu=cortex-m4;-mfpu=fpv4-sp-d16;-mfloat-abi=hard;-Wall;-fdata-sections;-ffunction-sections;-fno-rtti;-fno-exceptions;-fno-threadsafe-statics
Id flags:
The output was:
1
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-exit.o): in function `exit':
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-exit.o): in function `exit':
(.text.exit+0x14): undefined reference to `_exit'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-closer.o): in function `_close_r':
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_exit): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-exit.o)
(.text.exit+0x14): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-closer.o): in function `_close_r':
(.text._close_r+0xc): undefined reference to `_close'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-lseekr.o): in function `_lseek_r':
(.text._lseek_r+0x10): undefined reference to `_lseek'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-readr.o): in function `_read_r':
(.text._read_r+0x10): undefined reference to `_read'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-sbrkr.o): in function `_sbrk_r':
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_close): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-closer.o)
(.text._close_r+0xc): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-lseekr.o): in function `_lseek_r':
(.text._lseek_r+0x14): undefined reference to `_lseek'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_lseek): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-lseekr.o)
(.text._lseek_r+0x14): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-readr.o): in function `_read_r':
(.text._read_r+0x14): undefined reference to `_read'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_read): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-readr.o)
(.text._read_r+0x14): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-writer.o): in function `_write_r':
(.text._write_r+0x14): undefined reference to `_write'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_write): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-writer.o)
(.text._write_r+0x14): dangerous relocation: unsupported relocation
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-sbrkr.o): in function `_sbrk_r':
(.text._sbrk_r+0xc): undefined reference to `_sbrk'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(libc_a-writer.o): in function `_write_r':
(.text._write_r+0x10): undefined reference to `_write'
collect2: error: ld returned 1 exit status
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (_sbrk): Unknown destination type (ARM/Thumb) in C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\\libc.a(libc_a-sbrkr.o)
(.text._sbrk_r+0xc): dangerous relocation: unsupported relocation
collect2.exe: error: ld returned 1 exit status
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
- "CMakeLists.txt:28 (project)"
message: |
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++
Compiler: C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe
Build flags: -mcpu=cortex-m4;-mfpu=fpv4-sp-d16;-mfloat-abi=hard;-Wall;-fdata-sections;-ffunction-sections;-mcpu=cortex-m4;-mfpu=fpv4-sp-d16;-mfloat-abi=hard;-Wall;-fdata-sections;-ffunction-sections;-fno-rtti;-fno-exceptions;-fno-threadsafe-statics
Id flags: -c
@ -111,131 +135,145 @@ events:
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"
The CXX compiler identification is GNU, found in:
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/4.0.1/CompilerIdCXX/CMakeCXXCompilerId.o
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/4.0.1/CompilerIdCXX/CMakeCXXCompilerId.o
-
kind: "try_compile-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
checks:
- "Detecting C compiler ABI info"
directories:
source: "/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-JQUgvf"
binary: "/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-JQUgvf"
source: "D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-6gotpf"
binary: "D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-6gotpf"
cmakeVariables:
CMAKE_C_FLAGS: " -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections"
CMAKE_C_FLAGS_DEBUG: "-O0 -g3"
CMAKE_EXE_LINKER_FLAGS: "-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -T \"/Users/lvzucheng/Documents/R/Er_sentry/STM32F407XX_FLASH.ld\" --specs=nano.specs -Wl,-Map=lll0121.map -Wl,--gc-sections -Wl,--print-memory-usage"
CMAKE_EXE_LINKER_FLAGS: "-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -T \"D:/STM32Projects_HAL/board-F4/sentry/sentry2026/STM32F407XX_FLASH.ld\" --specs=nano.specs -Wl,-Map=lll0121.map -Wl,--gc-sections -Wl,--print-memory-usage"
buildResult:
variable: "CMAKE_C_ABI_COMPILED"
cached: true
stdout: |
Change Dir: '/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-JQUgvf'
Change Dir: 'D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-6gotpf'
Run Build Command(s): "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/ninja/1.12.1+st.9/bin/ninja" -v cmTC_f424f
[1/2] "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc" -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -std=gnu11 -v -o CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj -c '/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCCompilerABI.c'
Run Build Command(s): C:/Users/Lenovo/AppData/Local/stm32cube/bundles/ninja/1.13.1+st.1/bin/ninja.exe -v cmTC_618b7
[1/2] C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-gcc.exe -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -std=gnu11 -v -o CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj -c C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeCCompilerABI.c
Using built-in specs.
COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc
COLLECT_GCC=C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-gcc.exe
Target: arm-none-eabi
Configured with: /build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/src/gcc/configure --target=arm-none-eabi --prefix=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native --libexecdir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/lib --infodir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-checking=release --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/arm-none-eabi --with-zstd=no --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-mpfr=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-mpc=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-isl=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for STM32 13.3.rel1.20250523-0900' --with-multilib-list=rmprofile,aprofile
Configured with: /build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/src/gcc/configure --build=x86_64-linux-gnu --host=x86_64-w64-mingw32 --target=arm-none-eabi --prefix=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw --libexecdir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/lib --infodir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-mingw-wildcard --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/arm-none-eabi --with-libiconv-prefix=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-gmp=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-mpfr=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-mpc=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-isl=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for STM32 14.3.rel1.20251027-0700' --with-multilib-list=rmprofile,aprofile
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 13.3.1 20240614 (GNU Tools for STM32 13.3.rel1.20250523-0900)
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/cc1 -quiet -v -imultilib thumb/v7e-m+fp/hard -iprefix /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/ -isysroot /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi -D__USES_INITFINI__ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f424f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mlibarch=armv7e-m+fp -march=armv7e-m+fp -Wall -std=gnu11 -version -fdata-sections -ffunction-sections -o /var/folders/pk/x11ksr_n5mv431gnyr9stk300000gn/T//ccQs9Zya.s
GNU C11 (GNU Tools for STM32 13.3.rel1.20250523-0900) version 13.3.1 20240614 (arm-none-eabi)
compiled by GNU C version 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.4), GMP version 6.2.1, MPFR version 3.1.6, MPC version 1.0.3, isl version isl-0.15-1-g835ea3a-GMP
gcc version 14.3.1 20250623 (GNU Tools for STM32 14.3.rel1.20251027-0700)
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_618b7.dir/'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/cc1.exe -quiet -v -imultilib thumb/v7e-m+fp/hard -iprefix C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/ -isysroot C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi -D__USES_INITFINI__ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_618b7.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mlibarch=armv7e-m+fp -march=armv7e-m+fp -Wall -std=gnu11 -version -fdata-sections -ffunction-sections -o C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ccB5NThY.s
GNU C11 (GNU Tools for STM32 14.3.rel1.20251027-0700) version 14.3.1 20250623 (arm-none-eabi)
compiled by GNU C version 7.3-win32 20180312, GMP version 6.2.1, MPFR version 3.1.6, MPC version 1.0.3, isl version isl-0.15-1-g835ea3a-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/include"
ignoring nonexistent directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/local/include"
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/include-fixed"
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include"
ignoring nonexistent directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/include"
ignoring nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/lib/gcc/arm-none-eabi/14.3.1/../../../../include"
ignoring nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/usr/include"
#include "..." search starts here:
#include <...> search starts here:
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/include
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/include-fixed
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include-fixed
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include
End of search list.
Compiler executable checksum: d5cacd652ef845a866ce4c9a09fdc7d8
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/as -v -march=armv7e-m+fp -mfloat-abi=hard -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mfpu=fpv4-sp-d16 -meabi=5 -o CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj /var/folders/pk/x11ksr_n5mv431gnyr9stk300000gn/T//ccQs9Zya.s
GNU assembler version 2.42.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 13.3.rel1.20250523-0900) 2.42.0.20240614
COMPILER_PATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/
LIBRARY_PATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/lib/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.'
[2/2] : && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake" -E rm -f libcmTC_f424f.a && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ar" qc libcmTC_f424f.a CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib" libcmTC_f424f.a && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake" -E touch libcmTC_f424f.a && :
Compiler executable checksum: 6ff0de7787db02762f469a6076f3ba78
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_618b7.dir/'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv7e-m+fp -mfloat-abi=hard -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mfpu=fpv4-sp-d16 -meabi=5 -o CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ccB5NThY.s
GNU assembler version 2.44.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 14.3.rel1.20251027-0700) 2.44.0.20250616
COMPILER_PATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/
LIBRARY_PATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../arm-none-eabi/lib/thumb/v7e-m+fp/hard/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.'
[2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\cmake\\4.0.1+st.3\\bin\\cmake.exe -E rm -f libcmTC_618b7.a && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-ar.exe qc libcmTC_618b7.a CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-ranlib.exe libcmTC_618b7.a && cd ."
exitCode: 0
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:191 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:191 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
message: |
Parsed C implicit include dir info: rv=done
found start of include info
found start of implicit include info
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include]
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed]
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/include]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/include-fixed]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include-fixed]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include]
end of search list found
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include]
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include-fixed]
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include]
implicit include dirs: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include-fixed;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/include] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/include-fixed] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include-fixed]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include-fixed] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include-fixed]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include]
implicit include dirs: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include-fixed;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include]
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:227 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:227 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
message: |
Parsed C implicit link information:
link line regex: [^( *|.*[/\\])(arm-none-eabi-g\\+\\+|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(arm-none-eabi-g\\+\\+|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
ignore line: [Change Dir: '/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-JQUgvf']
link line regex: [^( *|.*[/\\])(arm-none-eabi-g\\+\\+\\.exe|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(arm-none-eabi-g\\+\\+\\.exe|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
ignore line: [Change Dir: 'D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-6gotpf']
ignore line: []
ignore line: [Run Build Command(s): "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/ninja/1.12.1+st.9/bin/ninja" -v cmTC_f424f]
ignore line: [[1/2] "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc" -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -std=gnu11 -v -o CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj -c '/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCCompilerABI.c']
ignore line: [Run Build Command(s): C:/Users/Lenovo/AppData/Local/stm32cube/bundles/ninja/1.13.1+st.1/bin/ninja.exe -v cmTC_618b7]
ignore line: [[1/2] C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-gcc.exe -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -std=gnu11 -v -o CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj -c C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeCCompilerABI.c]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc]
ignore line: [COLLECT_GCC=C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-gcc.exe]
ignore line: [Target: arm-none-eabi]
ignore line: [Configured with: /build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/src/gcc/configure --target=arm-none-eabi --prefix=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native --libexecdir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/lib --infodir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-checking=release --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/arm-none-eabi --with-zstd=no --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-mpfr=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-mpc=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-isl=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for STM32 13.3.rel1.20250523-0900' --with-multilib-list=rmprofile,aprofile]
ignore line: [Configured with: /build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/src/gcc/configure --build=x86_64-linux-gnu --host=x86_64-w64-mingw32 --target=arm-none-eabi --prefix=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw --libexecdir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/lib --infodir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-mingw-wildcard --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/arm-none-eabi --with-libiconv-prefix=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-gmp=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-mpfr=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-mpc=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-isl=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for STM32 14.3.rel1.20251027-0700' --with-multilib-list=rmprofile,aprofile]
ignore line: [Thread model: single]
ignore line: [Supported LTO compression algorithms: zlib]
ignore line: [gcc version 13.3.1 20240614 (GNU Tools for STM32 13.3.rel1.20250523-0900) ]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/']
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/cc1 -quiet -v -imultilib thumb/v7e-m+fp/hard -iprefix /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/ -isysroot /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi -D__USES_INITFINI__ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f424f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mlibarch=armv7e-m+fp -march=armv7e-m+fp -Wall -std=gnu11 -version -fdata-sections -ffunction-sections -o /var/folders/pk/x11ksr_n5mv431gnyr9stk300000gn/T//ccQs9Zya.s]
ignore line: [GNU C11 (GNU Tools for STM32 13.3.rel1.20250523-0900) version 13.3.1 20240614 (arm-none-eabi)]
ignore line: [ compiled by GNU C version 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.4) GMP version 6.2.1 MPFR version 3.1.6 MPC version 1.0.3 isl version isl-0.15-1-g835ea3a-GMP]
ignore line: [gcc version 14.3.1 20250623 (GNU Tools for STM32 14.3.rel1.20251027-0700) ]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_618b7.dir/']
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/cc1.exe -quiet -v -imultilib thumb/v7e-m+fp/hard -iprefix C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/ -isysroot C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi -D__USES_INITFINI__ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_618b7.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mlibarch=armv7e-m+fp -march=armv7e-m+fp -Wall -std=gnu11 -version -fdata-sections -ffunction-sections -o C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ccB5NThY.s]
ignore line: [GNU C11 (GNU Tools for STM32 14.3.rel1.20251027-0700) version 14.3.1 20250623 (arm-none-eabi)]
ignore line: [ compiled by GNU C version 7.3-win32 20180312 GMP version 6.2.1 MPFR version 3.1.6 MPC version 1.0.3 isl version isl-0.15-1-g835ea3a-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/include"]
ignore line: [ignoring nonexistent directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/local/include"]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/include-fixed"]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include"]
ignore line: [ignoring nonexistent directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/include"]
ignore line: [ignoring nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/lib/gcc/arm-none-eabi/14.3.1/../../../../include"]
ignore line: [ignoring nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/usr/include"]
ignore line: [#include "..." search starts here:]
ignore line: [#include <...> search starts here:]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/include]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/include-fixed]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include-fixed]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include]
ignore line: [End of search list.]
ignore line: [Compiler executable checksum: d5cacd652ef845a866ce4c9a09fdc7d8]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/']
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/as -v -march=armv7e-m+fp -mfloat-abi=hard -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mfpu=fpv4-sp-d16 -meabi=5 -o CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj /var/folders/pk/x11ksr_n5mv431gnyr9stk300000gn/T//ccQs9Zya.s]
ignore line: [GNU assembler version 2.42.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 13.3.rel1.20250523-0900) 2.42.0.20240614]
ignore line: [COMPILER_PATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/]
ignore line: [LIBRARY_PATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/lib/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.']
ignore line: [[2/2] : && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake" -E rm -f libcmTC_f424f.a && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ar" qc libcmTC_f424f.a CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.obj && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib" libcmTC_f424f.a && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake" -E touch libcmTC_f424f.a && :]
ignore line: [Compiler executable checksum: 6ff0de7787db02762f469a6076f3ba78]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_618b7.dir/']
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv7e-m+fp -mfloat-abi=hard -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mfpu=fpv4-sp-d16 -meabi=5 -o CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ccB5NThY.s]
ignore line: [GNU assembler version 2.44.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 14.3.rel1.20251027-0700) 2.44.0.20250616]
ignore line: [COMPILER_PATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/]
ignore line: [LIBRARY_PATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../arm-none-eabi/lib/thumb/v7e-m+fp/hard/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../arm-none-eabi/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-std=gnu11' '-v' '-o' 'CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.']
ignore line: [[2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\cmake\\4.0.1+st.3\\bin\\cmake.exe -E rm -f libcmTC_618b7.a && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-ar.exe qc libcmTC_618b7.a CMakeFiles/cmTC_618b7.dir/CMakeCCompilerABI.c.obj && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-ranlib.exe libcmTC_618b7.a && cd ."]
ignore line: []
ignore line: []
implicit libs: []
@ -247,148 +285,168 @@ events:
-
kind: "try_compile-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
checks:
- "Detecting CXX compiler ABI info"
directories:
source: "/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-SrcT8S"
binary: "/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-SrcT8S"
source: "D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-p0cksk"
binary: "D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-p0cksk"
cmakeVariables:
CMAKE_CXX_FLAGS: " -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics"
CMAKE_CXX_FLAGS_DEBUG: "-O0 -g3"
CMAKE_CXX_SCAN_FOR_MODULES: "OFF"
CMAKE_EXE_LINKER_FLAGS: "-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -T \"/Users/lvzucheng/Documents/R/Er_sentry/STM32F407XX_FLASH.ld\" --specs=nano.specs -Wl,-Map=lll0121.map -Wl,--gc-sections -Wl,--print-memory-usage"
CMAKE_EXE_LINKER_FLAGS: "-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -T \"D:/STM32Projects_HAL/board-F4/sentry/sentry2026/STM32F407XX_FLASH.ld\" --specs=nano.specs -Wl,-Map=lll0121.map -Wl,--gc-sections -Wl,--print-memory-usage"
buildResult:
variable: "CMAKE_CXX_ABI_COMPILED"
cached: true
stdout: |
Change Dir: '/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-SrcT8S'
Change Dir: 'D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-p0cksk'
Run Build Command(s): "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/ninja/1.12.1+st.9/bin/ninja" -v cmTC_6f0a1
[1/2] "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics -v -o CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj -c '/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp'
Run Build Command(s): C:/Users/Lenovo/AppData/Local/stm32cube/bundles/ninja/1.13.1+st.1/bin/ninja.exe -v cmTC_352e8
[1/2] C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-g++.exe -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics -v -o CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj -c C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp
Using built-in specs.
COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++
COLLECT_GCC=C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-g++.exe
Target: arm-none-eabi
Configured with: /build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/src/gcc/configure --target=arm-none-eabi --prefix=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native --libexecdir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/lib --infodir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-checking=release --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/arm-none-eabi --with-zstd=no --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-mpfr=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-mpc=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-isl=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for STM32 13.3.rel1.20250523-0900' --with-multilib-list=rmprofile,aprofile
Configured with: /build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/src/gcc/configure --build=x86_64-linux-gnu --host=x86_64-w64-mingw32 --target=arm-none-eabi --prefix=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw --libexecdir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/lib --infodir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-mingw-wildcard --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/arm-none-eabi --with-libiconv-prefix=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-gmp=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-mpfr=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-mpc=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-isl=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for STM32 14.3.rel1.20251027-0700' --with-multilib-list=rmprofile,aprofile
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 13.3.1 20240614 (GNU Tools for STM32 13.3.rel1.20250523-0900)
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/cc1plus -quiet -v -imultilib thumb/v7e-m+fp/hard -iprefix /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/ -isysroot /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi -D__USES_INITFINI__ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_6f0a1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mlibarch=armv7e-m+fp -march=armv7e-m+fp -Wall -version -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics -o /var/folders/pk/x11ksr_n5mv431gnyr9stk300000gn/T//cc542gY5.s
GNU C++17 (GNU Tools for STM32 13.3.rel1.20250523-0900) version 13.3.1 20240614 (arm-none-eabi)
compiled by GNU C version 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.4), GMP version 6.2.1, MPFR version 3.1.6, MPC version 1.0.3, isl version isl-0.15-1-g835ea3a-GMP
gcc version 14.3.1 20250623 (GNU Tools for STM32 14.3.rel1.20251027-0700)
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_352e8.dir/'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/cc1plus.exe -quiet -v -imultilib thumb/v7e-m+fp/hard -iprefix C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/ -isysroot C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi -D__USES_INITFINI__ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_352e8.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mlibarch=armv7e-m+fp -march=armv7e-m+fp -Wall -version -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics -o C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ccqne0SC.s
GNU C++17 (GNU Tools for STM32 14.3.rel1.20251027-0700) version 14.3.1 20250623 (arm-none-eabi)
compiled by GNU C version 7.3-win32 20180312, GMP version 6.2.1, MPFR version 3.1.6, MPC version 1.0.3, isl version isl-0.15-1-g835ea3a-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1"
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard"
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/backward"
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/include"
ignoring nonexistent directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/local/include"
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/include-fixed"
ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include"
ignoring nonexistent directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/include"
ignoring nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/lib/gcc/arm-none-eabi/14.3.1/../../../../include"
ignoring nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/usr/include"
#include "..." search starts here:
#include <...> search starts here:
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/backward
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/backward
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/include
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/include-fixed
C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/backward
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include-fixed
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include
End of search list.
Compiler executable checksum: 8645528adf8ebcbf7d1003a054da7f8a
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/'
/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/as -v -march=armv7e-m+fp -mfloat-abi=hard -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mfpu=fpv4-sp-d16 -meabi=5 -o CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj /var/folders/pk/x11ksr_n5mv431gnyr9stk300000gn/T//cc542gY5.s
GNU assembler version 2.42.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 13.3.rel1.20250523-0900) 2.42.0.20240614
COMPILER_PATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/
LIBRARY_PATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/lib/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.'
[2/2] : && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake" -E rm -f libcmTC_6f0a1.a && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ar" qc libcmTC_6f0a1.a CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib" libcmTC_6f0a1.a && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake" -E touch libcmTC_6f0a1.a && :
Compiler executable checksum: 43d99ff7460098f9cee06aa2d6324907
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_352e8.dir/'
C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv7e-m+fp -mfloat-abi=hard -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mfpu=fpv4-sp-d16 -meabi=5 -o CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ccqne0SC.s
GNU assembler version 2.44.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 14.3.rel1.20251027-0700) 2.44.0.20250616
COMPILER_PATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/
LIBRARY_PATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../arm-none-eabi/lib/thumb/v7e-m+fp/hard/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.'
[2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\cmake\\4.0.1+st.3\\bin\\cmake.exe -E rm -f libcmTC_352e8.a && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-ar.exe qc libcmTC_352e8.a CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-ranlib.exe libcmTC_352e8.a && cd ."
exitCode: 0
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:191 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:191 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
message: |
Parsed CXX implicit include dir info: rv=done
found start of include info
found start of implicit include info
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1]
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/backward]
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include]
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed]
add: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/backward]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/include]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/include-fixed]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/backward]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include-fixed]
add: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include]
end of search list found
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1]
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/backward] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1/backward]
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include]
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include-fixed]
collapse include dir [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include] ==> [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include]
implicit include dirs: [/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include/c++/13.3.1/backward;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/lib/gcc/arm-none-eabi/13.3.1/include-fixed;/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/arm-none-eabi/include]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/backward] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1/backward]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/include] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/include-fixed] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include-fixed]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/backward] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1/backward]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include-fixed] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include-fixed]
collapse include dir [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include] ==> [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include]
implicit include dirs: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include/c++/14.3.1/backward;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/arm-none-eabi/14.3.1/include-fixed;C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/arm-none-eabi/include]
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:227 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:227 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
message: |
Parsed CXX implicit link information:
link line regex: [^( *|.*[/\\])(arm-none-eabi-g\\+\\+|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(arm-none-eabi-g\\+\\+|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
ignore line: [Change Dir: '/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-SrcT8S']
link line regex: [^( *|.*[/\\])(arm-none-eabi-g\\+\\+\\.exe|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(arm-none-eabi-g\\+\\+\\.exe|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
ignore line: [Change Dir: 'D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-p0cksk']
ignore line: []
ignore line: [Run Build Command(s): "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/ninja/1.12.1+st.9/bin/ninja" -v cmTC_6f0a1]
ignore line: [[1/2] "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics -v -o CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj -c '/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp']
ignore line: [Run Build Command(s): C:/Users/Lenovo/AppData/Local/stm32cube/bundles/ninja/1.13.1+st.1/bin/ninja.exe -v cmTC_352e8]
ignore line: [[1/2] C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-g++.exe -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics -v -o CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj -c C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++]
ignore line: [COLLECT_GCC=C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-g++.exe]
ignore line: [Target: arm-none-eabi]
ignore line: [Configured with: /build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/src/gcc/configure --target=arm-none-eabi --prefix=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native --libexecdir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/lib --infodir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-checking=release --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/install-native/arm-none-eabi --with-zstd=no --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --with-gmp=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-mpfr=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-mpc=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-isl=/build/gnu-tools-for-stm32_13.3.rel1.20250523-0900/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-lstdc++ -lm' --with-pkgversion='GNU Tools for STM32 13.3.rel1.20250523-0900' --with-multilib-list=rmprofile,aprofile]
ignore line: [Configured with: /build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/src/gcc/configure --build=x86_64-linux-gnu --host=x86_64-w64-mingw32 --target=arm-none-eabi --prefix=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw --libexecdir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/lib --infodir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-mingw-wildcard --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/arm-none-eabi --with-libiconv-prefix=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-gmp=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-mpfr=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-mpc=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-isl=/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for STM32 14.3.rel1.20251027-0700' --with-multilib-list=rmprofile,aprofile]
ignore line: [Thread model: single]
ignore line: [Supported LTO compression algorithms: zlib]
ignore line: [gcc version 13.3.1 20240614 (GNU Tools for STM32 13.3.rel1.20250523-0900) ]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/']
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/cc1plus -quiet -v -imultilib thumb/v7e-m+fp/hard -iprefix /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/ -isysroot /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi -D__USES_INITFINI__ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_6f0a1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mlibarch=armv7e-m+fp -march=armv7e-m+fp -Wall -version -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics -o /var/folders/pk/x11ksr_n5mv431gnyr9stk300000gn/T//cc542gY5.s]
ignore line: [GNU C++17 (GNU Tools for STM32 13.3.rel1.20250523-0900) version 13.3.1 20240614 (arm-none-eabi)]
ignore line: [ compiled by GNU C version 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.4) GMP version 6.2.1 MPFR version 3.1.6 MPC version 1.0.3 isl version isl-0.15-1-g835ea3a-GMP]
ignore line: [gcc version 14.3.1 20250623 (GNU Tools for STM32 14.3.rel1.20251027-0700) ]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_352e8.dir/']
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/cc1plus.exe -quiet -v -imultilib thumb/v7e-m+fp/hard -iprefix C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/ -isysroot C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi -D__USES_INITFINI__ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_352e8.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mlibarch=armv7e-m+fp -march=armv7e-m+fp -Wall -version -fdata-sections -ffunction-sections -fno-rtti -fno-exceptions -fno-threadsafe-statics -o C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ccqne0SC.s]
ignore line: [GNU C++17 (GNU Tools for STM32 14.3.rel1.20251027-0700) version 14.3.1 20250623 (arm-none-eabi)]
ignore line: [ compiled by GNU C version 7.3-win32 20180312 GMP version 6.2.1 MPFR version 3.1.6 MPC version 1.0.3 isl version isl-0.15-1-g835ea3a-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1"]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard"]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/backward"]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/include"]
ignore line: [ignoring nonexistent directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/local/include"]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/include-fixed"]
ignore line: [ignoring duplicate directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/../../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include"]
ignore line: [ignoring nonexistent directory "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/include"]
ignore line: [ignoring nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/build/gnu-tools-for-stm32_14.3.rel1.20251027-0700/install-mingw/lib/gcc/arm-none-eabi/14.3.1/../../../../include"]
ignore line: [ignoring nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/usr/include"]
ignore line: [#include "..." search starts here:]
ignore line: [#include <...> search starts here:]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include/c++/13.3.1/backward]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed]
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/backward]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/include]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/include-fixed]
ignore line: [ C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/arm-none-eabi/thumb/v7e-m+fp/hard]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include/c++/14.3.1/backward]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/include-fixed]
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/lib/gcc/../../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/include]
ignore line: [End of search list.]
ignore line: [Compiler executable checksum: 8645528adf8ebcbf7d1003a054da7f8a]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/']
ignore line: [ /Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/as -v -march=armv7e-m+fp -mfloat-abi=hard -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mfpu=fpv4-sp-d16 -meabi=5 -o CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj /var/folders/pk/x11ksr_n5mv431gnyr9stk300000gn/T//cc542gY5.s]
ignore line: [GNU assembler version 2.42.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 13.3.rel1.20250523-0900) 2.42.0.20240614]
ignore line: [COMPILER_PATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/]
ignore line: [LIBRARY_PATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/lib/thumb/v7e-m+fp/hard/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/:/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.']
ignore line: [[2/2] : && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake" -E rm -f libcmTC_6f0a1.a && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ar" qc libcmTC_6f0a1.a CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib" libcmTC_6f0a1.a && "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/bin/cmake" -E touch libcmTC_6f0a1.a && :]
ignore line: [Compiler executable checksum: 43d99ff7460098f9cee06aa2d6324907]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_352e8.dir/']
ignore line: [ C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/as.exe -v -march=armv7e-m+fp -mfloat-abi=hard -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mfpu=fpv4-sp-d16 -meabi=5 -o CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ccqne0SC.s]
ignore line: [GNU assembler version 2.44.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 14.3.rel1.20251027-0700) 2.44.0.20250616]
ignore line: [COMPILER_PATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/]
ignore line: [LIBRARY_PATH=C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/thumb/v7e-m+fp/hard/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../arm-none-eabi/lib/thumb/v7e-m+fp/hard/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/]
ignore line: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../arm-none-eabi/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-mcpu=cortex-m4' '-mfpu=fpv4-sp-d16' '-mfloat-abi=hard' '-Wall' '-fdata-sections' '-ffunction-sections' '-fno-rtti' '-fno-exceptions' '-fno-threadsafe-statics' '-v' '-o' 'CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.']
ignore line: [[2/2] C:\\Windows\\system32\\cmd.exe /C "cd . && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\cmake\\4.0.1+st.3\\bin\\cmake.exe -E rm -f libcmTC_352e8.a && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-ar.exe qc libcmTC_352e8.a CMakeFiles/cmTC_352e8.dir/CMakeCXXCompilerABI.cpp.obj && C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\arm-none-eabi-ranlib.exe libcmTC_352e8.a && cd ."]
ignore line: []
ignore line: []
linker tool for 'CXX': COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++
linker tool for 'CXX': [1/2] C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe
implicit libs: []
implicit objs: []
implicit dirs: []
@ -398,43 +456,43 @@ events:
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Internal/CMakeDetermineLinkerId.cmake:36 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:264 (cmake_determine_linker_id)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/Internal/CMakeDetermineLinkerId.cmake:36 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:264 (cmake_determine_linker_id)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
message: |
Running the CXX compiler's linker: "COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++" "-v"
Running the CXX compiler's linker: "[1/2] C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe" "-v"
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Internal/CMakeDetermineLinkerId.cmake:36 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:264 (cmake_determine_linker_id)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/Internal/CMakeDetermineLinkerId.cmake:36 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:264 (cmake_determine_linker_id)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
message: |
Running the CXX compiler's linker: "COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++" "-V"
Running the CXX compiler's linker: "[1/2] C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe" "-V"
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/Internal/CMakeDetermineLinkerId.cmake:36 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:264 (cmake_determine_linker_id)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/Internal/CMakeDetermineLinkerId.cmake:36 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake:264 (cmake_determine_linker_id)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
- "CMakeLists.txt:28 (project)"
message: |
Running the CXX compiler's linker: "COLLECT_GCC=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++" "--version"
Running the CXX compiler's linker: "[1/2] C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/arm-none-eabi-g++.exe" "--version"
-
kind: "message-v1"
backtrace:
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:1230 (message)"
- "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/cmake/4.0.1+st.3/CMake.app/Contents/share/cmake-4.0/Modules/CMakeDetermineASMCompiler.cmake:139 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:1230 (message)"
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/share/cmake-4.0/Modules/CMakeDetermineASMCompiler.cmake:139 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)"
- "CMakeLists.txt:32 (enable_language)"
message: |
Checking whether the ASM compiler is GNU using "--version" matched "(GNU assembler)|(GCC)|(Free Software Foundation)":
arm-none-eabi-gcc (GNU Tools for STM32 13.3.rel1.20250523-0900) 13.3.1 20240614
Copyright (C) 2023 Free Software Foundation, Inc.
arm-none-eabi-gcc.exe (GNU Tools for STM32 14.3.rel1.20251027-0700) 14.3.1 20250623
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

View File

@ -1,8 +1,8 @@
{
"InstallScripts" :
[
"/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake_install.cmake",
"/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake/stm32cubemx/cmake_install.cmake"
"D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/cmake_install.cmake",
"D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/cmake/stm32cubemx/cmake_install.cmake"
],
"Parallel" : false
}

View File

@ -1,7 +1,7 @@
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/lll0121.dir
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/edit_cache.dir
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/rebuild_cache.dir
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake/stm32cubemx/CMakeFiles/edit_cache.dir
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake/stm32cubemx/CMakeFiles/rebuild_cache.dir
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/lll0121.dir
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/edit_cache.dir
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/rebuild_cache.dir
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/cmake/stm32cubemx/CMakeFiles/edit_cache.dir
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/cmake/stm32cubemx/CMakeFiles/rebuild_cache.dir

Some files were not shown because too many files have changed in this diff Show More