generated from Template/H563ZI-HAL-CMake-Template
	Compare commits
	
		
			5 Commits
		
	
	
		
			4d36d07b2c
			...
			madao
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a9884051f8 | |||
| a635b6d5eb | |||
| 0361cd17af | |||
| a6ebf4b8a5 | |||
| 69d790d5e2 | 
| @@ -34,10 +34,11 @@ Mcu.IP10=TIM1 | |||||||
| Mcu.IP11=TIM2 | Mcu.IP11=TIM2 | ||||||
| Mcu.IP12=TIM3 | Mcu.IP12=TIM3 | ||||||
| Mcu.IP13=TIM4 | Mcu.IP13=TIM4 | ||||||
| Mcu.IP14=TIM8 | Mcu.IP14=TIM5 | ||||||
| Mcu.IP15=UART4 | Mcu.IP15=TIM8 | ||||||
| Mcu.IP16=USART2 | Mcu.IP16=UART4 | ||||||
| Mcu.IP17=USART3 | Mcu.IP17=USART2 | ||||||
|  | Mcu.IP18=USART3 | ||||||
| Mcu.IP2=DEBUG | Mcu.IP2=DEBUG | ||||||
| Mcu.IP3=GPDMA1 | Mcu.IP3=GPDMA1 | ||||||
| Mcu.IP4=MEMORYMAP | Mcu.IP4=MEMORYMAP | ||||||
| @@ -46,15 +47,15 @@ Mcu.IP6=PWR | |||||||
| Mcu.IP7=RCC | Mcu.IP7=RCC | ||||||
| Mcu.IP8=SYS | Mcu.IP8=SYS | ||||||
| Mcu.IP9=THREADX | Mcu.IP9=THREADX | ||||||
| Mcu.IPNb=18 | Mcu.IPNb=19 | ||||||
| Mcu.Name=STM32H563ZITx | Mcu.Name=STM32H563ZITx | ||||||
| Mcu.Package=LQFP144 | Mcu.Package=LQFP144 | ||||||
| Mcu.Pin0=PH0-OSC_IN(PH0) | Mcu.Pin0=PH0-OSC_IN(PH0) | ||||||
| Mcu.Pin1=PH1-OSC_OUT(PH1) | Mcu.Pin1=PH1-OSC_OUT(PH1) | ||||||
| Mcu.Pin10=PG3 | Mcu.Pin10=PG2 | ||||||
| Mcu.Pin11=PC6 | Mcu.Pin11=PG3 | ||||||
| Mcu.Pin12=PC7 | Mcu.Pin12=PC6 | ||||||
| Mcu.Pin13=PC8 | Mcu.Pin13=PC7 | ||||||
| Mcu.Pin14=PC9 | Mcu.Pin14=PC9 | ||||||
| Mcu.Pin15=PA13(JTMS/SWDIO) | Mcu.Pin15=PA13(JTMS/SWDIO) | ||||||
| Mcu.Pin16=PA14(JTCK/SWCLK) | Mcu.Pin16=PA14(JTCK/SWCLK) | ||||||
| @@ -72,21 +73,22 @@ Mcu.Pin26=VP_GPDMA1_VS_GPDMACH4 | |||||||
| Mcu.Pin27=VP_GPDMA1_VS_GPDMACH5 | Mcu.Pin27=VP_GPDMA1_VS_GPDMACH5 | ||||||
| Mcu.Pin28=VP_PWR_VS_SECSignals | Mcu.Pin28=VP_PWR_VS_SECSignals | ||||||
| Mcu.Pin29=VP_PWR_VS_LPOM | Mcu.Pin29=VP_PWR_VS_LPOM | ||||||
| Mcu.Pin3=PB1 | Mcu.Pin3=PA0 | ||||||
| Mcu.Pin30=VP_SYS_VS_tim6 | Mcu.Pin30=VP_SYS_VS_tim6 | ||||||
| Mcu.Pin31=VP_THREADX_VS_RTOSJjThreadXJjCoreJjDefault | Mcu.Pin31=VP_THREADX_VS_RTOSJjThreadXJjCoreJjDefault | ||||||
| Mcu.Pin32=VP_TIM2_VS_ClockSourceINT | Mcu.Pin32=VP_TIM2_VS_ClockSourceINT | ||||||
| Mcu.Pin33=VP_TIM3_VS_ClockSourceINT | Mcu.Pin33=VP_TIM3_VS_ClockSourceINT | ||||||
| Mcu.Pin34=VP_TIM4_VS_ClockSourceINT | Mcu.Pin34=VP_TIM4_VS_ClockSourceINT | ||||||
| Mcu.Pin35=VP_BOOTPATH_VS_BOOTPATH | Mcu.Pin35=VP_TIM5_VS_ClockSourceINT | ||||||
| Mcu.Pin36=VP_MEMORYMAP_VS_MEMORYMAP | Mcu.Pin36=VP_BOOTPATH_VS_BOOTPATH | ||||||
| Mcu.Pin4=PG0 | Mcu.Pin37=VP_MEMORYMAP_VS_MEMORYMAP | ||||||
| Mcu.Pin5=PG1 | Mcu.Pin4=PB1 | ||||||
| Mcu.Pin6=PE9 | Mcu.Pin5=PG0 | ||||||
| Mcu.Pin7=PE11 | Mcu.Pin6=PG1 | ||||||
| Mcu.Pin8=PB10 | Mcu.Pin7=PE9 | ||||||
| Mcu.Pin9=PG2 | Mcu.Pin8=PE11 | ||||||
| Mcu.PinsNb=37 | Mcu.Pin9=PB10 | ||||||
|  | Mcu.PinsNb=38 | ||||||
| Mcu.ThirdPartyNb=0 | Mcu.ThirdPartyNb=0 | ||||||
| Mcu.UserConstants= | Mcu.UserConstants= | ||||||
| Mcu.UserName=STM32H563ZITx | Mcu.UserName=STM32H563ZITx | ||||||
| @@ -110,6 +112,7 @@ NVIC.SavedSystickIrqHandlerGenerated=true | |||||||
| NVIC.SysTick_IRQn=true\:14\:0\:false\:false\:false\:false\:false\:true\:false | NVIC.SysTick_IRQn=true\:14\:0\:false\:false\:false\:false\:false\:true\:false | ||||||
| NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | ||||||
| NVIC.TIM3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | NVIC.TIM3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | ||||||
|  | NVIC.TIM5_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | ||||||
| NVIC.TIM6_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true | NVIC.TIM6_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true | ||||||
| NVIC.TimeBase=TIM6_IRQn | NVIC.TimeBase=TIM6_IRQn | ||||||
| NVIC.TimeBaseIP=TIM6 | NVIC.TimeBaseIP=TIM6 | ||||||
| @@ -117,6 +120,9 @@ NVIC.UART4_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | |||||||
| NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | ||||||
| NVIC.USART3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | NVIC.USART3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true | ||||||
| NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false | NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false | ||||||
|  | PA0.GPIOParameters=GPIO_Label | ||||||
|  | PA0.GPIO_Label=HC_Echo | ||||||
|  | PA0.Signal=S_TIM5_CH1 | ||||||
| PA13(JTMS/SWDIO).Mode=Serial_Wire | PA13(JTMS/SWDIO).Mode=Serial_Wire | ||||||
| PA13(JTMS/SWDIO).Signal=DEBUG_JTMS-SWDIO | PA13(JTMS/SWDIO).Signal=DEBUG_JTMS-SWDIO | ||||||
| PA14(JTCK/SWCLK).Mode=Serial_Wire | PA14(JTCK/SWCLK).Mode=Serial_Wire | ||||||
| @@ -146,18 +152,16 @@ PC2.GPIOParameters=GPIO_Label | |||||||
| PC2.GPIO_Label=PWMA | PC2.GPIO_Label=PWMA | ||||||
| PC2.Locked=true | PC2.Locked=true | ||||||
| PC2.Signal=S_TIM4_CH4 | PC2.Signal=S_TIM4_CH4 | ||||||
| PC6.GPIOParameters=GPIO_Label | PC6.GPIOParameters=GPIO_PuPd,GPIO_Label | ||||||
| PC6.GPIO_Label=E2A | PC6.GPIO_Label=E2A | ||||||
|  | PC6.GPIO_PuPd=GPIO_PULLUP | ||||||
| PC6.Locked=true | PC6.Locked=true | ||||||
| PC6.Signal=S_TIM8_CH1 | PC6.Signal=S_TIM8_CH1 | ||||||
| PC7.GPIOParameters=GPIO_Label | PC7.GPIOParameters=GPIO_PuPd,GPIO_Label | ||||||
| PC7.GPIO_Label=E2B | PC7.GPIO_Label=E2B | ||||||
|  | PC7.GPIO_PuPd=GPIO_PULLUP | ||||||
| PC7.Locked=true | PC7.Locked=true | ||||||
| PC7.Signal=S_TIM8_CH2 | PC7.Signal=S_TIM8_CH2 | ||||||
| PC8.GPIOParameters=GPIO_Label |  | ||||||
| PC8.GPIO_Label=HC_Echo |  | ||||||
| PC8.Locked=true |  | ||||||
| PC8.Signal=S_TIM3_CH3 |  | ||||||
| PC9.GPIOParameters=GPIO_PuPd,GPIO_Label | PC9.GPIOParameters=GPIO_PuPd,GPIO_Label | ||||||
| PC9.GPIO_Label=HC_Trig | PC9.GPIO_Label=HC_Trig | ||||||
| PC9.GPIO_PuPd=GPIO_NOPULL | PC9.GPIO_PuPd=GPIO_NOPULL | ||||||
| @@ -174,12 +178,14 @@ PD5.Signal=USART2_TX | |||||||
| PD6.Locked=true | PD6.Locked=true | ||||||
| PD6.Mode=Asynchronous | PD6.Mode=Asynchronous | ||||||
| PD6.Signal=USART2_RX | PD6.Signal=USART2_RX | ||||||
| PE11.GPIOParameters=GPIO_Label | PE11.GPIOParameters=GPIO_PuPd,GPIO_Label | ||||||
| PE11.GPIO_Label=E1B | PE11.GPIO_Label=E1B | ||||||
|  | PE11.GPIO_PuPd=GPIO_PULLUP | ||||||
| PE11.Locked=true | PE11.Locked=true | ||||||
| PE11.Signal=S_TIM1_CH2 | PE11.Signal=S_TIM1_CH2 | ||||||
| PE9.GPIOParameters=GPIO_Label | PE9.GPIOParameters=GPIO_PuPd,GPIO_Label | ||||||
| PE9.GPIO_Label=E1A | PE9.GPIO_Label=E1A | ||||||
|  | PE9.GPIO_PuPd=GPIO_PULLUP | ||||||
| PE9.Locked=true | PE9.Locked=true | ||||||
| PE9.Signal=S_TIM1_CH1 | PE9.Signal=S_TIM1_CH1 | ||||||
| PG0.GPIOParameters=GPIO_Label | PG0.GPIOParameters=GPIO_Label | ||||||
| @@ -324,12 +330,12 @@ SH.S_TIM1_CH1.0=TIM1_CH1,Encoder_Interface | |||||||
| SH.S_TIM1_CH1.ConfNb=1 | SH.S_TIM1_CH1.ConfNb=1 | ||||||
| SH.S_TIM1_CH2.0=TIM1_CH2,Encoder_Interface | SH.S_TIM1_CH2.0=TIM1_CH2,Encoder_Interface | ||||||
| SH.S_TIM1_CH2.ConfNb=1 | SH.S_TIM1_CH2.ConfNb=1 | ||||||
| SH.S_TIM3_CH3.0=TIM3_CH3,Input_Capture3_from_TI3 |  | ||||||
| SH.S_TIM3_CH3.ConfNb=1 |  | ||||||
| SH.S_TIM3_CH4.0=TIM3_CH4,PWM Generation4 CH4 | SH.S_TIM3_CH4.0=TIM3_CH4,PWM Generation4 CH4 | ||||||
| SH.S_TIM3_CH4.ConfNb=1 | SH.S_TIM3_CH4.ConfNb=1 | ||||||
| SH.S_TIM4_CH4.0=TIM4_CH4,PWM Generation4 CH4 | SH.S_TIM4_CH4.0=TIM4_CH4,PWM Generation4 CH4 | ||||||
| SH.S_TIM4_CH4.ConfNb=1 | SH.S_TIM4_CH4.ConfNb=1 | ||||||
|  | SH.S_TIM5_CH1.0=TIM5_CH1,Input_Capture1_from_TI1 | ||||||
|  | SH.S_TIM5_CH1.ConfNb=1 | ||||||
| SH.S_TIM8_CH1.0=TIM8_CH1,Encoder_Interface | SH.S_TIM8_CH1.0=TIM8_CH1,Encoder_Interface | ||||||
| SH.S_TIM8_CH1.ConfNb=1 | SH.S_TIM8_CH1.ConfNb=1 | ||||||
| SH.S_TIM8_CH2.0=TIM8_CH2,Encoder_Interface | SH.S_TIM8_CH2.0=TIM8_CH2,Encoder_Interface | ||||||
| @@ -337,17 +343,23 @@ SH.S_TIM8_CH2.ConfNb=1 | |||||||
| THREADX.IPParameters=TX_APP_GENERATE_INIT_CODE,TX_MINIMUM_STACK | THREADX.IPParameters=TX_APP_GENERATE_INIT_CODE,TX_MINIMUM_STACK | ||||||
| THREADX.TX_APP_GENERATE_INIT_CODE=false | THREADX.TX_APP_GENERATE_INIT_CODE=false | ||||||
| THREADX.TX_MINIMUM_STACK=400 | THREADX.TX_MINIMUM_STACK=400 | ||||||
|  | TIM1.EncoderMode=TIM_ENCODERMODE_TI12 | ||||||
|  | TIM1.IPParameters=EncoderMode | ||||||
| TIM2.IPParameters=Prescaler | TIM2.IPParameters=Prescaler | ||||||
| TIM2.Prescaler=250 - 1 | TIM2.Prescaler=250 - 1 | ||||||
| TIM3.Channel-Input_Capture3_from_TI3=TIM_CHANNEL_3 |  | ||||||
| TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4 | TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4 | ||||||
| TIM3.IPParameters=Prescaler,Channel-PWM Generation4 CH4,Channel-Input_Capture3_from_TI3,PeriodNoDither | TIM3.IPParameters=Prescaler,Channel-PWM Generation4 CH4,PeriodNoDither | ||||||
| TIM3.PeriodNoDither=255 | TIM3.PeriodNoDither=255 | ||||||
| TIM3.Prescaler=48 | TIM3.Prescaler=48 | ||||||
| TIM4.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4 | TIM4.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4 | ||||||
| TIM4.IPParameters=Channel-PWM Generation4 CH4,Prescaler,PeriodNoDither | TIM4.IPParameters=Channel-PWM Generation4 CH4,Prescaler,PeriodNoDither | ||||||
| TIM4.PeriodNoDither=255 | TIM4.PeriodNoDither=255 | ||||||
| TIM4.Prescaler=48 | TIM4.Prescaler=48 | ||||||
|  | TIM5.Channel-Input_Capture1_from_TI1=TIM_CHANNEL_1 | ||||||
|  | TIM5.IPParameters=Channel-Input_Capture1_from_TI1,Prescaler | ||||||
|  | TIM5.Prescaler=250-1 | ||||||
|  | TIM8.EncoderMode=TIM_ENCODERMODE_TI12 | ||||||
|  | TIM8.IPParameters=EncoderMode | ||||||
| UART4.BaudRate=9600 | UART4.BaudRate=9600 | ||||||
| UART4.IPParameters=BaudRate | UART4.IPParameters=BaudRate | ||||||
| USART2.BaudRate=9600 | USART2.BaudRate=9600 | ||||||
| @@ -382,4 +394,6 @@ VP_TIM3_VS_ClockSourceINT.Mode=Internal | |||||||
| VP_TIM3_VS_ClockSourceINT.Signal=TIM3_VS_ClockSourceINT | VP_TIM3_VS_ClockSourceINT.Signal=TIM3_VS_ClockSourceINT | ||||||
| VP_TIM4_VS_ClockSourceINT.Mode=Internal | VP_TIM4_VS_ClockSourceINT.Mode=Internal | ||||||
| VP_TIM4_VS_ClockSourceINT.Signal=TIM4_VS_ClockSourceINT | VP_TIM4_VS_ClockSourceINT.Signal=TIM4_VS_ClockSourceINT | ||||||
|  | VP_TIM5_VS_ClockSourceINT.Mode=Internal | ||||||
|  | VP_TIM5_VS_ClockSourceINT.Signal=TIM5_VS_ClockSourceINT | ||||||
| board=custom | board=custom | ||||||
|   | |||||||
| @@ -58,6 +58,7 @@ extern "C" { | |||||||
| extern TX_QUEUE ble_tx_queue; | extern TX_QUEUE ble_tx_queue; | ||||||
| extern TX_EVENT_FLAGS_GROUP system_events; | extern TX_EVENT_FLAGS_GROUP system_events; | ||||||
| extern TX_EVENT_FLAGS_GROUP sensor_events; //传感器事件组 | extern TX_EVENT_FLAGS_GROUP sensor_events; //传感器事件组 | ||||||
|  | extern TX_EVENT_FLAGS_GROUP response_events; //避障 | ||||||
| //typedef struct | //typedef struct | ||||||
| //{ | //{ | ||||||
| ////	uint32_t msg_type;  // 应该使用 int --- 4字节 | ////	uint32_t msg_type;  // 应该使用 int --- 4字节 | ||||||
|   | |||||||
| @@ -59,6 +59,8 @@ void Error_Handler(void); | |||||||
| /* Private defines -----------------------------------------------------------*/ | /* Private defines -----------------------------------------------------------*/ | ||||||
| #define PWMA_Pin GPIO_PIN_2 | #define PWMA_Pin GPIO_PIN_2 | ||||||
| #define PWMA_GPIO_Port GPIOC | #define PWMA_GPIO_Port GPIOC | ||||||
|  | #define HC_Echo_Pin GPIO_PIN_0 | ||||||
|  | #define HC_Echo_GPIO_Port GPIOA | ||||||
| #define PWMB_Pin GPIO_PIN_1 | #define PWMB_Pin GPIO_PIN_1 | ||||||
| #define PWMB_GPIO_Port GPIOB | #define PWMB_GPIO_Port GPIOB | ||||||
| #define AIN1_Pin GPIO_PIN_0 | #define AIN1_Pin GPIO_PIN_0 | ||||||
| @@ -77,8 +79,6 @@ void Error_Handler(void); | |||||||
| #define E2A_GPIO_Port GPIOC | #define E2A_GPIO_Port GPIOC | ||||||
| #define E2B_Pin GPIO_PIN_7 | #define E2B_Pin GPIO_PIN_7 | ||||||
| #define E2B_GPIO_Port GPIOC | #define E2B_GPIO_Port GPIOC | ||||||
| #define HC_Echo_Pin GPIO_PIN_8 |  | ||||||
| #define HC_Echo_GPIO_Port GPIOC |  | ||||||
| #define HC_Trig_Pin GPIO_PIN_9 | #define HC_Trig_Pin GPIO_PIN_9 | ||||||
| #define HC_Trig_GPIO_Port GPIOC | #define HC_Trig_GPIO_Port GPIOC | ||||||
| #define Shake_Motor_Pin GPIO_PIN_12 | #define Shake_Motor_Pin GPIO_PIN_12 | ||||||
|   | |||||||
| @@ -57,6 +57,7 @@ void GPDMA1_Channel4_IRQHandler(void); | |||||||
| void GPDMA1_Channel5_IRQHandler(void); | void GPDMA1_Channel5_IRQHandler(void); | ||||||
| void TIM2_IRQHandler(void); | void TIM2_IRQHandler(void); | ||||||
| void TIM3_IRQHandler(void); | void TIM3_IRQHandler(void); | ||||||
|  | void TIM5_IRQHandler(void); | ||||||
| void TIM6_IRQHandler(void); | void TIM6_IRQHandler(void); | ||||||
| void USART2_IRQHandler(void); | void USART2_IRQHandler(void); | ||||||
| void USART3_IRQHandler(void); | void USART3_IRQHandler(void); | ||||||
|   | |||||||
| @@ -40,6 +40,8 @@ extern TIM_HandleTypeDef htim3; | |||||||
|  |  | ||||||
| extern TIM_HandleTypeDef htim4; | extern TIM_HandleTypeDef htim4; | ||||||
|  |  | ||||||
|  | extern TIM_HandleTypeDef htim5; | ||||||
|  |  | ||||||
| extern TIM_HandleTypeDef htim8; | extern TIM_HandleTypeDef htim8; | ||||||
|  |  | ||||||
| /* USER CODE BEGIN Private defines */ | /* USER CODE BEGIN Private defines */ | ||||||
| @@ -50,6 +52,7 @@ void MX_TIM1_Init(void); | |||||||
| void MX_TIM2_Init(void); | void MX_TIM2_Init(void); | ||||||
| void MX_TIM3_Init(void); | void MX_TIM3_Init(void); | ||||||
| void MX_TIM4_Init(void); | void MX_TIM4_Init(void); | ||||||
|  | void MX_TIM5_Init(void); | ||||||
| void MX_TIM8_Init(void); | void MX_TIM8_Init(void); | ||||||
|  |  | ||||||
| void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); | void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); | ||||||
|   | |||||||
| @@ -36,7 +36,7 @@ | |||||||
|  |  | ||||||
| // BLE define  | // BLE define  | ||||||
| #define BLE_RX_THREAD_STACK_SIZE 2048 | #define BLE_RX_THREAD_STACK_SIZE 2048 | ||||||
| #define BLE_RX_THREAD_PRIORITY    10 | #define BLE_RX_THREAD_PRIORITY    9 | ||||||
| #define BLE_TX_THREAD_STACK_SIZE 2048 | #define BLE_TX_THREAD_STACK_SIZE 2048 | ||||||
| #define BLE_TX_THREAD_PRIORITY    10 | #define BLE_TX_THREAD_PRIORITY    10 | ||||||
| // IMU thread config | // IMU thread config | ||||||
| @@ -59,6 +59,8 @@ | |||||||
|  |  | ||||||
| TX_EVENT_FLAGS_GROUP system_events; | TX_EVENT_FLAGS_GROUP system_events; | ||||||
| TX_EVENT_FLAGS_GROUP sensor_events; | TX_EVENT_FLAGS_GROUP sensor_events; | ||||||
|  | TX_EVENT_FLAGS_GROUP response_events; // 用于避障事件实现 | ||||||
|  |  | ||||||
| MotorCommand current_motor_cmd = {0,0}; | MotorCommand current_motor_cmd = {0,0}; | ||||||
| _GPSData gps_data; | _GPSData gps_data; | ||||||
|  |  | ||||||
| @@ -89,7 +91,18 @@ TX_QUEUE im948_uart_rx_queue; | |||||||
|  |  | ||||||
| /* Private function prototypes -----------------------------------------------*/ | /* Private function prototypes -----------------------------------------------*/ | ||||||
| /* USER CODE BEGIN PFP */ | /* USER CODE BEGIN PFP */ | ||||||
|  | #define GPS_TASK_STACK_SIZE   2048 | ||||||
|  | #define GPS_TASK_PRIORITY     11 | ||||||
|  |  | ||||||
|  | TX_THREAD gps_task; | ||||||
|  | ULONG gps_task_stack[GPS_TASK_STACK_SIZE / sizeof(ULONG)]; | ||||||
|  |  | ||||||
|  | static TX_THREAD obstacle_thread; | ||||||
|  | static UCHAR obstacle_stack[512]; | ||||||
|  | //超声波 | ||||||
|  | static UCHAR ultrasonic_stack[512]; | ||||||
|  | static void obstacle_thread_entry(ULONG); | ||||||
|  | TX_THREAD ultrasonic_task_thread; | ||||||
|  |  | ||||||
| /* USER CODE END 1 */ | /* USER CODE END 1 */ | ||||||
| /* USER CODE END 1 */ | /* USER CODE END 1 */ | ||||||
| @@ -158,9 +171,66 @@ UINT App_ThreadX_Init(VOID *memory_ptr) | |||||||
|                                TX_1_ULONG, // sizeof(ULONG) bytes per entry |                                TX_1_ULONG, // sizeof(ULONG) bytes per entry | ||||||
|                                im948_rx_queue_buffer, |                                im948_rx_queue_buffer, | ||||||
|                                IM948_RX_QUEUE_SIZE * sizeof(ULONG)); |                                IM948_RX_QUEUE_SIZE * sizeof(ULONG)); | ||||||
|  | 	if(status != TX_SUCCESS) | ||||||
|  | 	{ | ||||||
|  | 		return status; | ||||||
|  | 	} | ||||||
| 	 | 	 | ||||||
|  | 	status = tx_thread_create(&gps_task, | ||||||
|  |                   "GPS Task", | ||||||
|  |                   gps_thread_entry, | ||||||
|  |                   0, | ||||||
|  |                   gps_task_stack, | ||||||
|  |                   GPS_TASK_STACK_SIZE, | ||||||
|  |                   GPS_TASK_PRIORITY, | ||||||
|  |                   GPS_TASK_PRIORITY, | ||||||
|  |                   TX_NO_TIME_SLICE, | ||||||
|  |                   TX_AUTO_START); | ||||||
| 	 | 	 | ||||||
|     HCBle_SendData("✅ BLE RX/TX 线程和队列初始化完成\r\n"); | 	if(status != TX_SUCCESS) | ||||||
|  | 	{ | ||||||
|  | 		return status; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	// obstacle_thread create | ||||||
|  | 	status = tx_thread_create(&obstacle_thread, | ||||||
|  | 							"obstacle", | ||||||
|  | 							obstacle_thread_entry, | ||||||
|  | 							0,obstacle_stack,sizeof(obstacle_stack),8,8,TX_NO_TIME_SLICE,TX_AUTO_START); | ||||||
|  | 	 | ||||||
|  | 	if(status != TX_SUCCESS) | ||||||
|  | 	{ | ||||||
|  | 		return status; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	 status = tx_thread_create(&ultrasonic_task_thread, | ||||||
|  |                      "Ultrasonic", | ||||||
|  |                      ultrasonic_task_entry, | ||||||
|  |                      0, | ||||||
|  |                      ultrasonic_stack, | ||||||
|  |                      sizeof(ultrasonic_stack), | ||||||
|  |                      7, 7,    // 这里的优先级 | ||||||
|  |                      TX_NO_TIME_SLICE, | ||||||
|  |                      TX_AUTO_START); | ||||||
|  | 		 | ||||||
|  | 		if(status != TX_SUCCESS) | ||||||
|  | 	{ | ||||||
|  | 		return status; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	// | ||||||
|  | //    HCBle_SendData("✅ BLE RX/TX 线程和队列初始化完成\r\n"); | ||||||
|  | 					  | ||||||
|  | //	status = ControlThreadCreate(); | ||||||
|  | //	if(status != TX_SUCCESS) | ||||||
|  | //	{ | ||||||
|  | //		return status; | ||||||
|  | //	}			  | ||||||
|  | //	status = Encoder_ThreadCreate();	 | ||||||
|  | //	if(status != TX_SUCCESS) | ||||||
|  | //	{ | ||||||
|  | //		return status; | ||||||
|  | //	}	 | ||||||
| 	 | 	 | ||||||
|     return TX_SUCCESS; |     return TX_SUCCESS; | ||||||
| } | } | ||||||
| @@ -184,6 +254,48 @@ void MX_ThreadX_Init(void) | |||||||
| } | } | ||||||
|  |  | ||||||
| /* USER CODE BEGIN 1 */ | /* USER CODE BEGIN 1 */ | ||||||
|  | //新加入的 obstacle  | ||||||
|  | static void obstacle_thread_entry(ULONG arg) | ||||||
|  | { | ||||||
|  | 	while(1) | ||||||
|  | 	{ | ||||||
|  | 		ULONG evt; // 这个应该是用来接收数据的 | ||||||
|  | 		tx_event_flags_get(&response_events,EVENT_OBSTACLE_DETECTED,TX_OR_CLEAR,&evt,TX_WAIT_FOREVER); | ||||||
| 		 | 		 | ||||||
|  | 		switch(obstacle_level) | ||||||
|  | 		{ | ||||||
|  | 			case 1: // 远 | ||||||
|  | 				Buzzer_Open(); | ||||||
|  | 				Shake_Motor_Open(); | ||||||
|  | 				tx_thread_sleep(30); | ||||||
|  | 				Buzzer_Close(); | ||||||
|  | 				Shake_Motor_Close(); | ||||||
|  | 				break; | ||||||
|  | 			 | ||||||
|  | 			case 2: | ||||||
|  | 				for(int i = 0; i < 2;i++) | ||||||
|  | 				{ | ||||||
|  | 					Buzzer_Open(); | ||||||
|  | 					Shake_Motor_Open(); | ||||||
|  | 					tx_thread_sleep(50); | ||||||
|  | 					Buzzer_Close(); | ||||||
|  |                     Shake_Motor_Close(); | ||||||
|  |                     tx_thread_sleep(30); | ||||||
|  | 				} | ||||||
|  | 				break; | ||||||
|  | 				 | ||||||
|  | 			case 3: // 近 | ||||||
|  | 				Buzzer_Open(); | ||||||
|  | 				Shake_Motor_Open(); | ||||||
|  | 				tx_thread_sleep(150); | ||||||
|  | 				Buzzer_Close(); | ||||||
|  | 				Shake_Motor_Close(); | ||||||
|  | 				break; | ||||||
|  | 			default: | ||||||
|  | 				break; | ||||||
|  | 		} | ||||||
|  | 		tx_thread_sleep(20); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| /* USER CODE END 1 */ | /* USER CODE END 1 */ | ||||||
|   | |||||||
| @@ -46,10 +46,10 @@ void MX_GPIO_Init(void) | |||||||
|   /* GPIO Ports Clock Enable */ |   /* GPIO Ports Clock Enable */ | ||||||
|   __HAL_RCC_GPIOH_CLK_ENABLE(); |   __HAL_RCC_GPIOH_CLK_ENABLE(); | ||||||
|   __HAL_RCC_GPIOC_CLK_ENABLE(); |   __HAL_RCC_GPIOC_CLK_ENABLE(); | ||||||
|  |   __HAL_RCC_GPIOA_CLK_ENABLE(); | ||||||
|   __HAL_RCC_GPIOB_CLK_ENABLE(); |   __HAL_RCC_GPIOB_CLK_ENABLE(); | ||||||
|   __HAL_RCC_GPIOG_CLK_ENABLE(); |   __HAL_RCC_GPIOG_CLK_ENABLE(); | ||||||
|   __HAL_RCC_GPIOE_CLK_ENABLE(); |   __HAL_RCC_GPIOE_CLK_ENABLE(); | ||||||
|   __HAL_RCC_GPIOA_CLK_ENABLE(); |  | ||||||
|   __HAL_RCC_GPIOD_CLK_ENABLE(); |   __HAL_RCC_GPIOD_CLK_ENABLE(); | ||||||
|  |  | ||||||
|   /*Configure GPIO pin Output Level */ |   /*Configure GPIO pin Output Level */ | ||||||
|   | |||||||
| @@ -100,9 +100,15 @@ int main(void) | |||||||
|   MX_UART4_Init(); |   MX_UART4_Init(); | ||||||
|   MX_TIM1_Init(); |   MX_TIM1_Init(); | ||||||
|   MX_TIM8_Init(); |   MX_TIM8_Init(); | ||||||
|  |   MX_TIM5_Init(); | ||||||
|   /* USER CODE BEGIN 2 */ |   /* USER CODE BEGIN 2 */ | ||||||
|  |  | ||||||
|    imu600_init(); |    imu600_init(); | ||||||
|  |    GPS_Init(); | ||||||
|  |    DWT_Init(); | ||||||
|  |    PWM_GPIO_TIM_Init(); | ||||||
|  |    HAL_TIM_IC_Start_IT(&htim5,TIM_CHANNEL_1); | ||||||
|  | //   				Buzzer_Open(); | ||||||
| //	HCBle_InitDMAReception(); | //	HCBle_InitDMAReception(); | ||||||
| //	HAL_Delay(200); | //	HAL_Delay(200); | ||||||
| //	GPS_Init(); | //	GPS_Init(); | ||||||
|   | |||||||
| @@ -58,6 +58,7 @@ | |||||||
| /* External variables --------------------------------------------------------*/ | /* External variables --------------------------------------------------------*/ | ||||||
| extern TIM_HandleTypeDef htim2; | extern TIM_HandleTypeDef htim2; | ||||||
| extern TIM_HandleTypeDef htim3; | extern TIM_HandleTypeDef htim3; | ||||||
|  | extern TIM_HandleTypeDef htim5; | ||||||
| extern DMA_NodeTypeDef Node_GPDMA1_Channel5; | extern DMA_NodeTypeDef Node_GPDMA1_Channel5; | ||||||
| extern DMA_QListTypeDef List_GPDMA1_Channel5; | extern DMA_QListTypeDef List_GPDMA1_Channel5; | ||||||
| extern DMA_HandleTypeDef handle_GPDMA1_Channel5; | extern DMA_HandleTypeDef handle_GPDMA1_Channel5; | ||||||
| @@ -242,6 +243,20 @@ void TIM3_IRQHandler(void) | |||||||
|   /* USER CODE END TIM3_IRQn 1 */ |   /* USER CODE END TIM3_IRQn 1 */ | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |   * @brief This function handles TIM5 global interrupt. | ||||||
|  |   */ | ||||||
|  | void TIM5_IRQHandler(void) | ||||||
|  | { | ||||||
|  |   /* USER CODE BEGIN TIM5_IRQn 0 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_IRQn 0 */ | ||||||
|  |   HAL_TIM_IRQHandler(&htim5); | ||||||
|  |   /* USER CODE BEGIN TIM5_IRQn 1 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_IRQn 1 */ | ||||||
|  | } | ||||||
|  |  | ||||||
| /** | /** | ||||||
|   * @brief This function handles TIM6 global interrupt. |   * @brief This function handles TIM6 global interrupt. | ||||||
|   */ |   */ | ||||||
|   | |||||||
							
								
								
									
										139
									
								
								Core/Src/tim.c
									
									
									
									
									
								
							
							
						
						
									
										139
									
								
								Core/Src/tim.c
									
									
									
									
									
								
							| @@ -28,6 +28,7 @@ TIM_HandleTypeDef htim1; | |||||||
| TIM_HandleTypeDef htim2; | TIM_HandleTypeDef htim2; | ||||||
| TIM_HandleTypeDef htim3; | TIM_HandleTypeDef htim3; | ||||||
| TIM_HandleTypeDef htim4; | TIM_HandleTypeDef htim4; | ||||||
|  | TIM_HandleTypeDef htim5; | ||||||
| TIM_HandleTypeDef htim8; | TIM_HandleTypeDef htim8; | ||||||
|  |  | ||||||
| /* TIM1 init function */ | /* TIM1 init function */ | ||||||
| @@ -51,7 +52,7 @@ void MX_TIM1_Init(void) | |||||||
|   htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; |   htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; | ||||||
|   htim1.Init.RepetitionCounter = 0; |   htim1.Init.RepetitionCounter = 0; | ||||||
|   htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; |   htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; | ||||||
|   sConfig.EncoderMode = TIM_ENCODERMODE_TI1; |   sConfig.EncoderMode = TIM_ENCODERMODE_TI12; | ||||||
|   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING; |   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING; | ||||||
|   sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI; |   sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI; | ||||||
|   sConfig.IC1Prescaler = TIM_ICPSC_DIV1; |   sConfig.IC1Prescaler = TIM_ICPSC_DIV1; | ||||||
| @@ -126,7 +127,6 @@ void MX_TIM3_Init(void) | |||||||
|  |  | ||||||
|   TIM_ClockConfigTypeDef sClockSourceConfig = {0}; |   TIM_ClockConfigTypeDef sClockSourceConfig = {0}; | ||||||
|   TIM_MasterConfigTypeDef sMasterConfig = {0}; |   TIM_MasterConfigTypeDef sMasterConfig = {0}; | ||||||
|   TIM_IC_InitTypeDef sConfigIC = {0}; |  | ||||||
|   TIM_OC_InitTypeDef sConfigOC = {0}; |   TIM_OC_InitTypeDef sConfigOC = {0}; | ||||||
|  |  | ||||||
|   /* USER CODE BEGIN TIM3_Init 1 */ |   /* USER CODE BEGIN TIM3_Init 1 */ | ||||||
| @@ -147,10 +147,6 @@ void MX_TIM3_Init(void) | |||||||
|   { |   { | ||||||
|     Error_Handler(); |     Error_Handler(); | ||||||
|   } |   } | ||||||
|   if (HAL_TIM_IC_Init(&htim3) != HAL_OK) |  | ||||||
|   { |  | ||||||
|     Error_Handler(); |  | ||||||
|   } |  | ||||||
|   if (HAL_TIM_PWM_Init(&htim3) != HAL_OK) |   if (HAL_TIM_PWM_Init(&htim3) != HAL_OK) | ||||||
|   { |   { | ||||||
|     Error_Handler(); |     Error_Handler(); | ||||||
| @@ -161,14 +157,6 @@ void MX_TIM3_Init(void) | |||||||
|   { |   { | ||||||
|     Error_Handler(); |     Error_Handler(); | ||||||
|   } |   } | ||||||
|   sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING; |  | ||||||
|   sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI; |  | ||||||
|   sConfigIC.ICPrescaler = TIM_ICPSC_DIV1; |  | ||||||
|   sConfigIC.ICFilter = 0; |  | ||||||
|   if (HAL_TIM_IC_ConfigChannel(&htim3, &sConfigIC, TIM_CHANNEL_3) != HAL_OK) |  | ||||||
|   { |  | ||||||
|     Error_Handler(); |  | ||||||
|   } |  | ||||||
|   sConfigOC.OCMode = TIM_OCMODE_PWM1; |   sConfigOC.OCMode = TIM_OCMODE_PWM1; | ||||||
|   sConfigOC.Pulse = 0; |   sConfigOC.Pulse = 0; | ||||||
|   sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; |   sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; | ||||||
| @@ -236,6 +224,59 @@ void MX_TIM4_Init(void) | |||||||
|   /* USER CODE END TIM4_Init 2 */ |   /* USER CODE END TIM4_Init 2 */ | ||||||
|   HAL_TIM_MspPostInit(&htim4); |   HAL_TIM_MspPostInit(&htim4); | ||||||
|  |  | ||||||
|  | } | ||||||
|  | /* TIM5 init function */ | ||||||
|  | void MX_TIM5_Init(void) | ||||||
|  | { | ||||||
|  |  | ||||||
|  |   /* USER CODE BEGIN TIM5_Init 0 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_Init 0 */ | ||||||
|  |  | ||||||
|  |   TIM_ClockConfigTypeDef sClockSourceConfig = {0}; | ||||||
|  |   TIM_MasterConfigTypeDef sMasterConfig = {0}; | ||||||
|  |   TIM_IC_InitTypeDef sConfigIC = {0}; | ||||||
|  |  | ||||||
|  |   /* USER CODE BEGIN TIM5_Init 1 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_Init 1 */ | ||||||
|  |   htim5.Instance = TIM5; | ||||||
|  |   htim5.Init.Prescaler = 250-1; | ||||||
|  |   htim5.Init.CounterMode = TIM_COUNTERMODE_UP; | ||||||
|  |   htim5.Init.Period = 4294967295; | ||||||
|  |   htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; | ||||||
|  |   htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; | ||||||
|  |   if (HAL_TIM_Base_Init(&htim5) != HAL_OK) | ||||||
|  |   { | ||||||
|  |     Error_Handler(); | ||||||
|  |   } | ||||||
|  |   sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; | ||||||
|  |   if (HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK) | ||||||
|  |   { | ||||||
|  |     Error_Handler(); | ||||||
|  |   } | ||||||
|  |   if (HAL_TIM_IC_Init(&htim5) != HAL_OK) | ||||||
|  |   { | ||||||
|  |     Error_Handler(); | ||||||
|  |   } | ||||||
|  |   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; | ||||||
|  |   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; | ||||||
|  |   if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) | ||||||
|  |   { | ||||||
|  |     Error_Handler(); | ||||||
|  |   } | ||||||
|  |   sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING; | ||||||
|  |   sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI; | ||||||
|  |   sConfigIC.ICPrescaler = TIM_ICPSC_DIV1; | ||||||
|  |   sConfigIC.ICFilter = 0; | ||||||
|  |   if (HAL_TIM_IC_ConfigChannel(&htim5, &sConfigIC, TIM_CHANNEL_1) != HAL_OK) | ||||||
|  |   { | ||||||
|  |     Error_Handler(); | ||||||
|  |   } | ||||||
|  |   /* USER CODE BEGIN TIM5_Init 2 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_Init 2 */ | ||||||
|  |  | ||||||
| } | } | ||||||
| /* TIM8 init function */ | /* TIM8 init function */ | ||||||
| void MX_TIM8_Init(void) | void MX_TIM8_Init(void) | ||||||
| @@ -258,7 +299,7 @@ void MX_TIM8_Init(void) | |||||||
|   htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; |   htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; | ||||||
|   htim8.Init.RepetitionCounter = 0; |   htim8.Init.RepetitionCounter = 0; | ||||||
|   htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; |   htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; | ||||||
|   sConfig.EncoderMode = TIM_ENCODERMODE_TI1; |   sConfig.EncoderMode = TIM_ENCODERMODE_TI12; | ||||||
|   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING; |   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING; | ||||||
|   sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI; |   sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI; | ||||||
|   sConfig.IC1Prescaler = TIM_ICPSC_DIV1; |   sConfig.IC1Prescaler = TIM_ICPSC_DIV1; | ||||||
| @@ -303,7 +344,7 @@ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle) | |||||||
|     */ |     */ | ||||||
|     GPIO_InitStruct.Pin = E1A_Pin|E1B_Pin; |     GPIO_InitStruct.Pin = E1A_Pin|E1B_Pin; | ||||||
|     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | ||||||
|     GPIO_InitStruct.Pull = GPIO_NOPULL; |     GPIO_InitStruct.Pull = GPIO_PULLUP; | ||||||
|     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; | ||||||
|     GPIO_InitStruct.Alternate = GPIO_AF1_TIM1; |     GPIO_InitStruct.Alternate = GPIO_AF1_TIM1; | ||||||
|     HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); |     HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); | ||||||
| @@ -327,7 +368,7 @@ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle) | |||||||
|     */ |     */ | ||||||
|     GPIO_InitStruct.Pin = E2A_Pin|E2B_Pin; |     GPIO_InitStruct.Pin = E2A_Pin|E2B_Pin; | ||||||
|     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | ||||||
|     GPIO_InitStruct.Pull = GPIO_NOPULL; |     GPIO_InitStruct.Pull = GPIO_PULLUP; | ||||||
|     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; | ||||||
|     GPIO_InitStruct.Alternate = GPIO_AF3_TIM8; |     GPIO_InitStruct.Alternate = GPIO_AF3_TIM8; | ||||||
|     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); | ||||||
| @@ -365,17 +406,6 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) | |||||||
|     /* TIM3 clock enable */ |     /* TIM3 clock enable */ | ||||||
|     __HAL_RCC_TIM3_CLK_ENABLE(); |     __HAL_RCC_TIM3_CLK_ENABLE(); | ||||||
|  |  | ||||||
|     __HAL_RCC_GPIOC_CLK_ENABLE(); |  | ||||||
|     /**TIM3 GPIO Configuration |  | ||||||
|     PC8     ------> TIM3_CH3 |  | ||||||
|     */ |  | ||||||
|     GPIO_InitStruct.Pin = HC_Echo_Pin; |  | ||||||
|     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |  | ||||||
|     GPIO_InitStruct.Pull = GPIO_NOPULL; |  | ||||||
|     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |  | ||||||
|     GPIO_InitStruct.Alternate = GPIO_AF2_TIM3; |  | ||||||
|     HAL_GPIO_Init(HC_Echo_GPIO_Port, &GPIO_InitStruct); |  | ||||||
|  |  | ||||||
|     /* TIM3 interrupt Init */ |     /* TIM3 interrupt Init */ | ||||||
|     HAL_NVIC_SetPriority(TIM3_IRQn, 0, 0); |     HAL_NVIC_SetPriority(TIM3_IRQn, 0, 0); | ||||||
|     HAL_NVIC_EnableIRQ(TIM3_IRQn); |     HAL_NVIC_EnableIRQ(TIM3_IRQn); | ||||||
| @@ -394,6 +424,32 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) | |||||||
|  |  | ||||||
|   /* USER CODE END TIM4_MspInit 1 */ |   /* USER CODE END TIM4_MspInit 1 */ | ||||||
|   } |   } | ||||||
|  |   else if(tim_baseHandle->Instance==TIM5) | ||||||
|  |   { | ||||||
|  |   /* USER CODE BEGIN TIM5_MspInit 0 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_MspInit 0 */ | ||||||
|  |     /* TIM5 clock enable */ | ||||||
|  |     __HAL_RCC_TIM5_CLK_ENABLE(); | ||||||
|  |  | ||||||
|  |     __HAL_RCC_GPIOA_CLK_ENABLE(); | ||||||
|  |     /**TIM5 GPIO Configuration | ||||||
|  |     PA0     ------> TIM5_CH1 | ||||||
|  |     */ | ||||||
|  |     GPIO_InitStruct.Pin = HC_Echo_Pin; | ||||||
|  |     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | ||||||
|  |     GPIO_InitStruct.Pull = GPIO_NOPULL; | ||||||
|  |     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; | ||||||
|  |     GPIO_InitStruct.Alternate = GPIO_AF2_TIM5; | ||||||
|  |     HAL_GPIO_Init(HC_Echo_GPIO_Port, &GPIO_InitStruct); | ||||||
|  |  | ||||||
|  |     /* TIM5 interrupt Init */ | ||||||
|  |     HAL_NVIC_SetPriority(TIM5_IRQn, 0, 0); | ||||||
|  |     HAL_NVIC_EnableIRQ(TIM5_IRQn); | ||||||
|  |   /* USER CODE BEGIN TIM5_MspInit 1 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_MspInit 1 */ | ||||||
|  |   } | ||||||
| } | } | ||||||
| void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) | void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) | ||||||
| { | { | ||||||
| @@ -509,14 +565,6 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) | |||||||
|     /* Peripheral clock disable */ |     /* Peripheral clock disable */ | ||||||
|     __HAL_RCC_TIM3_CLK_DISABLE(); |     __HAL_RCC_TIM3_CLK_DISABLE(); | ||||||
|  |  | ||||||
|     /**TIM3 GPIO Configuration |  | ||||||
|     PB1     ------> TIM3_CH4 |  | ||||||
|     PC8     ------> TIM3_CH3 |  | ||||||
|     */ |  | ||||||
|     HAL_GPIO_DeInit(PWMB_GPIO_Port, PWMB_Pin); |  | ||||||
|  |  | ||||||
|     HAL_GPIO_DeInit(HC_Echo_GPIO_Port, HC_Echo_Pin); |  | ||||||
|  |  | ||||||
|     /* TIM3 interrupt Deinit */ |     /* TIM3 interrupt Deinit */ | ||||||
|     HAL_NVIC_DisableIRQ(TIM3_IRQn); |     HAL_NVIC_DisableIRQ(TIM3_IRQn); | ||||||
|   /* USER CODE BEGIN TIM3_MspDeInit 1 */ |   /* USER CODE BEGIN TIM3_MspDeInit 1 */ | ||||||
| @@ -534,6 +582,25 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) | |||||||
|  |  | ||||||
|   /* USER CODE END TIM4_MspDeInit 1 */ |   /* USER CODE END TIM4_MspDeInit 1 */ | ||||||
|   } |   } | ||||||
|  |   else if(tim_baseHandle->Instance==TIM5) | ||||||
|  |   { | ||||||
|  |   /* USER CODE BEGIN TIM5_MspDeInit 0 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_MspDeInit 0 */ | ||||||
|  |     /* Peripheral clock disable */ | ||||||
|  |     __HAL_RCC_TIM5_CLK_DISABLE(); | ||||||
|  |  | ||||||
|  |     /**TIM5 GPIO Configuration | ||||||
|  |     PA0     ------> TIM5_CH1 | ||||||
|  |     */ | ||||||
|  |     HAL_GPIO_DeInit(HC_Echo_GPIO_Port, HC_Echo_Pin); | ||||||
|  |  | ||||||
|  |     /* TIM5 interrupt Deinit */ | ||||||
|  |     HAL_NVIC_DisableIRQ(TIM5_IRQn); | ||||||
|  |   /* USER CODE BEGIN TIM5_MspDeInit 1 */ | ||||||
|  |  | ||||||
|  |   /* USER CODE END TIM5_MspDeInit 1 */ | ||||||
|  |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| /* USER CODE BEGIN 1 */ | /* USER CODE BEGIN 1 */ | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -148,7 +148,24 @@ | |||||||
|           <Name>-U004200403132511238363431 -O2254 -SF10000 -C0 -A1 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32H5xx_2M_0800.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32H563ZITx$CMSIS\Flash\STM32H5xx_2M_0800.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name> |           <Name>-U004200403132511238363431 -O2254 -SF10000 -C0 -A1 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32H5xx_2M_0800.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32H563ZITx$CMSIS\Flash\STM32H5xx_2M_0800.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name> | ||||||
|         </SetRegEntry> |         </SetRegEntry> | ||||||
|       </TargetDriverDllRegistry> |       </TargetDriverDllRegistry> | ||||||
|       <Breakpoint/> |       <Breakpoint> | ||||||
|  |         <Bp> | ||||||
|  |           <Number>0</Number> | ||||||
|  |           <Type>0</Type> | ||||||
|  |           <LineNumber>110</LineNumber> | ||||||
|  |           <EnabledFlag>1</EnabledFlag> | ||||||
|  |           <Address>134265834</Address> | ||||||
|  |           <ByteObject>0</ByteObject> | ||||||
|  |           <HtxType>0</HtxType> | ||||||
|  |           <ManyObjects>0</ManyObjects> | ||||||
|  |           <SizeOfObject>0</SizeOfObject> | ||||||
|  |           <BreakByAccess>0</BreakByAccess> | ||||||
|  |           <BreakIfRCount>1</BreakIfRCount> | ||||||
|  |           <Filename>..\fun\Ultrasound.c</Filename> | ||||||
|  |           <ExecCommand></ExecCommand> | ||||||
|  |           <Expression>\\AutoGuideStick\../fun/Ultrasound.c\110</Expression> | ||||||
|  |         </Bp> | ||||||
|  |       </Breakpoint> | ||||||
|       <WatchWindow1> |       <WatchWindow1> | ||||||
|         <Ww> |         <Ww> | ||||||
|           <count>0</count> |           <count>0</count> | ||||||
| @@ -225,6 +242,11 @@ | |||||||
|           <WinNumber>1</WinNumber> |           <WinNumber>1</WinNumber> | ||||||
|           <ItemText>isNewData</ItemText> |           <ItemText>isNewData</ItemText> | ||||||
|         </Ww> |         </Ww> | ||||||
|  |         <Ww> | ||||||
|  |           <count>15</count> | ||||||
|  |           <WinNumber>1</WinNumber> | ||||||
|  |           <ItemText>current_location</ItemText> | ||||||
|  |         </Ww> | ||||||
|       </WatchWindow1> |       </WatchWindow1> | ||||||
|       <WatchWindow2> |       <WatchWindow2> | ||||||
|         <Ww> |         <Ww> | ||||||
| @@ -252,6 +274,26 @@ | |||||||
|           <WinNumber>2</WinNumber> |           <WinNumber>2</WinNumber> | ||||||
|           <ItemText>AngleZ</ItemText> |           <ItemText>AngleZ</ItemText> | ||||||
|         </Ww> |         </Ww> | ||||||
|  |         <Ww> | ||||||
|  |           <count>5</count> | ||||||
|  |           <WinNumber>2</WinNumber> | ||||||
|  |           <ItemText>GPS_DMA_RX_BUF[GPS_DMA_RX_BUF_LEN]</ItemText> | ||||||
|  |         </Ww> | ||||||
|  |         <Ww> | ||||||
|  |           <count>6</count> | ||||||
|  |           <WinNumber>2</WinNumber> | ||||||
|  |           <ItemText>msg</ItemText> | ||||||
|  |         </Ww> | ||||||
|  |         <Ww> | ||||||
|  |           <count>7</count> | ||||||
|  |           <WinNumber>2</WinNumber> | ||||||
|  |           <ItemText>status</ItemText> | ||||||
|  |         </Ww> | ||||||
|  |         <Ww> | ||||||
|  |           <count>8</count> | ||||||
|  |           <WinNumber>2</WinNumber> | ||||||
|  |           <ItemText>distance_cm</ItemText> | ||||||
|  |         </Ww> | ||||||
|       </WatchWindow2> |       </WatchWindow2> | ||||||
|       <Tracepoint> |       <Tracepoint> | ||||||
|         <THDelay>0</THDelay> |         <THDelay>0</THDelay> | ||||||
| @@ -2915,6 +2957,30 @@ | |||||||
|       <RteFlg>0</RteFlg> |       <RteFlg>0</RteFlg> | ||||||
|       <bShared>0</bShared> |       <bShared>0</bShared> | ||||||
|     </File> |     </File> | ||||||
|  |     <File> | ||||||
|  |       <GroupNumber>7</GroupNumber> | ||||||
|  |       <FileNumber>214</FileNumber> | ||||||
|  |       <FileType>1</FileType> | ||||||
|  |       <tvExp>0</tvExp> | ||||||
|  |       <tvExpOptDlg>0</tvExpOptDlg> | ||||||
|  |       <bDave2>0</bDave2> | ||||||
|  |       <PathWithFileName>..\fun\encoder.c</PathWithFileName> | ||||||
|  |       <FilenameWithoutPath>encoder.c</FilenameWithoutPath> | ||||||
|  |       <RteFlg>0</RteFlg> | ||||||
|  |       <bShared>0</bShared> | ||||||
|  |     </File> | ||||||
|  |     <File> | ||||||
|  |       <GroupNumber>7</GroupNumber> | ||||||
|  |       <FileNumber>215</FileNumber> | ||||||
|  |       <FileType>5</FileType> | ||||||
|  |       <tvExp>0</tvExp> | ||||||
|  |       <tvExpOptDlg>0</tvExpOptDlg> | ||||||
|  |       <bDave2>0</bDave2> | ||||||
|  |       <PathWithFileName>..\fun\encoder.h</PathWithFileName> | ||||||
|  |       <FilenameWithoutPath>encoder.h</FilenameWithoutPath> | ||||||
|  |       <RteFlg>0</RteFlg> | ||||||
|  |       <bShared>0</bShared> | ||||||
|  |     </File> | ||||||
|   </Group> |   </Group> | ||||||
|  |  | ||||||
|   <Group> |   <Group> | ||||||
|   | |||||||
| @@ -1734,6 +1734,16 @@ | |||||||
|               <FileType>5</FileType> |               <FileType>5</FileType> | ||||||
|               <FilePath>..\fun\value.h</FilePath> |               <FilePath>..\fun\value.h</FilePath> | ||||||
|             </File> |             </File> | ||||||
|  |             <File> | ||||||
|  |               <FileName>encoder.c</FileName> | ||||||
|  |               <FileType>1</FileType> | ||||||
|  |               <FilePath>..\fun\encoder.c</FilePath> | ||||||
|  |             </File> | ||||||
|  |             <File> | ||||||
|  |               <FileName>encoder.h</FileName> | ||||||
|  |               <FileType>5</FileType> | ||||||
|  |               <FilePath>..\fun\encoder.h</FilePath> | ||||||
|  |             </File> | ||||||
|           </Files> |           </Files> | ||||||
|         </Group> |         </Group> | ||||||
|         <Group> |         <Group> | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -22,15 +22,11 @@ Dialog DLL:      TCM.DLL V1.56.4.0 | |||||||
|   |   | ||||||
| <h2>Project:</h2> | <h2>Project:</h2> | ||||||
| D:\advance_stick\AutoGuideStick\MDK-ARM\AutoGuideStick.uvprojx | D:\advance_stick\AutoGuideStick\MDK-ARM\AutoGuideStick.uvprojx | ||||||
| Project File Date:  07/01/2025 | Project File Date:  07/02/2025 | ||||||
|  |  | ||||||
| <h2>Output:</h2> | <h2>Output:</h2> | ||||||
| *** Using Compiler 'V6.21', folder: 'D:\keil5\ARM\ARMCLANG\Bin' | *** Using Compiler 'V6.21', folder: 'D:\keil5\ARM\ARMCLANG\Bin' | ||||||
| Build target 'AutoGuideStick' | Build target 'AutoGuideStick' | ||||||
| compiling imu948.c... |  | ||||||
| linking... |  | ||||||
| Program Size: Code=82196 RO-data=1164 RW-data=20 ZI-data=12836   |  | ||||||
| FromELF: creating hex file... |  | ||||||
| "AutoGuideStick\AutoGuideStick.axf" - 0 Error(s), 0 Warning(s). | "AutoGuideStick\AutoGuideStick.axf" - 0 Error(s), 0 Warning(s). | ||||||
|  |  | ||||||
| <h2>Software Packages used:</h2> | <h2>Software Packages used:</h2> | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -202,6 +202,7 @@ | |||||||
| "autoguidestick\imu.o" | "autoguidestick\imu.o" | ||||||
| "autoguidestick\motor.o" | "autoguidestick\motor.o" | ||||||
| "autoguidestick\imu948.o" | "autoguidestick\imu948.o" | ||||||
|  | "autoguidestick\encoder.o" | ||||||
| --library_type=microlib --strict --scatter "AutoGuideStick\AutoGuideStick.sct" | --library_type=microlib --strict --scatter "AutoGuideStick\AutoGuideStick.sct" | ||||||
| --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols | --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols | ||||||
| --info sizes --info totals --info unused --info veneers | --info sizes --info totals --info unused --info veneers | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,7 +1,7 @@ | |||||||
| Dependencies for Project 'AutoGuideStick', Target 'AutoGuideStick': (DO NOT MODIFY !) | Dependencies for Project 'AutoGuideStick', Target 'AutoGuideStick': (DO NOT MODIFY !) | ||||||
| CompilerVersion: 6210000::V6.21::ARMCLANG | CompilerVersion: 6210000::V6.21::ARMCLANG | ||||||
| F (startup_stm32h563xx.s)(0x68634847)(--target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -masm=auto  -Wa,armasm,--diag_suppress=A1950W -c | F (startup_stm32h563xx.s)(0x68654635)(--target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -masm=auto  -Wa,armasm,--diag_suppress=A1950W -c | ||||||
|  |  | ||||||
| -gdwarf-4 -Wa,armasm,--pd,"__MICROLIB SETA 1" -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include | -gdwarf-4 -Wa,armasm,--pd,"__MICROLIB SETA 1" -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include | ||||||
|  |  | ||||||
| -I./RTE/_AutoGuideStick | -I./RTE/_AutoGuideStick | ||||||
| @@ -42,9 +42,10 @@ I (..\Core\Inc\gpdma.ha.\Core\Inc\tim.h)(0x00000000) | |||||||
| I (..\Drivers\CMSIS\Include\core_cm33.h)(0x683FA4DE) | I (..\Drivers\CMSIS\Include\core_cm33.h)(0x683FA4DE) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\stdint.h)(0x6569B012) | I (D:\keil5\ARM\ARMCLANG\include\stdint.h)(0x6569B012) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_version.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_version.h)(0x683FA4DE) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_compiler.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_compiler.h)(0x683FA4DE) | ||||||
|  | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_armclang.h)(0x683FA4DE) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\mpu_armv8.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\mpu_armv8.h)(0x683FA4DE) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\mpu_armv8.h)(0x683FA4DE) | I (..\Drivers\CMSIS\Device\ST\STM32H5xx\Include\system_stm32h5xx.h)(0x683FA4DE) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h)(0x683FA4DD) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\stddef.h)(0x6569B012) | I (D:\keil5\ARM\ARMCLANG\include\stddef.h)(0x6569B012) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_rcc_ex.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_rcc_ex.h)(0x683FA4DD) | ||||||
| @@ -141,8 +142,8 @@ I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim_ex.h)(0x683FA4DD) | |||||||
| -ID:/keil5/ARM/PACK/Keil/STM32H5xx_DFP/1.3.0/Drivers/CMSIS/Device/ST/STM32H5xx/Include | -ID:/keil5/ARM/PACK/Keil/STM32H5xx_DFP/1.3.0/Drivers/CMSIS/Device/ST/STM32H5xx/Include | ||||||
|  |  | ||||||
| -D__UVISION_VERSION="539" -D_RTE_ -DSTM32H563xx -D_RTE_ -DTX_INCLUDE_USER_DEFINE_FILE -DTX_SINGLE_MODE_NON_SECURE="1" -DUSE_HAL_DRIVER -DSTM32H563xx | -D__UVISION_VERSION="539" -D_RTE_ -DSTM32H563xx -D_RTE_ -DTX_INCLUDE_USER_DEFINE_FILE -DTX_SINGLE_MODE_NON_SECURE="1" -DUSE_HAL_DRIVER -DSTM32H563xx | ||||||
|  |  | ||||||
| -o autoguidestick/gpdma.o -MD) | -o autoguidestick/gpdma.o -MD) | ||||||
| I (..\Core\Inc\main.hc.\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal.h)(0x00000000) | I (..\Core\Inc\main.hc.\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal.h)(0x00000000) | ||||||
| I (..\Core\Inc\stm32h5xx_hal_conf.h)(0x685C2A98) | I (..\Core\Inc\stm32h5xx_hal_conf.h)(0x685C2A98) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_rcc.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_rcc.h)(0x683FA4DD) | ||||||
| @@ -183,8 +184,9 @@ I (..\Core\Inc\gpdma.ha.\Core\Inc\tim.h)(0x00000000) | |||||||
| -I./RTE/_AutoGuideStick | -I./RTE/_AutoGuideStick | ||||||
|  |  | ||||||
| -ID:/keil5/ARM/PACK/ARM/CMSIS/5.9.0/CMSIS/Core/Include | -ID:/keil5/ARM/PACK/ARM/CMSIS/5.9.0/CMSIS/Core/Include | ||||||
|  |  | ||||||
| -ID:/keil5/ARM/PACK/Keil/STM32H5xx_DFP/1.3.0/Drivers/CMSIS/Device/ST/STM32H5xx/Include | -ID:/keil5/ARM/PACK/Keil/STM32H5xx_DFP/1.3.0/Drivers/CMSIS/Device/ST/STM32H5xx/Include | ||||||
|  |  | ||||||
| -D__UVISION_VERSION="539" -D_RTE_ -DSTM32H563xx -D_RTE_ -DTX_INCLUDE_USER_DEFINE_FILE -DTX_SINGLE_MODE_NON_SECURE="1" -DUSE_HAL_DRIVER -DSTM32H563xx | -D__UVISION_VERSION="539" -D_RTE_ -DSTM32H563xx -D_RTE_ -DTX_INCLUDE_USER_DEFINE_FILE -DTX_SINGLE_MODE_NON_SECURE="1" -DUSE_HAL_DRIVER -DSTM32H563xx | ||||||
|  |  | ||||||
| -o autoguidestick/memorymap.o -MD) | -o autoguidestick/memorymap.o -MD) | ||||||
| @@ -216,7 +218,7 @@ I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim_ex.h)(0x683FA4DD) | |||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_pwr.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_pwr.h)(0x683FA4DD) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_pwr_ex.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_pwr_ex.h)(0x683FA4DD) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim.h)(0x683FA4DD) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim_ex.h)(0x683FA4DD) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_uart.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_uart.h)(0x683FA4DD) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_uart_ex.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_uart_ex.h)(0x683FA4DD) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_exti.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_exti.h)(0x683FA4DD) | ||||||
| @@ -248,7 +250,7 @@ I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim_ex.h)(0x683FA4DD) | |||||||
| I (D:\keil5\ARM\ARMCLANG\include\math.h)(0x6569B012) | I (D:\keil5\ARM\ARMCLANG\include\math.h)(0x6569B012) | ||||||
| I (..\Drivers\CMSIS\Device\ST\STM32H5xx\Include\stm32h563xx.h)(0x683FA4DE) | I (..\Drivers\CMSIS\Device\ST\STM32H5xx\Include\stm32h563xx.h)(0x683FA4DE) | ||||||
| I (..\Drivers\CMSIS\Include\core_cm33.h)(0x683FA4DE) | I (..\Drivers\CMSIS\Include\core_cm33.h)(0x683FA4DE) | ||||||
| I (..\Drivers\CMSIS\Include\core_cm33.h)(0x683FA4DE) | I (D:\keil5\ARM\ARMCLANG\include\stdint.h)(0x6569B012) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_version.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_version.h)(0x683FA4DE) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_compiler.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_compiler.h)(0x683FA4DE) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_armclang.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_armclang.h)(0x683FA4DE) | ||||||
| @@ -290,7 +292,8 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
|  |  | ||||||
| -ID:/keil5/ARM/PACK/Keil/STM32H5xx_DFP/1.3.0/Drivers/CMSIS/Device/ST/STM32H5xx/Include | -ID:/keil5/ARM/PACK/Keil/STM32H5xx_DFP/1.3.0/Drivers/CMSIS/Device/ST/STM32H5xx/Include | ||||||
|  |  | ||||||
| -D__UVISION_VERSION="539" -D_RTE_ -DSTM32H563xx -D_RTE_ -DTX_INCLUDE_USER_DEFINE_FILE -DTX_SINGLE_MODE_NON_SECURE="1" -DUSE_HAL_DRIVER -DSTM32H563xx | -D__UVISION_VERSION="539" -D_RTE_ -DSTM32H563xx -D_RTE_ -DTX_INCLUDE_USER_DEFINE_FILE -DTX_SINGLE_MODE_NON_SECURE="1" -DUSE_HAL_DRIVER -DSTM32H563xx | ||||||
|  |  | ||||||
| -o autoguidestick/tim.o -MD) | -o autoguidestick/tim.o -MD) | ||||||
| I (..\Core\Inc\main.h..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal.h)(0x00000000) | I (..\Core\Inc\main.h..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal.h)(0x00000000) | ||||||
| I (..\Core\Inc\stm32h5xx_hal_conf.h)(0x685C2A98) | I (..\Core\Inc\stm32h5xx_hal_conf.h)(0x685C2A98) | ||||||
| @@ -397,8 +400,8 @@ I (..\Core\Inc\gpdma.ha.\Core\Inc\tim.h)(0x00000000) | |||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_compiler.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_compiler.h)(0x683FA4DE) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_armclang.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_armclang.h)(0x683FA4DE) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\mpu_armv8.h)(0x683FA4DE) | I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\mpu_armv8.h)(0x683FA4DE) | ||||||
| I (D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\mpu_armv8.h)(0x683FA4DE) | I (..\Drivers\CMSIS\Device\ST\STM32H5xx\Include\system_stm32h5xx.h)(0x683FA4DE) | ||||||
| I (..\Drivers\CMSIS\Device\ST\STM32H5xx\Include\system_stm32h5xx.h)(0x683FA4DE) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h)(0x683FA4DD) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\stddef.h)(0x6569B012) | I (D:\keil5\ARM\ARMCLANG\include\stddef.h)(0x6569B012) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_rcc_ex.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_rcc_ex.h)(0x683FA4DD) | ||||||
| I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_gpio.h)(0x683FA4DD) | I (..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_gpio.h)(0x683FA4DD) | ||||||
| @@ -2074,7 +2077,7 @@ I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | |||||||
|  |  | ||||||
| -o autoguidestick/tx_event_flags_info_get.o -MD) | -o autoguidestick/tx_event_flags_info_get.o -MD) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_api.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_api.h)(0x683FA4DA) | ||||||
| I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | ||||||
| I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | ||||||
| @@ -2115,10 +2118,11 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
|  |  | ||||||
| -o autoguidestick/tx_event_flags_set.o -MD) | -o autoguidestick/tx_event_flags_set.o -MD) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_api.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_api.h)(0x683FA4DA) | ||||||
| I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | ||||||
| I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_thread.h)(0x683FA4DA) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_event_flags.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_event_flags.h)(0x683FA4DA) | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_event_flags_set_notify.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | F (../Middlewares/ST/threadx/common/src/tx_event_flags_set_notify.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
|  |  | ||||||
| @@ -2159,8 +2163,9 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_api.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_api.h)(0x683FA4DA) | ||||||
| I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | ||||||
| I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | ||||||
| I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | I (..\Middlewares\ST\threadx\common\inc\tx_thread.h)(0x683FA4DA) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_mutex_create.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | F (../Middlewares/ST/threadx/common/src/tx_mutex_create.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
|  |  | ||||||
| -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | ||||||
| @@ -2203,7 +2208,7 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
| I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | I (..\Middlewares\ST\threadx\common\inc\tx_thread.h)(0x683FA4DA) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_mutex_get.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | F (../Middlewares/ST/threadx/common/src/tx_mutex_get.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
|  |  | ||||||
| @@ -2247,9 +2252,9 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
| I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | ||||||
| I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_mutex_initialize.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | F (../Middlewares/ST/threadx/common/src/tx_mutex_initialize.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) |  | ||||||
| -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | ||||||
|  |  | ||||||
| -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | ||||||
| @@ -2291,9 +2296,9 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_thread.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_thread.h)(0x683FA4DA) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_mutex_priority_change.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | F (../Middlewares/ST/threadx/common/src/tx_mutex_priority_change.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) |  | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_mutex_priority_change.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | ||||||
|  |  | ||||||
| -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | ||||||
|  |  | ||||||
| -I./RTE/_AutoGuideStick | -I./RTE/_AutoGuideStick | ||||||
| @@ -2334,9 +2339,9 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_thread.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_thread.h)(0x683FA4DA) | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_queue_cleanup.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | F (../Middlewares/ST/threadx/common/src/tx_queue_cleanup.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_mutex.h)(0x683FA4DA) |  | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_queue_cleanup.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | ||||||
|  |  | ||||||
| -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | ||||||
|  |  | ||||||
| -I./RTE/_AutoGuideStick | -I./RTE/_AutoGuideStick | ||||||
| @@ -2377,9 +2382,9 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_queue.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_queue.h)(0x683FA4DA) | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_queue_delete.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | F (../Middlewares/ST/threadx/common/src/tx_queue_delete.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
|  |  | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_queue_delete.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | ||||||
|  |  | ||||||
| -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | ||||||
|  |  | ||||||
| -I./RTE/_AutoGuideStick | -I./RTE/_AutoGuideStick | ||||||
|  |  | ||||||
| @@ -2421,6 +2426,50 @@ I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | |||||||
| I (..\Middlewares\ST\threadx\common\inc\tx_queue.h)(0x683FA4DA) | I (..\Middlewares\ST\threadx\common\inc\tx_queue.h)(0x683FA4DA) | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_queue_front_send.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | F (../Middlewares/ST/threadx/common/src/tx_queue_front_send.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
|  |  | ||||||
| F (../Middlewares/ST/threadx/common/src/tx_queue_front_send.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | ||||||
|  |  | ||||||
| -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | ||||||
|  |  | ||||||
|  | -I./RTE/_AutoGuideStick | ||||||
|  |  | ||||||
|  | -ID:/keil5/ARM/PACK/ARM/CMSIS/5.9.0/CMSIS/Core/Include | ||||||
|  |  | ||||||
|  | -ID:/keil5/ARM/PACK/Keil/STM32H5xx_DFP/1.3.0/Drivers/CMSIS/Device/ST/STM32H5xx/Include | ||||||
|  |  | ||||||
|  | -D__UVISION_VERSION="539" -D_RTE_ -DSTM32H563xx -D_RTE_ -DTX_INCLUDE_USER_DEFINE_FILE -DTX_SINGLE_MODE_NON_SECURE="1" -DUSE_HAL_DRIVER -DSTM32H563xx | ||||||
|  |  | ||||||
|  | -o autoguidestick/tx_queue_front_send.o -MD) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_api.h)(0x683FA4DA) | ||||||
|  | I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | ||||||
|  | I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | ||||||
|  | I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_thread.h)(0x683FA4DA) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_queue.h)(0x683FA4DA) | ||||||
|  | F (../Middlewares/ST/threadx/common/src/tx_queue_info_get.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
|  |  | ||||||
|  | -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | ||||||
|  |  | ||||||
|  | -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | ||||||
|  |  | ||||||
|  | -I./RTE/_AutoGuideStick | ||||||
|  |  | ||||||
|  | -ID:/keil5/ARM/PACK/ARM/CMSIS/5.9.0/CMSIS/Core/Include | ||||||
|  |  | ||||||
|  | -ID:/keil5/ARM/PACK/Keil/STM32H5xx_DFP/1.3.0/Drivers/CMSIS/Device/ST/STM32H5xx/Include | ||||||
|  |  | ||||||
|  | -D__UVISION_VERSION="539" -D_RTE_ -DSTM32H563xx -D_RTE_ -DTX_INCLUDE_USER_DEFINE_FILE -DTX_SINGLE_MODE_NON_SECURE="1" -DUSE_HAL_DRIVER -DSTM32H563xx | ||||||
|  |  | ||||||
|  | -o autoguidestick/tx_queue_info_get.o -MD) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_api.h)(0x683FA4DA) | ||||||
|  | I (..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h)(0x683FA4D9) | ||||||
|  | I (..\Core\Inc\tx_user.he:\keil5\ARM\ARMCLANG\include\stdlib.h)(0x00000000) | ||||||
|  | I (D:\keil5\ARM\ARMCLANG\include\string.h)(0x6569B012) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_trace.h)(0x683FA4DA) | ||||||
|  | I (..\Middlewares\ST\threadx\common\inc\tx_queue.h)(0x683FA4DA) | ||||||
|  | F (../Middlewares/ST/threadx/common/src/tx_queue_initialize.c)(0x683FA4DA)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -c | ||||||
|  |  | ||||||
|  | -fno-rtti -funsigned-char -fshort-enums -fshort-wchar | ||||||
|  |  | ||||||
|  | -D__MICROLIB -gdwarf-4 -O0 -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 -Wno-reserved-identifier -I ../Core/Inc -I ../AZURE_RTOS/App -I ../Drivers/STM32H5xx_HAL_Driver/Inc -I ../Drivers/STM32H5xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/threadx/common/inc -I ../Drivers/CMSIS/Device/ST/STM32H5xx/Include -I ../Middlewares/ST/threadx/ports/cortex_m33/ac6/inc -I ../Drivers/CMSIS/Include -I ../fun | ||||||
|  |  | ||||||
|   | |||||||
| @@ -40,5 +40,5 @@ autoguidestick/app_azure_rtos.o: ..\AZURE_RTOS\App\app_azure_rtos.c \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\value.h \ |   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\encoder.h \ | ||||||
|   ..\AZURE_RTOS\App\app_azure_rtos_config.h |   ..\fun\value.h ..\AZURE_RTOS\App\app_azure_rtos_config.h | ||||||
|   | |||||||
| @@ -40,4 +40,5 @@ autoguidestick/app_threadx.o: ..\Core\Src\app_threadx.c \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\value.h |   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\encoder.h \ | ||||||
|  |   ..\fun\value.h | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -40,4 +40,4 @@ autoguidestick/buzzer.o: ..\fun\Buzzer.c ..\fun\Buzzer.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Motor.h ..\fun\IMU.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Motor.h ..\fun\IMU.h \ | ||||||
|   ..\fun\imu948.h ..\fun\value.h |   ..\fun\imu948.h ..\fun\encoder.h ..\fun\value.h | ||||||
|   | |||||||
							
								
								
									
										43
									
								
								MDK-ARM/AutoGuideStick/encoder.d
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								MDK-ARM/AutoGuideStick/encoder.d
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | |||||||
|  | autoguidestick/encoder.o: ..\fun\encoder.c ..\fun\encoder.h \ | ||||||
|  |   ..\fun\headfile.h ..\Core\Inc\main.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal.h \ | ||||||
|  |   ..\Core\Inc\stm32h5xx_hal_conf.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_rcc.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_def.h \ | ||||||
|  |   ..\Drivers\CMSIS\Device\ST\STM32H5xx\Include\stm32h5xx.h \ | ||||||
|  |   D:\keil5\ARM\ARMCLANG\include\math.h \ | ||||||
|  |   ..\Drivers\CMSIS\Device\ST\STM32H5xx\Include\stm32h563xx.h \ | ||||||
|  |   ..\Drivers\CMSIS\Include\core_cm33.h \ | ||||||
|  |   D:\keil5\ARM\ARMCLANG\include\stdint.h \ | ||||||
|  |   D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_version.h \ | ||||||
|  |   D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_compiler.h \ | ||||||
|  |   D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\cmsis_armclang.h \ | ||||||
|  |   D:\advance_stick\AutoGuideStick\Drivers\CMSIS\Include\mpu_armv8.h \ | ||||||
|  |   ..\Drivers\CMSIS\Device\ST\STM32H5xx\Include\system_stm32h5xx.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ | ||||||
|  |   D:\keil5\ARM\ARMCLANG\include\stddef.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_rcc_ex.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_gpio.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_gpio_ex.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_dma.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_dma_ex.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_cortex.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_flash.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_flash_ex.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_pwr.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_pwr_ex.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_tim_ex.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_uart.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_uart_ex.h \ | ||||||
|  |   ..\Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_hal_exti.h \ | ||||||
|  |   ..\Core\Inc\memorymap.h ..\Core\Inc\usart.h ..\Core\Inc\gpio.h \ | ||||||
|  |   ..\Core\Inc\gpdma.h ..\Core\Inc\tim.h ..\Core\Inc\app_threadx.h \ | ||||||
|  |   ..\Middlewares\ST\threadx\common\inc\tx_api.h \ | ||||||
|  |   ..\Middlewares\ST\threadx\ports\cortex_m33\ac6\inc\tx_port.h \ | ||||||
|  |   ..\Core\Inc\tx_user.h D:\keil5\ARM\ARMCLANG\include\stdlib.h \ | ||||||
|  |   D:\keil5\ARM\ARMCLANG\include\string.h \ | ||||||
|  |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|  |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|  |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|  |   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\value.h | ||||||
							
								
								
									
										
											BIN
										
									
								
								MDK-ARM/AutoGuideStick/encoder.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								MDK-ARM/AutoGuideStick/encoder.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -39,4 +39,5 @@ autoguidestick/gps.o: ..\fun\gps.c ..\fun\gps.h ..\fun\headfile.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\value.h |   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\encoder.h \ | ||||||
