Merge branch 'xm'
This commit is contained in:
commit
41d930ddd1
11
.clangd
Normal file
11
.clangd
Normal 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
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
build
|
||||||
|
mx.scratch
|
||||||
|
!.settings
|
||||||
158
.settings/bundles-lock.store.json
Normal file
158
.settings/bundles-lock.store.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
20
.settings/bundles.store.json
Normal file
20
.settings/bundles.store.json
Normal 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
9
.settings/ide.store.json
Normal 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
8
.vscode/c_cpp_properties.json
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "STM32",
|
||||||
|
"compileCommands": "${workspaceFolder}/build/Debug/compile_commands.json"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
15
.vscode/settings.json
vendored
Normal file
15
.vscode/settings.json
vendored
Normal 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++*"
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -81,14 +81,14 @@ target_sources(${CMAKE_PROJECT_NAME} PRIVATE
|
|||||||
User/device/referee.c
|
User/device/referee.c
|
||||||
User/device/remote_control.c
|
User/device/remote_control.c
|
||||||
User/device/supercap.c
|
User/device/supercap.c
|
||||||
|
User/device/referee.c
|
||||||
# User/module sources
|
# User/module sources
|
||||||
User/module/cap.c
|
User/module/cap.c
|
||||||
User/module/chassis.c
|
User/module/chassis.c
|
||||||
User/module/cmd.c
|
User/module/cmd/cmd.c
|
||||||
User/module/cmd_adapter.c
|
User/module/cmd/cmd_adapter.c
|
||||||
User/module/cmd_behavior.c
|
User/module/cmd/cmd_behavior.c
|
||||||
User/module/cmd_example.c
|
User/module/cmd/cmd_example.c
|
||||||
User/module/config.c
|
User/module/config.c
|
||||||
User/module/gimbal.c
|
User/module/gimbal.c
|
||||||
User/module/shoot.c
|
User/module/shoot.c
|
||||||
|
|||||||
138
User/device/CMakeLists.txt
Normal file
138
User/device/CMakeLists.txt
Normal 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
|
||||||
|
)
|
||||||
@ -1,169 +1,218 @@
|
|||||||
// /*
|
/*
|
||||||
// DR16接收机
|
DR16接收机
|
||||||
// Example:
|
Example:
|
||||||
|
|
||||||
// DR16_Init(&dr16);
|
DR16_Init(&dr16);
|
||||||
|
|
||||||
// while (1) {
|
while (1) {
|
||||||
// DR16_StartDmaRecv(&dr16);
|
DR16_StartDmaRecv(&dr16);
|
||||||
// if (DR16_WaitDmaCplt(20)) {
|
if (DR16_WaitDmaCplt(20)) {
|
||||||
// DR16_ParseData(&dr16);
|
DR16_ParseData(&dr16);
|
||||||
// } else {
|
} else {
|
||||||
// DR16_Offline(&dr16);
|
DR16_Offline(&dr16);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// */
|
*/
|
||||||
|
|
||||||
// /* Includes ----------------------------------------------------------------- */
|
/* Includes ----------------------------------------------------------------- */
|
||||||
// #include "dr16.h"
|
#include "dr16.h"
|
||||||
// #include "bsp/uart.h"
|
#include "bsp/uart.h"
|
||||||
// #include "bsp/time.h"
|
#include "bsp/time.h"
|
||||||
// #include "device.h"
|
#include "device.h"
|
||||||
|
|
||||||
// #include <string.h>
|
#include <string.h>
|
||||||
// #include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
// /* USER INCLUDE BEGIN */
|
/* USER INCLUDE BEGIN */
|
||||||
|
|
||||||
// /* USER INCLUDE END */
|
/* USER INCLUDE END */
|
||||||
// /* Private define ----------------------------------------------------------- */
|
/* Private define ----------------------------------------------------------- */
|
||||||
// #define DR16_CH_VALUE_MIN (364u)
|
#define DR16_CH_VALUE_MIN (364u)
|
||||||
// #define DR16_CH_VALUE_MID (1024u)
|
#define DR16_CH_VALUE_MID (1024u)
|
||||||
// #define DR16_CH_VALUE_MAX (1684u)
|
#define DR16_CH_VALUE_MAX (1684u)
|
||||||
|
|
||||||
// /* USER DEFINE BEGIN */
|
/* USER DEFINE BEGIN */
|
||||||
|
|
||||||
// /* USER DEFINE END */
|
/* USER DEFINE END */
|
||||||
|
|
||||||
// /* Private macro ------------------------------------------------------------ */
|
/* Private macro ------------------------------------------------------------ */
|
||||||
// /* Private typedef ---------------------------------------------------------- */
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
// /* Private variables -------------------------------------------------------- */
|
/* Private variables -------------------------------------------------------- */
|
||||||
|
|
||||||
// static osThreadId_t thread_alert;
|
static osThreadId_t thread_alert;
|
||||||
// static bool inited = false;
|
static bool inited = false;
|
||||||
|
static DR16_t *dr16_instance = NULL; /* 用于空闲中断回调中访问实例 */
|
||||||
|
static uint8_t sync_buf[32]; /* 帧同步时的丢弃缓冲区 */
|
||||||
|
|
||||||
// /* Private function -------------------------------------------------------- */
|
/* Private function -------------------------------------------------------- */
|
||||||
// static void DR16_RxCpltCallback(void) {
|
static void DR16_RxCpltCallback(void) {
|
||||||
// osThreadFlagsSet(thread_alert, SIGNAL_DR16_RAW_REDY);
|
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) ||
|
static bool DR16_DataCorrupted(const DR16_t *dr16) {
|
||||||
// (dr16->raw_data.ch_r_x > DR16_CH_VALUE_MAX))
|
if (dr16 == NULL) return DEVICE_ERR_NULL;
|
||||||
// return DEVICE_ERR;
|
|
||||||
|
|
||||||
// if ((dr16->raw_data.ch_r_y < DR16_CH_VALUE_MIN) ||
|
if ((dr16->raw_data.ch_r_x < DR16_CH_VALUE_MIN) ||
|
||||||
// (dr16->raw_data.ch_r_y > DR16_CH_VALUE_MAX))
|
(dr16->raw_data.ch_r_x > DR16_CH_VALUE_MAX))
|
||||||
// return DEVICE_ERR;
|
return DEVICE_ERR;
|
||||||
|
|
||||||
// if ((dr16->raw_data.ch_l_x < DR16_CH_VALUE_MIN) ||
|
if ((dr16->raw_data.ch_r_y < DR16_CH_VALUE_MIN) ||
|
||||||
// (dr16->raw_data.ch_l_x > DR16_CH_VALUE_MAX))
|
(dr16->raw_data.ch_r_y > DR16_CH_VALUE_MAX))
|
||||||
// return DEVICE_ERR;
|
return DEVICE_ERR;
|
||||||
|
|
||||||
// if ((dr16->raw_data.ch_l_y < DR16_CH_VALUE_MIN) ||
|
if ((dr16->raw_data.ch_l_x < DR16_CH_VALUE_MIN) ||
|
||||||
// (dr16->raw_data.ch_l_y > DR16_CH_VALUE_MAX))
|
(dr16->raw_data.ch_l_x > DR16_CH_VALUE_MAX))
|
||||||
// return DEVICE_ERR;
|
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 ------------------------------------------------------- */
|
return DEVICE_OK;
|
||||||
// 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;
|
|
||||||
|
|
||||||
// BSP_UART_RegisterCallback(BSP_UART_DR16, BSP_UART_RX_CPLT_CB,
|
/* Exported functions ------------------------------------------------------- */
|
||||||
// DR16_RxCpltCallback);
|
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;
|
dr16_instance = dr16;
|
||||||
// return DEVICE_OK;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// int8_t DR16_Restart(void) {
|
/* 注册 DMA 接收完成回调 */
|
||||||
// __HAL_UART_DISABLE(BSP_UART_GetHandle(BSP_UART_DR16));
|
BSP_UART_RegisterCallback(BSP_UART_DR16, BSP_UART_RX_CPLT_CB,
|
||||||
// __HAL_UART_ENABLE(BSP_UART_GetHandle(BSP_UART_DR16));
|
DR16_RxCpltCallback);
|
||||||
// return DEVICE_OK;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// int8_t DR16_StartDmaRecv(DR16_t *dr16) {
|
/* 注册空闲中断回调并使能空闲中断,用于帧同步 */
|
||||||
// if (HAL_UART_Receive_DMA(BSP_UART_GetHandle(BSP_UART_DR16),
|
BSP_UART_RegisterCallback(BSP_UART_DR16, BSP_UART_IDLE_LINE_CB,
|
||||||
// (uint8_t *)&(dr16->raw_data),
|
DR16_IdleCallback);
|
||||||
// sizeof(dr16->raw_data)) == HAL_OK)
|
__HAL_UART_ENABLE_IT(BSP_UART_GetHandle(BSP_UART_DR16), UART_IT_IDLE);
|
||||||
// return DEVICE_OK;
|
|
||||||
// return DEVICE_ERR;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// bool DR16_WaitDmaCplt(uint32_t timeout) {
|
/*
|
||||||
// return (osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, timeout) ==
|
* 首次帧同步:启动一次丢弃式DMA接收。
|
||||||
// SIGNAL_DR16_RAW_REDY);
|
* 如果遥控器已经在发送,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){
|
inited = true;
|
||||||
// if (dr16 == NULL) return DEVICE_ERR_NULL;
|
return DEVICE_OK;
|
||||||
|
}
|
||||||
|
|
||||||
// if (DR16_DataCorrupted(dr16)) {
|
int8_t DR16_Restart(void) {
|
||||||
// return DEVICE_ERR;
|
UART_HandleTypeDef *huart = BSP_UART_GetHandle(BSP_UART_DR16);
|
||||||
// }
|
|
||||||
|
|
||||||
// dr16->header.online = true;
|
/* 先终止当前DMA接收 */
|
||||||
// dr16->header.last_online_time = BSP_TIME_Get_us();
|
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;
|
HAL_UART_Receive_DMA(huart, sync_buf, sizeof(sync_buf));
|
||||||
// dr16->data.ch_r_y = 2.0f * ((float)dr16->raw_data.ch_r_y - DR16_CH_VALUE_MID) / full_range;
|
osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, 50);
|
||||||
// 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;
|
|
||||||
|
|
||||||
// // 解析拨杆位置
|
return DEVICE_OK;
|
||||||
// dr16->data.sw_l = (DR16_SwitchPos_t)dr16->raw_data.sw_l;
|
}
|
||||||
// dr16->data.sw_r = (DR16_SwitchPos_t)dr16->raw_data.sw_r;
|
|
||||||
|
|
||||||
// // 解析鼠标数据
|
int8_t DR16_StartDmaRecv(DR16_t *dr16) {
|
||||||
// dr16->data.mouse.x = dr16->raw_data.x;
|
if (HAL_UART_Receive_DMA(BSP_UART_GetHandle(BSP_UART_DR16),
|
||||||
// dr16->data.mouse.y = dr16->raw_data.y;
|
(uint8_t *)&(dr16->raw_data),
|
||||||
// dr16->data.mouse.z = dr16->raw_data.z;
|
sizeof(dr16->raw_data)) == HAL_OK)
|
||||||
|
return DEVICE_OK;
|
||||||
|
return DEVICE_ERR;
|
||||||
|
}
|
||||||
|
|
||||||
// dr16->data.mouse.l_click = dr16->raw_data.press_l;
|
bool DR16_WaitDmaCplt(uint32_t timeout) {
|
||||||
// dr16->data.mouse.r_click = dr16->raw_data.press_r;
|
return (osThreadFlagsWait(SIGNAL_DR16_RAW_REDY, osFlagsWaitAll, timeout) ==
|
||||||
|
SIGNAL_DR16_RAW_REDY);
|
||||||
|
}
|
||||||
|
|
||||||
// // 解析键盘按键 - 使用union简化代码
|
int8_t DR16_ParseData(DR16_t *dr16){
|
||||||
// uint16_t key_value = dr16->raw_data.key;
|
if (dr16 == NULL) return DEVICE_ERR_NULL;
|
||||||
|
|
||||||
// // 解析键盘位映射(W-B键,位0-15)
|
if (DR16_DataCorrupted(dr16)) {
|
||||||
// for (int i = DR16_KEY_W; i <= DR16_KEY_B; i++) {
|
/* 数据损坏说明帧错位了,重启串口并重新同步 */
|
||||||
// dr16->data.keyboard.key[i] = (key_value & (1 << i)) != 0;
|
DR16_Restart();
|
||||||
// }
|
return DEVICE_ERR;
|
||||||
|
}
|
||||||
|
|
||||||
// // 解析鼠标点击
|
dr16->header.online = true;
|
||||||
// dr16->data.keyboard.key[DR16_L_CLICK] = dr16->data.mouse.l_click;
|
dr16->header.last_online_time = BSP_TIME_Get_us();
|
||||||
// dr16->data.keyboard.key[DR16_R_CLICK] = dr16->data.mouse.r_click;
|
|
||||||
|
|
||||||
// // 解析第五通道
|
memset(&(dr16->data), 0, sizeof(dr16->data));
|
||||||
// dr16->data.ch_res = 2.0f * ((float)dr16->raw_data.res - DR16_CH_VALUE_MID) / full_range;
|
|
||||||
|
|
||||||
// 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 */
|
||||||
|
|||||||
@ -1,117 +1,117 @@
|
|||||||
// #pragma once
|
#pragma once
|
||||||
|
|
||||||
// #ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
// extern "C" {
|
extern "C" {
|
||||||
// #endif
|
#endif
|
||||||
|
|
||||||
// /* Includes ----------------------------------------------------------------- */
|
/* Includes ----------------------------------------------------------------- */
|
||||||
// #include <cmsis_os2.h>
|
#include <cmsis_os2.h>
|
||||||
|
|
||||||
// #include "component/user_math.h"
|
#include "component/user_math.h"
|
||||||
// #include "device.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 constants ------------------------------------------------------- */
|
||||||
// /* Exported macro ----------------------------------------------------------- */
|
/* Exported macro ----------------------------------------------------------- */
|
||||||
// /* Exported types ----------------------------------------------------------- */
|
/* Exported types ----------------------------------------------------------- */
|
||||||
// typedef struct __packed {
|
typedef struct __packed {
|
||||||
// uint16_t ch_r_x : 11;
|
uint16_t ch_r_x : 11;
|
||||||
// uint16_t ch_r_y : 11;
|
uint16_t ch_r_y : 11;
|
||||||
// uint16_t ch_l_x : 11;
|
uint16_t ch_l_x : 11;
|
||||||
// uint16_t ch_l_y : 11;
|
uint16_t ch_l_y : 11;
|
||||||
// uint8_t sw_r : 2;
|
uint8_t sw_r : 2;
|
||||||
// uint8_t sw_l : 2;
|
uint8_t sw_l : 2;
|
||||||
// int16_t x;
|
int16_t x;
|
||||||
// int16_t y;
|
int16_t y;
|
||||||
// int16_t z;
|
int16_t z;
|
||||||
// uint8_t press_l;
|
uint8_t press_l;
|
||||||
// uint8_t press_r;
|
uint8_t press_r;
|
||||||
// uint16_t key;
|
uint16_t key;
|
||||||
// uint16_t res;
|
uint16_t res;
|
||||||
// } DR16_RawData_t;
|
} DR16_RawData_t;
|
||||||
|
|
||||||
// typedef enum {
|
typedef enum {
|
||||||
// DR16_SW_ERR = 0,
|
DR16_SW_ERR = 0,
|
||||||
// DR16_SW_UP = 1,
|
DR16_SW_UP = 1,
|
||||||
// DR16_SW_MID = 3,
|
DR16_SW_MID = 3,
|
||||||
// DR16_SW_DOWN = 2,
|
DR16_SW_DOWN = 2,
|
||||||
// } DR16_SwitchPos_t;
|
} DR16_SwitchPos_t;
|
||||||
|
|
||||||
// /* 键盘按键值 */
|
/* 键盘按键值 */
|
||||||
// typedef enum {
|
typedef enum {
|
||||||
// DR16_KEY_W = 0,
|
DR16_KEY_W = 0,
|
||||||
// DR16_KEY_S,
|
DR16_KEY_S,
|
||||||
// DR16_KEY_A,
|
DR16_KEY_A,
|
||||||
// DR16_KEY_D,
|
DR16_KEY_D,
|
||||||
// DR16_KEY_SHIFT,
|
DR16_KEY_SHIFT,
|
||||||
// DR16_KEY_CTRL,
|
DR16_KEY_CTRL,
|
||||||
// DR16_KEY_Q,
|
DR16_KEY_Q,
|
||||||
// DR16_KEY_E,
|
DR16_KEY_E,
|
||||||
// DR16_KEY_R,
|
DR16_KEY_R,
|
||||||
// DR16_KEY_F,
|
DR16_KEY_F,
|
||||||
// DR16_KEY_G,
|
DR16_KEY_G,
|
||||||
// DR16_KEY_Z,
|
DR16_KEY_Z,
|
||||||
// DR16_KEY_X,
|
DR16_KEY_X,
|
||||||
// DR16_KEY_C,
|
DR16_KEY_C,
|
||||||
// DR16_KEY_V,
|
DR16_KEY_V,
|
||||||
// DR16_KEY_B,
|
DR16_KEY_B,
|
||||||
// DR16_L_CLICK,
|
DR16_L_CLICK,
|
||||||
// DR16_R_CLICK,
|
DR16_R_CLICK,
|
||||||
// DR16_KEY_NUM,
|
DR16_KEY_NUM,
|
||||||
// } DR16_Key_t;
|
} DR16_Key_t;
|
||||||
|
|
||||||
// typedef struct {
|
typedef struct {
|
||||||
// float ch_l_x; /* 遥控器左侧摇杆横轴值,上为正 */
|
float ch_l_x; /* 遥控器左侧摇杆横轴值,上为正 */
|
||||||
// float ch_l_y; /* 遥控器左侧摇杆纵轴值,右为正 */
|
float ch_l_y; /* 遥控器左侧摇杆纵轴值,右为正 */
|
||||||
// float ch_r_x; /* 遥控器右侧摇杆横轴值,上为正 */
|
float ch_r_x; /* 遥控器右侧摇杆横轴值,上为正 */
|
||||||
// float ch_r_y; /* 遥控器右侧摇杆纵轴值,右为正 */
|
float ch_r_y; /* 遥控器右侧摇杆纵轴值,右为正 */
|
||||||
|
|
||||||
// float ch_res; /* 第五通道值 */
|
float ch_res; /* 第五通道值 */
|
||||||
|
|
||||||
// DR16_SwitchPos_t sw_r; /* 右侧拨杆位置 */
|
DR16_SwitchPos_t sw_r; /* 右侧拨杆位置 */
|
||||||
// DR16_SwitchPos_t sw_l; /* 左侧拨杆位置 */
|
DR16_SwitchPos_t sw_l; /* 左侧拨杆位置 */
|
||||||
|
|
||||||
// struct {
|
struct {
|
||||||
// int16_t x;
|
int16_t x;
|
||||||
// int16_t y;
|
int16_t y;
|
||||||
// int16_t z;
|
int16_t z;
|
||||||
// bool l_click; /* 左键 */
|
bool l_click; /* 左键 */
|
||||||
// bool r_click; /* 右键 */
|
bool r_click; /* 右键 */
|
||||||
// } mouse; /* 鼠标值 */
|
} mouse; /* 鼠标值 */
|
||||||
|
|
||||||
// union {
|
union {
|
||||||
// bool key[DR16_KEY_NUM]; /* 键盘按键值 */
|
bool key[DR16_KEY_NUM]; /* 键盘按键值 */
|
||||||
// uint16_t value; /* 键盘按键值的位映射 */
|
uint16_t value; /* 键盘按键值的位映射 */
|
||||||
// } keyboard;
|
} keyboard;
|
||||||
|
|
||||||
// uint16_t res; /* 保留,未启用 */
|
uint16_t res; /* 保留,未启用 */
|
||||||
// } DR16_Data_t;
|
} DR16_Data_t;
|
||||||
|
|
||||||
// typedef struct {
|
typedef struct {
|
||||||
// DEVICE_Header_t header;
|
DEVICE_Header_t header;
|
||||||
// DR16_RawData_t raw_data;
|
DR16_RawData_t raw_data;
|
||||||
// DR16_Data_t data;
|
DR16_Data_t data;
|
||||||
// } DR16_t;
|
} DR16_t;
|
||||||
|
|
||||||
// /* Exported functions prototypes -------------------------------------------- */
|
/* Exported functions prototypes -------------------------------------------- */
|
||||||
// int8_t DR16_Init(DR16_t *dr16);
|
int8_t DR16_Init(DR16_t *dr16);
|
||||||
// int8_t DR16_Restart(void);
|
int8_t DR16_Restart(void);
|
||||||
// int8_t DR16_StartDmaRecv(DR16_t *dr16);
|
int8_t DR16_StartDmaRecv(DR16_t *dr16);
|
||||||
// bool DR16_WaitDmaCplt(uint32_t timeout);
|
bool DR16_WaitDmaCplt(uint32_t timeout);
|
||||||
// int8_t DR16_ParseData(DR16_t *dr16);
|
int8_t DR16_ParseData(DR16_t *dr16);
|
||||||
// int8_t DR16_Offline(DR16_t *dr16);
|
int8_t DR16_Offline(DR16_t *dr16);
|
||||||
|
|
||||||
// /* USER FUNCTION BEGIN */
|
/* USER FUNCTION BEGIN */
|
||||||
|
|
||||||
// // // // ///* USER FUNCTION END */
|
/* USER FUNCTION END */
|
||||||
|
|
||||||
// #ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
// }
|
}
|
||||||
// #endif
|
#endif
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
#include "component/crc8.h"
|
#include "component/crc8.h"
|
||||||
#include "component/user_math.h"
|
#include "component/user_math.h"
|
||||||
#include "device/referee.h"
|
#include "device/referee.h"
|
||||||
#include "module/cmd.h"
|
// #include "module/cmd/cmd.h"
|
||||||
|
|
||||||
/* Private define ----------------------------------------------------------- */
|
/* Private define ----------------------------------------------------------- */
|
||||||
#define REF_HEADER_SOF (0xA5)
|
#define REF_HEADER_SOF (0xA5)
|
||||||
@ -31,7 +31,8 @@
|
|||||||
/* Private variables -------------------------------------------------------- */
|
/* Private variables -------------------------------------------------------- */
|
||||||
static volatile uint32_t drop_message = 0;
|
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 osThreadId_t thread_alert;
|
||||||
static bool inited = false;
|
static bool inited = false;
|
||||||
@ -61,7 +62,7 @@ static void RefereeSlowRefreshTimerCallback(void *arg) {
|
|||||||
|
|
||||||
/* Exported functions ------------------------------------------------------- */
|
/* Exported functions ------------------------------------------------------- */
|
||||||
int8_t Referee_Init(Referee_t *ref, Referee_UI_t *ui,
|
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 (ref == NULL) return DEVICE_ERR_NULL;
|
||||||
if (inited) return DEVICE_ERR_INITED;
|
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_fast_timer_id, fast_period_ms);
|
||||||
osTimerStart(ref->ui_slow_timer_id, slow_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;
|
inited = true;
|
||||||
return 0;
|
return 0;
|
||||||
@ -103,7 +104,7 @@ int8_t Referee_Restart(void) {
|
|||||||
int8_t Referee_StartReceiving(Referee_t *ref) {
|
int8_t Referee_StartReceiving(Referee_t *ref) {
|
||||||
(void)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)
|
== BSP_OK)
|
||||||
return DEVICE_OK;
|
return DEVICE_OK;
|
||||||
return DEVICE_ERR;
|
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++]);
|
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) {
|
switch (cmd) {
|
||||||
/* Demo */
|
/* Demo */
|
||||||
case UI_NOTHING:
|
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) {
|
uint8_t Referee_PackAI(Referee_ForAI_t *ai, const Referee_t *ref) {
|
||||||
ai->ref_status = ref->ref_status;
|
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;
|
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_DrawLine(Referee_GetGrapicAdd(ui), "6", UI_GRAPIC_OPERATION_ADD,
|
||||||
UI_GRAPIC_LAYER_CHASSIS, GREEN, UI_DEFAULT_WIDTH * 12,
|
UI_GRAPIC_LAYER_CHASSIS, GREEN, UI_DEFAULT_WIDTH * 12,
|
||||||
ui->screen->width * 0.4, ui->screen->height * 0.2,
|
ui->screen->width * 0.4, ui->screen->height * 0.2,
|
||||||
ui->screen->width * 0.4 + sin(ui->chassis_ui.angle) * 46,
|
ui->screen->width * 0.4f + sinf(ui->chassis_ui.angle) * 46.0f,
|
||||||
ui->screen->height * 0.2 + cos(ui->chassis_ui.angle) * 46);
|
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;
|
float start_pos_h = 0.0f;
|
||||||
switch (ui->chassis_ui.mode) {
|
switch (ui->chassis_ui.mode) {
|
||||||
case STOP:
|
case CHASSIS_MODE_RELAX:
|
||||||
start_pos_h = 0.68f;
|
start_pos_h = 0.68f;
|
||||||
break;
|
break;
|
||||||
case CHASSIS_MODE_FOLLOW_GIMBAL:
|
case CHASSIS_MODE_FOLLOW_GIMBAL:
|
||||||
|
|||||||
@ -13,12 +13,12 @@ extern "C" {
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "component/ui.h"
|
#include "component/ui.h"
|
||||||
#include "component/user_math.h"
|
#include "component/user_math.h"
|
||||||
//#include "device/can.h"
|
|
||||||
#include "module/shoot.h"
|
|
||||||
#include "device/device.h"
|
#include "device/device.h"
|
||||||
#include "module/cmd.h"
|
#include "device/referee_proto_types.h"
|
||||||
#include "module/config.h"
|
|
||||||
#include "device/supercap.h"
|
#include "device/supercap.h"
|
||||||
|
#include "module/chassis.h"
|
||||||
|
#include "module/gimbal.h"
|
||||||
|
#include "module/shoot.h"
|
||||||
|
|
||||||
/* Exported constants ------------------------------------------------------- */
|
/* Exported constants ------------------------------------------------------- */
|
||||||
/* Exported macro ----------------------------------------------------------- */
|
/* Exported macro ----------------------------------------------------------- */
|
||||||
@ -37,7 +37,13 @@ typedef struct __packed {
|
|||||||
uint8_t crc8;
|
uint8_t crc8;
|
||||||
} Referee_Header_t;
|
} 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 {
|
typedef enum {
|
||||||
REF_CMD_ID_GAME_STATUS = 0x0001,
|
REF_CMD_ID_GAME_STATUS = 0x0001,
|
||||||
@ -121,29 +127,7 @@ typedef struct __packed {
|
|||||||
uint16_t dart_info;
|
uint16_t dart_info;
|
||||||
} Referee_DartInfo_t;
|
} 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 {
|
typedef struct __packed {
|
||||||
float x;
|
float x;
|
||||||
@ -166,13 +150,6 @@ typedef struct __packed {
|
|||||||
} Referee_RobotDamage_t;
|
} 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 {
|
typedef struct __packed {
|
||||||
uint16_t bullet_17_remain;
|
uint16_t bullet_17_remain;
|
||||||
uint16_t bullet_42_remain;
|
uint16_t bullet_42_remain;
|
||||||
@ -597,28 +574,6 @@ typedef struct {
|
|||||||
osTimerId_t ui_slow_timer_id;
|
osTimerId_t ui_slow_timer_id;
|
||||||
} Referee_t;
|
} 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 {
|
typedef struct __packed {
|
||||||
/* UI缓冲数据 */
|
/* UI缓冲数据 */
|
||||||
UI_Ele_t grapic[REF_UI_MAX_GRAPIC_NUM];
|
UI_Ele_t grapic[REF_UI_MAX_GRAPIC_NUM];
|
||||||
@ -629,15 +584,16 @@ typedef struct __packed {
|
|||||||
uint8_t character_counter;
|
uint8_t character_counter;
|
||||||
uint8_t del_counter;
|
uint8_t del_counter;
|
||||||
/* UI所需信息 */
|
/* UI所需信息 */
|
||||||
Referee_CapUI_t cap_ui;
|
Cap_RefereeUI_t cap_ui;
|
||||||
Referee_ChassisUI_t chassis_ui;
|
Chassis_RefereeUI_t chassis_ui;
|
||||||
Referee_ShootUI_t shoot_ui;
|
Shoot_RefereeUI_t shoot_ui;
|
||||||
Referee_GimbalUI_t gimbal_ui;
|
Gimbal_RefereeUI_t gimbal_ui;
|
||||||
bool cmd_pc;
|
bool cmd_pc;
|
||||||
/* 屏幕分辨率 */
|
/* 屏幕分辨率 */
|
||||||
const CMD_Screen_t *screen;
|
const Referee_Screen_t *screen;
|
||||||
} Referee_UI_t;
|
} Referee_UI_t;
|
||||||
|
|
||||||
|
|
||||||
typedef struct __packed {
|
typedef struct __packed {
|
||||||
uint16_t data_cmd_id;
|
uint16_t data_cmd_id;
|
||||||
uint16_t sender_ID;
|
uint16_t sender_ID;
|
||||||
@ -692,35 +648,10 @@ typedef struct __packed {
|
|||||||
uint16_t crc16;
|
uint16_t crc16;
|
||||||
} Referee_UI_Del_t;
|
} 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 -------------------------------------------- */
|
/* Exported functions prototypes -------------------------------------------- */
|
||||||
int8_t Referee_Init(Referee_t *ref, Referee_UI_t *ui,
|
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_Restart(void);
|
||||||
|
|
||||||
int8_t Referee_StartReceiving(Referee_t *ref);
|
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);
|
int8_t Referee_PackUI(Referee_UI_t *ui, Referee_t *ref);
|
||||||
UI_Ele_t *Referee_GetGrapicAdd(Referee_UI_t *ref_ui);
|
UI_Ele_t *Referee_GetGrapicAdd(Referee_UI_t *ref_ui);
|
||||||
UI_Drawcharacter_t *Referee_GetCharacterAdd(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_PackCap(Referee_ForCap_t *cap, const Referee_t *ref);
|
||||||
uint8_t Referee_PackShoot(Referee_ForShoot_t *ai, Referee_t *ref);
|
uint8_t Referee_PackShoot(Referee_ForShoot_t *ai, Referee_t *ref);
|
||||||
uint8_t Referee_PackChassis(Referee_ForChassis_t *chassis,
|
uint8_t Referee_PackChassis(Referee_ForChassis_t *chassis,
|
||||||
|
|||||||
89
User/device/referee_proto_types.h
Normal file
89
User/device/referee_proto_types.h
Normal 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
|
||||||
|
|
||||||
@ -96,7 +96,14 @@ uint8_t get_supercap_energy(void);
|
|||||||
uint32_t get_chassis_energy_from_supercap(void);
|
uint32_t get_chassis_energy_from_supercap(void);
|
||||||
|
|
||||||
int8_t PowerLimit_Output(float power_limit, float *motor_out, uint32_t len);
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /*SUPERCAP_H*/
|
#endif /*SUPERCAP_H*/
|
||||||
|
|||||||
269
User/module/aimbot.c
Normal file
269
User/module/aimbot.c
Normal 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
174
User/module/aimbot.h
Normal 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--> 下层板
|
||||||
|
*
|
||||||
|
* 注:上层板使用自己的IMU(atti_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
|
||||||
@ -40,7 +40,7 @@ chassis_init(&chassis,&Config_GetRobotParam()->chassis,CHASSIS_FREQ);
|
|||||||
#include "math.h"
|
#include "math.h"
|
||||||
#include "component/pid.h"
|
#include "component/pid.h"
|
||||||
#include "component/filter.h"
|
#include "component/filter.h"
|
||||||
#include "module/cmd.h"
|
#include "module/cmd/cmd.h"
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
|
|
||||||
/*舵轮舵向校准方法:注释掉关于6020反馈角度的处理以及6020数据的发送这两处(define.h里有快捷方法),
|
/*舵轮舵向校准方法:注释掉关于6020反馈角度的处理以及6020数据的发送这两处(define.h里有快捷方法),
|
||||||
|
|||||||
@ -84,6 +84,7 @@ extern "C"
|
|||||||
} Chassis_out_t;
|
} Chassis_out_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*底盘模式*/
|
/*底盘模式*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@ -104,6 +105,15 @@ typedef enum
|
|||||||
|
|
||||||
}Chassis_ctrl_mode_t;
|
}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
|
typedef struct
|
||||||
{
|
{
|
||||||
int cmd_power_on_safe; // 上电安全标志
|
int cmd_power_on_safe; // 上电安全标志
|
||||||
|
|||||||
@ -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
748
User/module/cmd/cmd.c
Normal 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;
|
||||||
|
}
|
||||||
@ -4,15 +4,30 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "gimbal.h"
|
#include "cmd_types.h"
|
||||||
#include "module/cmd_types.h"
|
#include "cmd_adapter.h"
|
||||||
#include "module/cmd_adapter.h"
|
#include "cmd_behavior.h"
|
||||||
#include "module/cmd_behavior.h"
|
|
||||||
|
|
||||||
/* 引入输出模块的命令类型 */
|
/* 按需引入输出模块的命令类型 */
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
#include "module/chassis.h"
|
#include "module/chassis.h"
|
||||||
|
#endif
|
||||||
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
#include "module/gimbal.h"
|
#include "module/gimbal.h"
|
||||||
|
#endif
|
||||||
|
#if CMD_ENABLE_MODULE_SHOOT
|
||||||
#include "module/shoot.h"
|
#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>
|
#include <stdint.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@ -24,42 +39,64 @@ extern "C" {
|
|||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
|
|
||||||
/* 每个模块的输出包含源信息和命令 */
|
/* 每个模块的输出包含源信息和命令 */
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
typedef struct {
|
typedef struct {
|
||||||
CMD_InputSource_t source;
|
CMD_InputSource_t source;
|
||||||
Chassis_CMD_t cmd;
|
Chassis_CMD_t cmd;
|
||||||
} CMD_ChassisOutput_t;
|
} CMD_ChassisOutput_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
typedef struct {
|
typedef struct {
|
||||||
CMD_InputSource_t source;
|
CMD_InputSource_t source;
|
||||||
Gimbal_CMD_t cmd;
|
Gimbal_CMD_t cmd;
|
||||||
} CMD_GimbalOutput_t;
|
} CMD_GimbalOutput_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CMD_ENABLE_MODULE_SHOOT
|
||||||
typedef struct {
|
typedef struct {
|
||||||
CMD_InputSource_t source;
|
CMD_InputSource_t source;
|
||||||
Shoot_CMD_t cmd;
|
Shoot_CMD_t cmd;
|
||||||
} CMD_ShootOutput_t;
|
} 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 {
|
typedef struct {
|
||||||
float mouse_sens; /* 鼠标灵敏度 */
|
float mouse_sens; /* 鼠标灵敏度 */
|
||||||
@ -68,37 +105,34 @@ typedef struct {
|
|||||||
float move_slow_mult; /* 慢速移动倍率 */
|
float move_slow_mult; /* 慢速移动倍率 */
|
||||||
} CMD_Sensitivity_t;
|
} CMD_Sensitivity_t;
|
||||||
|
|
||||||
/* 分辨率配置 */
|
|
||||||
typedef struct {
|
|
||||||
uint16_t width;
|
|
||||||
uint16_t height;
|
|
||||||
} CMD_Screen_t;
|
|
||||||
|
|
||||||
/* RC模式映射配置 - 定义开关位置到模式的映射 */
|
/* RC模式映射配置 - 定义开关位置到模式的映射 */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
/* 左拨杆映射 - 底盘模式 */
|
/* 左拨杆映射 - 底盘模式 */
|
||||||
Chassis_Mode_t sw_left_up;
|
Chassis_Mode_t sw_left_up;
|
||||||
Chassis_Mode_t sw_left_mid;
|
Chassis_Mode_t sw_left_mid;
|
||||||
Chassis_Mode_t sw_left_down;
|
Chassis_Mode_t sw_left_down;
|
||||||
|
#endif
|
||||||
|
|
||||||
Chassis_ctrl_mode_t chassis_ctrl_mode_sw_up;
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
Chassis_ctrl_mode_t chassis_ctrl_mode_sw_mid;
|
|
||||||
Chassis_ctrl_mode_t chassis_ctrl_mode_sw_down;
|
|
||||||
|
|
||||||
/* 右拨杆映射 - 云台/射击模式 */
|
/* 右拨杆映射 - 云台/射击模式 */
|
||||||
Gimbal_Mode_t gimbal_sw_up;
|
Gimbal_Mode_t gimbal_sw_up;
|
||||||
Gimbal_Mode_t gimbal_sw_mid;
|
Gimbal_Mode_t gimbal_sw_mid;
|
||||||
Gimbal_Mode_t gimbal_sw_down;
|
Gimbal_Mode_t gimbal_sw_down;
|
||||||
|
#endif
|
||||||
|
|
||||||
GIMBAL_Ctrl_mode_t gimmbal_ctrl_mode_sw_up;
|
#if CMD_ENABLE_MODULE_TRACK
|
||||||
GIMBAL_Ctrl_mode_t gimmbal_ctrl_mode_sw_mid;
|
/* 左拨杆映射 - 履带使能 */
|
||||||
GIMBAL_Ctrl_mode_t gimmbal_ctrl_mode_sw_down;
|
bool track_sw_up;
|
||||||
|
bool track_sw_mid;
|
||||||
Shoot_Mode_t shoot_sw_up;
|
bool track_sw_down;
|
||||||
Shoot_Mode_t shoot_sw_mid;
|
#endif
|
||||||
Shoot_Mode_t shoot_sw_down;
|
#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;
|
} CMD_RCModeMap_t;
|
||||||
|
|
||||||
/* 整体配置 */
|
/* 整体配置 */
|
||||||
@ -108,8 +142,7 @@ typedef struct {
|
|||||||
|
|
||||||
/* 灵敏度设置 */
|
/* 灵敏度设置 */
|
||||||
CMD_Sensitivity_t sensitivity;
|
CMD_Sensitivity_t sensitivity;
|
||||||
/* 分辨率设置 */
|
|
||||||
CMD_Screen_t screen;
|
|
||||||
/* RC模式映射 */
|
/* RC模式映射 */
|
||||||
CMD_RCModeMap_t rc_mode_map;
|
CMD_RCModeMap_t rc_mode_map;
|
||||||
|
|
||||||
@ -141,10 +174,30 @@ typedef struct CMD_Context {
|
|||||||
|
|
||||||
/* 输出 */
|
/* 输出 */
|
||||||
struct {
|
struct {
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
CMD_ChassisOutput_t chassis;
|
CMD_ChassisOutput_t chassis;
|
||||||
|
#endif
|
||||||
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
CMD_GimbalOutput_t gimbal;
|
CMD_GimbalOutput_t gimbal;
|
||||||
|
#endif
|
||||||
|
#if CMD_ENABLE_MODULE_SHOOT
|
||||||
CMD_ShootOutput_t 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;
|
} output;
|
||||||
} CMD_t;
|
} 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) {
|
static inline Chassis_CMD_t* CMD_GetChassisCmd(CMD_t *ctx) {
|
||||||
return &ctx->output.chassis.cmd;
|
return &ctx->output.chassis.cmd;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* 获取云台命令 */
|
/* 获取云台命令 */
|
||||||
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
static inline Gimbal_CMD_t* CMD_GetGimbalCmd(CMD_t *ctx) {
|
static inline Gimbal_CMD_t* CMD_GetGimbalCmd(CMD_t *ctx) {
|
||||||
return &ctx->output.gimbal.cmd;
|
return &ctx->output.gimbal.cmd;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* 获取射击命令 */
|
/* 获取射击命令 */
|
||||||
|
#if CMD_ENABLE_MODULE_SHOOT
|
||||||
static inline Shoot_CMD_t* CMD_GetShootCmd(CMD_t *ctx) {
|
static inline Shoot_CMD_t* CMD_GetShootCmd(CMD_t *ctx) {
|
||||||
return &ctx->output.shoot.cmd;
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
@ -1,7 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
* CMD 模块 V2 - 输入适配器实现
|
* CMD 模块 V2 - 输入适配器实现
|
||||||
*/
|
*/
|
||||||
#include "module/cmd_adapter.h"
|
#include "cmd_adapter.h"
|
||||||
|
#include "module/cmd/cmd_adapter.h"
|
||||||
|
#include <stdbool.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
@ -9,7 +11,6 @@
|
|||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
// static CMD_InputAdapter_t *g_adapters[CMD_SRC_NUM] = {0};
|
// static CMD_InputAdapter_t *g_adapters[CMD_SRC_NUM] = {0};
|
||||||
CMD_InputAdapter_t *g_adapters[CMD_SRC_NUM] = {0};
|
CMD_InputAdapter_t *g_adapters[CMD_SRC_NUM] = {0};
|
||||||
|
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
/* DR16 适配器实现 */
|
/* DR16 适配器实现 */
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
@ -63,6 +64,7 @@ int8_t CMD_DR16_PC_GetInput(void *data, CMD_RawInput_t *output) {
|
|||||||
/* PC端鼠标映射 */
|
/* PC端鼠标映射 */
|
||||||
output->pc.mouse.x = dr16->data.mouse.x;
|
output->pc.mouse.x = dr16->data.mouse.x;
|
||||||
output->pc.mouse.y = dr16->data.mouse.y;
|
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.l_click = dr16->data.mouse.l_click;
|
||||||
output->pc.mouse.r_click = dr16->data.mouse.r_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 */
|
#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;
|
(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;
|
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));
|
CMD_DEFINE_ADAPTER(REF, cmd_ref, CMD_SRC_REF, CMD_REF_AdapterInit, CMD_REF_GetInput, CMD_REF_IsOnline)
|
||||||
// memset(output, 0, sizeof(CMD_RawInput_RC_t));
|
|
||||||
|
|
||||||
output->online[CMD_SRC_RC] = et16s->header.online;
|
#endif /* CMD_ENABLE_SRC_REF */
|
||||||
|
|
||||||
/* TODO: 按照AT9S的数据格式进行映射 */
|
#if CMD_ENABLE_SRC_NUC
|
||||||
output->rc.joy_left.x = et16s->ET16s.ch_l_x;
|
|
||||||
output->rc.joy_left.y = et16s->ET16s.ch_l_y;
|
int8_t CMD_NUC_AdapterInit(void *data) {
|
||||||
output->rc.joy_right.x = et16s->ET16s.ch_r_x;
|
/* NUC适配器不需要特殊初始化 */
|
||||||
output->rc.joy_right.y = et16s->ET16s.ch_r_y;
|
return CMD_OK;
|
||||||
/* 拨杆映射需要根据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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CMD_ET16s_IsOnline(void *data) {
|
bool CMD_NUC_IsOnline(void *data) {
|
||||||
ET16s_t *et16s = (ET16s_t *)data;
|
return true;
|
||||||
return et16s->header.online;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMD_DEFINE_ADAPTER(ET16s, cmd_et16s, CMD_SRC_RC, CMD_ET16s_Init, CMD_ET16s_GetInput, CMD_ET16s_IsOnline)
|
/* 定义NUC适配器实例 */
|
||||||
#endif /* CMD_RC_DEVICE_TYPE == 3 */
|
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
|
#elif CMD_RC_DEVICE_TYPE == 1
|
||||||
/* AT9S 目前只支持 RC 输入 */
|
/* AT9S 目前只支持 RC 输入 */
|
||||||
CMD_Adapter_Register(&g_adapter_AT9S);
|
CMD_Adapter_Register(&g_adapter_AT9S);
|
||||||
#elif CMD_RC_DEVICE_TYPE == 2
|
#endif
|
||||||
/* 目前只支持 RC 输入 */
|
|
||||||
|
|
||||||
#elif CMD_RC_DEVICE_TYPE == 3
|
#if CMD_ENABLE_SRC_NUC
|
||||||
/* ET16s 目前只支持 RC 输入 */
|
/* 注册NUC适配器 */
|
||||||
CMD_Adapter_Register(&g_adapter_ET16s);
|
CMD_Adapter_Register(&g_adapter_NUC);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CMD_ENABLE_SRC_REF
|
||||||
|
/* 注册REF适配器 */
|
||||||
|
CMD_Adapter_Register(&g_adapter_REF);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* 初始化所有已注册的适配器 */
|
/* 初始化所有已注册的适配器 */
|
||||||
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "module/cmd_types.h"
|
#include "cmd_types.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -45,7 +45,6 @@ typedef struct {
|
|||||||
* - bool CMD_DR16_IsOnline(void *data);
|
* - bool CMD_DR16_IsOnline(void *data);
|
||||||
*/
|
*/
|
||||||
#define CMD_DECLARE_ADAPTER(NAME, var, TYPE) \
|
#define CMD_DECLARE_ADAPTER(NAME, var, TYPE) \
|
||||||
extern TYPE var; \
|
|
||||||
int8_t CMD_##NAME##_Init(void *data); \
|
int8_t CMD_##NAME##_Init(void *data); \
|
||||||
int8_t CMD_##NAME##_GetInput(void *data, CMD_RawInput_t *output); \
|
int8_t CMD_##NAME##_GetInput(void *data, CMD_RawInput_t *output); \
|
||||||
bool CMD_##NAME##_IsOnline(void *data);
|
bool CMD_##NAME##_IsOnline(void *data);
|
||||||
@ -70,7 +69,7 @@ typedef struct {
|
|||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
|
|
||||||
/* 选择使用的RC设备 - 只需修改这里 */
|
/* 选择使用的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
|
#if CMD_RC_DEVICE_TYPE == 0
|
||||||
#include "device/dr16.h"
|
#include "device/dr16.h"
|
||||||
@ -88,11 +87,27 @@ typedef struct {
|
|||||||
CMD_DECLARE_ADAPTER(VT13, vt13, VT13_t)
|
CMD_DECLARE_ADAPTER(VT13, vt13, VT13_t)
|
||||||
#define CMD_RC_ADAPTER_NAME VT13
|
#define CMD_RC_ADAPTER_NAME VT13
|
||||||
#define CMD_RC_ADAPTER_VAR vt13
|
#define CMD_RC_ADAPTER_VAR vt13
|
||||||
#elif CMD_RC_DEVICE_TYPE == 3
|
#endif
|
||||||
#include "device/ET16s.h"
|
|
||||||
CMD_DECLARE_ADAPTER(ET16s, cmd_et16s, ET16s_t)
|
/* ========================================================================== */
|
||||||
#define CMD_RC_ADAPTER_NAME ET16s
|
/* NUC/AI适配器配置 */
|
||||||
#define CMD_RC_ADAPTER_VAR ET16s
|
/* ========================================================================== */
|
||||||
|
#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
|
#endif
|
||||||
|
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
@ -1,9 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
* CMD 模块 V2 - 行为处理器实现
|
* CMD 模块 V2 - 行为处理器实现
|
||||||
*/
|
*/
|
||||||
#include "module/cmd_behavior.h"
|
#include "cmd_behavior.h"
|
||||||
#include "module/cmd.h"
|
#include "cmd.h"
|
||||||
|
#include "module/chassis.h"
|
||||||
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
#include "module/gimbal.h"
|
#include "module/gimbal.h"
|
||||||
|
#endif
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
@ -12,75 +15,151 @@
|
|||||||
|
|
||||||
/* 行为处理函数实现 */
|
/* 行为处理函数实现 */
|
||||||
int8_t CMD_Behavior_Handle_FORE(CMD_t *ctx) {
|
int8_t CMD_Behavior_Handle_FORE(CMD_t *ctx) {
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
ctx->output.chassis.cmd.Vy += ctx->config->sensitivity.move_sens;
|
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;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_BACK(CMD_t *ctx) {
|
int8_t CMD_Behavior_Handle_BACK(CMD_t *ctx) {
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
ctx->output.chassis.cmd.Vy -= ctx->config->sensitivity.move_sens;
|
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;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_LEFT(CMD_t *ctx) {
|
int8_t CMD_Behavior_Handle_LEFT(CMD_t *ctx) {
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
ctx->output.chassis.cmd.Vx -= ctx->config->sensitivity.move_sens;
|
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;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_RIGHT(CMD_t *ctx) {
|
int8_t CMD_Behavior_Handle_RIGHT(CMD_t *ctx) {
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
ctx->output.chassis.cmd.Vx += ctx->config->sensitivity.move_sens;
|
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;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_ACCELERATE(CMD_t *ctx) {
|
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.Vx *= ctx->config->sensitivity.move_fast_mult;
|
||||||
ctx->output.chassis.cmd.Vy *= 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;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_DECELERATE(CMD_t *ctx) {
|
int8_t CMD_Behavior_Handle_CLIMB(CMD_t *ctx) {
|
||||||
ctx->output.chassis.cmd.Vx *= ctx->config->sensitivity.move_slow_mult;
|
#if CMD_ENABLE_MODULE_BALANCE_CHASSIS
|
||||||
ctx->output.chassis.cmd.Vy *= ctx->config->sensitivity.move_slow_mult;
|
ctx->output.balance_chassis.cmd.mode = CHASSIS_MODE_CLIMB_STEP;
|
||||||
|
#endif
|
||||||
return CMD_OK;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_FIRE(CMD_t *ctx) {
|
int8_t CMD_Behavior_Handle_FIRE(CMD_t *ctx) {
|
||||||
|
#if CMD_ENABLE_MODULE_SHOOT
|
||||||
ctx->output.shoot.cmd.firecmd = true;
|
ctx->output.shoot.cmd.firecmd = true;
|
||||||
|
#endif
|
||||||
return CMD_OK;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_FIRE_MODE(CMD_t *ctx) {
|
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;
|
ctx->output.shoot.cmd.mode = (ctx->output.shoot.cmd.mode + 1) % SHOOT_MODE_NUM;
|
||||||
|
#endif
|
||||||
return CMD_OK;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_ROTOR(CMD_t *ctx) {
|
int8_t CMD_Behavior_Handle_ROTOR(CMD_t *ctx) {
|
||||||
ctx->output.chassis.cmd.mode = CHASSIS_MODE_ROTOR;
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
// ctx->output.chassis.cmd.mode_rotor = ROTOR_MODE_RAND;
|
|
||||||
ctx->output.gimbal.cmd.mode = GIMBAL_MODE_RELATIVE;
|
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;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_AUTOAIM(CMD_t *ctx) {
|
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;
|
return CMD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t CMD_Behavior_Handle_CHECKSOURCERCPC(CMD_t *ctx) {
|
int8_t CMD_Behavior_Handle_CHECKSOURCERCPC(CMD_t *ctx) {
|
||||||
/* TODO: 切换RC和PC输入源 */
|
/* 切换RC和PC输入源 */
|
||||||
if (ctx->active_source == CMD_SRC_PC) {
|
if (ctx->active_source == CMD_SRC_PC) {
|
||||||
ctx->active_source = CMD_SRC_RC;
|
ctx->active_source = CMD_SRC_RC;
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
ctx->output.chassis.source = CMD_SRC_RC;
|
ctx->output.chassis.source = CMD_SRC_RC;
|
||||||
|
#endif
|
||||||
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
ctx->output.gimbal.source = CMD_SRC_RC;
|
ctx->output.gimbal.source = CMD_SRC_RC;
|
||||||
|
#endif
|
||||||
|
#if CMD_ENABLE_MODULE_SHOOT
|
||||||
ctx->output.shoot.source = CMD_SRC_RC;
|
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) {
|
} else if(ctx->active_source == CMD_SRC_RC) {
|
||||||
ctx->active_source = CMD_SRC_PC;
|
ctx->active_source = CMD_SRC_PC;
|
||||||
|
#if CMD_ENABLE_MODULE_CHASSIS
|
||||||
ctx->output.chassis.source = CMD_SRC_PC;
|
ctx->output.chassis.source = CMD_SRC_PC;
|
||||||
|
#endif
|
||||||
|
#if CMD_ENABLE_MODULE_GIMBAL
|
||||||
ctx->output.gimbal.source = CMD_SRC_PC;
|
ctx->output.gimbal.source = CMD_SRC_PC;
|
||||||
|
#endif
|
||||||
|
#if CMD_ENABLE_MODULE_SHOOT
|
||||||
ctx->output.shoot.source = CMD_SRC_PC;
|
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;
|
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[] = {
|
static const CMD_BehaviorConfig_t g_behavior_configs[] = {
|
||||||
CMD_BEHAVIOR_TABLE(BUILD_BEHAVIOR_CONFIG)
|
CMD_BEHAVIOR_TABLE(BUILD_BEHAVIOR_CONFIG)
|
||||||
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "module/cmd_types.h"
|
#include "cmd_types.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* 本文件展示如何配置和使用新的CMD模块
|
* 本文件展示如何配置和使用新的CMD模块
|
||||||
*/
|
*/
|
||||||
#include "module/cmd.h"
|
#include "cmd.h"
|
||||||
|
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
/* config示例 */
|
/* config示例 */
|
||||||
66
User/module/cmd/cmd_feature.h
Normal file
66
User/module/cmd/cmd_feature.h
Normal 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 */
|
||||||
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
#include "cmd_feature.h" /* 功能特性开关 */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -24,21 +25,93 @@ extern "C" {
|
|||||||
/* 输入源配置宏表 */
|
/* 输入源配置宏表 */
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
/*
|
/*
|
||||||
* 使用方法:在config中定义需要启用的输入源
|
* 使用方法:在 cmd_feature.h 中设置各 CMD_ENABLE_SRC_xxx 宏。
|
||||||
* 格式: X(枚举名, 优先级, 适配器初始化函数, 获取数据函数)
|
* 格式: 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) \
|
#define CMD_INPUT_SOURCE_TABLE(X) \
|
||||||
X(RC, CMD_RC_AdapterInit, CMD_RC_GetInput) \
|
_X_SRC_RC(X) \
|
||||||
X(PC, CMD_PC_AdapterInit, CMD_PC_GetInput) \
|
_X_SRC_PC(X) \
|
||||||
X(NUC, CMD_NUC_AdapterInit, CMD_NUC_GetInput) \
|
_X_SRC_NUC(X) \
|
||||||
X(REF, CMD_REF_AdapterInit, CMD_REF_GetInput)
|
_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) \
|
#define CMD_OUTPUT_MODULE_TABLE(X) \
|
||||||
X(CHASSIS, Chassis_CMD_t, chassis) \
|
_X_MOD_CHASSIS(X) \
|
||||||
X(GIMBAL, Gimbal_CMD_t, gimbal) \
|
_X_MOD_GIMBAL(X) \
|
||||||
X(SHOOT, Shoot_CMD_t, shoot)
|
_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_KEY_NUM
|
||||||
} CMD_KeyIndex_t;
|
} CMD_KeyIndex_t;
|
||||||
|
|
||||||
/* 裁判系统数据 */
|
|
||||||
typedef struct {
|
|
||||||
uint8_t game_status; /* 比赛状态 */
|
|
||||||
} CMD_Referee_t;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
CMD_Joystick_t joy_left; /* 左摇杆 */
|
CMD_Joystick_t joy_left; /* 左摇杆 */
|
||||||
CMD_Joystick_t joy_right; /* 右摇杆 */
|
CMD_Joystick_t joy_right; /* 右摇杆 */
|
||||||
CMD_SwitchPos_t sw[8]; /* 4个拨杆 */
|
CMD_SwitchPos_t sw[4]; /* 4个拨杆 */
|
||||||
float dial; /* 拨轮 */
|
float dial; /* 拨轮 */
|
||||||
} CMD_RawInput_RC_t;
|
} CMD_RawInput_RC_t;
|
||||||
|
|
||||||
@ -109,30 +177,64 @@ typedef struct {
|
|||||||
CMD_Keyboard_t keyboard;
|
CMD_Keyboard_t keyboard;
|
||||||
} CMD_RawInput_PC_t;
|
} CMD_RawInput_PC_t;
|
||||||
|
|
||||||
|
/* AI输入数据 */
|
||||||
typedef struct {
|
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;
|
} CMD_RawInput_NUC_t;
|
||||||
|
|
||||||
|
#if CMD_ENABLE_SRC_REF
|
||||||
|
#include "device/referee_proto_types.h"
|
||||||
|
/* 裁判系统原始输入,包含需转发给各模块的完整子集 */
|
||||||
typedef struct {
|
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;
|
} CMD_RawInput_REF_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* 统一的原始输入结构 - 所有设备适配后都转换成这个格式 */
|
/* 统一的原始输入结构 - 所有设备适配后都转换成这个格式 */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
bool online[CMD_SRC_NUM];
|
bool online[CMD_SRC_NUM];
|
||||||
|
|
||||||
|
#if CMD_ENABLE_SRC_RC
|
||||||
/* 遥控器部分 */
|
/* 遥控器部分 */
|
||||||
CMD_RawInput_RC_t rc;
|
CMD_RawInput_RC_t rc;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CMD_ENABLE_SRC_PC
|
||||||
/* PC部分 */
|
/* PC部分 */
|
||||||
CMD_RawInput_PC_t pc;
|
CMD_RawInput_PC_t pc;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CMD_ENABLE_SRC_NUC
|
||||||
/* NUC部分 */
|
/* NUC部分 */
|
||||||
/* 暂无定义,预留扩展 */
|
|
||||||
CMD_RawInput_NUC_t nuc;
|
CMD_RawInput_NUC_t nuc;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CMD_ENABLE_SRC_REF
|
||||||
/* REF部分 - 裁判系统数据 */
|
/* REF部分 - 裁判系统数据 */
|
||||||
CMD_RawInput_REF_t ref;
|
CMD_RawInput_REF_t ref;
|
||||||
|
#endif
|
||||||
} CMD_RawInput_t;
|
} CMD_RawInput_t;
|
||||||
|
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
@ -143,26 +245,32 @@ typedef enum {
|
|||||||
CMD_MODULE_CHASSIS = (1 << 1),
|
CMD_MODULE_CHASSIS = (1 << 1),
|
||||||
CMD_MODULE_GIMBAL = (1 << 2),
|
CMD_MODULE_GIMBAL = (1 << 2),
|
||||||
CMD_MODULE_SHOOT = (1 << 3),
|
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;
|
} CMD_ModuleMask_t;
|
||||||
|
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
/* 行为定义 */
|
/* 行为定义 */
|
||||||
/* ========================================================================== */
|
/* ========================================================================== */
|
||||||
/* 行为-按键映射宏表 */
|
/* 行为-按键映射宏表 */
|
||||||
#define BEHAVIOR_CONFIG_COUNT (11)
|
#define BEHAVIOR_CONFIG_COUNT (12)
|
||||||
#define CMD_BEHAVIOR_TABLE(X) \
|
#define CMD_BEHAVIOR_TABLE(X) \
|
||||||
X(FORE, CMD_KEY_W, 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_CHASSIS) \
|
X(BACK, CMD_KEY_S, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
|
||||||
X(LEFT, CMD_KEY_A, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
|
X(LEFT, CMD_KEY_A, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
|
||||||
X(RIGHT, CMD_KEY_D, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
|
X(RIGHT, CMD_KEY_D, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
|
||||||
X(ACCELERATE, CMD_KEY_SHIFT, CMD_ACTIVE_PRESSED, CMD_MODULE_CHASSIS) \
|
X(ACCELERATE, CMD_KEY_SHIFT, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
|
||||||
X(DECELERATE, CMD_KEY_CTRL, CMD_ACTIVE_PRESSED, CMD_MODULE_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, CMD_KEY_L_CLICK, CMD_ACTIVE_PRESSED, CMD_MODULE_SHOOT) \
|
||||||
X(FIRE_MODE, CMD_KEY_B, CMD_ACTIVE_RISING_EDGE, 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(CLIMB, CMD_KEY_R, CMD_ACTIVE_PRESSED, CMD_MODULE_BALANCE_CHASSIS) \
|
||||||
X(AUTOAIM, CMD_KEY_R, CMD_ACTIVE_RISING_EDGE, CMD_MODULE_GIMBAL | CMD_MODULE_SHOOT) \
|
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(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 {
|
typedef enum {
|
||||||
CMD_ACTIVE_PRESSED, /* 按住时触发 */
|
CMD_ACTIVE_PRESSED, /* 按住时触发 */
|
||||||
@ -191,6 +299,7 @@ typedef enum {
|
|||||||
#define CMD_KEY_SET(kb, key) ((kb)->bitmap |= (1 << (key)))
|
#define CMD_KEY_SET(kb, key) ((kb)->bitmap |= (1 << (key)))
|
||||||
#define CMD_KEY_CLEAR(kb, key) ((kb)->bitmap &= ~(1 << (key)))
|
#define CMD_KEY_CLEAR(kb, key) ((kb)->bitmap &= ~(1 << (key)))
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -369,11 +369,9 @@ Config_Param_t config = {
|
|||||||
CMD_SRC_NUC,
|
CMD_SRC_NUC,
|
||||||
CMD_SRC_REF,
|
CMD_SRC_REF,
|
||||||
},
|
},
|
||||||
.screen={
|
.ref_screen={
|
||||||
.width=1920,
|
.width=1920,
|
||||||
.height=1080,
|
.height=1080,
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
.sensitivity = {
|
.sensitivity = {
|
||||||
|
|
||||||
@ -390,20 +388,6 @@ Config_Param_t config = {
|
|||||||
.gimbal_sw_up = GIMBAL_MODE_RELAX,
|
.gimbal_sw_up = GIMBAL_MODE_RELAX,
|
||||||
.gimbal_sw_mid = GIMBAL_MODE_ABSOLUTE,
|
.gimbal_sw_mid = GIMBAL_MODE_ABSOLUTE,
|
||||||
.gimbal_sw_down = GIMBAL_MODE_RELATIVE,
|
.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,
|
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -12,13 +12,15 @@ extern "C" {
|
|||||||
#include "module/chassis.h"
|
#include "module/chassis.h"
|
||||||
#include "module/gimbal.h"
|
#include "module/gimbal.h"
|
||||||
#include "module/shoot.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{
|
typedef struct{
|
||||||
Chassis_Param_t chassis; /**/
|
Chassis_Param_t chassis; /**/
|
||||||
Gimbal_Param_t gimbal;
|
Gimbal_Param_t gimbal;
|
||||||
Shoot_Params_t shoot;
|
Shoot_Params_t shoot;
|
||||||
CMD_Config_t cmd_param;
|
CMD_Config_t cmd_param;
|
||||||
|
Referee_Screen_t ref_screen;
|
||||||
AHRS_Eulr_t mech_zero[4];
|
AHRS_Eulr_t mech_zero[4];
|
||||||
|
|
||||||
}Config_Param_t;
|
}Config_Param_t;
|
||||||
|
|||||||
@ -38,7 +38,7 @@ Gimbal_Output(&gimbal);
|
|||||||
#include "bsp/time.h"
|
#include "bsp/time.h"
|
||||||
#include "component/filter.h"
|
#include "component/filter.h"
|
||||||
#include "math.h"
|
#include "math.h"
|
||||||
#include "module/cmd.h"
|
#include "module/cmd/cmd.h"
|
||||||
#include "device/motor_rm.h"
|
#include "device/motor_rm.h"
|
||||||
#include "device/motor.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);
|
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数据
|
/* @brief 导出云台UI数据
|
||||||
*
|
*
|
||||||
|
|||||||
@ -118,7 +118,10 @@ extern "C"
|
|||||||
GIMBAL_MODE_AI,
|
GIMBAL_MODE_AI,
|
||||||
GIMBAL_MODE_SCAN,
|
GIMBAL_MODE_SCAN,
|
||||||
}GIMBAL_Ctrl_mode_t;
|
}GIMBAL_Ctrl_mode_t;
|
||||||
|
/* UI 导出结构(供 referee 系统绘制) */
|
||||||
|
typedef struct {
|
||||||
|
Gimbal_Mode_t mode;
|
||||||
|
} Gimbal_RefereeUI_t;
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Gimbal_Mode_t mode;
|
Gimbal_Mode_t mode;
|
||||||
float delta_yaw_4310;
|
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);
|
void Gimbal_Output(Gimbal_t *g);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief 云台输出
|
||||||
|
*
|
||||||
|
* \param s 包含云台数据的结构体
|
||||||
|
* \param out CAN设备云台输出结构体
|
||||||
|
*/
|
||||||
|
void Gimbal_Output(Gimbal_t *g);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -38,14 +38,21 @@ void Task(void *argument) {
|
|||||||
#include "bsp/time.h"
|
#include "bsp/time.h"
|
||||||
#include "component/filter.h"
|
#include "component/filter.h"
|
||||||
#include "component/user_math.h"
|
#include "component/user_math.h"
|
||||||
#include "module/cmd.h"
|
|
||||||
/* Private typedef ---------------------------------------------------------- */
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
/* Private define ----------------------------------------------------------- */
|
/* Private define ----------------------------------------------------------- */
|
||||||
#define MAX_FRIC_RPM 7000.0f
|
#define MAX_FRIC_RPM 7000.0f
|
||||||
#define MAX_TRIG_RPM 6000.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 macro ------------------------------------------------------------ */
|
||||||
/* Private variables -------------------------------------------------------- */
|
/* Private variables -------------------------------------------------------- */
|
||||||
static bool last_firecmd;
|
static bool last_firecmd;
|
||||||
|
|
||||||
|
|
||||||
/* Private function -------------------------------------------------------- */
|
/* Private function -------------------------------------------------------- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -176,12 +183,336 @@ int8_t Shoot_CaluTargetRPM(Shoot_t *s, float target_speed)
|
|||||||
s->target_variable.fric_rpm=6500.0f;
|
s->target_variable.fric_rpm=6500.0f;
|
||||||
break;
|
break;
|
||||||
case SHOOT_PROJECTILE_42MM:
|
case SHOOT_PROJECTILE_42MM:
|
||||||
s->target_variable.fric_rpm=4000.0f;
|
s->target_variable.fric_rpm=4000.0f;//6500
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return SHOOT_OK;
|
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 根据发射弹丸数量及发射频率计算拨弹电机目标角度
|
* \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)
|
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;
|
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 dt = s->timer.now - s->var_trig.time_lastShoot;
|
||||||
float dpos;
|
float dpos;
|
||||||
|
float dpos_abs;
|
||||||
dpos = CircleError(s->target_variable.trig_angle, s->var_trig.trig_agl, M_2PI);
|
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;
|
s->var_trig.time_lastShoot=s->timer.now;
|
||||||
CircleAdd(&s->target_variable.trig_angle, M_2PI/s->param->basic.num_trig_tooth, M_2PI);
|
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_toShoot--;
|
||||||
|
s->var_trig.num_shooted++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return SHOOT_OK;
|
return SHOOT_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,8 +649,7 @@ int8_t Shoot_UpdateFeedback(Shoot_t *s)
|
|||||||
* \param cmd 包含射击指令的结构体
|
* \param cmd 包含射击指令的结构体
|
||||||
*
|
*
|
||||||
* \return 函数运行结果
|
* \return 函数运行结果
|
||||||
*/
|
*/float a;
|
||||||
// float a;
|
|
||||||
int8_t Shoot_RunningFSM(Shoot_t *s, Shoot_CMD_t *cmd)
|
int8_t Shoot_RunningFSM(Shoot_t *s, Shoot_CMD_t *cmd)
|
||||||
{
|
{
|
||||||
if (s == NULL || cmd == NULL) {
|
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)
|
else if(last_firecmd==false&&cmd->firecmd==true)
|
||||||
{
|
{
|
||||||
s->running_state=SHOOT_STATE_FIRE;
|
s->running_state=SHOOT_STATE_FIRE;
|
||||||
|
s->target_variable.trig_angle = s->var_trig.trig_agl;
|
||||||
/* 根据模式设置待发射弹数 */
|
/* 根据模式设置待发射弹数 */
|
||||||
switch(s->mode)
|
switch(s->mode)
|
||||||
{
|
{
|
||||||
@ -461,6 +811,7 @@ int8_t Shoot_RunningFSM(Shoot_t *s, Shoot_CMD_t *cmd)
|
|||||||
{
|
{
|
||||||
s->running_state=SHOOT_STATE_READY;
|
s->running_state=SHOOT_STATE_READY;
|
||||||
pos=s->var_trig.trig_agl;
|
pos=s->var_trig.trig_agl;
|
||||||
|
s->target_variable.trig_angle = pos;
|
||||||
s->var_trig.num_toShoot=0;
|
s->var_trig.num_toShoot=0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -524,7 +875,10 @@ int8_t Shoot_JamDetectionFSM(Shoot_t *s, Shoot_CMD_t *cmd)
|
|||||||
/* 清空待发射弹 */
|
/* 清空待发射弹 */
|
||||||
s->var_trig.num_toShoot=0;
|
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;
|
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->var_trig,0,sizeof(s->var_trig));
|
||||||
|
|
||||||
|
/* 初始化热量控制 */
|
||||||
|
memset(&s->heatcontrol, 0, sizeof(s->heatcontrol));
|
||||||
|
|
||||||
return SHOOT_OK;
|
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();
|
s->timer.lask_wakeup = BSP_TIME_Get_us();
|
||||||
Shoot_CaluTargetRPM(s,233);
|
Shoot_CaluTargetRPM(s,233);
|
||||||
|
|
||||||
|
/* 运行热量检测状态机 */
|
||||||
|
Shoot_HeatDetectionFSM(s);
|
||||||
|
|
||||||
|
/* 运行卡弹检测状态机 */
|
||||||
Shoot_JamDetectionFSM(s, cmd);
|
Shoot_JamDetectionFSM(s, cmd);
|
||||||
// Shoot_CalufeedbackRPM(s);
|
// Shoot_CalufeedbackRPM(s);
|
||||||
return SHOOT_OK;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -30,13 +30,37 @@ typedef enum {
|
|||||||
SHOOT_JAMFSM_STATE_CONFIRMED, /* 确认状态 */
|
SHOOT_JAMFSM_STATE_CONFIRMED, /* 确认状态 */
|
||||||
SHOOT_JAMFSM_STATE_DEAL /* 处理状态 */
|
SHOOT_JAMFSM_STATE_DEAL /* 处理状态 */
|
||||||
}Shoot_JamDetectionFSM_State_t;
|
}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 {
|
typedef enum {
|
||||||
SHOOT_STATE_IDLE = 0,/* 熄火 */
|
SHOOT_STATE_IDLE = 0,/* 熄火 */
|
||||||
SHOOT_STATE_READY, /* 准备射击 */
|
SHOOT_STATE_READY, /* 准备射击 */
|
||||||
SHOOT_STATE_FIRE /* 射击 */
|
SHOOT_STATE_FIRE /* 射击 */
|
||||||
}Shoot_Running_State_t;
|
}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 {
|
typedef enum {
|
||||||
SHOOT_PROJECTILE_17MM,
|
SHOOT_PROJECTILE_17MM,
|
||||||
@ -76,6 +100,37 @@ typedef struct {
|
|||||||
float lastTime;/* 用于记录怀疑状态或处理状态的开始时间 */
|
float lastTime;/* 用于记录怀疑状态或处理状态的开始时间 */
|
||||||
Shoot_JamDetectionFSM_State_t fsmState; /* 卡弹检测状态机 */
|
Shoot_JamDetectionFSM_State_t fsmState; /* 卡弹检测状态机 */
|
||||||
}Shoot_JamDetection_t;
|
}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 {
|
typedef struct {
|
||||||
float out_follow[MAX_FRIC_NUM];
|
float out_follow[MAX_FRIC_NUM];
|
||||||
float out_err[MAX_FRIC_NUM];
|
float out_err[MAX_FRIC_NUM];
|
||||||
@ -87,7 +142,11 @@ typedef struct {
|
|||||||
float outlpf_trig;
|
float outlpf_trig;
|
||||||
}Shoot_Output_t;
|
}Shoot_Output_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Shoot_Mode_t mode;/* 射击模式 */
|
||||||
|
bool ready; /* 准备射击 */
|
||||||
|
bool firecmd; /* 射击 */
|
||||||
|
}Shoot_CMD_t;
|
||||||
/* 底盘参数的结构体,包含所有初始化用的参数,通常是const,存好几组 */
|
/* 底盘参数的结构体,包含所有初始化用的参数,通常是const,存好几组 */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
struct{
|
struct{
|
||||||
@ -104,6 +163,14 @@ typedef struct {
|
|||||||
float threshold; /* 卡弹检测阈值,单位A (dji2006建议设置为120A,dji3508建议设置为235A,根据实际测试调整)*/
|
float threshold; /* 卡弹检测阈值,单位A (dji2006建议设置为120A,dji3508建议设置为235A,根据实际测试调整)*/
|
||||||
float suspectedTime;/* 卡弹怀疑时间,单位秒 */
|
float suspectedTime;/* 卡弹怀疑时间,单位秒 */
|
||||||
}jamDetection;/* 卡弹检测参数 */
|
}jamDetection;/* 卡弹检测参数 */
|
||||||
|
struct {
|
||||||
|
bool enable; /* 是否启用热量控制 */
|
||||||
|
uint16_t safe_shots;/* 安全余量,当shots_available小于等于该值时禁止发弹 */
|
||||||
|
float nmax;//最大射频
|
||||||
|
float Hwarn;//热量预警值
|
||||||
|
float Hsatu;//热量饱和值
|
||||||
|
float Hthres;//热量阈值,超过这个值将无法射击
|
||||||
|
}heatControl;/* 热量控制参数 */
|
||||||
struct {
|
struct {
|
||||||
Shoot_MOTOR_RM_Param_t fric[MAX_FRIC_NUM];
|
Shoot_MOTOR_RM_Param_t fric[MAX_FRIC_NUM];
|
||||||
MOTOR_RM_Param_t trig;
|
MOTOR_RM_Param_t trig;
|
||||||
@ -134,28 +201,6 @@ typedef struct {
|
|||||||
float dt; /* 两次唤醒间隔时间,单位秒 */
|
float dt; /* 两次唤醒间隔时间,单位秒 */
|
||||||
}Shoot_Timer_t;
|
}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_Running_State_t running_state; /* 运行状态机 */
|
||||||
Shoot_JamDetection_t jamdetection; /* 卡弹检测控制信息 */
|
Shoot_JamDetection_t jamdetection; /* 卡弹检测控制信息 */
|
||||||
|
Shoot_HeatControl_t heatcontrol; /* 热量控制信息 */
|
||||||
Shoot_VARSForFricCtrl_t var_fric; /* 摩擦轮控制信息 */
|
Shoot_VARSForFricCtrl_t var_fric; /* 摩擦轮控制信息 */
|
||||||
Shoot_VARSForTrigCtrl_t var_trig; /* 角度计算控制信息 */
|
Shoot_VARSForTrigCtrl_t var_trig; /* 角度计算控制信息 */
|
||||||
Shoot_Output_t output; /* 输出信息 */
|
Shoot_Output_t output; /* 输出信息 */
|
||||||
@ -177,6 +223,7 @@ typedef struct {
|
|||||||
struct {
|
struct {
|
||||||
float fric_rpm; /* 目标摩擦轮转速 */
|
float fric_rpm; /* 目标摩擦轮转速 */
|
||||||
float trig_angle;/* 目标拨弹位置 */
|
float trig_angle;/* 目标拨弹位置 */
|
||||||
|
float bullet_speed;/* 目标弹速 */
|
||||||
}target_variable;
|
}target_variable;
|
||||||
|
|
||||||
/* 反馈控制用的PID */
|
/* 反馈控制用的PID */
|
||||||
@ -245,8 +292,15 @@ int8_t Shoot_UpdateFeedback(Shoot_t *s);
|
|||||||
*/
|
*/
|
||||||
int8_t Shoot_Control(Shoot_t *s, Shoot_CMD_t *cmd);
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
120
User/module/vision_bridge.c
Normal file
120
User/module/vision_bridge.c
Normal 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;
|
||||||
|
}
|
||||||
99
User/module/vision_bridge.h
Normal file
99
User/module/vision_bridge.h
Normal 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
|
||||||
@ -9,10 +9,10 @@
|
|||||||
#include "device/ET16s.h"
|
#include "device/ET16s.h"
|
||||||
#include "device/dr16.h"
|
#include "device/dr16.h"
|
||||||
#include "module/config.h"
|
#include "module/config.h"
|
||||||
#include "module/cmd.h"
|
#include "module/cmd/cmd.h"
|
||||||
#include "module/cmd_adapter.h"
|
#include "module/cmd/cmd_adapter.h"
|
||||||
#include "module/cmd_behavior.h"
|
#include "module/cmd/cmd_behavior.h"
|
||||||
#include "module/cmd_types.h"
|
#include "module/cmd/cmd_types.h"
|
||||||
#include "module/gimbal.h"
|
#include "module/gimbal.h"
|
||||||
/* USER INCLUDE END */
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
|
|||||||
@ -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.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.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.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_ForCap_t), NULL);
|
||||||
task_runtime.msgq.referee.cap= osMessageQueueNew(2u, sizeof(Referee_ForChassis_t), NULL);
|
task_runtime.msgq.referee.cap= osMessageQueueNew(2u, sizeof(Referee_ForChassis_t), NULL);
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
#include "task/user_task.h"
|
#include "task/user_task.h"
|
||||||
/* USER INCLUDE BEGIN */
|
/* USER INCLUDE BEGIN */
|
||||||
#include "device/referee.h"
|
#include "device/referee.h"
|
||||||
|
#include "module/config.h"
|
||||||
/* USER INCLUDE END */
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
/* Private typedef ---------------------------------------------------------- */
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
@ -16,15 +17,18 @@
|
|||||||
/* USER STRUCT BEGIN */
|
/* USER STRUCT BEGIN */
|
||||||
Referee_t ref;
|
Referee_t ref;
|
||||||
Referee_UI_t ui;
|
Referee_UI_t ui;
|
||||||
CMD_UI_t ref_cmd;
|
Referee_UI_CMD_t ref_cmd;
|
||||||
Referee_ForCap_t for_cap;
|
Referee_ForCap_t for_cap;
|
||||||
Referee_ForAI_t for_ai;
|
Referee_ForAI_t for_ai;
|
||||||
Referee_ForChassis_t for_chassis;
|
Referee_ForChassis_t for_chassis;
|
||||||
Referee_ForShoot_t for_shoot;
|
Referee_ForShoot_t for_shoot;
|
||||||
|
uint8_t send_data[6]={1,2,3,4};
|
||||||
/* USER STRUCT END */
|
/* USER STRUCT END */
|
||||||
|
|
||||||
/* Private function --------------------------------------------------------- */
|
/* Private function --------------------------------------------------------- */
|
||||||
|
/* USER PRIVATE CODE BEGIN */
|
||||||
|
|
||||||
|
/* USER PRIVATE CODE END */
|
||||||
/* Exported functions ------------------------------------------------------- */
|
/* Exported functions ------------------------------------------------------- */
|
||||||
void Task_referee(void *argument) {
|
void Task_referee(void *argument) {
|
||||||
(void)argument; /* 未使用argument,消除警告 */
|
(void)argument; /* 未使用argument,消除警告 */
|
||||||
@ -39,8 +43,8 @@ void Task_referee(void *argument) {
|
|||||||
/* USER CODE INIT BEGIN */
|
/* USER CODE INIT BEGIN */
|
||||||
uint32_t last_online_tick = 0;
|
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 */
|
/* USER CODE INIT END */
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
@ -50,7 +54,7 @@ void Task_referee(void *argument) {
|
|||||||
|
|
||||||
if (osThreadFlagsWait(SIGNAL_REFEREE_RAW_REDY, osFlagsWaitAll, 10) !=
|
if (osThreadFlagsWait(SIGNAL_REFEREE_RAW_REDY, osFlagsWaitAll, 10) !=
|
||||||
SIGNAL_REFEREE_RAW_REDY) {
|
SIGNAL_REFEREE_RAW_REDY) {
|
||||||
if (osKernelGetTickCount() - last_online_tick > 3000)
|
if (osKernelGetTickCount() - last_online_tick > 2500)
|
||||||
Referee_HandleOffline(&ref);
|
Referee_HandleOffline(&ref);
|
||||||
} else {
|
} else {
|
||||||
Referee_Parse(&ref);
|
Referee_Parse(&ref);
|
||||||
@ -60,30 +64,31 @@ void Task_referee(void *argument) {
|
|||||||
Referee_PackAI(&for_ai, &ref);
|
Referee_PackAI(&for_ai, &ref);
|
||||||
Referee_PackShoot(&for_shoot, &ref);
|
Referee_PackShoot(&for_shoot, &ref);
|
||||||
Referee_PackChassis(&for_chassis, &ref);
|
Referee_PackChassis(&for_chassis, &ref);
|
||||||
if (osKernelGetTickCount() > delay_tick){
|
{
|
||||||
tick += delay_tick;
|
|
||||||
/* 裁判系统数据读取 */
|
/* 裁判系统数据读取 */
|
||||||
osMessageQueueReset(task_runtime.msgq.referee.cap);
|
osMessageQueueReset(task_runtime.msgq.referee.tocmd.cap);
|
||||||
osMessageQueuePut(task_runtime.msgq.referee.cap, &for_cap, 0, 0);
|
osMessageQueuePut(task_runtime.msgq.referee.tocmd.cap, &for_cap, 0, 0);
|
||||||
osMessageQueueReset(task_runtime.msgq.referee.ai);
|
osMessageQueueReset(task_runtime.msgq.referee.tocmd.ai);
|
||||||
osMessageQueuePut(task_runtime.msgq.referee.ai, &for_ai, 0, 0);
|
osMessageQueuePut(task_runtime.msgq.referee.tocmd.ai, &for_ai, 0, 0);
|
||||||
osMessageQueueReset(task_runtime.msgq.referee.chassis);
|
osMessageQueueReset(task_runtime.msgq.referee.tocmd.chassis);
|
||||||
osMessageQueuePut(task_runtime.msgq.referee.chassis, &for_chassis, 0, 0);
|
osMessageQueuePut(task_runtime.msgq.referee.tocmd.chassis, &for_chassis, 0, 0);
|
||||||
osMessageQueueReset(task_runtime.msgq.referee.shoot);
|
osMessageQueueReset(task_runtime.msgq.referee.tocmd.shoot);
|
||||||
osMessageQueuePut(task_runtime.msgq.referee.shoot, &for_shoot, 0, 0);
|
osMessageQueuePut(task_runtime.msgq.referee.tocmd.shoot, &for_shoot, 0, 0);
|
||||||
/* UI数据获取 */
|
/* UI数据获取 */
|
||||||
osMessageQueueGet(task_runtime.msgq.ui.cap, &(ui.cap_ui), NULL, 0);
|
osMessageQueueGet(task_runtime.msgq.referee.ui.tocap, &(ui.cap_ui), NULL, 0);
|
||||||
osMessageQueueGet(task_runtime.msgq.ui.chassis, &(ui.chassis_ui), NULL,0);
|
osMessageQueueGet(task_runtime.msgq.referee.ui.tochassis, &(ui.chassis_ui), NULL,0);
|
||||||
osMessageQueueGet(task_runtime.msgq.ui.gimbal, &(ui.gimbal_ui), NULL, 0);
|
osMessageQueueGet(task_runtime.msgq.referee.ui.togimbal, &(ui.gimbal_ui), NULL, 0);
|
||||||
osMessageQueueGet(task_runtime.msgq.ui.shoot, &(ui.shoot_ui), NULL, 0);
|
osMessageQueueGet(task_runtime.msgq.referee.ui.toshoot, &(ui.shoot_ui), NULL, 0);
|
||||||
osMessageQueueGet(task_runtime.msgq.ui.cmd, &(ui.cmd_pc), NULL, 0);
|
osMessageQueueGet(task_runtime.msgq.referee.ui.tocmd, &(ui.cmd_pc), NULL, 0);
|
||||||
Referee_UIRefresh(&ui);
|
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) {
|
0) == osOK) {
|
||||||
|
ref_cmd=UI_AUTO_AIM_START;
|
||||||
Referee_PraseCmd(&ui, ref_cmd);
|
Referee_PraseCmd(&ui, ref_cmd);
|
||||||
// Referee_StartSend(send_data, sizeof(send_data));
|
// Referee_StartSend(send_data, sizeof(send_data));
|
||||||
}
|
}
|
||||||
|
|
||||||
Referee_PackUI(&ui, &ref);
|
Referee_PackUI(&ui, &ref);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,16 @@
|
|||||||
/*
|
/*
|
||||||
shoot Task
|
ctrl_shoot Task
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Includes ----------------------------------------------------------------- */
|
/* Includes ----------------------------------------------------------------- */
|
||||||
|
#include "cmsis_os.h"
|
||||||
#include "task/user_task.h"
|
#include "task/user_task.h"
|
||||||
/* USER INCLUDE BEGIN */
|
/* USER INCLUDE BEGIN */
|
||||||
|
|
||||||
#include "module/shoot.h"
|
#include "module/shoot.h"
|
||||||
#include "module/config.h"
|
#include "module/config.h"
|
||||||
#include "device/ai.h"
|
#include "device/referee_proto_types.h"
|
||||||
/* USER INCLUDE END */
|
/* USER INCLUDE END */
|
||||||
|
|
||||||
/* Private typedef ---------------------------------------------------------- */
|
/* Private typedef ---------------------------------------------------------- */
|
||||||
@ -18,95 +20,53 @@
|
|||||||
/* USER STRUCT BEGIN */
|
/* USER STRUCT BEGIN */
|
||||||
Shoot_t shoot;
|
Shoot_t shoot;
|
||||||
Shoot_CMD_t shoot_cmd;
|
Shoot_CMD_t shoot_cmd;
|
||||||
AI_result_t shoot_ai_result_cmd;
|
Referee_ForShoot_t shoot_ref;
|
||||||
PackageMCU_t shoot_ai_mcu_package;
|
Shoot_AI_t shoot_forai;
|
||||||
|
|
||||||
/* USER STRUCT END */
|
/* USER STRUCT END */
|
||||||
|
|
||||||
/* Private function --------------------------------------------------------- */
|
/* Private function --------------------------------------------------------- */
|
||||||
|
/* USER PRIVATE CODE BEGIN */
|
||||||
|
/* USER PRIVATE CODE END */
|
||||||
/* Exported functions ------------------------------------------------------- */
|
/* Exported functions ------------------------------------------------------- */
|
||||||
void Task_shoot(void *argument) {
|
void Task_ctrl_shoot(void *argument) {
|
||||||
(void)argument; /* 未使用argument,消除警告 */
|
(void)argument; /* 未使用argument,消除警告 */
|
||||||
|
|
||||||
|
|
||||||
/* 计算任务运行到指定频率需要等待的tick数 */
|
/* 计算任务运行到指定频率需要等待的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(); /* 控制任务运行频率的计时 */
|
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
||||||
/* USER CODE INIT BEGIN */
|
/* USER CODE INIT BEGIN */
|
||||||
Shoot_Init(&shoot,&Config_GetRobotParam()->shoot,SHOOT_FREQ);
|
|
||||||
Shoot_SetMode(&shoot,SHOOT_MODE_SINGLE);
|
Shoot_Init(&shoot,&Config_GetRobotParam()->shoot_param,CTRL_SHOOT_FREQ);
|
||||||
shoot_ai_mcu_package.data.bullet_count = 0;
|
MRobot_RegisterDevice("shoot", &shoot, print_shoot);
|
||||||
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;
|
|
||||||
/* USER CODE INIT END */
|
/* USER CODE INIT END */
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||||
/* USER CODE BEGIN */
|
/* USER CODE BEGIN */
|
||||||
osMessageQueueGet(task_runtime.msgq.shoot.cmd, &shoot_cmd, NULL, 0);
|
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;
|
Shoot_DumpAI(&shoot, &shoot_forai);
|
||||||
|
osMessageQueuePut(task_runtime.msgq.ai.rawdata_FromShoot, &shoot_forai, 0, 0);
|
||||||
if (shoot_ai_result_cmd.mode == 2) {
|
if (shoot_ref.ref_status == REF_STATUS_RUNNING) {
|
||||||
switch (shoot_cmd.mode) {
|
shoot.heatcontrol.ref_online = true;
|
||||||
case SHOOT_MODE_CONTINUE:
|
shoot.heatcontrol.Hmax = (float)shoot_ref.robot_status.shooter_barrel_heat_limit;
|
||||||
interval_ms = ai_continue_interval_ms;
|
shoot.heatcontrol.Hcd = (float)shoot_ref.robot_status.shooter_barrel_cooling_value;
|
||||||
break;
|
shoot.heatcontrol.Hnow = (float)shoot_ref.power_heat.shooter_42mm_barrel_heat;
|
||||||
case SHOOT_MODE_BURST:
|
shoot.heatcontrol.Hgen = 10.0f; /* 42mm弹丸每发产生热量 */
|
||||||
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;
|
|
||||||
} else {
|
} 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_UpdateFeedback(&shoot);
|
||||||
Shoot_SetMode(&shoot,shoot_cmd.mode);
|
Shoot_SetMode(&shoot,shoot_cmd.mode);
|
||||||
Shoot_Control(&shoot,&shoot_cmd);
|
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 */
|
/* USER CODE END */
|
||||||
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"backtraceGraph" :
|
|
||||||
{
|
|
||||||
"commands" : [],
|
|
||||||
"files" : [],
|
|
||||||
"nodes" : []
|
|
||||||
},
|
|
||||||
"installers" : [],
|
|
||||||
"paths" :
|
|
||||||
{
|
|
||||||
"build" : ".",
|
|
||||||
"source" : "."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"backtraceGraph" :
|
|
||||||
{
|
|
||||||
"commands" : [],
|
|
||||||
"files" : [],
|
|
||||||
"nodes" : []
|
|
||||||
},
|
|
||||||
"installers" : [],
|
|
||||||
"paths" :
|
|
||||||
{
|
|
||||||
"build" : "cmake/stm32cubemx",
|
|
||||||
"source" : "cmake/stm32cubemx"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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"
|
|
||||||
}
|
|
||||||
@ -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"
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -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.
@ -1,99 +1,120 @@
|
|||||||
# ninja log v6
|
# ninja log v7
|
||||||
8 309 1773939135304855749 CMakeFiles/lll0121.dir/User/module/shoot.c.obj 79f5f6b1ae098d32
|
133 569 7956565468990761 CMakeFiles/lll0121.dir/startup_stm32f407xx.s.obj c39582fc6d6bbca3
|
||||||
2 307 1773939135298919738 CMakeFiles/lll0121.dir/User/module/cmd_behavior.c.obj 97edbed62de5473
|
218 684 7956565469840836 CMakeFiles/lll0121.dir/User/component/crc8.c.obj 5ef82c5909994808
|
||||||
5 291 1773939135301951704 CMakeFiles/lll0121.dir/User/module/config.c.obj 74044b476f78cb5f
|
139 714 7956565469050763 CMakeFiles/lll0121.dir/User/bsp/calc_lib.c.obj 7e8f7986c1c508e
|
||||||
2 291 1773939135298700648 CMakeFiles/lll0121.dir/User/module/cmd.c.obj 774deb362a311499
|
122 759 7956565468885564 CMakeFiles/lll0121.dir/Core/Src/sysmem.c.obj 5d54101b5777a9be
|
||||||
521 747 1773939133650223364 CMakeFiles/lll0121.dir/User/device/bmi088.c.obj e6eebd0f13879cbb
|
212 784 7956565469780756 CMakeFiles/lll0121.dir/User/component/crc16.c.obj 7ef995faca0ba963
|
||||||
356 651 1773939133484699982 CMakeFiles/lll0121.dir/User/bsp/uart.c.obj bdd007f95de94299
|
164 813 7956565469310752 CMakeFiles/lll0121.dir/User/bsp/mm.c.obj a9fbbd17fcba7f7c
|
||||||
3 180 1773939133131940899 CMakeFiles/lll0121.dir/startup_stm32f407xx.s.obj 7f81a25e4ab77773
|
231 930 7956565469960832 CMakeFiles/lll0121.dir/User/component/filter.c.obj 48df3cc63d1209b4
|
||||||
234 349 1773939133363110959 CMakeFiles/lll0121.dir/User/bsp/mm.c.obj 78c95c3ca0ded63d
|
63 940 7956565468285465 CMakeFiles/lll0121.dir/Core/Src/gpio.c.obj 804aa69edb1d18a9
|
||||||
542 653 1773939133670552599 CMakeFiles/lll0121.dir/User/device/motor.c.obj 7e5c574bcac3d34f
|
300 950 7956565470666019 CMakeFiles/lll0121.dir/User/component/mixer.c.obj 7f75d8ca0c661538
|
||||||
409 561 1773939133537552359 CMakeFiles/lll0121.dir/User/component/pid.c.obj a7d61a6050aa87a7
|
306 973 7956565470726007 CMakeFiles/lll0121.dir/User/component/pid.c.obj 8a34fef0336004dc
|
||||||
9 271 1773939135305339597 CMakeFiles/lll0121.dir/User/task/Task9.c.obj f30d494e5cc8ad7a
|
225 994 7956565469910820 CMakeFiles/lll0121.dir/User/component/error_detect.c.obj 57b63b6919a17a01
|
||||||
181 509 1773939133309228718 CMakeFiles/lll0121.dir/User/bsp/gpio.c.obj 4cd8f47677f0605
|
98 1027 7956565468635516 CMakeFiles/lll0121.dir/Core/Src/usart.c.obj c3a586e6c71f83c3
|
||||||
381 500 1773939133509673773 CMakeFiles/lll0121.dir/User/component/crc8.c.obj 83f981d4cb2addca
|
85 1036 7956565468515500 CMakeFiles/lll0121.dir/Core/Src/spi.c.obj 86a5d337b2ca37ce
|
||||||
538 641 1773939133666976283 CMakeFiles/lll0121.dir/User/device/dr16.c.obj f35ad7d496319c30
|
293 1045 7956565470596007 CMakeFiles/lll0121.dir/User/component/limiter.c.obj 7d61ceaaaa82af06
|
||||||
2 293 1773939135298568561 CMakeFiles/lll0121.dir/User/module/chassis.c.obj ee5fefb23e7b2bf3
|
92 1089 7956565468585489 CMakeFiles/lll0121.dir/Core/Src/tim.c.obj a8b06eb888c9071a
|
||||||
3 244 1773939133132152739 CMakeFiles/lll0121.dir/User/bsp/calc_lib.c.obj 417cf5489dd7aa69
|
760 1098 7956565475262084 CMakeFiles/lll0121.dir/User/device/dr16.c.obj b06245e7fb4b27fc
|
||||||
496 638 1773939133625061692 CMakeFiles/lll0121.dir/User/component/user_math.c.obj 865e08def332d05a
|
74 1117 7956565468405508 CMakeFiles/lll0121.dir/Core/Src/can.c.obj b468b1ddc0227fcb
|
||||||
543 774 1773939133671481377 CMakeFiles/lll0121.dir/User/device/motor_dm.c.obj aab11ae8e2d88966
|
205 1126 7956565469710740 CMakeFiles/lll0121.dir/User/component/capacity.c.obj 3f86620803bd0226
|
||||||
400 557 1773939133529097730 CMakeFiles/lll0121.dir/User/component/freertos_cli.c.obj fceb43430e0aedc8
|
79 1135 7956565468455486 CMakeFiles/lll0121.dir/Core/Src/dma.c.obj 5466460c3e0f7e51
|
||||||
370 521 1773939133499208959 CMakeFiles/lll0121.dir/User/component/crc16.c.obj fb5c255dd5975c65
|
312 1144 7956565470787049 CMakeFiles/lll0121.dir/User/component/ui.c.obj d139d7dc1d5ee879
|
||||||
246 549 1773939133374268002 CMakeFiles/lll0121.dir/User/bsp/spi.c.obj 4501d7577d103d75
|
127 1177 7956565468935594 CMakeFiles/lll0121.dir/Core/Src/syscalls.c.obj 9bc8b2ef118d42d6
|
||||||
407 538 1773939133535958353 CMakeFiles/lll0121.dir/User/component/mixer.c.obj 57dd3c69793fa754
|
197 1187 7956565469630738 CMakeFiles/lll0121.dir/User/component/ahrs.c.obj 614dee9b2574c6ca
|
||||||
350 628 1773939133478331249 CMakeFiles/lll0121.dir/User/bsp/time.c.obj baf5b714164eece0
|
320 1195 7956565470866104 CMakeFiles/lll0121.dir/User/component/user_math.c.obj 773f800b68d75322
|
||||||
7 298 1773939135303380872 CMakeFiles/lll0121.dir/User/module/gimbal.c.obj 80f531b0f0aac202
|
56 1219 7956565468225476 CMakeFiles/lll0121.dir/Core/Src/main.c.obj fa61242add200544
|
||||||
398 543 1773939133526482819 CMakeFiles/lll0121.dir/User/component/error_detect.c.obj 595374c995f680cb
|
950 1268 7956565477168717 CMakeFiles/lll0121.dir/User/device/remote_control.c.obj 7518b2178e33b77c
|
||||||
402 542 1773939133530749363 CMakeFiles/lll0121.dir/User/component/limiter.c.obj ad30b0b019a4fca
|
171 1297 7956565469370762 CMakeFiles/lll0121.dir/User/bsp/pwm.c.obj 4aba72d00c2652a2
|
||||||
400 549 1773939133528598674 CMakeFiles/lll0121.dir/User/component/filter.c.obj 2b637bcc86c1ddbc
|
237 1313 7956565470035996 CMakeFiles/lll0121.dir/User/component/freertos_cli.c.obj 9b642a8afdafccc8
|
||||||
546 774 1773939133674534510 CMakeFiles/lll0121.dir/User/device/motor_rm.c.obj 268a7f6b699137a5
|
116 1359 7956565468825578 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_hal_msp.c.obj 9024a981631998b
|
||||||
2 360 1773939133130609193 CMakeFiles/lll0121.dir/Core/Src/dma.c.obj ef186f8764b8a9b0
|
106 1361 7956565468725494 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_it.c.obj c7c8cedf4075bc3b
|
||||||
244 591 1773939133372655662 CMakeFiles/lll0121.dir/User/bsp/pwm.c.obj 9ead881d898d9d26
|
784 1362 7956565475507580 CMakeFiles/lll0121.dir/User/device/motor.c.obj 21990dff98f3a7a8
|
||||||
500 728 1773939133628752470 CMakeFiles/lll0121.dir/User/device/ET16s.c.obj d8d1163712adb346
|
158 1370 7956565469240773 CMakeFiles/lll0121.dir/User/bsp/gpio.c.obj ae3790c6f67d1b70
|
||||||
2 409 1773939133130814699 CMakeFiles/lll0121.dir/Core/Src/spi.c.obj 8f6b8ab894e48138
|
150 1374 7956565469161675 CMakeFiles/lll0121.dir/User/bsp/dwt.c.obj 2e29018f42b16023
|
||||||
368 496 1773939133496403166 CMakeFiles/lll0121.dir/User/component/capacity.c.obj 48baa37e1f6641b1
|
190 1484 7956565469561097 CMakeFiles/lll0121.dir/User/bsp/uart.c.obj 3e3ba7acc2f9894a
|
||||||
2 407 1773939133131092749 CMakeFiles/lll0121.dir/Core/Src/usart.c.obj 4c2ea4e5a9ade3e6
|
184 1533 7956565469500777 CMakeFiles/lll0121.dir/User/bsp/time.c.obj 456005123491d098
|
||||||
10 291 1773939135307155319 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj c79294bd4a35183c
|
177 1603 7956565469440765 CMakeFiles/lll0121.dir/User/bsp/spi.c.obj 8838262688faa173
|
||||||
2 402 1773939133130405187 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj 88ff98db4190674
|
144 1733 7956565469100748 CMakeFiles/lll0121.dir/User/bsp/can.c.obj 566224b28d5913a4
|
||||||
2 173 1773939135298812526 CMakeFiles/lll0121.dir/User/module/cmd_adapter.c.obj 76d02dd1b7056804
|
570 1746 7956565473362322 CMakeFiles/lll0121.dir/User/device/ET16s.c.obj b5e4b3cc9b01c292
|
||||||
447 613 1773939133575704128 CMakeFiles/lll0121.dir/User/component/ui.c.obj 60d45e72adf7100a
|
714 1973 7956565474799936 CMakeFiles/lll0121.dir/User/device/bmi088.c.obj 99906f5fd2de716e
|
||||||
4 400 1773939133132458457 CMakeFiles/lll0121.dir/User/bsp/dwt.c.obj 2554383461f63d5e
|
813 2003 7956565475798103 CMakeFiles/lll0121.dir/User/device/motor_dm.c.obj 87bd3277fa8673a
|
||||||
549 652 1773939133677839651 CMakeFiles/lll0121.dir/User/device/remote_control.c.obj 5b78014638b72d76
|
931 2025 7956565476973486 CMakeFiles/lll0121.dir/User/device/motor_rm.c.obj 4fdcf0027c379ace
|
||||||
1 397 1773939133130090261 CMakeFiles/lll0121.dir/Core/Src/main.c.obj 3e1e9ea87ee3ee0b
|
175 518 7956566502362117 CMakeFiles/lll0121.dir/User/task/tempCodeRunnerFile.c.obj fcf3e6a97d2be1a4
|
||||||
3 381 1773939133131234295 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_it.c.obj aecabd416152e5d0
|
186 1176 7956566502477591 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Core/Src/system_stm32f4xx.c.obj 7d5e28554532f813
|
||||||
4 447 1773939133132315369 CMakeFiles/lll0121.dir/User/bsp/can.c.obj a97454f9ad8c141f
|
216 1197 7956566502772966 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c.obj 409fa9ce75f6f463
|
||||||
2 368 1773939133130969037 CMakeFiles/lll0121.dir/Core/Src/tim.c.obj c43da613e4c57dcf
|
192 1253 7956566502537680 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c.obj d7a6080ad1147f24
|
||||||
3 271 1773939135300261112 CMakeFiles/lll0121.dir/User/module/cmd_example.c.obj fcf00a879d8ca8b2
|
223 1265 7956566502838236 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c.obj 6c07ac79d6deba66
|
||||||
2 356 1773939133130289892 CMakeFiles/lll0121.dir/Core/Src/gpio.c.obj 6e5a6d3fe06fde94
|
204 1271 7956566502652947 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c.obj d02c7280cb7a95f7
|
||||||
3 245 1773939133131798020 CMakeFiles/lll0121.dir/Core/Src/syscalls.c.obj 5f09c3ebd20389a3
|
229 1305 7956566502898204 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c.obj 2f0c53600fad9b91
|
||||||
3 370 1773939133131420467 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_hal_msp.c.obj fb407076166d1396
|
210 1314 7956566502712943 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c.obj 2ac3b2b9eef595c7
|
||||||
360 546 1773939133489179491 CMakeFiles/lll0121.dir/User/component/ahrs.c.obj 9f00ad11e038c03d
|
198 1315 7956566502597676 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c.obj 7f72a53486764ff9
|
||||||
3 234 1773939133131595597 CMakeFiles/lll0121.dir/Core/Src/sysmem.c.obj 29c059a300d085d7
|
192 1321 7956567193399636 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c.obj 118396d7478dcf2c
|
||||||
2 400 1773939133130510398 CMakeFiles/lll0121.dir/Core/Src/can.c.obj af2718dbe5418fc4
|
212 1326 7956567193589626 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c.obj fd9877864181164e
|
||||||
8 289 1773939241583793248 CMakeFiles/lll0121.dir/User/task/tempCodeRunnerFile.c.obj 93d3d269f2179b74
|
199 1336 7956567193459609 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c.obj 1fcc4c49d4a1351c
|
||||||
8 402 1773939241583894834 CMakeFiles/lll0121.dir/User/task/user_task.c.obj bb27ec4e9f6dfbeb
|
218 1344 7956567193649627 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c.obj 2580bddb3cdd74aa
|
||||||
7 419 1773939241582485292 CMakeFiles/lll0121.dir/User/task/rc.c.obj 2c2bcde841c6e64b
|
181 1362 7956567193279631 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c.obj f2f68b3cf94dcd48
|
||||||
3 420 1773939241578912101 CMakeFiles/lll0121.dir/Core/Src/stm32f4xx_it.c.obj aecabd416152e5d0
|
186 1363 7956567193339602 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c.obj 3c6d8f5427f14ea2
|
||||||
4 282 1773939248920934556 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Core/Src/system_stm32f4xx.c.obj eb8cee8d133b05ae
|
205 1385 7956567193529611 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c.obj bec835dee5133bd8
|
||||||
4 301 1773939248921647702 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c.obj d9962de437a7f85d
|
224 1505 7956567193709622 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c.obj 1b6ba925da43c207
|
||||||
4 310 1773939248921469030 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c.obj 42f4c475e8662046
|
230 1669 7956567193769722 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c.obj 57c2487296a7ddc8
|
||||||
4 316 1773939248921073768 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c.obj 986132164e488923
|
222 749 7956567882344270 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj f4bb18eb16e08b35
|
||||||
8 254 1773939254427134231 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c.obj 2293bfa76d5141b3
|
234 930 7956567882464276 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj 655712c87cc5f984
|
||||||
9 278 1773939254427914338 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c.obj 4d18d61a5faac3bb
|
246 977 7956567882584281 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj cfe7d8492b766271
|
||||||
7 278 1773939254426093200 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c.obj 4a457843c1218ba1
|
228 991 7956567882404282 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj 771d79a4caad2912
|
||||||
5 280 1773939254424785744 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c.obj 91d08dd1744c0ee5
|
240 1018 7956567882524274 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj e4463768ad92c10d
|
||||||
8 273 1773939257974900407 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c.obj ec47090a2eb092c5
|
259 1044 7956567882714352 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj 708233d5da65b169
|
||||||
8 284 1773939257974754986 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c.obj 563f19e858d9dc6e
|
252 1166 7956567882644272 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj 5076bb70f52eff48
|
||||||
7 286 1773939257973413613 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c.obj 25aa088efb8401b9
|
216 1309 7956567882284282 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c.obj 1ac8875aa80f070d
|
||||||
7 295 1773939257973287692 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c.obj b5489ef6c0103723
|
210 1382 7956567882224265 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c.obj 7174b18a2e073af0
|
||||||
7 268 1773939268948274546 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c.obj 61e8563f9cb376e2
|
184 748 7956568164491045 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj 851a823fca276961
|
||||||
6 285 1773939268946535452 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c.obj eaea1864ed215730
|
190 755 7956568164541035 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.obj ab06ffd21a823576
|
||||||
6 286 1773939268946405990 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c.obj c95fc51c65a4d89f
|
178 1471 7956568164431040 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj 50f48e94feb00c76
|
||||||
9 323 1773939268949760216 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c.obj a9d51a1513995935
|
86 1231 7956576725614652 CMakeFiles/lll0121.dir/User/module/shoot.c.obj b021660efe697650
|
||||||
8 220 1773939313330437462 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/croutine.c.obj be617f09bbd5d63a
|
22 977 7956577864105815 CMakeFiles/lll0121.dir/User/device/dr16.c.obj b06245e7fb4b27fc
|
||||||
8 459 1773939313330099494 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c.obj 1aeb228bb88451af
|
5 752 7956582460642039 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
|
||||||
8 495 1773939313330270790 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c.obj 6565b57fcaf7786f
|
29 776 7956582460884537 CMakeFiles/lll0121.dir/User/module/cmd/cmd_adapter.c.obj 1e9b373696641c96
|
||||||
6 560 1773939313328349358 cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir/__/__/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c.obj 98c0da48cc725f7c
|
73 786 7956582461320440 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2
|
||||||
7 275 1773939385358575461 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/list.c.obj 744268a7e7b1c619
|
36 790 7956582460956648 CMakeFiles/lll0121.dir/User/module/cmd/cmd_example.c.obj 20e68ac2005bd2af
|
||||||
7 344 1773939385358385914 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c.obj 714437d425a8906f
|
33 794 7956582460916642 CMakeFiles/lll0121.dir/User/module/cmd/cmd_behavior.c.obj 3d415dffee52ce68
|
||||||
8 348 1773939385358908554 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c.obj 4582c582eea80a1a
|
54 795 7956582461133558 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
|
||||||
7 394 1773939385358745341 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/queue.c.obj d33e901ef42535c
|
47 799 7956582461061817 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
|
||||||
4 483 1773939385355336114 CMakeFiles/lll0121.dir/User/task/gimbal.c.obj 25343234e454afcc
|
90 806 7956582461496415 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
|
||||||
2 487 1773939385353261010 CMakeFiles/lll0121.dir/User/device/ai.c.obj b31ff782d03d0042
|
7 767 7956586429184955 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
|
||||||
2 510 1773939385353696564 CMakeFiles/lll0121.dir/User/device/supercap.c.obj 1dff8d953d7a7bb
|
49 836 7956586429603746 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
|
||||||
3 515 1773939385354297999 CMakeFiles/lll0121.dir/User/task/ai.c.obj e34134523e675580
|
37 839 7956586429483090 CMakeFiles/lll0121.dir/User/module/cmd/cmd_example.c.obj 20e68ac2005bd2af
|
||||||
3 527 1773939385354729345 CMakeFiles/lll0121.dir/User/task/chassis.c.obj 9b3aa4eb7a950b1c
|
33 854 7956586429447131 CMakeFiles/lll0121.dir/User/module/cmd/cmd_behavior.c.obj 3d415dffee52ce68
|
||||||
5 532 1773939385356285309 CMakeFiles/lll0121.dir/User/task/referee.c.obj 26839a1f9e5a277a
|
57 870 7956586429678874 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
|
||||||
7 541 1773939385358146281 CMakeFiles/lll0121.dir/User/task/super_cap.c.obj 3d200c4761920f94
|
78 876 7956586429897637 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2
|
||||||
4 544 1773939385355547037 CMakeFiles/lll0121.dir/User/task/init.c.obj 7310d52e94240ebd
|
96 879 7956586430068754 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
|
||||||
6 545 1773939385356999414 CMakeFiles/lll0121.dir/User/task/shoot.c.obj e876b02126daede2
|
19 842 7956599492129885 CMakeFiles/lll0121.dir/User/device/supercap.c.obj e71df70cc59eb1c8
|
||||||
2 581 1773939385353538601 CMakeFiles/lll0121.dir/User/device/referee.c.obj 75726ee6d417a3f7
|
11 863 7956599492056803 CMakeFiles/lll0121.dir/User/device/ai.c.obj 5b23dbc7b9a80bf3
|
||||||
5 335 1773939541695935124 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.obj c81711fc2fec6969
|
6 864 7956599492002789 CMakeFiles/lll0121.dir/Core/Src/freertos.c.obj a9eb9fb379ebd253
|
||||||
5 335 1773939541695571322 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c.obj f6df743da2389ce
|
38 890 7956599492319540 CMakeFiles/lll0121.dir/User/module/cmd/cmd_example.c.obj 20e68ac2005bd2af
|
||||||
4 339 1773939541695307522 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/timers.c.obj 3653f296ef2e93be
|
33 916 7956599492274666 CMakeFiles/lll0121.dir/User/module/cmd/cmd_behavior.c.obj 3d415dffee52ce68
|
||||||
4 375 1773939541695180852 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/tasks.c.obj e7056e24f7fa5f38
|
51 926 7956599492452359 CMakeFiles/lll0121.dir/User/task/Task9.c.obj a37e312d63ba554a
|
||||||
4 422 1773939541695053598 CMakeFiles/lll0121.dir/User/task/cmd.c.obj 380bc120bd16f4a1
|
15 927 7956599492086804 CMakeFiles/lll0121.dir/User/device/referee.c.obj f8e2b3f09edeeef4
|
||||||
4 430 1773939541694903927 CMakeFiles/lll0121.dir/User/module/cap.c.obj e3a5643faf455187
|
60 935 7956599492541491 CMakeFiles/lll0121.dir/User/task/atti_esti.c.obj 67107cfdc6345935
|
||||||
4 489 1773939541694656836 CMakeFiles/lll0121.dir/User/device/referee.c.obj 75726ee6d417a3f7
|
100 942 7956599492940761 CMakeFiles/lll0121.dir/User/task/user_task.c.obj ace963b99da830cd
|
||||||
4 493 1773939541695434234 cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir/__/__/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c.obj e3cf55d581d5663f
|
81 952 7956599492756295 CMakeFiles/lll0121.dir/User/task/rc.c.obj ad7817069853e3a2
|
||||||
493 906 1773939542184048434 lll0121.elf e3fc90b0617842c5
|
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
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# This is the CMakeCache file.
|
# This is the CMakeCache file.
|
||||||
# For build in directory: /Users/lvzucheng/Documents/R/Er_sentry/build/Debug
|
# For build in directory: d:/STM32Projects_HAL/board-F4/sentry/sentry2026/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
|
# 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.
|
# 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 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.
|
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||||
@ -15,18 +15,18 @@
|
|||||||
########################
|
########################
|
||||||
|
|
||||||
//Path to a program.
|
//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.
|
//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
|
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||||
// for the GCC compiler
|
// 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
|
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||||
// for the GCC compiler
|
// 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.
|
//Flags used by the ASM compiler during all build types.
|
||||||
CMAKE_ASM_FLAGS:STRING=
|
CMAKE_ASM_FLAGS:STRING=
|
||||||
@ -52,11 +52,11 @@ CMAKE_COMMAND:UNINITIALIZED=cube-cmake
|
|||||||
|
|
||||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||||
// for the GCC compiler
|
// 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
|
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||||
// for the GCC compiler
|
// 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.
|
//Flags used by the CXX compiler during all build types.
|
||||||
CMAKE_CXX_FLAGS:STRING=
|
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
|
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||||
// for the GCC compiler
|
// 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
|
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||||
// for the GCC compiler
|
// 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.
|
//Flags used by the C compiler during all build types.
|
||||||
CMAKE_C_FLAGS:STRING=
|
CMAKE_C_FLAGS:STRING=
|
||||||
@ -97,7 +97,7 @@ CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
|||||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||||
|
|
||||||
//Path to a program.
|
//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.
|
//Flags used by the linker during all build types.
|
||||||
CMAKE_EXE_LINKER_FLAGS:STRING=
|
CMAKE_EXE_LINKER_FLAGS:STRING=
|
||||||
@ -118,13 +118,13 @@ CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
|||||||
CMAKE_EXPORT_BUILD_DATABASE:BOOL=
|
CMAKE_EXPORT_BUILD_DATABASE:BOOL=
|
||||||
|
|
||||||
//Value Computed by CMake.
|
//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.
|
//Install path prefix, prepended onto install directories.
|
||||||
CMAKE_INSTALL_PREFIX:PATH=/usr/local
|
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/lll0121
|
||||||
|
|
||||||
//make program
|
//Program used to build from build.ninja files.
|
||||||
CMAKE_MAKE_PROGRAM:FILEPATH=/Users/lvzucheng/Library/Application Support/stm32cube/bundles/ninja/1.12.1+st.9/bin/ninja
|
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
|
//Flags used by the linker during the creation of modules during
|
||||||
// all build types.
|
// all build types.
|
||||||
@ -147,10 +147,10 @@ CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
|
|||||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||||
|
|
||||||
//Path to a program.
|
//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.
|
//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
|
//Value Computed by CMake
|
||||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||||
@ -162,10 +162,10 @@ CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
|||||||
CMAKE_PROJECT_NAME:STATIC=lll0121
|
CMAKE_PROJECT_NAME:STATIC=lll0121
|
||||||
|
|
||||||
//Path to a program.
|
//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.
|
//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
|
//Flags used by the linker during the creation of shared libraries
|
||||||
// during all build types.
|
// during all build types.
|
||||||
@ -215,13 +215,13 @@ CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
|||||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||||
|
|
||||||
//Path to a program.
|
//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.
|
//Path to a program.
|
||||||
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
|
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
|
||||||
|
|
||||||
//No help, variable specified on the command line.
|
//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
|
//If this value is on, makefiles will be generated without the
|
||||||
// .SILENT directive, and all commands will be echoed to the console
|
// .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
|
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||||
|
|
||||||
//Value Computed by CMake
|
//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
|
//Value Computed by CMake
|
||||||
lll0121_IS_TOP_LEVEL:STATIC=ON
|
lll0121_IS_TOP_LEVEL:STATIC=ON
|
||||||
|
|
||||||
//Value Computed by CMake
|
//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
|
//ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO
|
||||||
CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||||
//This is the directory where this CMakeCache.txt was created
|
//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
|
//Major version of cmake used to create the current loaded cache
|
||||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4
|
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4
|
||||||
//Minor version of cmake used to create the current loaded cache
|
//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
|
//Patch version of cmake used to create the current loaded cache
|
||||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=1
|
CMAKE_CACHE_PATCH_VERSION:INTERNAL=1
|
||||||
//Path to cpack program executable.
|
//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.
|
//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
|
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
|
||||||
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
|
//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
|
//ADVANCED property for variable: CMAKE_DLLTOOL
|
||||||
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
|
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
|
||||||
//Path to cache edit program executable.
|
//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
|
//Executable file format
|
||||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
|
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
|
||||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||||
@ -332,7 +332,7 @@ CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
|||||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||||
//Source directory with the top level CMakeLists.txt file for this
|
//Source directory with the top level CMakeLists.txt file for this
|
||||||
// project
|
// 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
|
//Name of CMakeLists files to read
|
||||||
CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt
|
CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt
|
||||||
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
||||||
@ -360,7 +360,7 @@ CMAKE_RANLIB-ADVANCED:INTERNAL=1
|
|||||||
//ADVANCED property for variable: CMAKE_READELF
|
//ADVANCED property for variable: CMAKE_READELF
|
||||||
CMAKE_READELF-ADVANCED:INTERNAL=1
|
CMAKE_READELF-ADVANCED:INTERNAL=1
|
||||||
//Path to CMake installation.
|
//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
|
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
//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
|
CMAKE_STRIP-ADVANCED:INTERNAL=1
|
||||||
//ADVANCED property for variable: CMAKE_TAPI
|
//ADVANCED property for variable: CMAKE_TAPI
|
||||||
CMAKE_TAPI-ADVANCED:INTERNAL=1
|
CMAKE_TAPI-ADVANCED:INTERNAL=1
|
||||||
//uname command
|
|
||||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
|
||||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||||
|
|
||||||
|
|||||||
@ -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_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_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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++")
|
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_LINK "")
|
||||||
set(CMAKE_LINKER_LLD "")
|
set(CMAKE_LINKER_LLD "")
|
||||||
set(CMAKE_ASM_COMPILER_LINKER "")
|
set(CMAKE_ASM_COMPILER_LINKER "")
|
||||||
|
|||||||
@ -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_ARG1 "")
|
||||||
set(CMAKE_C_COMPILER_ID "GNU")
|
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_VERSION_INTERNAL "")
|
||||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
|
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_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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++")
|
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_LINK "")
|
||||||
set(CMAKE_LINKER_LLD "")
|
set(CMAKE_LINKER_LLD "")
|
||||||
set(CMAKE_C_COMPILER_LINKER "NOTFOUND")
|
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_LIBRARIES "")
|
||||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "")
|
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "")
|
||||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||||
|
|||||||
@ -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_ARG1 "")
|
||||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
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_VERSION_INTERNAL "")
|
||||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
|
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
|
||||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
||||||
set(CMAKE_CXX_STANDARD_LATEST "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")
|
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_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_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_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_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||||
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
|
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_PLATFORM_ID "")
|
||||||
set(CMAKE_CXX_SIMULATE_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_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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ar")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-ranlib")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-gcc-ranlib")
|
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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/arm-none-eabi-g++")
|
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_LINK "")
|
||||||
set(CMAKE_LINKER_LLD "")
|
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_ID "")
|
||||||
set(CMAKE_CXX_COMPILER_LINKER_VERSION )
|
set(CMAKE_CXX_COMPILER_LINKER_VERSION )
|
||||||
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT )
|
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_LIBRARIES "")
|
||||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
|
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
|
||||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_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)")
|
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)")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -1,9 +1,9 @@
|
|||||||
set(CMAKE_HOST_SYSTEM "Darwin-25.0.0")
|
set(CMAKE_HOST_SYSTEM "Windows-10.0.26200")
|
||||||
set(CMAKE_HOST_SYSTEM_NAME "Darwin")
|
set(CMAKE_HOST_SYSTEM_NAME "Windows")
|
||||||
set(CMAKE_HOST_SYSTEM_VERSION "25.0.0")
|
set(CMAKE_HOST_SYSTEM_VERSION "10.0.26200")
|
||||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64")
|
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 "Generic")
|
||||||
set(CMAKE_SYSTEM_NAME "Generic")
|
set(CMAKE_SYSTEM_NAME "Generic")
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -4,51 +4,63 @@ events:
|
|||||||
-
|
-
|
||||||
kind: "message-v1"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
The target system is: Generic - - arm
|
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"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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)"
|
- "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)"
|
||||||
- "/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/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
|
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
|
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:
|
Id flags:
|
||||||
|
|
||||||
The output was:
|
The output was:
|
||||||
1
|
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'
|
(.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'
|
(.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':
|
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._lseek_r+0x10): undefined reference to `_lseek'
|
(.text._close_r+0xc): dangerous relocation: unsupported relocation
|
||||||
/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':
|
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._read_r+0x10): undefined reference to `_read'
|
(.text._lseek_r+0x14): 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-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: (_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'
|
(.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':
|
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._write_r+0x10): undefined reference to `_write'
|
(.text._sbrk_r+0xc): dangerous relocation: unsupported relocation
|
||||||
collect2: error: ld returned 1 exit status
|
collect2.exe: error: ld returned 1 exit status
|
||||||
|
|
||||||
|
|
||||||
-
|
-
|
||||||
kind: "message-v1"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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)"
|
- "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)"
|
||||||
- "/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/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
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
|
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
|
Id flags: -c
|
||||||
|
|
||||||
@ -59,48 +71,60 @@ events:
|
|||||||
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"
|
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"
|
||||||
|
|
||||||
The C compiler identification is GNU, found in:
|
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"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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)"
|
- "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)"
|
||||||
- "/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/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
|
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
|
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:
|
Id flags:
|
||||||
|
|
||||||
The output was:
|
The output was:
|
||||||
1
|
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'
|
(.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'
|
(.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':
|
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._lseek_r+0x10): undefined reference to `_lseek'
|
(.text._close_r+0xc): dangerous relocation: unsupported relocation
|
||||||
/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':
|
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._read_r+0x10): undefined reference to `_read'
|
(.text._lseek_r+0x14): 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-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: (_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'
|
(.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':
|
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._write_r+0x10): undefined reference to `_write'
|
(.text._sbrk_r+0xc): dangerous relocation: unsupported relocation
|
||||||
collect2: error: ld returned 1 exit status
|
collect2.exe: error: ld returned 1 exit status
|
||||||
|
|
||||||
|
|
||||||
-
|
-
|
||||||
kind: "message-v1"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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)"
|
- "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)"
|
||||||
- "/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/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
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
|
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
|
Id flags: -c
|
||||||
|
|
||||||
@ -111,131 +135,145 @@ events:
|
|||||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"
|
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"
|
||||||
|
|
||||||
The CXX compiler identification is GNU, found in:
|
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"
|
kind: "try_compile-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
checks:
|
checks:
|
||||||
- "Detecting C compiler ABI info"
|
- "Detecting C compiler ABI info"
|
||||||
directories:
|
directories:
|
||||||
source: "/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: "/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-JQUgvf"
|
binary: "D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-6gotpf"
|
||||||
cmakeVariables:
|
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: " -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_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:
|
buildResult:
|
||||||
variable: "CMAKE_C_ABI_COMPILED"
|
variable: "CMAKE_C_ABI_COMPILED"
|
||||||
cached: true
|
cached: true
|
||||||
stdout: |
|
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
|
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] "/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'
|
[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.
|
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
|
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
|
Thread model: single
|
||||||
Supported LTO compression algorithms: zlib
|
Supported LTO compression algorithms: zlib
|
||||||
gcc version 13.3.1 20240614 (GNU Tools for STM32 13.3.rel1.20250523-0900)
|
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_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/'
|
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/'
|
||||||
/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
|
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 13.3.rel1.20250523-0900) version 13.3.1 20240614 (arm-none-eabi)
|
GNU C11 (GNU Tools for STM32 14.3.rel1.20251027-0700) version 14.3.1 20250623 (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
|
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
|
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 "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 "/Users/lvzucheng/Library/Application Support/stm32cube/bundles/gnu-tools-for-stm32/13.3.1+st.9/bin/../arm-none-eabi/usr/local/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"
|
||||||
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"
|
|
||||||
#include "..." search starts here:
|
#include "..." search starts here:
|
||||||
#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
|
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
|
||||||
/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
|
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
|
||||||
/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:/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.
|
End of search list.
|
||||||
Compiler executable checksum: d5cacd652ef845a866ce4c9a09fdc7d8
|
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_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/'
|
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/'
|
||||||
/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
|
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.42.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 13.3.rel1.20250523-0900) 2.42.0.20240614
|
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=/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/
|
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=/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/
|
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_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/CMakeCCompilerABI.c.'
|
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] : && "/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 && :
|
[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
|
exitCode: 0
|
||||||
-
|
-
|
||||||
kind: "message-v1"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
Parsed C implicit include dir info: rv=done
|
Parsed C implicit include dir info: rv=done
|
||||||
found start of include info
|
found start of include info
|
||||||
found start of implicit 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: [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: [/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: [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: [/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]
|
||||||
|
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
|
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 [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 [/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 [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 [/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]
|
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]
|
||||||
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/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"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
Parsed C implicit link information:
|
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)[^/\\]*( |$)]
|
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\\+\\+|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
|
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: '/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-JQUgvf']
|
ignore line: [Change Dir: 'D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-6gotpf']
|
||||||
ignore line: []
|
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: [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] "/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: [[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: [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: [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: [Thread model: single]
|
||||||
ignore line: [Supported LTO compression algorithms: zlib]
|
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: [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_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/']
|
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: [ /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: [ 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 13.3.rel1.20250523-0900) version 13.3.1 20240614 (arm-none-eabi)]
|
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 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: [ 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: []
|
||||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
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 "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 "/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 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: [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: [#include "..." search starts here:]
|
ignore line: [#include "..." search starts here:]
|
||||||
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: [ 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: [ /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: [ 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: [ /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]
|
||||||
|
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: [End of search list.]
|
||||||
ignore line: [Compiler executable checksum: d5cacd652ef845a866ce4c9a09fdc7d8]
|
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_f424f.dir/CMakeCCompilerABI.c.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_f424f.dir/']
|
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: [ /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: [ 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.42.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 13.3.rel1.20250523-0900) 2.42.0.20240614]
|
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=/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: [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: [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: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/]
|
||||||
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: [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: [[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: [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: []
|
||||||
ignore line: []
|
ignore line: []
|
||||||
implicit libs: []
|
implicit libs: []
|
||||||
@ -247,148 +285,168 @@ events:
|
|||||||
-
|
-
|
||||||
kind: "try_compile-v1"
|
kind: "try_compile-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
checks:
|
checks:
|
||||||
- "Detecting CXX compiler ABI info"
|
- "Detecting CXX compiler ABI info"
|
||||||
directories:
|
directories:
|
||||||
source: "/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: "/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-SrcT8S"
|
binary: "D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-p0cksk"
|
||||||
cmakeVariables:
|
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: " -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_FLAGS_DEBUG: "-O0 -g3"
|
||||||
CMAKE_CXX_SCAN_FOR_MODULES: "OFF"
|
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:
|
buildResult:
|
||||||
variable: "CMAKE_CXX_ABI_COMPILED"
|
variable: "CMAKE_CXX_ABI_COMPILED"
|
||||||
cached: true
|
cached: true
|
||||||
stdout: |
|
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
|
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] "/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'
|
[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.
|
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
|
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
|
Thread model: single
|
||||||
Supported LTO compression algorithms: zlib
|
Supported LTO compression algorithms: zlib
|
||||||
gcc version 13.3.1 20240614 (GNU Tools for STM32 13.3.rel1.20250523-0900)
|
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_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/'
|
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/'
|
||||||
/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
|
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 13.3.rel1.20250523-0900) version 13.3.1 20240614 (arm-none-eabi)
|
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 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
|
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
|
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 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 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 nonexistent directory "C:\\Users\\Lenovo\\AppData\\Local\\stm32cube\\bundles\\gnu-tools-for-stm32\\14.3.1+st.2\\bin\\../arm-none-eabi/usr/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/../../../../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"
|
|
||||||
#include "..." search starts here:
|
#include "..." search starts here:
|
||||||
#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
|
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
|
||||||
/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
|
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
|
||||||
/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
|
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
|
||||||
/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
|
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
|
||||||
/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
|
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
|
||||||
/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:/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.
|
End of search list.
|
||||||
Compiler executable checksum: 8645528adf8ebcbf7d1003a054da7f8a
|
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_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/'
|
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/'
|
||||||
/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
|
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.42.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 13.3.rel1.20250523-0900) 2.42.0.20240614
|
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=/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/
|
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=/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/
|
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_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/CMakeCXXCompilerABI.cpp.'
|
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] : && "/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 && :
|
[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
|
exitCode: 0
|
||||||
-
|
-
|
||||||
kind: "message-v1"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
Parsed CXX implicit include dir info: rv=done
|
Parsed CXX implicit include dir info: rv=done
|
||||||
found start of include info
|
found start of include info
|
||||||
found start of implicit 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: [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: [/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: [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: [/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: [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: [/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: [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: [/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: [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: [/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]
|
||||||
|
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
|
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 [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 [/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 [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 [/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 [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 [/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 [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 [/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 [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 [/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]
|
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]
|
||||||
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/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"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
message: |
|
||||||
Parsed CXX implicit link information:
|
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)[^/\\]*( |$)]
|
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\\+\\+|;ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
|
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: '/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/CMakeScratch/TryCompile-SrcT8S']
|
ignore line: [Change Dir: 'D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/CMakeScratch/TryCompile-p0cksk']
|
||||||
ignore line: []
|
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: [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] "/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: [[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: [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: [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: [Thread model: single]
|
||||||
ignore line: [Supported LTO compression algorithms: zlib]
|
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: [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_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/']
|
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: [ /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: [ 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 13.3.rel1.20250523-0900) version 13.3.1 20240614 (arm-none-eabi)]
|
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 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: [ 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: []
|
||||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
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 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 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 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: [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: [#include "..." search starts here:]
|
ignore line: [#include "..." search starts here:]
|
||||||
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: [ 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: [ /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: [ 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: [ /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: [ 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: [ /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: [ 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: [ /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: [ 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: [ /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]
|
||||||
|
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: [End of search list.]
|
||||||
ignore line: [Compiler executable checksum: 8645528adf8ebcbf7d1003a054da7f8a]
|
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_6f0a1.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mthumb' '-mlibarch=armv7e-m+fp' '-march=armv7e-m+fp' '-dumpdir' 'CMakeFiles/cmTC_6f0a1.dir/']
|
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: [ /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: [ 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.42.0 (arm-none-eabi) using BFD version (GNU Tools for STM32 13.3.rel1.20250523-0900) 2.42.0.20240614]
|
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=/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: [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: [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: [C:/Users/Lenovo/AppData/Local/stm32cube/bundles/gnu-tools-for-stm32/14.3.1+st.2/bin/../lib/gcc/]
|
||||||
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: [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: [[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: [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: []
|
||||||
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 libs: []
|
||||||
implicit objs: []
|
implicit objs: []
|
||||||
implicit dirs: []
|
implicit dirs: []
|
||||||
@ -398,43 +456,43 @@ events:
|
|||||||
-
|
-
|
||||||
kind: "message-v1"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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)"
|
- "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)"
|
||||||
- "/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/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
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"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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)"
|
- "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)"
|
||||||
- "/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/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
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"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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)"
|
- "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)"
|
||||||
- "/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/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||||
- "CMakeLists.txt:28 (project)"
|
- "CMakeLists.txt:28 (project)"
|
||||||
message: |
|
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"
|
kind: "message-v1"
|
||||||
backtrace:
|
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)"
|
- "C:/Users/Lenovo/AppData/Local/stm32cube/bundles/cmake/4.0.1+st.3/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/CMakeDetermineASMCompiler.cmake:139 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)"
|
||||||
- "CMakeLists.txt:32 (enable_language)"
|
- "CMakeLists.txt:32 (enable_language)"
|
||||||
message: |
|
message: |
|
||||||
Checking whether the ASM compiler is GNU using "--version" matched "(GNU assembler)|(GCC)|(Free Software Foundation)":
|
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
|
arm-none-eabi-gcc.exe (GNU Tools for STM32 14.3.rel1.20251027-0700) 14.3.1 20250623
|
||||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
Copyright (C) 2024 Free Software Foundation, Inc.
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"InstallScripts" :
|
"InstallScripts" :
|
||||||
[
|
[
|
||||||
"/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake_install.cmake",
|
"D:/STM32Projects_HAL/board-F4/sentry/sentry2026/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/stm32cubemx/cmake_install.cmake"
|
||||||
],
|
],
|
||||||
"Parallel" : false
|
"Parallel" : false
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/lll0121.dir
|
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/lll0121.dir
|
||||||
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/edit_cache.dir
|
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/edit_cache.dir
|
||||||
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/CMakeFiles/rebuild_cache.dir
|
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/CMakeFiles/rebuild_cache.dir
|
||||||
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir
|
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/cmake/stm32cubemx/CMakeFiles/STM32_Drivers.dir
|
||||||
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir
|
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/build/Debug/cmake/stm32cubemx/CMakeFiles/FreeRTOS.dir
|
||||||
/Users/lvzucheng/Documents/R/Er_sentry/build/Debug/cmake/stm32cubemx/CMakeFiles/edit_cache.dir
|
D:/STM32Projects_HAL/board-F4/sentry/sentry2026/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/cmake/stm32cubemx/CMakeFiles/rebuild_cache.dir
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user