///*
// * msp_DH_W_H.c
// *
// *  Created on: 2023年12月26日
// *      Author: Administrator
// */
//
//
//#include "MSP/msp_DH_W_H.h"
//#include "MSP/msp_TL720D.h"
//#include "MSP/msp_LeiSai_Motor.h"
//#include "MSP/msp_Modbus_crc16.h"
//UART_HandleTypeDef* Huart_DH_WH;
//uint8_t DH_stas[17];
//uint8_t DH_stas2[8];
//SP_MSP_DH_Handset_Parameters *DH_WH_BING;
//int32_t DH_Falg=1;
//uint8_t Screen_buf[13];
//extern SP_MSP_RF_TL720D_Parameters *RF_720D;
//extern SP_MSP_LeiSai_MotorParameters* M_LeiSai;
//extern uint8_t writeSpeed;
//int DH_Screen_Flag=0;
//int16_t mid_speed=0;
//int16_t mid_angle=0;
//
//void  GF_DH_Hangset_Unscramble_Callback();
//void DH_Command_Comp(uint8_t *buf);
//void DH_Command_Comp_Sub(uint8_t *buf_Sub);
//
//uint8_t GF_MSP_DH_Wash_H_Init(UART_HandleTypeDef* huart,SP_MSP_DH_Handset_Parameters *_DH_Handset_W_H)
//{
//
//	Huart_DH_WH=huart;
//	GF_BSP_Interrupt_Add_CallBack(DF_BSP_InterCall_RS485_4_RxCpltCallback, GF_DH_Hangset_Unscramble_Callback);//绑定中断回调函数
//	HAL_UART_Receive_IT(Huart_DH_WH,DH_stas,17);//接收17个触发中断，接收中断使能
//	DH_WH_BING = _DH_Handset_W_H;              //同步地址指针，此步极为关键
//	return 1;
//}
//
//
//void GF_MSP_DH_Stu_Inquiry()
//{
//	uint8_t Inquiry_Order[8]={0X03, 0X04, 0X00, 0X00, 0X00, 0X06, 0X71, 0XEA};
//	GF_BSP_UART_Transmit(4, Inquiry_Order, 8);//这句话的关联有问题
//
//}
//
//
//
//void  GF_DH_Hangset_Unscramble_Callback()
//{
//
//
//    if(DH_Screen_Flag==0)
//    {
//	   HAL_UART_Receive_IT(Huart_DH_WH,DH_stas,17);
//	   GF_MSP_DH_Stu_Screen();
//	   DH_Screen_Flag=1;
//    }
//    if(DH_Screen_Flag==1)
//	{
//	   HAL_UART_Receive_IT(Huart_DH_WH,DH_stas2,8);
//	   DH_Screen_Flag=0;
//	}
//	if(DH_stas[0]==0x03&&DH_stas[1]==0x04&&DH_stas[2]==0x0C)
//	{
//		DH_Command_Comp(DH_stas);
//	}
//
//
//}
//
//void GF_MSP_DH_Stu_Screen()//写屏幕
//{
//	unsigned short CRC_Value;
//
//
//	Screen_buf[0]=0x03;
//	Screen_buf[1]=0x10;
//	Screen_buf[2]=0x00;
//	Screen_buf[3]=0x00;
//	Screen_buf[4]=0x00;
//	Screen_buf[5]=0x02;
//	Screen_buf[6]=0x04;
//
//	mid_angle=RF_720D->RF_Angle_Roll;
//	if(mid_angle<0)
//	{
//		mid_angle=-mid_angle;
//	}
//	Screen_buf[7]=mid_angle>>8;
//	Screen_buf[8]=mid_angle;
//
//	mid_speed=M_LeiSai->Target_Velcity;
//	if(mid_speed<0)
//	{
//		mid_speed=-mid_speed;
//	}
//	mid_speed=mid_speed/70*0.942+0.5;
//	Screen_buf[9]=mid_speed>>8;
//    Screen_buf[10]=mid_speed;
//
//	CRC_Value=ModBusCRC16(Screen_buf,11); // CRC校验
//	Screen_buf[11]= (uint8_t)CRC_Value;
//	Screen_buf[12]= (uint8_t)( CRC_Value>>8);
//
//	GF_BSP_UART_Transmit(4, Screen_buf, 13);//这句话的关联有问题
//
//}
//
//void DH_Command_Comp(uint8_t *buf)
//{
//	//前后左右位
//   if(buf[8]&0x04)    //前进被置位
//   {
//	   DH_WH_BING->for_flag=1;
//	   DH_WH_BING->back_flag=0;
//	   DH_WH_BING->left_flag=0;
//	   DH_WH_BING->right_flag=0;
//
//   }
//   else if(buf[8]&0x08)   //后退被置位
//   {
//	   DH_WH_BING->back_flag=1;
//	   DH_WH_BING->for_flag=0;
//	   DH_WH_BING->left_flag=0;
//	   DH_WH_BING->right_flag=0;
//   }
//   else if(buf[8]&0x10)   //左转被置位
//      {
//   	   DH_WH_BING->back_flag=0;
//   	   DH_WH_BING->for_flag=0;
//   	   DH_WH_BING->left_flag=1;
//   	   DH_WH_BING->right_flag=0;
//      }
//   else if(buf[8]&0x20)   //右转被置位
//   {
//       DH_WH_BING->back_flag=0;
//   	   DH_WH_BING->for_flag=0;
//   	   DH_WH_BING->left_flag=0;
//   	   DH_WH_BING->right_flag=1;
//   }
//   else if((buf[8]&0x3c)==0)
//   {
//       DH_WH_BING->back_flag=0;
//   	   DH_WH_BING->for_flag=0;
//   	   DH_WH_BING->left_flag=0;
//   	   DH_WH_BING->right_flag=0;
//   }
//
//
////速度档位
//   if(buf[8]&0x40)
//   {
//	   DH_WH_BING->motor_speed_level=1;
//   }
//   else if(buf[8]&0x80)
//   {
//	   DH_WH_BING->motor_speed_level=2;
//   }
//   else if(buf[7]&0x01)
//   {
//	   DH_WH_BING->motor_speed_level=3;
//   }
//   else if(buf[7]&0x02)
//   {
//	   DH_WH_BING->motor_speed_level=4;
//   }
//   else if(buf[7]&0x04)
//   {
//	   DH_WH_BING->motor_speed_level=5;
//   }
//   else if(buf[7]&0x08)
//   {
//	   DH_WH_BING->motor_speed_level=6;
//   }
//   else if(buf[7]&0x10)
//   {
//	   DH_WH_BING->motor_speed_level=7;
//   }
//   else if(buf[7]&0x20)
//   {
//	   DH_WH_BING->motor_speed_level=8;
//   }
//   else if(buf[7]&0x40)
//   {
//	   DH_WH_BING->motor_speed_level=9;
//   }
//   else if(buf[7]&0x80)
//   {
//	   DH_WH_BING->motor_speed_level=10;
//   }
//
//
////急停
//   if(buf[8]&0x01)
//   {
//	   DH_WH_BING->EMERGENCY_STOP=1;
//   }
//
////作业开启/停止
//   if(buf[10]&0x01)
//   {
//  	   DH_WH_BING->working_start=1;
//  	    DH_WH_BING->working_stop=0;
//   }
//   else if(buf[10]&0x02)
//   {
//       DH_WH_BING->working_stop=1;
//       DH_WH_BING->working_start=0;
//   }
//
////竖直上/下换道
//   if(buf[10]&0x04)
//   {
//       DH_WH_BING->Vertical_change_road_up=1;
//   }
//   else if(buf[10]&0x08)
//   {
//       DH_WH_BING->Vertical_change_road_down=1;
//   }
//   else if(!(buf[10]&0x0c))    //此处是为了实现拨杆拨回中间位置 在上下拨动才会再次触发换道
//   {
//	   DH_WH_BING->Vertical_change_road_up=0;
//       DH_WH_BING->Vertical_change_road_down=0;
//       DH_WH_BING->Vertical_change_road_finish_flag=0;
//   }
//
////测试开启/关闭
//   if(buf[10]&0x10)
//   {
//       DH_WH_BING->test_start=1;
//       DH_WH_BING->test_stop=0;
//   }
//   else if(buf[10]&0x20)
//   {
//       DH_WH_BING->test_stop=1;
//       DH_WH_BING->test_start=0;
//   }
//
////开启/关闭
//   if(buf[10]&0x40)
//   {
//       DH_WH_BING->open=1;
//       DH_WH_BING->close=0;
//   }
//   else if(buf[10]&0x80)
//   {
//       DH_WH_BING->close=1;
//       DH_WH_BING->open=0;
//
//   }
//
//
//   DH_WH_BING->For_Back_Value_X=buf[3];         //摇杆前后线性值
//   DH_WH_BING->Left_Right_Value_Y=buf[5];       //摇杆左右线性值
//}
//
//
//
//