|  |   ..\fun\value.h | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -39,4 +39,5 @@ autoguidestick/hcble.o: ..\fun\HCBle.c ..\fun\HCBle.h ..\fun\headfile.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\value.h |   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\encoder.h \ | ||||||
|  |   ..\fun\value.h | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -39,4 +39,4 @@ autoguidestick/imu.o: ..\fun\IMU.c ..\fun\IMU.h ..\fun\headfile.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|   ..\fun\Motor.h ..\fun\imu948.h ..\fun\value.h |   ..\fun\Motor.h ..\fun\imu948.h ..\fun\encoder.h ..\fun\value.h | ||||||
|   | |||||||
| @@ -40,4 +40,4 @@ autoguidestick/imu948.o: ..\fun\imu948.c ..\fun\imu948.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|   ..\fun\Motor.h ..\fun\IMU.h ..\fun\value.h |   ..\fun\Motor.h ..\fun\IMU.h ..\fun\encoder.h ..\fun\value.h | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -39,4 +39,5 @@ autoguidestick/main.o: ..\Core\Src\main.c ..\Core\Inc\app_threadx.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\value.h |   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\encoder.h \ | ||||||
|  |   ..\fun\value.h | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -39,4 +39,4 @@ autoguidestick/motor.o: ..\fun\Motor.c ..\fun\Motor.h ..\fun\headfile.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h ..\fun\IMU.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h ..\fun\IMU.h \ | ||||||
|   ..\fun\imu948.h ..\fun\value.h |   ..\fun\imu948.h ..\fun\encoder.h ..\fun\value.h | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -40,4 +40,4 @@ autoguidestick/shake_motor.o: ..\fun\Shake_Motor.c ..\fun\Shake_Motor.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Ultrasound.h ..\fun\Buzzer.h ..\fun\Motor.h ..\fun\IMU.h \ |   ..\fun\Ultrasound.h ..\fun\Buzzer.h ..\fun\Motor.h ..\fun\IMU.h \ | ||||||
|   ..\fun\imu948.h ..\fun\value.h |   ..\fun\imu948.h ..\fun\encoder.h ..\fun\value.h | ||||||
|   | |||||||
| @@ -40,4 +40,5 @@ autoguidestick/stm32h5xx_it.o: ..\Core\Src\stm32h5xx_it.c \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ |   ..\fun\Shake_Motor.h ..\fun\Ultrasound.h ..\fun\Buzzer.h \ | ||||||
|   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\value.h |   ..\fun\Motor.h ..\fun\IMU.h ..\fun\imu948.h ..\fun\encoder.h \ | ||||||
|  |   ..\fun\value.h | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -40,4 +40,4 @@ autoguidestick/ultrasound.o: ..\fun\Ultrasound.c ..\fun\Ultrasound.h \ | |||||||
|   D:\keil5\ARM\ARMCLANG\include\stdio.h \ |   D:\keil5\ARM\ARMCLANG\include\stdio.h \ | ||||||
|   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ |   D:\keil5\ARM\ARMCLANG\include\stdarg.h ..\fun\HCBle.h ..\fun\gps.h \ | ||||||
|   ..\fun\Shake_Motor.h ..\fun\Buzzer.h ..\fun\Motor.h ..\fun\IMU.h \ |   ..\fun\Shake_Motor.h ..\fun\Buzzer.h ..\fun\Motor.h ..\fun\IMU.h \ | ||||||
|   ..\fun\imu948.h ..\fun\value.h |   ..\fun\imu948.h ..\fun\encoder.h ..\fun\value.h | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										31
									
								
								fun/HCBle.c
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								fun/HCBle.c
									
									
									
									
									
								
							| @@ -33,7 +33,7 @@ uint8_t  rx_data;    // | |||||||
