还差热量计算
This commit is contained in:
parent
4faae4f680
commit
4ab41bf908
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@ -3,6 +3,8 @@
|
||||
"files.associations": {
|
||||
"pid.h": "c",
|
||||
"main.h": "c",
|
||||
"motor_rm.h": "c"
|
||||
"motor_rm.h": "c",
|
||||
"filter.h": "c",
|
||||
"user_math.h": "c"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
@ -28,7 +28,64 @@ Project File Date: 10/10/2025
|
||||
*** Using Compiler 'V6.16', folder: 'D:\cangming\ARM\ARMCLANG\Bin'
|
||||
Build target 'shoot'
|
||||
Note: source file '..\User\bsp\can.c' - object file renamed from 'shoot\can.o' to 'shoot\can_1.o'.
|
||||
"shoot\shoot.axf" - 0 Error(s), 0 Warning(s).
|
||||
compiling pid.c...
|
||||
../User/task/shoot_ctrl.c(9): warning: In file included from...
|
||||
../User\component/at9s_pro_cmd.h(9): warning: In file included from...
|
||||
../User\device/at9s_pro.h(17): warning: '__packed__' attribute ignored [-Wignored-attributes]
|
||||
typedef __packed struct
|
||||
^
|
||||
../User\component/user_math.h(33): note: expanded from macro '__packed'
|
||||
#define __packed __attribute__((__packed__))
|
||||
^
|
||||
1 warning generated.
|
||||
compiling shoot_ctrl.c...
|
||||
../User/task/rc.c(8): warning: In file included from...
|
||||
../User\device/at9s_pro.h(17): warning: '__packed__' attribute ignored [-Wignored-attributes]
|
||||
typedef __packed struct
|
||||
^
|
||||
../User\component/user_math.h(33): note: expanded from macro '__packed'
|
||||
#define __packed __attribute__((__packed__))
|
||||
^
|
||||
1 warning generated.
|
||||
compiling rc.c...
|
||||
../User/task/init.c(10): warning: In file included from...
|
||||
../User\component/at9s_pro_cmd.h(9): warning: In file included from...
|
||||
../User\device/at9s_pro.h(17): warning: '__packed__' attribute ignored [-Wignored-attributes]
|
||||
typedef __packed struct
|
||||
^
|
||||
../User\component/user_math.h(33): note: expanded from macro '__packed'
|
||||
#define __packed __attribute__((__packed__))
|
||||
^
|
||||
1 warning generated.
|
||||
compiling init.c...
|
||||
../User/component/at9s_pro_cmd.c(2): warning: In file included from...
|
||||
../User/component/at9s_pro_cmd.h(9): warning: In file included from...
|
||||
../User\device/at9s_pro.h(17): warning: '__packed__' attribute ignored [-Wignored-attributes]
|
||||
typedef __packed struct
|
||||
^
|
||||
../User\component/user_math.h(33): note: expanded from macro '__packed'
|
||||
#define __packed __attribute__((__packed__))
|
||||
^
|
||||
1 warning generated.
|
||||
compiling at9s_pro_cmd.c...
|
||||
compiling user_math.c...
|
||||
compiling filter.c...
|
||||
compiling config.c...
|
||||
../User/device/AT9S_Pro.c(2): warning: In file included from...
|
||||
../User/device/AT9S_Pro.h(17): warning: '__packed__' attribute ignored [-Wignored-attributes]
|
||||
typedef __packed struct
|
||||
^
|
||||
../User\component/user_math.h(33): note: expanded from macro '__packed'
|
||||
#define __packed __attribute__((__packed__))
|
||||
^
|
||||
1 warning generated.
|
||||
compiling AT9S_Pro.c...
|
||||
compiling motor_rm.c...
|
||||
compiling shoot_control.c...
|
||||
linking...
|
||||
Program Size: Code=32304 RO-data=660 RW-data=280 ZI-data=23744
|
||||
FromELF: creating hex file...
|
||||
"shoot\shoot.axf" - 0 Error(s), 5 Warning(s).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@
|
||||
<title>Static Call Graph - [shoot\shoot.axf]</title></head>
|
||||
<body><HR>
|
||||
<H1>Static Call Graph for image shoot\shoot.axf</H1><HR>
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 6160001: Last Updated: Fri Oct 10 12:05:48 2025
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 6160001: Last Updated: Fri Oct 10 22:04:16 2025
|
||||
<BR><P>
|
||||
<H3>Maximum Stack Usage = 312 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
|
||||
Call chain for Maximum Stack Depth:</H3>
|
||||
@ -723,6 +723,8 @@ Global Symbols
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[f9]">>></a> MOTOR_RM_Register
|
||||
<LI><a href="#[87]">>></a> BSP_CAN_CreateIdQueue
|
||||
<LI><a href="#[b3]">>></a> Config_ShootInit
|
||||
<LI><a href="#[117]">>></a> Shoot_Init
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[89]"></a>BSP_Malloc</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, mm.o(.text.BSP_Malloc))
|
||||
@ -815,7 +817,7 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> Task_rc
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[ae]"></a>Chassis_UpdateFeedback</STRONG> (Thumb, 480 bytes, Stack size 64 bytes, shoot_control.o(.text.Chassis_UpdateFeedback))
|
||||
<P><STRONG><a name="[ae]"></a>Chassis_UpdateFeedback</STRONG> (Thumb, 496 bytes, Stack size 64 bytes, shoot_control.o(.text.Chassis_UpdateFeedback))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 312<LI>Call Chain = Chassis_UpdateFeedback ⇒ MOTOR_RM_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexAcquire ⇒ xQueueTakeMutexRecursive ⇒ xQueueSemaphoreTake ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[af]">>></a> LowPassFilter2p_Apply
|
||||
@ -839,10 +841,11 @@ Global Symbols
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[64]">>></a> Task_shoot_ctrl
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[b3]"></a>Config_ShootInit</STRONG> (Thumb, 190 bytes, Stack size 32 bytes, config.o(.text.Config_ShootInit))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = Config_ShootInit ⇒ BSP_Malloc ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
|
||||
<P><STRONG><a name="[b3]"></a>Config_ShootInit</STRONG> (Thumb, 154 bytes, Stack size 24 bytes, config.o(.text.Config_ShootInit))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = Config_ShootInit ⇒ BSP_Malloc ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[89]">>></a> BSP_Malloc
|
||||
<LI><a href="#[8b]">>></a> BSP_Free
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[64]">>></a> Task_shoot_ctrl
|
||||
</UL>
|
||||
@ -1528,7 +1531,11 @@ Global Symbols
|
||||
<P><STRONG><a name="[6]"></a>SVC_Handler</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, port.o(.text.SVC_Handler))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f407xx.o(RESET)
|
||||
</UL>
|
||||
<P><STRONG><a name="[111]"></a>Shoot_CaluTargetAngle</STRONG> (Thumb, 160 bytes, Stack size 32 bytes, shoot_control.o(.text.Shoot_CaluTargetAngle))
|
||||
<P><STRONG><a name="[11d]"></a>ScaleSumTo1</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, user_math.o(.text.ScaleSumTo1))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[118]">>></a> Shoot_RunningFSM
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[111]"></a>Shoot_CaluTargetAngle</STRONG> (Thumb, 192 bytes, Stack size 32 bytes, shoot_control.o(.text.Shoot_CaluTargetAngle))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = Shoot_CaluTargetAngle
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[10a]">>></a> CircleError
|
||||
@ -1538,7 +1545,7 @@ Global Symbols
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[113]"></a>Shoot_Control</STRONG> (Thumb, 108 bytes, Stack size 24 bytes, shoot_control.o(.text.Shoot_Control))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 232<LI>Call Chain = Shoot_Control ⇒ Shoot_JamDetectionFSM ⇒ Shoot_RunningFSM ⇒ MOTOR_RM_Ctrl ⇒ BSP_CAN_TransmitStdDataFrame ⇒ BSP_CAN_Transmit ⇒ BSP_CAN_TxQueuePush
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 240<LI>Call Chain = Shoot_Control ⇒ Shoot_JamDetectionFSM ⇒ Shoot_RunningFSM ⇒ MOTOR_RM_Ctrl ⇒ BSP_CAN_TransmitStdDataFrame ⇒ BSP_CAN_Transmit ⇒ BSP_CAN_TxQueuePush
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[114]">>></a> BSP_TIME_Get_us
|
||||
<LI><a href="#[115]">>></a> __aeabi_ul2f
|
||||
@ -1547,13 +1554,14 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[64]">>></a> Task_shoot_ctrl
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[117]"></a>Shoot_Init</STRONG> (Thumb, 582 bytes, Stack size 48 bytes, shoot_control.o(.text.Shoot_Init))
|
||||
<P><STRONG><a name="[117]"></a>Shoot_Init</STRONG> (Thumb, 606 bytes, Stack size 48 bytes, shoot_control.o(.text.Shoot_Init))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 288 + Unknown Stack Size
|
||||
<LI>Call Chain = Shoot_Init ⇒ BSP_CAN_Init ⇒ osMutexNew ⇒ xQueueCreateMutexStatic ⇒ prvInitialiseMutex ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[f2]">>></a> LowPassFilter2p_Init
|
||||
<LI><a href="#[f9]">>></a> MOTOR_RM_Register
|
||||
<LI><a href="#[89]">>></a> BSP_Malloc
|
||||
<LI><a href="#[8b]">>></a> BSP_Free
|
||||
<LI><a href="#[90]">>></a> BSP_CAN_Init
|
||||
<LI><a href="#[91]">>></a> __aeabi_memclr4
|
||||
<LI><a href="#[10c]">>></a> PID_Init
|
||||
@ -1561,8 +1569,8 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[64]">>></a> Task_shoot_ctrl
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[116]"></a>Shoot_JamDetectionFSM</STRONG> (Thumb, 292 bytes, Stack size 8 bytes, shoot_control.o(.text.Shoot_JamDetectionFSM))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 208<LI>Call Chain = Shoot_JamDetectionFSM ⇒ Shoot_RunningFSM ⇒ MOTOR_RM_Ctrl ⇒ BSP_CAN_TransmitStdDataFrame ⇒ BSP_CAN_Transmit ⇒ BSP_CAN_TxQueuePush
|
||||
<P><STRONG><a name="[116]"></a>Shoot_JamDetectionFSM</STRONG> (Thumb, 304 bytes, Stack size 16 bytes, shoot_control.o(.text.Shoot_JamDetectionFSM))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 216<LI>Call Chain = Shoot_JamDetectionFSM ⇒ Shoot_RunningFSM ⇒ MOTOR_RM_Ctrl ⇒ BSP_CAN_TransmitStdDataFrame ⇒ BSP_CAN_Transmit ⇒ BSP_CAN_TxQueuePush
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[118]">>></a> Shoot_RunningFSM
|
||||
</UL>
|
||||
@ -1596,6 +1604,7 @@ Global Symbols
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 200<LI>Call Chain = Shoot_RunningFSM ⇒ MOTOR_RM_Ctrl ⇒ BSP_CAN_TransmitStdDataFrame ⇒ BSP_CAN_Transmit ⇒ BSP_CAN_TxQueuePush
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[af]">>></a> LowPassFilter2p_Apply
|
||||
<LI><a href="#[11d]">>></a> ScaleSumTo1
|
||||
<LI><a href="#[fc]">>></a> MOTOR_RM_SetOutput
|
||||
<LI><a href="#[fb]">>></a> MOTOR_RM_Relax
|
||||
<LI><a href="#[f7]">>></a> MOTOR_RM_Ctrl
|
||||
@ -1603,7 +1612,6 @@ Global Symbols
|
||||
<LI><a href="#[11a]">>></a> Shoot_ResetIntegral
|
||||
<LI><a href="#[119]">>></a> Shoot_ResetCalu
|
||||
<LI><a href="#[111]">>></a> Shoot_CaluTargetAngle
|
||||
<LI><a href="#[11d]">>></a> ScaleSumTo1
|
||||
<LI><a href="#[11b]">>></a> PID_ResetIntegral
|
||||
<LI><a href="#[108]">>></a> PID_Calc
|
||||
</UL>
|
||||
@ -1677,7 +1685,7 @@ Global Symbols
|
||||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> init.o(.text.Task_Init)
|
||||
</UL>
|
||||
<P><STRONG><a name="[64]"></a>Task_shoot_ctrl</STRONG> (Thumb, 260 bytes, Stack size 0 bytes, shoot_ctrl.o(.text.Task_shoot_ctrl))
|
||||
<P><STRONG><a name="[64]"></a>Task_shoot_ctrl</STRONG> (Thumb, 164 bytes, Stack size 0 bytes, shoot_ctrl.o(.text.Task_shoot_ctrl))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 312 + Unknown Stack Size
|
||||
<LI>Call Chain = Task_shoot_ctrl ⇒ Chassis_UpdateFeedback ⇒ MOTOR_RM_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexAcquire ⇒ xQueueTakeMutexRecursive ⇒ xQueueSemaphoreTake ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
|
||||
</UL>
|
||||
@ -3171,10 +3179,6 @@ Local Symbols
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[10c]">>></a> PID_Init
|
||||
<LI><a href="#[108]">>></a> PID_Calc
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[11d]"></a>ScaleSumTo1</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, shoot_control.o(.text.ScaleSumTo1))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[118]">>></a> Shoot_RunningFSM
|
||||
</UL>
|
||||
<P>
|
||||
<H3>
|
||||
Undefined Global Symbols
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,5 @@
|
||||
shoot/shoot_control.o: ..\User\module\shoot_control.c \
|
||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\string.h \
|
||||
..\User\module\shoot_control.h ..\Core\Inc\main.h \
|
||||
..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \
|
||||
..\Core\Inc\stm32f4xx_hal_conf.h \
|
||||
@ -48,4 +49,4 @@ shoot/shoot_control.o: ..\User\module\shoot_control.c \
|
||||
..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \
|
||||
..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \
|
||||
..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \
|
||||
D:\cangming\ARM\ARMCLANG\Bin\..\include\string.h ..\User\bsp\time.h
|
||||
..\User\bsp\time.h
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -1181,7 +1181,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
||||
I (..\User\bsp\time.h)(0x68DFDF27)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
F (..\User\device\motor_rm.h)(0x68DFDF0A)()
|
||||
@ -1230,7 +1230,7 @@ I (..\User\device\AT9S_Pro.h)(0x68CE6AC0)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
@ -1268,15 +1268,15 @@ I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h)(0x68AD823F)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
||||
I (..\User\bsp\bsp.h)(0x68DFDF27)
|
||||
F (..\User\device\AT9S_Pro.h)(0x68CE6AC0)()
|
||||
F (..\User\component\user_math.c)(0x68E881BF)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/user_math.o -MD)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
F (..\User\component\user_math.c)(0x68E9125E)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/user_math.o -MD)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
||||
F (..\User\component\user_math.h)(0x68E86971)()
|
||||
F (..\User\component\user_math.h)(0x68E9125E)()
|
||||
F (..\User\component\at9s_pro_cmd.c)(0x68E869ED)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/at9s_pro_cmd.o -MD)
|
||||
I (..\User\component\at9s_pro_cmd.h)(0x68D4B9F6)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
@ -1284,7 +1284,7 @@ I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||
I (..\User\device\at9s_pro.h)(0x68CE6AC0)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (..\User\device\device.h)(0x68E86971)
|
||||
@ -1292,7 +1292,7 @@ I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
||||
F (..\User\component\at9s_pro_cmd.h)(0x68D4B9F6)()
|
||||
F (..\User\component\filter.c)(0x68DFDF27)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/filter.o -MD)
|
||||
I (..\User\component\filter.h)(0x68DFDF27)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
@ -1303,14 +1303,15 @@ F (..\User\component\pid.c)(0x68E86971)(-xc -std=c99 --target=arm-arm-none-eabi
|
||||
I (..\User\component\pid.h)(0x68E86971)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||
I (..\User\component\filter.h)(0x68DFDF27)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8)
|
||||
F (..\User\component\pid.h)(0x68E86971)()
|
||||
F (..\User\module\shoot_control.c)(0x68E8858C)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/shoot_control.o -MD)
|
||||
I (..\User\module\shoot_control.h)(0x68E882B7)
|
||||
F (..\User\module\shoot_control.c)(0x68E9116B)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/shoot_control.o -MD)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
||||
I (..\User\module\shoot_control.h)(0x68E9116B)
|
||||
I (..\Core\Inc\main.h)(0x68D1384A)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68AD823F)
|
||||
I (..\Core\Inc\stm32f4xx_hal_conf.h)(0x68D1384A)
|
||||
@ -1344,7 +1345,7 @@ I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68AD823F)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
I (..\User\component\pid.h)(0x68E86971)
|
||||
I (..\User\component\filter.h)(0x68DFDF27)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (..\User\device\motor_rm.h)(0x68DFDF0A)
|
||||
@ -1365,15 +1366,14 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\string.h)(0x6035A4A8)
|
||||
I (..\User\bsp\time.h)(0x68DFDF27)
|
||||
F (..\User\module\shoot_control.h)(0x68E882B7)()
|
||||
F (..\User\module\config.c)(0x68E885C4)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/config.o -MD)
|
||||
F (..\User\module\shoot_control.h)(0x68E9116B)()
|
||||
F (..\User\module\config.c)(0x68E9116B)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/config.o -MD)
|
||||
I (..\User\module\config.h)(0x68E869ED)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||
I (..\User\component\pid.h)(0x68E86971)
|
||||
I (..\User\component\filter.h)(0x68DFDF27)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
@ -1424,7 +1424,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||
I (..\User\module\shoot_control.h)(0x68E882B7)
|
||||
I (..\User\module\shoot_control.h)(0x68E9116B)
|
||||
F (..\User\module\config.h)(0x68E869ED)()
|
||||
F (..\User\task\init.c)(0x68D4AE2D)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/init.o -MD)
|
||||
I (..\User\task\user_task.h)(0x68D3E4B9)
|
||||
@ -1443,7 +1443,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||
I (..\User\component\at9s_pro_cmd.h)(0x68D4B9F6)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
I (..\User\device\at9s_pro.h)(0x68CE6AC0)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (..\User\device\device.h)(0x68E86971)
|
||||
@ -1462,13 +1462,13 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68AD8208
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68AD8208)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||
I (..\User\device\at9s_pro.h)(0x68CE6AC0)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
I (..\User\device\device.h)(0x68E86971)
|
||||
I (..\User\component\at9s_pro_cmd.h)(0x68D4B9F6)
|
||||
F (..\User\task\shoot_ctrl.c)(0x68E8725A)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/shoot_ctrl.o -MD)
|
||||
F (..\User\task\shoot_ctrl.c)(0x68E90844)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-gdwarf-3 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User
-I./RTE/_shoot
-ID:/cangming/ARM/CMSIS/5.7.0/CMSIS/Core/Include
-ID:/cangming/keil/STM32F4xx_DFP/2.15.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o shoot/shoot_ctrl.o -MD)
|
||||
I (..\User\task\user_task.h)(0x68D3E4B9)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68AD8208)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8)
|
||||
@ -1485,11 +1485,11 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68AD8208)
|
||||
I (..\User\component\at9s_pro_cmd.h)(0x68D4B9F6)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8)
|
||||
I (..\User\device\at9s_pro.h)(0x68CE6AC0)
|
||||
I (..\User\component\user_math.h)(0x68E86971)
|
||||
I (..\User\component\user_math.h)(0x68E9125E)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\float.h)(0x6035A4A0)
|
||||
I (D:\cangming\ARM\ARMCLANG\include\math.h)(0x6035A4A8)
|
||||
I (..\User\device\device.h)(0x68E86971)
|
||||
I (..\User\module\shoot_control.h)(0x68E882B7)
|
||||
I (..\User\module\shoot_control.h)(0x68E9116B)
|
||||
I (..\Core\Inc\main.h)(0x68D1384A)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68AD823F)
|
||||
I (..\Core\Inc\stm32f4xx_hal_conf.h)(0x68D1384A)
|
||||
|
||||
Binary file not shown.
@ -4,30 +4,40 @@
|
||||
Breakpoint=D:/CUBEMX/shoot/User/device/motor_rm.c:146:32, State=BP_STATE_DISABLED
|
||||
Breakpoint=D:/CUBEMX/shoot/User/device/motor_rm.c:149:49, State=BP_STATE_DISABLED
|
||||
Breakpoint=D:/CUBEMX/shoot/User/module/shoot_control.c:120:26, State=BP_STATE_DISABLED
|
||||
GraphedExpression="dpos", Color=#e56a6f, Show=0
|
||||
GraphedExpression="((((shoot).pid).trig).last).out", Color=#e56a6f, Show=0
|
||||
GraphedExpression="((((shoot).pid).trig_omg).last).out", Color=#35792b, Show=0
|
||||
GraphedExpression="((shoot).target_variable).target_angle", Color=#769dda, Show=0
|
||||
GraphedExpression="((shoot).feedback).trig_agl", Color=#b14f0d, Show=0
|
||||
GraphedExpression="((((shoot).feedback).trig).feedback).rotor_abs_angle", Color=#b3c38e, Show=0
|
||||
GraphedExpression="((((shoot).feedback).trig).feedback).torque_current", Color=#ab7b05, Show=0
|
||||
OpenDocument="motor_rm.c", FilePath="D:/CUBEMX/shoot/User/device/motor_rm.c", Line=231
|
||||
OpenDocument="shoot_control.h", FilePath="D:/CUBEMX/shoot/User/module/shoot_control.h", Line=83
|
||||
OpenDocument="cmsis_os2.c", FilePath="D:/CUBEMX/shoot/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c", Line=885
|
||||
OpenDocument="test.cpp", FilePath="D:/CUBEMX/shoot/User/module/test.cpp", Line=0
|
||||
OpenDocument="stm32f4xx_it.c", FilePath="D:/CUBEMX/shoot/Core/Src/stm32f4xx_it.c", Line=82
|
||||
OpenDocument="main.c", FilePath="D:/CUBEMX/shoot/Core/Src/main.c", Line=46
|
||||
OpenDocument="startup_stm32f407xx.s", FilePath="D:/CUBEMX/shoot/MDK-ARM/startup_stm32f407xx.s", Line=161
|
||||
OpenDocument="tasks.c", FilePath="D:/CUBEMX/shoot/Middlewares/Third_Party/FreeRTOS/Source/tasks.c", Line=3637
|
||||
OpenDocument="config.h", FilePath="D:/CUBEMX/shoot/User/module/config.h", Line=0
|
||||
OpenDocument="mm.c", FilePath="D:/CUBEMX/shoot/User/bsp/mm.c", Line=0
|
||||
OpenDocument="shoot_ctrl.c", FilePath="D:/CUBEMX/shoot/User/task/shoot_ctrl.c", Line=14
|
||||
OpenDocument="shoot_control.c", FilePath="D:/CUBEMX/shoot/User/module/shoot_control.c", Line=427
|
||||
OpenDocument="shoot_control.h", FilePath="D:/CUBEMX/shoot/User/module/shoot_control.h", Line=132
|
||||
OpenDocument="shoot_ctrl.c", FilePath="D:/CUBEMX/shoot/User/task/shoot_ctrl.c", Line=16
|
||||
OpenDocument="shoot_control.c", FilePath="D:/CUBEMX/shoot/User/module/shoot_control.c", Line=436
|
||||
OpenDocument="pid.c", FilePath="D:/CUBEMX/shoot/User/component/pid.c", Line=111
|
||||
OpenDocument="config.c", FilePath="D:/CUBEMX/shoot/User/module/config.c", Line=108
|
||||
OpenDocument="queue.c", FilePath="D:/CUBEMX/shoot/Middlewares/Third_Party/FreeRTOS/Source/queue.c", Line=2062
|
||||
OpenDocument="filter.c", FilePath="D:/CUBEMX/shoot/User/component/filter.c", Line=49
|
||||
OpenDocument="port.c", FilePath="D:/CUBEMX/shoot/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c", Line=402
|
||||
OpenDocument="rc.c", FilePath="D:/CUBEMX/shoot/User/task/rc.c", Line=0
|
||||
OpenDocument="motor.h", FilePath="D:/CUBEMX/shoot/User/device/motor.h", Line=21
|
||||
OpenDocument="motor_rm.c", FilePath="D:/CUBEMX/shoot/User/device/motor_rm.c", Line=148
|
||||
OpenDocument="pid.h", FilePath="D:/CUBEMX/shoot/User/component/pid.h", Line=0
|
||||
OpenToolbar="Debug", Floating=0, x=0, y=0
|
||||
OpenWindow="Registers 1", DockArea=RIGHT, x=0, y=1, w=726, h=675, TabPos=1, TopOfStack=0, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, FilteredItems=[], RefreshRate=1
|
||||
OpenWindow="Registers 1", DockArea=RIGHT, x=0, y=1, w=726, h=657, TabPos=1, TopOfStack=0, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, FilteredItems=[], RefreshRate=1
|
||||
OpenWindow="Source Files", DockArea=LEFT, x=0, y=0, w=301, h=919, TabPos=0, TopOfStack=1, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
|
||||
OpenWindow="Disassembly", DockArea=RIGHT, x=0, y=0, w=726, h=243, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
|
||||
OpenWindow="Watched Data 1", DockArea=RIGHT, x=0, y=1, w=726, h=675, TabPos=0, TopOfStack=1, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
|
||||
OpenWindow="Disassembly", DockArea=RIGHT, x=0, y=0, w=726, h=261, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
|
||||
OpenWindow="Watched Data 1", DockArea=RIGHT, x=0, y=1, w=726, h=657, TabPos=0, TopOfStack=1, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
|
||||
OpenWindow="Functions", DockArea=LEFT, x=0, y=0, w=301, h=919, TabPos=1, TopOfStack=0, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
|
||||
OpenWindow="Data Sampling", DockArea=BOTTOM, x=0, y=0, w=2560, h=536, TabPos=0, TopOfStack=1, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, VisibleTab=0, UniformSampleSpacing=0
|
||||
OpenWindow="Timeline", DockArea=FLOATING, x=997, y=976, w=1552, h=555, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=1, DataPaneShown=1, PowerPaneShown=0, CodePaneShown=0, PinCursor="Cursor Movable", TimePerDiv="1 s / Div", TimeStampFormat="Time", DataGraphDrawAsPoints=0, DataGraphLegendShown=1, DataGraphUniformSampleSpacing=0, DataGraphLegendPosition="1094;240", DataGraphShowNamesAtCursor=0, PowerGraphDrawAsPoints=0, PowerGraphLegendShown=0, PowerGraphAvgFilterTime=Off, PowerGraphAvgFilterLen=Off, PowerGraphUniformSampleSpacing=0, PowerGraphLegendPosition="70;20", CodeGraphLegendShown=0, CodeGraphLegendPosition="80;20"
|
||||
OpenWindow="Timeline", DockArea=FLOATING, x=997, y=976, w=1552, h=555, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=1, DataPaneShown=1, PowerPaneShown=0, CodePaneShown=0, PinCursor="Cursor Movable", TimePerDiv="1 s / Div", TimeStampFormat="Time", DataGraphDrawAsPoints=0, DataGraphLegendShown=1, DataGraphUniformSampleSpacing=0, DataGraphLegendPosition="974;0", DataGraphShowNamesAtCursor=0, PowerGraphDrawAsPoints=0, PowerGraphLegendShown=0, PowerGraphAvgFilterTime=Off, PowerGraphAvgFilterLen=Off, PowerGraphUniformSampleSpacing=0, PowerGraphLegendPosition="70;20", CodeGraphLegendShown=0, CodeGraphLegendPosition="80;20"
|
||||
OpenWindow="Console", DockArea=BOTTOM, x=0, y=0, w=2560, h=536, TabPos=1, TopOfStack=0, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
|
||||
SmartViewPlugin="", Page="", Toolbar="Hidden", Window="SmartView 1"
|
||||
TableHeader="Registers 1", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Value";"Description"], ColWidths=[100;144;482]
|
||||
@ -37,8 +47,8 @@ TableHeader="Task List", SortCol="None", SortOrder="ASCENDING", VisibleCols=["Na
|
||||
TableHeader="RegisterSelectionDialog", SortCol="None", SortOrder="ASCENDING", VisibleCols=[], ColWidths=[]
|
||||
TableHeader="Source Files", SortCol="File", SortOrder="ASCENDING", VisibleCols=["File";"Status";"Size";"#Insts";"Path"], ColWidths=[215;100;100;100;734]
|
||||
TableHeader="Watched Data 1", SortCol="Expression", SortOrder="ASCENDING", VisibleCols=["Expression";"Value";"Location";"Refresh"], ColWidths=[250;282;91;100]
|
||||
TableHeader="Data Sampling Table", SortCol="None", SortOrder="ASCENDING", VisibleCols=["Index";"Time";" dpos"], ColWidths=[100;100;100]
|
||||
TableHeader="Data Sampling Setup", SortCol="Expression", SortOrder="ASCENDING", VisibleCols=["Expression";"Type";"Value";"Min";"Max";"Average";"# Changes";"Min. Change";"Max. Change"], ColWidths=[118;100;100;100;100;100;110;126;1706]
|
||||
TableHeader="Data Sampling Table", SortCol="None", SortOrder="ASCENDING", VisibleCols=["Index";"Time";" ((((shoot).pid).trig).last).out";" ((((shoot).pid).trig_omg).last).out";" ((shoot).target_variable).target_angle";" ((shoot).feedback).trig_agl";" ((((shoot).feedback).trig).feedback).rotor_abs_angle";" ((((shoot).feedback).trig).feedback).torque_current"], ColWidths=[100;100;100;100;100;100;100;100]
|
||||
TableHeader="Data Sampling Setup", SortCol="Expression", SortOrder="ASCENDING", VisibleCols=["Expression";"Type";"Value";"Min";"Max";"Average";"# Changes";"Min. Change";"Max. Change"], ColWidths=[118;100;144;100;114;134;110;126;1614]
|
||||
TableHeader="TargetExceptionDialog", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Value";"Address";"Description"], ColWidths=[200;100;100;340]
|
||||
WatchedExpression="shoot_ctrl_cmd_rc", RefreshRate=5, Window=Watched Data 1
|
||||
WatchedExpression="shoot_cmd", RefreshRate=5, Window=Watched Data 1
|
||||
@ -47,4 +57,5 @@ WatchedExpression="pos", RefreshRate=5, Window=Watched Data 1
|
||||
WatchedExpression="feedback_current", Window=Watched Data 1
|
||||
WatchedExpression="dpos", Window=Watched Data 1
|
||||
WatchedExpression="robot_config", RefreshRate=5, Window=Watched Data 1
|
||||
WatchedExpression="a", RefreshRate=1, Window=Watched Data 1
|
||||
WatchedExpression="shoot.param->fric_motor_param[1]", Window=Watched Data 1
|
||||
WatchedExpression="shoot.param->fric_motor_param[2]", Window=Watched Data 1
|
||||
@ -119,6 +119,20 @@ inline float CalculateRpm(float bullet_speed, float fric_radius, bool is17mm) {
|
||||
return 60.0f * (float)bullet_speed / (M_2PI * fric_radius);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 按比例缩放
|
||||
*
|
||||
* @param a 传入值1
|
||||
* @param b 传入值2
|
||||
*/
|
||||
inline void ScaleSumTo1(float *a, float *b) {
|
||||
float sum = *a + *b;
|
||||
if (sum > 1.0f) {
|
||||
float scale = 1.0f / sum;
|
||||
*a *= scale;
|
||||
*b *= scale;
|
||||
}
|
||||
}
|
||||
// /**
|
||||
// * @brief 断言失败处理
|
||||
// *
|
||||
|
||||
@ -120,6 +120,13 @@ void CircleReverse(float *origin);
|
||||
*/
|
||||
float CalculateRpm(float bullet_speed, float fric_radius, bool is17mm);
|
||||
|
||||
/**
|
||||
* @brief 按比例缩放
|
||||
*
|
||||
* @param a 传入值1
|
||||
* @param b 传入值2
|
||||
*/
|
||||
void ScaleSumTo1(float *a, float *b);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -19,11 +19,12 @@ Config_RobotParam_t robot_config = {
|
||||
|
||||
|
||||
.shoot_param = {
|
||||
.proj=SHOOT_PROJECTILE_17MM,
|
||||
.fric_num=6,
|
||||
.extra_deceleration_ratio=1.0f,
|
||||
.num_trig_tooth=8,
|
||||
.shot_freq=20.0f,
|
||||
.shot_burst_num=1,
|
||||
.shot_burst_num=5,
|
||||
.num_multilevel=2,
|
||||
.jam_enable=true,
|
||||
.jam_threshold=120.0f,
|
||||
@ -32,7 +33,7 @@ Config_RobotParam_t robot_config = {
|
||||
.can = BSP_CAN_2,
|
||||
.id = 0x207,
|
||||
.module = MOTOR_M2006,
|
||||
.reverse = true,
|
||||
.reverse = false,
|
||||
.gear=true,
|
||||
},
|
||||
.fric_follow = {
|
||||
@ -76,22 +77,22 @@ Config_RobotParam_t robot_config = {
|
||||
.range=-1.0f,
|
||||
},
|
||||
.trig_3508 = {
|
||||
.k=0.0f,
|
||||
.p=0.0f,
|
||||
.i=0.0f,
|
||||
.d=0.00f,
|
||||
.i_limit=0.0f,
|
||||
.out_limit=0.0f,
|
||||
.k=0.5f,
|
||||
.p=1.8f,
|
||||
.i=0.3f,
|
||||
.d=0.1f,
|
||||
.i_limit=0.15f,
|
||||
.out_limit=1.0f,
|
||||
.d_cutoff_freq=-1.0f,
|
||||
.range=M_2PI,
|
||||
},
|
||||
.trig_omg_3508 = {
|
||||
.k=0.0f,
|
||||
.p=0.0f,
|
||||
.k=1.0f,
|
||||
.p=1.0f,
|
||||
.i=0.0f,
|
||||
.d=0.0f,
|
||||
.i_limit=0.0f,
|
||||
.out_limit=0.0f,
|
||||
.out_limit=1.0f,
|
||||
.d_cutoff_freq=-1.0f,
|
||||
.range=-1.0f,
|
||||
},
|
||||
@ -118,40 +119,40 @@ Config_RobotParam_t* Config_GetRobotParam(void) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 初始化机器人配置参数
|
||||
* @brief 初始化发射部分配置参数
|
||||
* @return 初始化结果
|
||||
*/
|
||||
int8_t Config_ShootInit(void) {
|
||||
int fric_num = robot_config.shoot_param.fric_num;
|
||||
int num_multilevel = robot_config.shoot_param.num_multilevel;
|
||||
|
||||
robot_config.shoot_param.fric_motor_param = (Shoot_MOTOR_RM_Param_t *)BSP_Malloc(fric_num * sizeof(Shoot_MOTOR_RM_Param_t));
|
||||
if (robot_config.shoot_param.fric_motor_param == NULL) {
|
||||
BSP_Free(robot_config.shoot_param.fric_motor_param);
|
||||
return -1; // 内存分配失败
|
||||
}
|
||||
robot_config.shoot_param.ratio_multilevel = (float *)BSP_Malloc(num_multilevel * sizeof(float));
|
||||
if (robot_config.shoot_param.ratio_multilevel == NULL) {
|
||||
BSP_Free(robot_config.shoot_param.ratio_multilevel);
|
||||
return -1; // 内存分配失败
|
||||
}
|
||||
// 初始化摩擦轮参数
|
||||
/* 初始化摩擦轮电机参数 */
|
||||
for (uint8_t i = 0; i < fric_num; i++) {
|
||||
robot_config.shoot_param.fric_motor_param[i].param = (MOTOR_RM_Param_t){
|
||||
.can = BSP_CAN_2,
|
||||
.id = 0x201 + i,
|
||||
.module = MOTOR_M3508,
|
||||
.reverse = (i == 0||1) ? true : false,
|
||||
/*设置电机反装;example***********************
|
||||
.reverse = (i == 0||1||3||5) ? true : false,*/
|
||||
.reverse = (i == 0) ? true : false,
|
||||
.gear = false,
|
||||
};
|
||||
}
|
||||
/*规定电机属于哪级发射;example************************
|
||||
robot_config.shoot_param.fric_motor_param[0].level=1;*/
|
||||
robot_config.shoot_param.fric_motor_param[0].level=1;
|
||||
robot_config.shoot_param.fric_motor_param[1].level=1;
|
||||
if(num_multilevel==1){
|
||||
/*规定各级摩擦轮转速比;example*********************
|
||||
robot_config.shoot_param.ratio_multilevel[0]=1.0f;*/
|
||||
robot_config.shoot_param.ratio_multilevel[0]=1.0f;
|
||||
}
|
||||
else if(num_multilevel>1){
|
||||
robot_config.shoot_param.ratio_multilevel[0]=1.0f;
|
||||
robot_config.shoot_param.ratio_multilevel[1]=1.1f;
|
||||
}
|
||||
|
||||
return SHOOT_OK;
|
||||
}
|
||||
@ -2,30 +2,48 @@
|
||||
* far♂蛇模块
|
||||
*/
|
||||
|
||||
/********************************* 使用示例 **********************************/
|
||||
/*1.配置config参数以及Config_ShootInit函数参数*/
|
||||
/*2.
|
||||
COMP_AT9S_CMD_t shoot_ctrl_cmd_rc;
|
||||
Shoot_t shoot;
|
||||
Shoot_CMD_t shoot_cmd;
|
||||
|
||||
void Task(void *argument) {
|
||||
|
||||
Config_ShootInit();
|
||||
Shoot_Init(&shoot,&Config_GetRobotParam()->shoot_param,SHOOT_CTRL_FREQ);
|
||||
Shoot_SetMode(&shoot,SHOOT_MODE_SINGLE); 初始化一个模式
|
||||
|
||||
while (1) {
|
||||
|
||||
shoot_cmd.online =shoot_ctrl_cmd_rc.online;
|
||||
shoot_cmd.ready =shoot_ctrl_cmd_rc.shoot.ready;
|
||||
shoot_cmd.firecmd =shoot_ctrl_cmd_rc.shoot.firecmd;
|
||||
|
||||
shoot.mode =shoot_ctrl_cmd_rc.mode; 或者用遥控器随时切换模式;二选一
|
||||
|
||||
Chassis_UpdateFeedback(&shoot);
|
||||
Shoot_Control(&shoot,&shoot_cmd);
|
||||
}
|
||||
}
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
/* Includes ----------------------------------------------------------------- */
|
||||
#include "shoot_control.h"
|
||||
#include <string.h>
|
||||
#include "can.h"
|
||||
#include "component/filter.h"
|
||||
#include "component/user_math.h"
|
||||
#include <math.h>
|
||||
#include "shoot_control.h"
|
||||
#include "bsp/mm.h"
|
||||
#include "bsp/time.h"
|
||||
|
||||
#include "component/filter.h"
|
||||
#include "component/user_math.h"
|
||||
/* Private typedef ---------------------------------------------------------- */
|
||||
/* Private define ----------------------------------------------------------- */
|
||||
#define WONDERFUL_COMPENSATION_FORHERO 0.010478f//给英雄做的补偿
|
||||
/* Private macro ------------------------------------------------------------ */
|
||||
/* Private variables -------------------------------------------------------- */
|
||||
static bool last_firecmd;
|
||||
/* Private function -------------------------------------------------------- */
|
||||
static inline void ScaleSumTo1(float *a, float *b) {
|
||||
float sum = *a + *b;
|
||||
if (sum > 1.0f) {
|
||||
float scale = 1.0f / sum;
|
||||
*a *= scale;
|
||||
*b *= scale;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief 设置射击模式
|
||||
@ -134,7 +152,15 @@ int8_t Shoot_CaluTargetRPM(Shoot_t *s, float target_speed)
|
||||
if (s == NULL) {
|
||||
return SHOOT_ERR_NULL; // 参数错误
|
||||
}
|
||||
s->target_variable.target_rpm=4000.0f/MAX_FRIC_RPM;
|
||||
switch(s->param->proj)
|
||||
{
|
||||
case SHOOT_PROJECTILE_17MM:
|
||||
s->target_variable.target_rpm=5000.0f/MAX_FRIC_RPM;
|
||||
break;
|
||||
case SHOOT_PROJECTILE_42MM:
|
||||
s->target_variable.target_rpm=5000.0f/MAX_FRIC_RPM;
|
||||
break;
|
||||
}
|
||||
return SHOOT_OK;
|
||||
}
|
||||
|
||||
@ -158,6 +184,8 @@ int8_t Shoot_CaluTargetAngle(Shoot_t *s, Shoot_CMD_t *cmd)
|
||||
{
|
||||
s->anglecalu.time_last_shoot=s->now;
|
||||
CircleAdd(&s->target_variable.target_angle, M_2PI/s->param->num_trig_tooth, M_2PI);
|
||||
if(s->param->trig_motor_param.module==MOTOR_M3508){
|
||||
s->target_variable.target_angle+=WONDERFUL_COMPENSATION_FORHERO;}
|
||||
s->anglecalu.num_to_shoot--;
|
||||
}
|
||||
return SHOOT_OK;
|
||||
@ -199,8 +227,11 @@ int8_t Chassis_UpdateFeedback(Shoot_t *s)
|
||||
MOTOR_RM_Update(&s->param->trig_motor_param);
|
||||
s->feedback.trig = *MOTOR_RM_GetMotor(&s->param->trig_motor_param);
|
||||
s->feedback.trig_agl=s->param->extra_deceleration_ratio*s->feedback.trig.gearbox_total_angle;
|
||||
while(s->feedback.trig_agl>M_2PI)s->feedback.trig_agl-=M_2PI;
|
||||
while(s->feedback.trig_agl<-M_2PI)s->feedback.trig_agl+=M_2PI;
|
||||
while(s->feedback.trig_agl<0)s->feedback.trig_agl+=M_2PI;
|
||||
while(s->feedback.trig_agl>=M_2PI)s->feedback.trig_agl-=M_2PI;
|
||||
if (s->feedback.trig.motor.reverse) {
|
||||
s->feedback.trig_agl = M_2PI - s->feedback.trig_agl;
|
||||
}
|
||||
s->feedback.fil_trig_rpm = LowPassFilter2p_Apply(&s->filter.trig.in, s->feedback.trig.feedback.rotor_speed);
|
||||
s->feedback.trig_rpm = s->feedback.trig.feedback.rotor_speed / MAX_TRIG_RPM;
|
||||
if(s->feedback.trig_rpm>1.0f)s->feedback.trig_rpm=1.0f;
|
||||
@ -402,7 +433,7 @@ int8_t Shoot_JamDetectionFSM(Shoot_t *s, Shoot_CMD_t *cmd)
|
||||
if (s == NULL) {
|
||||
return SHOOT_ERR_NULL; // 参数错误
|
||||
}
|
||||
|
||||
if(s->param->jam_enable){
|
||||
switch (s->jamdetection.jamfsm_state) {
|
||||
case SHOOT_JAMFSM_STATE_NORMAL:/* 正常运行 */
|
||||
/* 检测电流是否超过阈值 */
|
||||
@ -434,7 +465,7 @@ int8_t Shoot_JamDetectionFSM(Shoot_t *s, Shoot_CMD_t *cmd)
|
||||
/* 清空待发射弹 */
|
||||
s->anglecalu.num_to_shoot=0;
|
||||
/* 修改拨弹盘目标角度 */
|
||||
s->target_variable.target_angle = s->feedback.trig_agl-(0.5f*M_2PI/s->param->num_trig_tooth);
|
||||
s->target_variable.target_angle = s->feedback.trig_agl-(M_2PI/s->param->num_trig_tooth);
|
||||
/* 切换状态 */
|
||||
s->jamdetection.jamfsm_state = SHOOT_JAMFSM_STATE_DEAL;
|
||||
/* 记录处理开始时间 */
|
||||
@ -453,6 +484,12 @@ int8_t Shoot_JamDetectionFSM(Shoot_t *s, Shoot_CMD_t *cmd)
|
||||
s->jamdetection.jamfsm_state = SHOOT_JAMFSM_STATE_NORMAL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else{
|
||||
s->jamdetection.jamfsm_state = SHOOT_JAMFSM_STATE_NORMAL;
|
||||
s->jamdetection.jam_detected = false;
|
||||
Shoot_RunningFSM(s, cmd);
|
||||
}
|
||||
|
||||
return SHOOT_OK;
|
||||
}
|
||||
@ -472,10 +509,12 @@ int8_t Shoot_Init(Shoot_t *s, Shoot_Params_t *param, float target_freq)
|
||||
return SHOOT_ERR_NULL; // 参数错误
|
||||
}
|
||||
uint8_t fric_num = param->fric_num;
|
||||
|
||||
/* 分配内存 */
|
||||
s->param=param;
|
||||
s->feedback.fric = (MOTOR_Feedback_t *) BSP_Malloc((size_t)fric_num * sizeof(MOTOR_Feedback_t));
|
||||
s->feedback.fil_fric_rpm = (float *) BSP_Malloc((size_t)fric_num * sizeof(float));
|
||||
s->feedback.fric_rpm = (float *) BSP_Malloc((size_t)fric_num * sizeof(float));
|
||||
s->feedback.fric = (MOTOR_Feedback_t *) BSP_Malloc(fric_num * sizeof(MOTOR_Feedback_t));
|
||||
s->feedback.fil_fric_rpm = (float *) BSP_Malloc(fric_num * sizeof(float));
|
||||
s->feedback.fric_rpm = (float *) BSP_Malloc(fric_num * sizeof(float));
|
||||
s->output.out_follow = (float *) BSP_Malloc(fric_num * sizeof(float));
|
||||
s->output.out_err = (float *) BSP_Malloc(fric_num * sizeof(float));
|
||||
s->output.out_fric = (float *) BSP_Malloc(fric_num * sizeof(float));
|
||||
@ -485,13 +524,24 @@ int8_t Shoot_Init(Shoot_t *s, Shoot_Params_t *param, float target_freq)
|
||||
s->filter.fric.in = (LowPassFilter2p_t *)BSP_Malloc(fric_num * sizeof(LowPassFilter2p_t));
|
||||
s->filter.fric.out = (LowPassFilter2p_t *)BSP_Malloc(fric_num * sizeof(LowPassFilter2p_t));
|
||||
|
||||
/* 内存分配失败 */
|
||||
if (s->feedback.fric == NULL || s->feedback.fil_fric_rpm == NULL || s->feedback.fric_rpm == NULL ||
|
||||
s->output.out_follow == NULL || s->output.out_err == NULL || s->output.out_fric == NULL ||
|
||||
s->output.lpfout_fric == NULL || s->param->fric_motor_param == NULL || s->pid.fric_follow == NULL ||
|
||||
s->pid.fric_err == NULL || s->filter.fric.in == NULL || s->filter.fric.out == NULL) {
|
||||
return SHOOT_ERR_MALLOC;}/* 内存分配失败 */
|
||||
|
||||
|
||||
BSP_Free(s->feedback.fric);
|
||||
BSP_Free(s->feedback.fil_fric_rpm);
|
||||
BSP_Free(s->feedback.fric_rpm);
|
||||
BSP_Free(s->output.out_follow);
|
||||
BSP_Free(s->output.out_err);
|
||||
BSP_Free(s->output.out_fric);
|
||||
BSP_Free(s->output.lpfout_fric);
|
||||
BSP_Free(s->param->fric_motor_param);
|
||||
BSP_Free(s->pid.fric_follow);
|
||||
BSP_Free(s->pid.fric_err);
|
||||
BSP_Free(s->filter.fric.in);
|
||||
BSP_Free(s->filter.fric.out);
|
||||
return SHOOT_ERR_MALLOC;}
|
||||
|
||||
BSP_CAN_Init();
|
||||
/* 初始化摩擦轮PID和滤波器 */
|
||||
@ -541,11 +591,10 @@ int8_t Shoot_Control(Shoot_t *s, Shoot_CMD_t *cmd)
|
||||
if (s == NULL || cmd == NULL) {
|
||||
return SHOOT_ERR_NULL; // 参数错误
|
||||
}
|
||||
s->now = BSP_TIME_Get_us() / 1000000.0f;
|
||||
s->dt = (BSP_TIME_Get_us() - s->lask_wakeup) / 1000000.0f;
|
||||
s->lask_wakeup = BSP_TIME_Get_us();
|
||||
s->online = cmd->online;
|
||||
//电机在线检测函数
|
||||
s->now =BSP_TIME_Get_us() / 1000000.0f;
|
||||
s->dt =(BSP_TIME_Get_us() - s->lask_wakeup) / 1000000.0f;
|
||||
s->lask_wakeup =BSP_TIME_Get_us();
|
||||
s->online =cmd->online;
|
||||
Shoot_JamDetectionFSM(s, cmd);
|
||||
return SHOOT_OK;
|
||||
}
|
||||
|
||||
@ -31,26 +31,31 @@ typedef enum {
|
||||
SHOOT_JAMFSM_STATE_SUSPECTED, /* 怀疑状态 */
|
||||
SHOOT_JAMFSM_STATE_CONFIRMED, /* 确认状态 */
|
||||
SHOOT_JAMFSM_STATE_DEAL /* 处理状态 */
|
||||
} Shoot_JamDetectionFSM_State_t;
|
||||
}Shoot_JamDetectionFSM_State_t;
|
||||
typedef enum {
|
||||
SHOOT_STATE_IDLE = 0, /* 熄火 */
|
||||
SHOOT_STATE_READY, /* 准备射击 */
|
||||
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_t;
|
||||
typedef struct {
|
||||
bool online;
|
||||
}Shoot_Mode_t;
|
||||
|
||||
typedef enum {
|
||||
SHOOT_PROJECTILE_17MM,
|
||||
SHOOT_PROJECTILE_42MM,
|
||||
}Shoot_Projectile_t;
|
||||
|
||||
typedef struct {
|
||||
bool online; /* 遥控器在线 */
|
||||
bool mode; /* 射击模式 */
|
||||
bool ready; /* 准备射击 */
|
||||
bool firecmd; /* 射击指令 */
|
||||
|
||||
} Shoot_CMD_t;
|
||||
}Shoot_CMD_t;
|
||||
|
||||
typedef struct{
|
||||
MOTOR_RM_Param_t param;
|
||||
@ -98,6 +103,7 @@ typedef struct {
|
||||
|
||||
/* 底盘参数的结构体,包含所有初始化用的参数,通常是const,存好几组 */
|
||||
typedef struct {
|
||||
Shoot_Projectile_t proj;
|
||||
size_t fric_num; /* 摩擦轮数量 */
|
||||
|
||||
float extra_deceleration_ratio; /*电机出轴到拨盘的额外减速比;没有写1*/
|
||||
@ -109,7 +115,7 @@ typedef struct {
|
||||
float *ratio_multilevel; /* 多级发射各级速度比例 */
|
||||
|
||||
bool jam_enable; /* 是否启用卡弹检测 */ //还没加到逻辑里
|
||||
float jam_threshold; /* 卡弹检测阈值,单位A (dji2006建议设置为120A,dji3508建议设置为300A,根据实际测试调整)*/
|
||||
float jam_threshold; /* 卡弹检测阈值,单位A (dji2006建议设置为120A,dji3508建议设置为235A,根据实际测试调整)*/
|
||||
float jam_suspected_time; /* 卡弹怀疑时间,单位秒 */
|
||||
|
||||
Shoot_MOTOR_RM_Param_t *fric_motor_param;
|
||||
@ -140,8 +146,7 @@ typedef struct {
|
||||
* 包含了初始化参数,中间变量,输出变量
|
||||
*/
|
||||
typedef struct {
|
||||
bool online;//待完善,电机或遥控器在线检测
|
||||
|
||||
bool online; /*在线检测*/
|
||||
float now; /* 当前时间,单位秒 */
|
||||
uint64_t lask_wakeup; /* 上次唤醒时间,单位微秒 */
|
||||
float dt; /* 两次唤醒间隔时间,单位秒 */
|
||||
|
||||
@ -19,8 +19,6 @@ COMP_AT9S_CMD_t shoot_ctrl_cmd_rc;
|
||||
Shoot_t shoot;
|
||||
Shoot_CMD_t shoot_cmd;
|
||||
/* USER STRUCT BEGIN */
|
||||
float a[2];
|
||||
Shoot_MOTOR_RM_Param_t b[6];
|
||||
/* USER STRUCT END */
|
||||
|
||||
/* Private function --------------------------------------------------------- */
|
||||
@ -39,13 +37,6 @@ void Task_shoot_ctrl(void *argument) {
|
||||
Config_ShootInit();
|
||||
Shoot_Init(&shoot,&Config_GetRobotParam()->shoot_param,SHOOT_CTRL_FREQ);
|
||||
Shoot_SetMode(&shoot,SHOOT_MODE_BURST);
|
||||
|
||||
for(int i=0;i<2;i++){
|
||||
a[i]=shoot.param->ratio_multilevel[i];
|
||||
}
|
||||
for(int i=0;i<6;i++){
|
||||
b[i]=shoot.param->fric_motor_param[i];
|
||||
}
|
||||
/* USER CODE INIT END */
|
||||
|
||||
while (1) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user