| uint8_t uart_dma_rx_buf[UART_DMA_RX_BUF_SIZE]; | uint8_t uart_dma_rx_buf[UART_DMA_RX_BUF_SIZE]; | ||||||
| RingBuffer ble_rx_ring = {0}; //<2F><>ʼ<EFBFBD><CABC> | RingBuffer ble_rx_ring = {0}; //<2F><>ʼ<EFBFBD><CABC> | ||||||
| MotorCommand cmd; | MotorCommand cmd; | ||||||
| LocationData current_location = {0}; | BleMessage current_location = {0}; | ||||||
| float imu_angle = 0.0f; | float imu_angle = 0.0f; | ||||||
|  |  | ||||||
| TX_EVENT_FLAGS_GROUP ble_event_flags; | TX_EVENT_FLAGS_GROUP ble_event_flags; | ||||||
| @@ -42,6 +42,7 @@ TX_EVENT_FLAGS_GROUP ble_event_flags; | |||||||
|  |  | ||||||
| void HCBle_InitEventFlags(void) | void HCBle_InitEventFlags(void) | ||||||
| {	tx_event_flags_create(&ble_event_flags, "BLE Events"); | {	tx_event_flags_create(&ble_event_flags, "BLE Events"); | ||||||
|  | 	tx_event_flags_create(&system_events,"gps Events"); | ||||||
| //	tx_event_flags_create(&sensor_events,"Sensor Events"); | //	tx_event_flags_create(&sensor_events,"Sensor Events"); | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -101,15 +102,17 @@ void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) | |||||||
|     } |     } | ||||||
| 	else if(huart->Instance == USART2) // gps<70>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 	else if(huart->Instance == USART2) // gps<70>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
| 	{ | 	{ | ||||||
|  | 		 | ||||||
| 		//		// <20><><EFBFBD><EFBFBD> Size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 		//		// <20><><EFBFBD><EFBFBD> Size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
| 		memcpy(GPS.GPS_Buffer,GPS_DMA_RX_BUF,Size); | 		memcpy(GPS.GPS_Buffer,GPS_DMA_RX_BUF,Size); | ||||||
| 		GPS.GPS_Buffer[Size] = '\0'; | 		GPS.GPS_Buffer[Size] = '\0'; | ||||||
| 		GPS.isGetData = 1;  //<2F><><EFBFBD>ݽ<EFBFBD><DDBD>ձ<EFBFBD>־λ<D6BE><CEBB>Ϊ1 | 		GPS.isGetData = 1;  //<2F><><EFBFBD>ݽ<EFBFBD><DDBD>ձ<EFBFBD>־λ<D6BE><CEBB>Ϊ1 | ||||||
| 		 | 		 | ||||||
| 		tx_event_flags_set(&system_events, EVENT_GPS_DATA_READY, TX_OR); | 		tx_event_flags_set(&system_events, EVENT_GPS_DATA_READY, TX_OR); | ||||||
|  |  | ||||||
| 		//<2F><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 		//<2F><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
| 		HAL_UARTEx_ReceiveToIdle_IT(&huart2,GPS_DMA_RX_BUF,GPS_DMA_RX_BUF_LEN); | 		HAL_UARTEx_ReceiveToIdle_IT(&huart2,GPS_DMA_RX_BUF,GPS_DMA_RX_BUF_LEN); | ||||||
|  | //		HAL_UARTEx_ReceiveToIdle_DMA(&huart2,GPS_DMA_RX_BUF,GPS_DMA_RX_BUF_LEN); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| } | } | ||||||
| @@ -125,8 +128,15 @@ void HCBle_ParseAndHandleFrame(const char *frame) | |||||||
|     if (sscanf(frame, "#{\"leftSpeed\":%d,\"rightSpeed\":%d}$", &left, &right) == 2) { |     if (sscanf(frame, "#{\"leftSpeed\":%d,\"rightSpeed\":%d}$", &left, &right) == 2) { | ||||||
|         cmd.LeftSpeed = left; |         cmd.LeftSpeed = left; | ||||||
|         cmd.RightSpeed = right; |         cmd.RightSpeed = right; | ||||||
|  | 		 | ||||||
|  | 		// <20><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD> | ||||||
|  | 		target_rpm_L = map_speed_to_rpm(cmd.LeftSpeed); | ||||||
|  | 		target_rpm_R = map_speed_to_rpm(cmd.RightSpeed); | ||||||
|  |  | ||||||
|         HCBle_SendData("left=%d, right=%d\r\n", cmd.LeftSpeed, cmd.RightSpeed); |         HCBle_SendData("left=%d, right=%d\r\n", cmd.LeftSpeed, cmd.RightSpeed); | ||||||
| //		HCBle_SendData("left=%d, right=%d\r\n", left, right); | //		HCBle_SendData("left=%d, right=%d\r\n", left, right); | ||||||
|  | 		DriveBOTH(cmd.LeftSpeed,cmd.RightSpeed); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  | //		DriveBOTH(cmd.LeftSpeed,cmd.RightSpeed); | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -189,17 +199,18 @@ void ble_rx_task_entry(ULONG thread_input) | |||||||
| //                 HCBle_SendData("#{\"lat\":%.6f,\"lon\":%.6f,\"angle\":%.2f}\n",  | //                 HCBle_SendData("#{\"lat\":%.6f,\"lon\":%.6f,\"angle\":%.2f}\n",  | ||||||
| //                                  current_location.lat, current_location.lon, current_location.angle); | //                                  current_location.lat, current_location.lon, current_location.angle); | ||||||
| void ble_tx_task_entry(ULONG thread_input) { | void ble_tx_task_entry(ULONG thread_input) { | ||||||
| 	char recv_msg[128]; |  | ||||||
| 	BleMessage msg; | 	BleMessage msg; | ||||||
|     while(1) { |     while(1) { | ||||||
|  |  | ||||||
|         HCBle_SendData("#{\"lat\":%.6f,\"lon\":%.6f,\"angle\":%.2f}\n",23.123456, 113.654321, 95.0); | //        HCBle_SendData("#{\"lat\":%.6f,\"lon\":%.6f,\"angle\":%.2f}\n",23.123456, 113.654321, 95.0); | ||||||
|         tx_thread_sleep(500); | //        tx_thread_sleep(500); | ||||||
| //		if(tx_queue_receive(&ble_tx_queue,&msg,TX_WAIT_FOREVER) == TX_SUCCESS) | 		if(tx_queue_receive(&ble_tx_queue,&msg,TX_WAIT_FOREVER) == TX_SUCCESS) | ||||||
| //		{ | 		{ | ||||||
| //			HCBle_SendData("#{\"lat\":%.6f,\"lon\":%.6f,\"angle\":%.1f}\n",  | 			HCBle_SendData("#{\"lat\":%.6f,\"lon\":%.6f,\"angle\":%.1f}\n",  | ||||||
| //                              23.123456, 113.654321,msg.angle); |                               msg.lat, msg.lon,msg.angle); | ||||||
| //		} | 			 | ||||||
|  | 		} | ||||||
|  | 		tx_thread_sleep(100); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -30,12 +30,17 @@ typedef struct | |||||||
| }RingBuffer; | }RingBuffer; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | typedef struct | ||||||
|  | { | ||||||
|  | 	float lat; | ||||||
|  | 	float lon; | ||||||
|  | 	float angle;	 | ||||||
|  | }BleMessage; | ||||||
|  |  | ||||||
| extern uint8_t  rx_data;   | extern uint8_t  rx_data;   | ||||||
| extern RingBuffer ble_rx_ring; //<2F><>ʼ<EFBFBD><CABC> | extern RingBuffer ble_rx_ring; //<2F><>ʼ<EFBFBD><CABC> | ||||||
| extern uint8_t uart_dma_rx_buf[UART_DMA_RX_BUF_SIZE]; | extern uint8_t uart_dma_rx_buf[UART_DMA_RX_BUF_SIZE]; | ||||||
| extern LocationData current_location; | extern BleMessage current_location; | ||||||
|  |  | ||||||
| extern uint8_t flag; | extern uint8_t flag; | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										79
									
								
								fun/Motor.c
									
									
									
									
									
								
							
							
						
						
									
										79
									
								
								fun/Motor.c
									
									
									
									
									
								
							| @@ -64,23 +64,68 @@ void MotorB_Speed(uint8_t speed) | |||||||
| // ʾ<><CABE> ͬʱ<CDAC><CAB1><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>A/B | // ʾ<><CABE> ͬʱ<CDAC><CAB1><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>A/B | ||||||
| // <20><>ʾ <20><><EFBFBD><EFBFBD> Dir 0  ---- ǰ<><C7B0> go forward | // <20><>ʾ <20><><EFBFBD><EFBFBD> Dir 0  ---- ǰ<><C7B0> go forward | ||||||
| //      <20><><EFBFBD><EFBFBD> Dir 1  ---- <20><><EFBFBD><EFBFBD> go forward  | //      <20><><EFBFBD><EFBFBD> Dir 1  ---- <20><><EFBFBD><EFBFBD> go forward  | ||||||
| void DriveBOTH(int16_t speedA,int16_t speedB) | //void DriveBOTH(int16_t speedA,int16_t speedB) | ||||||
| { | //{ | ||||||
| 	// <20><><EFBFBD><EFBFBD> A | //	// <20><><EFBFBD><EFBFBD> A | ||||||
| 	if (speedA >= 0) MotorA_Dir(0); | //	if (speedA >= 0) MotorA_Dir(0); | ||||||
| 	else | //	else | ||||||
| 	{ | //	{ | ||||||
| 		MotorA_Dir(1); | //		MotorA_Dir(1); | ||||||
| 		speedA = -speedA; | //		speedA = -speedA; | ||||||
| 	} | //	} | ||||||
| 	MotorA_Speed(speedA); | //	MotorA_Speed(speedA); | ||||||
|  | //	 | ||||||
|  | //	// <20><><EFBFBD><EFBFBD> B | ||||||
|  | //	if (speedB >= 0) MotorB_Dir(0); | ||||||
|  | //	else | ||||||
|  | //	{ | ||||||
|  | //		MotorB_Dir(1); | ||||||
|  | //		speedB = -speedB; | ||||||
|  | //	} | ||||||
|  | //	MotorB_Speed(speedB); | ||||||
|  | //} | ||||||
|  |  | ||||||
| 	// <20><><EFBFBD><EFBFBD> B |  | ||||||
| 	if (speedB >= 0) MotorA_Dir(0); | // Motor.c   <20><><EFBFBD>Ͻ<EFBFBD><CFBD>д<EFBFBD><D0B4><EFBFBD> | ||||||
| 	else | void DriveBOTH(int16_t speedA, int16_t speedB) | ||||||
| 	{ | { | ||||||
| 		MotorB_Dir(1); |     // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A | ||||||
| 		speedB = -speedB; |     if(speedA == 0) { | ||||||
|  |         // <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>͵<EFBFBD>ƽ | ||||||
|  |         HAL_GPIO_WritePin(AIN1_GPIO_Port, AIN1_Pin, GPIO_PIN_RESET); | ||||||
|  |         HAL_GPIO_WritePin(AIN2_GPIO_Port, AIN2_Pin, GPIO_PIN_RESET); | ||||||
|     }  |     }  | ||||||
| 	MotorA_Speed(speedB); |     else if(speedA > 0) { | ||||||
|  |         HAL_GPIO_WritePin(AIN1_GPIO_Port, AIN1_Pin, GPIO_PIN_SET); | ||||||
|  |         HAL_GPIO_WritePin(AIN2_GPIO_Port, AIN2_Pin, GPIO_PIN_RESET); | ||||||
|  |         speedA = abs(speedA); // ȡ<><C8A1><EFBFBD><EFBFBD>ֵ | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         HAL_GPIO_WritePin(AIN1_GPIO_Port, AIN1_Pin, GPIO_PIN_RESET); | ||||||
|  |         HAL_GPIO_WritePin(AIN2_GPIO_Port, AIN2_Pin, GPIO_PIN_SET); | ||||||
|  |         speedA = abs(speedA); // ȡ<><C8A1><EFBFBD><EFBFBD>ֵ | ||||||
|  |     } | ||||||
|  |      | ||||||
|  | 	 | ||||||
|  | 	if(speedB == 0) { | ||||||
|  |         // <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>͵<EFBFBD>ƽ | ||||||
|  |         HAL_GPIO_WritePin(BIN1_GPIO_Port, BIN1_Pin, GPIO_PIN_RESET); | ||||||
|  |         HAL_GPIO_WritePin(BIN2_GPIO_Port, BIN2_Pin, GPIO_PIN_RESET); | ||||||
|  |     }  | ||||||
|  |     else if(speedB > 0) { | ||||||
|  |         HAL_GPIO_WritePin(BIN1_GPIO_Port, BIN1_Pin, GPIO_PIN_SET); | ||||||
|  |         HAL_GPIO_WritePin(BIN2_GPIO_Port, BIN2_Pin, GPIO_PIN_RESET); | ||||||
|  |         speedB = abs(speedB); // ȡ<><C8A1><EFBFBD><EFBFBD>ֵ | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         HAL_GPIO_WritePin(BIN1_GPIO_Port, BIN1_Pin, GPIO_PIN_RESET); | ||||||
|  |         HAL_GPIO_WritePin(BIN2_GPIO_Port, BIN2_Pin, GPIO_PIN_SET); | ||||||
|  |         speedB = abs(speedB); // ȡ<><C8A1><EFBFBD><EFBFBD>ֵ | ||||||
|  |     } | ||||||
|  |     // ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B... | ||||||
|  |      | ||||||
|  | 	 | ||||||
|  |     // <20><><EFBFBD><EFBFBD>PWM | ||||||
|  |     __HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_4, speedA); | ||||||
|  |     __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_4, speedB); | ||||||
| } | } | ||||||
| @@ -9,7 +9,7 @@ volatile uint32_t ic_val1 = 0; //  | |||||||
| volatile uint32_t ic_val2 = 0; // <20><><EFBFBD><EFBFBD>ֵ2 | volatile uint32_t ic_val2 = 0; // <20><><EFBFBD><EFBFBD>ֵ2 | ||||||
| volatile uint8_t  is_first_capture = 0; // <20>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>һ<EFBFBD>β<EFBFBD><CEB2><EFBFBD> | volatile uint8_t  is_first_capture = 0; // <20>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>һ<EFBFBD>β<EFBFBD><CEB2><EFBFBD> | ||||||
| volatile uint32_t distance_cm = 0;  // <20><><EFBFBD>밴<EFBFBD><EBB0B4> cm<63><6D><EFBFBD><EFBFBD> | volatile uint32_t distance_cm = 0;  // <20><><EFBFBD>밴<EFBFBD><EBB0B4> cm<63><6D><EFBFBD><EFBFBD> | ||||||
|  | volatile uint8_t obstacle_level = 0; // 0 - <20><><EFBFBD>ϰ<EFBFBD> , 1 = Զ ,2 = <20><> , 3 = <20><> | ||||||
| /******* | /******* | ||||||
| <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
| Psc: 250 - 1  <20>Դﵽ   1tick = 1us<75><73>Ч<EFBFBD><D0A7> | Psc: 250 - 1  <20>Դﵽ   1tick = 1us<75><73>Ч<EFBFBD><D0A7> | ||||||
| @@ -64,7 +64,7 @@ void HCSR04_Trigger(void) | |||||||
|  |  | ||||||
| #ifdef TEST | #ifdef TEST | ||||||
| void ultrasonic_task_entry(ULONG thread_input) { | void ultrasonic_task_entry(ULONG thread_input) { | ||||||
|     HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_2); |     HAL_TIM_IC_Start_IT(&htim5, TIM_CHANNEL_1); | ||||||
| 	DWT_Init(); | 	DWT_Init(); | ||||||
| 	 | 	 | ||||||
|     while (1) { |     while (1) { | ||||||
| @@ -74,8 +74,21 @@ void ultrasonic_task_entry(ULONG thread_input) { | |||||||
|         if (tx_event_flags_get(&ultrasonic_event, EVENT_ECHO_DONE, TX_OR_CLEAR, |         if (tx_event_flags_get(&ultrasonic_event, EVENT_ECHO_DONE, TX_OR_CLEAR, | ||||||
|                                &events, TX_WAIT_FOREVER) == TX_SUCCESS) { |                                &events, TX_WAIT_FOREVER) == TX_SUCCESS) { | ||||||
|             if (distance_cm < 30) { |             if (distance_cm < 30) { | ||||||
|                 tx_event_flags_set(&system_events,EVENT_OBSTACLE_DETECTED,TX_OR);// ִ<EFBFBD>б<EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD> |                 obstacle_level = 3; // <20>ܽ<EFBFBD> | ||||||
|  |             }else if(distance_cm > 30 && distance_cm < 50) | ||||||
|  | 			{ | ||||||
|  | 				obstacle_level = 2; // <20><> | ||||||
|  | 			}else if(distance_cm > 50 && distance_cm < 80) | ||||||
|  | 			{ | ||||||
|  | 				obstacle_level = 1; | ||||||
|  | 			}else  | ||||||
|  | 			{ | ||||||
|  | 				obstacle_level = 0; // <20><><EFBFBD>ϰ<EFBFBD> | ||||||
|  | 			} | ||||||
| 			 | 			 | ||||||
|  | 			if(obstacle_level > 0) | ||||||
|  | 			{ | ||||||
|  | 				tx_event_flags_set(&response_events,EVENT_OBSTACLE_DETECTED,TX_OR); // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD> | ||||||
| 			} | 			} | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -94,14 +107,14 @@ Echo  | |||||||
|  |  | ||||||
| ******/ | ******/ | ||||||
| void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { | void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { | ||||||
|     if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2) { |     if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1) { | ||||||
|         if (is_first_capture == 0) { |         if (is_first_capture == 0) { | ||||||
|             ic_val1 = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_2); |             ic_val1 = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1); | ||||||
|             __HAL_TIM_SET_CAPTUREPOLARITY(htim, TIM_CHANNEL_2, TIM_INPUTCHANNELPOLARITY_FALLING); |             __HAL_TIM_SET_CAPTUREPOLARITY(htim, TIM_CHANNEL_1, TIM_INPUTCHANNELPOLARITY_FALLING); | ||||||
|             is_first_capture = 1; |             is_first_capture = 1; | ||||||
|         } else { |         } else { | ||||||
|             ic_val2 = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_2); |             ic_val2 = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1); | ||||||
|             __HAL_TIM_SET_CAPTUREPOLARITY(htim, TIM_CHANNEL_2, TIM_INPUTCHANNELPOLARITY_RISING); |             __HAL_TIM_SET_CAPTUREPOLARITY(htim, TIM_CHANNEL_1, TIM_INPUTCHANNELPOLARITY_RISING); | ||||||
|             is_first_capture = 0; |             is_first_capture = 0; | ||||||
|  |  | ||||||
|             uint32_t delta = (ic_val2 > ic_val1) ? (ic_val2 - ic_val1) : (0xFFFF - ic_val1 + ic_val2); |             uint32_t delta = (ic_val2 > ic_val1) ? (ic_val2 - ic_val1) : (0xFFFF - ic_val1 + ic_val2); | ||||||
| @@ -110,6 +123,7 @@ void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { | |||||||
|             // ֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD> ȡ<><C8A1>ע<EFBFBD><D7A2><EFBFBD>Ի<EFBFBD><D4BB>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD>߳<EFBFBD> |             // ֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD> ȡ<><C8A1>ע<EFBFBD><D7A2><EFBFBD>Ի<EFBFBD><D4BB>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD>߳<EFBFBD> | ||||||
|             tx_event_flags_set(&ultrasonic_event, EVENT_ECHO_DONE, TX_OR); |             tx_event_flags_set(&ultrasonic_event, EVENT_ECHO_DONE, TX_OR); | ||||||
|         } |         } | ||||||
|  | 		   HAL_TIM_IC_Start_IT(&htim5,TIM_CHANNEL_1); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,7 +6,8 @@ | |||||||
| #define HCSR_TEST 1 | #define HCSR_TEST 1 | ||||||
| #define EVENT_ECHO_DONE		0x01 | #define EVENT_ECHO_DONE		0x01 | ||||||
|  |  | ||||||
|  | extern volatile uint8_t obstacle_level; | ||||||
|  | extern volatile uint32_t distance_cm; | ||||||
| void DWT_Init(void); | void DWT_Init(void); | ||||||
| /******** | /******** | ||||||
| delay_us() <20><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5> (ʹ<><CAB9>DWT)  <20><>ȷ<EFBFBD><C8B7> | delay_us() <20><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5> (ʹ<><CAB9>DWT)  <20><>ȷ<EFBFBD><C8B7> | ||||||
|   | |||||||
							
								
								
									
										135
									
								
								fun/encoder.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								fun/encoder.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,135 @@ | |||||||
|  | #include "encoder.h" | ||||||
|  |  | ||||||
|  | volatile int32_t tick_L = 0,tick_R = 0; | ||||||
|  | volatile int16_t rpm_L = 0,rpm_R = 0; | ||||||
|  |  | ||||||
|  | extern TIM_HandleTypeDef htim1; | ||||||
|  | extern TIM_HandleTypeDef htim8; | ||||||
|  |  | ||||||
|  | static TX_THREAD enc_thread; | ||||||
|  | static UCHAR enc_stack[512];  | ||||||
|  |  | ||||||
|  | static void enc_thread_entry(ULONG); | ||||||
|  |  | ||||||
|  | UINT Encoder_ThreadCreate(void) | ||||||
|  | { | ||||||
|  | 	UINT status; | ||||||
|  | 	 | ||||||
|  | 	HAL_TIM_Encoder_Start(&htim1,TIM_CHANNEL_ALL); | ||||||
|  | 	HAL_TIM_Encoder_Start(&htim8,TIM_CHANNEL_ALL); | ||||||
|  | 	 | ||||||
|  | 	__HAL_TIM_SET_COUNTER(&htim1,0); | ||||||
|  | 	__HAL_TIM_SET_COUNTER(&htim8,0); | ||||||
|  | 	 | ||||||
|  |     status = tx_thread_create(&enc_thread, "Encoder", enc_thread_entry, 0, | ||||||
|  |                      enc_stack, sizeof(enc_stack), | ||||||
|  |                      6, 6, TX_NO_TIME_SLICE, TX_AUTO_START); | ||||||
|  | 					  | ||||||
|  | 	return status; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | static void enc_thread_entry(ULONG arg) | ||||||
|  | { | ||||||
|  | 	const float msPerMin = 6000.0f; | ||||||
|  | 	const float ticksPerRev = 1024.0f; // <20><><EFBFBD><EFBFBD>  * 4 | ||||||
|  | 	uint16_t lastL = 0, lastR = 0; | ||||||
|  | 	 | ||||||
|  |     while (1) | ||||||
|  |     { | ||||||
|  |         uint16_t cntL = __HAL_TIM_GET_COUNTER(&htim1); | ||||||
|  |         uint16_t cntR = __HAL_TIM_GET_COUNTER(&htim8); | ||||||
|  |  | ||||||
|  |         int16_t dL = (int16_t)(cntL - lastL); | ||||||
|  |         int16_t dR = (int16_t)(cntR - lastR); | ||||||
|  |  | ||||||
|  |         lastL = cntL; | ||||||
|  |         lastR = cntR; | ||||||
|  |  | ||||||
|  |         tick_L += dL; | ||||||
|  |         tick_R += dR; | ||||||
|  |  | ||||||
|  |         rpm_L = (int16_t)(dL * msPerMin / (ticksPerRev * 10)); | ||||||
|  |         rpm_R = (int16_t)(dR * msPerMin / (ticksPerRev * 10)); | ||||||
|  |  | ||||||
|  |         tx_thread_sleep(10); | ||||||
|  |     } | ||||||
|  | 	 | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // | ||||||
|  |  | ||||||
|  | //ControlThread | ||||||
|  | // | ||||||
|  |  | ||||||
|  | static TX_THREAD control_thread; | ||||||
|  | static UCHAR control_stack[512]; | ||||||
|  |  | ||||||
|  | volatile int16_t target_rpm_L = 0; | ||||||
|  | volatile int16_t target_rpm_R = 0; | ||||||
|  |  | ||||||
|  | static void control_thread_entry(ULONG arg); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | UINT ControlThreadCreate(void) | ||||||
|  | { | ||||||
|  | 	UINT status; | ||||||
|  |     status = tx_thread_create(&control_thread, "Control", control_thread_entry, 0, | ||||||
|  |                      control_stack, sizeof(control_stack), | ||||||
|  |                      7, 7, TX_NO_TIME_SLICE, TX_AUTO_START); | ||||||
|  | 					  | ||||||
|  | 	return status; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | static void control_thread_entry(ULONG arg) | ||||||
|  | { | ||||||
|  |     static int16_t pwmL = 0, pwmR = 0; | ||||||
|  |     static float integralL = 0, integralR = 0; | ||||||
|  |     float Kp = 1.0f, Ki = 0.1f; | ||||||
|  |  | ||||||
|  |     while (1) | ||||||
|  |     { | ||||||
|  |         int16_t errorL = target_rpm_L - rpm_L; | ||||||
|  |         int16_t errorR = target_rpm_R - rpm_R; | ||||||
|  |  | ||||||
|  |         integralL += errorL; | ||||||
|  |         integralR += errorR; | ||||||
|  | 		 | ||||||
|  | 		// <20>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD>ۼӺ<DBBC><D3BA><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  | 		if (errorL == 0) integralL = 0; | ||||||
|  | 		if (errorR == 0) integralR = 0; | ||||||
|  |  | ||||||
|  | 		const float max_integral = 1000.0f; | ||||||
|  |         if(integralL > max_integral) integralL = max_integral; | ||||||
|  |         if(integralL < -max_integral) integralL = -max_integral; | ||||||
|  | 		 | ||||||
|  | 		if(integralR > max_integral) integralR = max_integral; | ||||||
|  |         if(integralR < -max_integral) integralR = -max_integral; | ||||||
|  |         // ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>integralR... | ||||||
|  | 		 | ||||||
|  |         pwmL += (int16_t)(Kp * errorL + Ki * integralL); | ||||||
|  |         pwmR += (int16_t)(Kp * errorR + Ki * integralR); | ||||||
|  |  | ||||||
|  |         if (pwmL < 0) pwmL = 0; | ||||||
|  |         if (pwmL > 255) pwmL = 255; | ||||||
|  |         if (pwmR < 0) pwmR = 0; | ||||||
|  |         if (pwmR > 255) pwmR = 255; | ||||||
|  |  | ||||||
|  |         DriveBOTH(pwmL, pwmR); | ||||||
|  |  | ||||||
|  |         tx_thread_sleep(10); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | int16_t map_speed_to_rpm(int speed) | ||||||
|  | { | ||||||
|  |     if (abs(speed) < 30) return 0; | ||||||
|  |     return (speed - 60) * 1.5;  // <20><><EFBFBD><EFBFBD> | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								fun/encoder.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								fun/encoder.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | #ifndef __ENCODER_H__ | ||||||
|  | #define __ENCODER_H__ | ||||||
|  |  | ||||||
|  | #include "headfile.h" | ||||||
|  |  | ||||||
|  | extern volatile int16_t target_rpm_L; | ||||||
|  | extern volatile int16_t target_rpm_R; | ||||||
|  | int16_t map_speed_to_rpm(int speed); | ||||||
|  | UINT ControlThreadCreate(void); | ||||||
|  | UINT Encoder_ThreadCreate(void); | ||||||
|  |  | ||||||
|  | #endif  | ||||||
							
								
								
									
										263
									
								
								fun/gps.c
									
									
									
									
									
								
							
							
						
						
									
										263
									
								
								fun/gps.c
									
									
									
									
									
								
							| @@ -26,68 +26,215 @@ _GPSData GPS; | |||||||
| void GPS_Init(void) | void GPS_Init(void) | ||||||
| { | { | ||||||
|     HAL_UARTEx_ReceiveToIdle_IT(&huart2, GPS_DMA_RX_BUF, GPS_DMA_RX_BUF_LEN); |     HAL_UARTEx_ReceiveToIdle_IT(&huart2, GPS_DMA_RX_BUF, GPS_DMA_RX_BUF_LEN); | ||||||
| //    __HAL_DMA_DISABLE_IT(&handle_GPDMA1_Channel3, DMA_IT_HT);  // <20><><EFBFBD>ð봫<C3B0><EBB4AB> | //		HAL_UARTEx_ReceiveToIdle_DMA(&huart2,GPS_DMA_RX_BUF,GPS_DMA_RX_BUF_LEN); | ||||||
| } | } | ||||||
|  |  | ||||||
| #ifdef parse | #ifdef parse | ||||||
| // GPS<50><53><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD> | // GPS<50><53><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD> | ||||||
| void parseGpsBuffer() | //void parseGpsBuffer() | ||||||
|  | //{ | ||||||
|  | //	char *subString; | ||||||
|  | //	char *subStringNext; | ||||||
|  | //	char i = 0; | ||||||
|  | //	 | ||||||
|  | //	if(GPS.isGetData) | ||||||
|  | //	{ | ||||||
|  | //		GPS.isGetData = 0; // <20>ѱ<EFBFBD>־λ<D6BE><CEBB>Ϊ1 | ||||||
|  | //		 | ||||||
|  | //		char usefullBuffer[2] = {0}; | ||||||
|  | //		for(i = 0; i <= 6; i++) | ||||||
|  | //		{ | ||||||
|  | //			if(i == 0) | ||||||
|  | //			{ | ||||||
|  | //				 | ||||||
|  | //				subString = strstr(GPS.GPS_Buffer,","); | ||||||
|  | //				if(!subString)return; | ||||||
|  | //			} | ||||||
|  | //			else | ||||||
|  | //			{ | ||||||
|  | //				subString++; | ||||||
|  | //				subStringNext = strstr(subString,","); | ||||||
|  | //				if(!subStringNext)return; | ||||||
|  | //				 | ||||||
|  | //				switch(i) | ||||||
|  | //				{ | ||||||
|  | //					case 1: | ||||||
|  | //						memcpy(GPS.UTCTime,subString,subStringNext - subString); | ||||||
|  | //						break; | ||||||
|  | //					case 2: | ||||||
|  | //						memcpy(usefullBuffer,subString,subStringNext - subString); | ||||||
|  | //						break; | ||||||
|  | //					case 3: | ||||||
|  | //						memcpy(GPS.latitude,subString,subStringNext - subString); | ||||||
|  | //						break; | ||||||
|  | //					case 4: | ||||||
|  | //						memcpy(GPS.N_S,subString,subStringNext - subString); | ||||||
|  | //						break; | ||||||
|  | //					case 5: | ||||||
|  | //						memcpy(GPS.longitude,subString,subStringNext - subString); | ||||||
|  | //						break; | ||||||
|  | //					case 6: | ||||||
|  | //						memcpy(GPS.E_W,subString,subStringNext - subString); | ||||||
|  | //						break; | ||||||
|  | //					default:break; | ||||||
|  | //				} | ||||||
|  | //				 | ||||||
|  | //				subString = subStringNext; | ||||||
|  | //			} | ||||||
|  | //			 | ||||||
|  | //		} | ||||||
|  | //		GPS.isParseData = 1; | ||||||
|  | //		GPS.isUsefull = (usefullBuffer[0] == 'A') ? 1 : 0; | ||||||
|  | //	} | ||||||
|  | //	 | ||||||
|  | //} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //void parseGpsBuffer(void) | ||||||
|  | //{ | ||||||
|  | //    if (!GPS.isGetData) return; | ||||||
|  | //    GPS.isGetData = 0; | ||||||
|  |  | ||||||
|  | //    /* ----------- <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> ------------ */ | ||||||
|  | //    const char *p = GPS.GPS_Buffer; | ||||||
|  |  | ||||||
|  | //    /* <20><> RMC ----------------------------------------------------- */ | ||||||
|  | //    if (!strncmp(p, "$GNRMC", 6) || !strncmp(p, "$GPRMC", 6)) | ||||||
|  | //    { | ||||||
|  | //        char status, lat[16], ns[3], lon[16], ew[3]; | ||||||
|  | //        if (sscanf(p, | ||||||
|  | //                   "$%*[^,],%*[^,],%c,%15[^,],%2[^,],%15[^,],%2[^,],", | ||||||
|  | //                   &status, lat, ns, lon, ew) == 5) | ||||||
|  | //        { | ||||||
|  | //            if (status == 'A')                      /* <20><>λ<EFBFBD><CEBB>Ч */ | ||||||
|  | //            { | ||||||
|  | //                strcpy(GPS.latitude,  lat); | ||||||
|  | //                strcpy(GPS.N_S,       ns); | ||||||
|  | //                strcpy(GPS.longitude, lon); | ||||||
|  | //                strcpy(GPS.E_W,       ew); | ||||||
|  | //                GPS.isParseData = 1; | ||||||
|  | //                GPS.isUsefull   = 1; | ||||||
|  | //            } | ||||||
|  | //        } | ||||||
|  | //        return; | ||||||
|  | //    } | ||||||
|  |  | ||||||
|  | //    /* <20><> GGA ----------------------------------------------------- */ | ||||||
|  | //    if (!strncmp(p, "$GNGGA", 6) || !strncmp(p, "$GPGGA", 6)) | ||||||
|  | //    { | ||||||
|  | //        int q;  char lat[16], ns[3], lon[16], ew[3]; | ||||||
|  | //        if (sscanf(p, | ||||||
|  | //                   "$%*[^,],%*[^,],%15[^,],%2[^,],%15[^,],%2[^,],%d,", | ||||||
|  | //                   lat, ns, lon, ew, &q) == 5) | ||||||
|  | //        { | ||||||
|  | //            if (q > 0)                              /* q=0 <20><EFBFBD>λ */ | ||||||
|  | //            { | ||||||
|  | //                strcpy(GPS.latitude,  lat); | ||||||
|  | //                strcpy(GPS.N_S,       ns); | ||||||
|  | //                strcpy(GPS.longitude, lon); | ||||||
|  | //                strcpy(GPS.E_W,       ew); | ||||||
|  | //                GPS.isParseData = 1; | ||||||
|  | //                GPS.isUsefull   = 1; | ||||||
|  | //            } | ||||||
|  | //        } | ||||||
|  | //        return; | ||||||
|  | //    } | ||||||
|  |  | ||||||
|  | //    /* <20><> GLL ----------------------------------------------------- */ | ||||||
|  | //    if (!strncmp(p, "$GNGLL", 6) || !strncmp(p, "$GPGLL", 6)) | ||||||
|  | //    { | ||||||
|  | //        char status, lat[16], ns[3], lon[16], ew[3]; | ||||||
|  | //        if (sscanf(p, | ||||||
|  | //                   "$%*[^,],%15[^,],%2[^,],%15[^,],%2[^,],%*[^,],%c", | ||||||
|  | //                   lat, ns, lon, ew, &status) == 5) | ||||||
|  | //        { | ||||||
|  | //            if (status == 'A') | ||||||
|  | //            { | ||||||
|  | //                strcpy(GPS.latitude,  lat); | ||||||
|  | //                strcpy(GPS.N_S,       ns); | ||||||
|  | //                strcpy(GPS.longitude, lon); | ||||||
|  | //                strcpy(GPS.E_W,       ew); | ||||||
|  | //                GPS.isParseData = 1; | ||||||
|  | //                GPS.isUsefull   = 1; | ||||||
|  | //            } | ||||||
|  | //        } | ||||||
|  | //    } | ||||||
|  | //} | ||||||
|  |  | ||||||
|  | /* === <20><> <20>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD> & <20><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD> === */ | ||||||
|  | static char line_buf[GPS_Buffer_Length]; | ||||||
|  | static uint16_t line_w = 0; | ||||||
|  |  | ||||||
|  | void GPS_LinePush(uint8_t ch) | ||||||
| { | { | ||||||
| 	char *subString; |     if (ch == '\n') {                     /* <20><><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD> */ | ||||||
| 	char *subStringNext; |         line_buf[line_w] = '\0'; | ||||||
| 	char i = 0; |  | ||||||
|  |  | ||||||
| 	if(GPS.isGetData) |  | ||||||
| 	{ |  | ||||||
| 		GPS.isGetData = 0; // <20>ѱ<EFBFBD>־λ<D6BE><CEBB>Ϊ1 |  | ||||||
|  |  | ||||||
| 		char usefullBuffer[2] = {0}; |         /* A. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '$' <20><>ͷ<EFBFBD><CDB7>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD> <20><> ֱ<><D6B1>ƴ<EFBFBD><C6B4> */ | ||||||
| 		for(i = 0; i <= 6; i++) |         if (line_buf[0] != '$' && GPS.isGetData == 0 && GPS.GPS_Buffer[0] == '$') | ||||||
|         { |         { | ||||||
| 			if(i == 0) |             strncat(GPS.GPS_Buffer, line_buf, GPS_Buffer_Length - strlen(GPS.GPS_Buffer) - 1); | ||||||
| 			{ |  | ||||||
| 				 |  | ||||||
| 				subString = strstr(GPS.GPS_Buffer,","); |  | ||||||
| 				if(!subString)return; |  | ||||||
|         } |         } | ||||||
| 			else |         else        /* B. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD> */ | ||||||
|         { |         { | ||||||
| 				subString++; |             strncpy(GPS.GPS_Buffer, line_buf, GPS_Buffer_Length); | ||||||
| 				subStringNext = strstr(subString,","); |  | ||||||
| 				if(!subStringNext)return; |  | ||||||
| 				 |  | ||||||
| 				switch(i) |  | ||||||
| 				{ |  | ||||||
| 					case 1: |  | ||||||
| 						memcpy(GPS.UTCTime,subString,subStringNext - subString); |  | ||||||
| 						break; |  | ||||||
| 					case 2: |  | ||||||
| 						memcpy(usefullBuffer,subString,subStringNext - subString); |  | ||||||
| 						break; |  | ||||||
| 					case 3: |  | ||||||
| 						memcpy(GPS.latitude,subString,subStringNext - subString); |  | ||||||
| 						break; |  | ||||||
| 					case 4: |  | ||||||
| 						memcpy(GPS.N_S,subString,subStringNext - subString); |  | ||||||
| 						break; |  | ||||||
| 					case 5: |  | ||||||
| 						memcpy(GPS.longitude,subString,subStringNext - subString); |  | ||||||
| 						break; |  | ||||||
| 					case 6: |  | ||||||
| 						memcpy(GPS.E_W,subString,subStringNext - subString); |  | ||||||
| 						break; |  | ||||||
| 					default:break; |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
| 				subString = subStringNext; |         line_w = 0; | ||||||
|  |         GPS.isGetData = 1; | ||||||
|  |         tx_event_flags_set(&system_events, EVENT_GPS_DATA_READY, TX_OR); | ||||||
|  |         return; | ||||||
|     } |     } | ||||||
| 			 |  | ||||||
| 		} |  | ||||||
| 		GPS.isParseData = 1; |  | ||||||
| 		GPS.isUsefull = (usefullBuffer[0] == 'A') ? 1 : 0; |  | ||||||
| 	} |  | ||||||
| 	 |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /* === <20><> <20>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻҪ<D6BB><D2AA>γ<EFBFBD><CEB3> === */ | ||||||
|  | void parseGpsBuffer(void) | ||||||
|  | { | ||||||
|  |     if (!GPS.isGetData) return; | ||||||
|  |     GPS.isGetData = 0; | ||||||
|  |     GPS.isParseData = 0; | ||||||
|  |     GPS.isUsefull  = 0; | ||||||
|  |  | ||||||
|  |     const char *p = GPS.GPS_Buffer; | ||||||
|  |     /* ---- $GxRMC ---- */ | ||||||
|  |     if (!strncmp(p, "$GNRMC", 6) || !strncmp(p, "$GPRMC", 6)) { | ||||||
|  |         char s, lat[16], ns[3], lon[16], ew[3]; | ||||||
|  |         if (sscanf(p, | ||||||
|  |                    "$%*[^,],%*[^,],%c,%15[^,],%2[^,],%15[^,],%2[^,],", | ||||||
|  |                    &s, lat, ns, lon, ew) == 5 && s == 'A') { | ||||||
|  |             strcpy(GPS.latitude, lat); strcpy(GPS.N_S, ns); | ||||||
|  |             strcpy(GPS.longitude, lon); strcpy(GPS.E_W, ew); | ||||||
|  |             GPS.isParseData = GPS.isUsefull = 1; | ||||||
|  |         } | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  |     /* ---- $GxGGA ---- */ | ||||||
|  |     if (!strncmp(p, "$GNGGA", 6) || !strncmp(p, "$GPGGA", 6)) { | ||||||
|  |         int q; char lat[16], ns[3], lon[16], ew[3]; | ||||||
|  |         if (sscanf(p, | ||||||
|  |             "$%*[^,],%*[^,],%15[^,],%2[^,],%15[^,],%2[^,],%d,", | ||||||
|  |             lat, ns, lon, ew, &q) == 5 && q > 0) { | ||||||
|  |             strcpy(GPS.latitude, lat); strcpy(GPS.N_S, ns); | ||||||
|  |             strcpy(GPS.longitude, lon); strcpy(GPS.E_W, ew); | ||||||
|  |             GPS.isParseData = GPS.isUsefull = 1; | ||||||
|  |         } | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  |     /* ---- $GxGLL ---- */ | ||||||
|  |     if (!strncmp(p, "$GNGLL", 6) || !strncmp(p, "$GPGLL", 6)) { | ||||||
|  |         char s, lat[16], ns[3], lon[16], ew[3]; | ||||||
|  |         if (sscanf(p, | ||||||
|  |             "$%*[^,],%15[^,],%2[^,],%15[^,],%2[^,],%*[^,],%c", | ||||||
|  |             lat, ns, lon, ew, &s) == 5 && s == 'A') { | ||||||
|  |             strcpy(GPS.latitude, lat); strcpy(GPS.N_S, ns); | ||||||
|  |             strcpy(GPS.longitude, lon); strcpy(GPS.E_W, ew); | ||||||
|  |             GPS.isParseData = GPS.isUsefull = 1; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| #else // <20><><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6>ڸĽ<DAB8><C4BD><EFBFBD><EFBFBD><EFBFBD>parse <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>в<EFBFBD><D0B2><EFBFBD> | #else // <20><><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6>ڸĽ<DAB8><C4BD><EFBFBD><EFBFBD><EFBFBD>parse <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>в<EFBFBD><D0B2><EFBFBD> | ||||||
| void parseGpsBuffer() | void parseGpsBuffer() | ||||||
| { | { | ||||||
| @@ -172,7 +319,7 @@ void GPS_Data_CLR(void) | |||||||
| //		 | //		 | ||||||
| //		tx_event_flags_set(&system_events, EVENT_GPS_DATA_READY, TX_OR); | //		tx_event_flags_set(&system_events, EVENT_GPS_DATA_READY, TX_OR); | ||||||
| //		//<2F><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | //		//<2F><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
| //		HAL_UARTEx_ReceiveToIdle_DMA(&huart2,GPS_DMA_RX_BUF,GPS_DMA_RX_BUF_LEN); | //		HAL_UARTEx_ReceiveToIdle_IT(&huart2,GPS_DMA_RX_BUF,GPS_DMA_RX_BUF_LEN); | ||||||
| //	} | //	} | ||||||
| //	 | //	 | ||||||
| //} | //} | ||||||
| @@ -186,25 +333,29 @@ void gps_thread_entry(ULONG thread_input) | |||||||
| { | { | ||||||
|     GPS_Init(); |     GPS_Init(); | ||||||
|     static int gps_first_fix_sent = 0; |     static int gps_first_fix_sent = 0; | ||||||
|  | 	BleMessage msg; | ||||||
|     while (1) |     while (1) | ||||||
|     { |     { | ||||||
|         ULONG events; |         ULONG events; | ||||||
|         tx_event_flags_get(&system_events, EVENT_GPS_DATA_READY, TX_OR_CLEAR, &events, TX_WAIT_FOREVER); |         tx_event_flags_get(&system_events, EVENT_GPS_DATA_READY, TX_OR_CLEAR, &events, TX_WAIT_FOREVER); | ||||||
|  |  | ||||||
|         parseGpsBuffer(); |         parseGpsBuffer(); | ||||||
|  | //		HCBle_SendData("[GPS] isGetData=%d, isParseData=%d, isUsefull=%d, Buffer=%s\r\n", | ||||||
|  | //		GPS.isGetData, GPS.isParseData, GPS.isUsefull, GPS.GPS_Buffer); | ||||||
|         if (GPS.isParseData && GPS.isUsefull) |         if (GPS.isParseData && GPS.isUsefull) | ||||||
|         { |         { | ||||||
|             current_location.lat = Convert_to_degrees(GPS.latitude); |             current_location.lat = Convert_to_degrees(GPS.latitude); | ||||||
|             current_location.lon = Convert_to_degrees(GPS.longitude); |             current_location.lon = Convert_to_degrees(GPS.longitude); | ||||||
|             tx_event_flags_set(&system_events, EVENT_LOCATION_UPDATED, TX_OR); |             tx_event_flags_set(&system_events, EVENT_LOCATION_UPDATED, TX_OR); | ||||||
|  |  | ||||||
|             char msg[128]; | 			 | ||||||
|             snprintf(msg, sizeof(msg), "#{\"lat\":%.6f,\"lon\":%.6f,\"angle\":%.2f}\n", | //			msg.lat = current_location.lat; | ||||||
|                      current_location.lat, | //			msg.lon = current_location.lon; | ||||||
|                      current_location.lon, | //            snprintf(msg, sizeof(msg), "#{\"lat\":%.6f,\"lon\":%.6f,\"angle\":%.2f}\n", | ||||||
|                      current_location.angle); | //                     current_location.lat, | ||||||
|  | //                     current_location.lon, | ||||||
|  | //                     current_location.angle); | ||||||
|  | 			BleMessage msg = current_location; | ||||||
| 			tx_queue_send(&ble_tx_queue, &msg, TX_WAIT_FOREVER); | 			tx_queue_send(&ble_tx_queue, &msg, TX_WAIT_FOREVER); | ||||||
|  |  | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -6,11 +6,11 @@ | |||||||
| #define USART_REC_LEN			200	 | #define USART_REC_LEN			200	 | ||||||
| #define EN_USART2_RX			1  //ʹ<>ܽ<EFBFBD><DCBD><EFBFBD> --- 1 <20><>֮ 0 | #define EN_USART2_RX			1  //ʹ<>ܽ<EFBFBD><DCBD><EFBFBD> --- 1 <20><>֮ 0 | ||||||
|  |  | ||||||
| #define GPS_DMA_RX_BUF_LEN		200 //<2F>ɸ<EFBFBD><C9B8><EFBFBD>NMEA<45><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | #define GPS_DMA_RX_BUF_LEN		220 //<2F>ɸ<EFBFBD><C9B8><EFBFBD>NMEA<45><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  |  | ||||||
|  |  | ||||||
| // <20><><EFBFBD><EFBFBD>gps<70>ṹ<EFBFBD><E1B9B9> | // <20><><EFBFBD><EFBFBD>gps<70>ṹ<EFBFBD><E1B9B9> | ||||||
| #define GPS_Buffer_Length 80 | #define GPS_Buffer_Length 256 | ||||||
| #define UTCTime_Length 11 | #define UTCTime_Length 11 | ||||||
| #define latitude_Length 11 | #define latitude_Length 11 | ||||||
| #define N_S_Length 2 | #define N_S_Length 2 | ||||||
| @@ -36,5 +36,6 @@ double Convert_to_degrees(char *data); | |||||||
| void parseGpsBuffer(); | void parseGpsBuffer(); | ||||||
| void gps_thread_entry(ULONG thread_input); | void gps_thread_entry(ULONG thread_input); | ||||||
| void GPS_Init(void); | void GPS_Init(void); | ||||||
|  | void GPS_LinePush(uint8_t ch); | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
| @@ -23,6 +23,8 @@ | |||||||
| #include "Motor.h" | #include "Motor.h" | ||||||
| #include "IMU.h" | #include "IMU.h" | ||||||
| #include "imu948.h" | #include "imu948.h" | ||||||
|  | #include "encoder.h" | ||||||
|  |  | ||||||
|  |  | ||||||
| #include "value.h" // ȫ<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | #include "value.h" // ȫ<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										30
									
								
								fun/imu948.c
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								fun/imu948.c
									
									
									
									
									
								
							| @@ -1,5 +1,6 @@ | |||||||
| #include "imu948.h" | #include "imu948.h" | ||||||
|  |  | ||||||
|  | #define DECLINATION_DEG  -3.0 | ||||||
| extern _GPSData gps_data; | extern _GPSData gps_data; | ||||||
| extern TX_QUEUE ble_tx_queue; | extern TX_QUEUE ble_tx_queue; | ||||||
| extern uint8_t rx_byte; | extern uint8_t rx_byte; | ||||||
| @@ -65,7 +66,9 @@ extern TX_QUEUE im948_uart_rx_queue; | |||||||
| void imu_angle_ble_task_entry(ULONG thread_input) | void imu_angle_ble_task_entry(ULONG thread_input) | ||||||
| { | { | ||||||
|     ULONG rx_data; |     ULONG rx_data; | ||||||
|  | 	static uint8_t filtInit = 0; | ||||||
|  | 	static float   heading_filt = 0; | ||||||
|  | 	const  float   alpha = 0.20f;               // 20% һ<><EFBFBD>ͨ | ||||||
|     // <20><>ʼ<EFBFBD><CABC>ģ<EFBFBD><C4A3> |     // <20><>ʼ<EFBFBD><CABC>ģ<EFBFBD><C4A3> | ||||||
| //    IM948_Init(); | //    IM948_Init(); | ||||||
| //			HCBle_SendData("halo"); | //			HCBle_SendData("halo"); | ||||||
| @@ -82,13 +85,28 @@ void imu_angle_ble_task_entry(ULONG thread_input) | |||||||
|         { |         { | ||||||
|             isNewData = 0; |             isNewData = 0; | ||||||
|  |  | ||||||
|             float angle = AngleZ; |  | ||||||
| 			HCBle_SendData("Z:%.2f\r\n",AngleZ); |  | ||||||
|             // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>angle<6C><65>ä<EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD><EFBFBD>ж<EFBFBD> |             // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>angle<6C><65>ä<EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD><EFBFBD>ж<EFBFBD> | ||||||
|             // <20><><EFBFBD><EFBFBD>: | 			        /* <20><><EFBFBD><EFBFBD> <20><> IMU <20>Ĵ<EFBFBD><C4B4><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ں<EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */ | ||||||
|             if(angle > 30.0f) { | 			float angleRaw = AngleZ;                   /* <20><><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD> */ | ||||||
|                 // <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD> |  | ||||||
|  |         /* ת<>汱    <20><>ݸ<EFBFBD><DDB8><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD>ݴ<EFBFBD>ƫ<EFBFBD><C6AB>Ϊ-3.0<EFBFBD><EFBFBD>*/ | ||||||
|  | 			float heading = angleRaw + DECLINATION_DEG; | ||||||
|  | 			if (heading > 180)  heading -= 360; | ||||||
|  | 			if (heading < -180) heading += 360; | ||||||
|  |  | ||||||
|  |         /* <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> IIR */ | ||||||
|  | 			const float alpha = 0.2f; | ||||||
|  | 			heading_filt += alpha * (heading - heading_filt); | ||||||
|  |  | ||||||
|  | 			current_location.angle = heading_filt; | ||||||
|  | //			current_location.angle = AngleZ * 0.0054931640625f; | ||||||
|  | 			if(current_location.lat != 0 && current_location.lon != 0) | ||||||
|  | 			{ | ||||||
|  | 				BleMessage msg = current_location; // <20>ṹ<EFBFBD><E1B9B9>ֱ<EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD> | ||||||
|  | 				tx_queue_send(&ble_tx_queue,&msg,TX_NO_WAIT); | ||||||
| 			} | 			} | ||||||
|  | 			tx_thread_sleep(10); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								fun/value.h
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								fun/value.h
									
									
									
									
									
								
							| @@ -1,12 +1,12 @@ | |||||||
| #ifndef __VALUE_H__ | #ifndef __VALUE_H__ | ||||||
| #define __VALUE_H__ | #define __VALUE_H__ | ||||||
|  |  | ||||||
| typedef struct | //typedef struct | ||||||
| { | //{ | ||||||
| 	float lat; | //	float lat; | ||||||
| 	float lon; | //	float lon; | ||||||
| 	float angle;	 | //	float angle;	 | ||||||
| }BleMessage; | //}BleMessage; | ||||||
|  |  | ||||||
| #define EVENT_GPS_DATA_READY			(1U << 0) | #define EVENT_GPS_DATA_READY			(1U << 0) | ||||||
| #define EVENT_IMU_DATA_READY			(1U << 1) | #define EVENT_IMU_DATA_READY			(1U << 1) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user