JZ_beurteilten.c 5.4 KB
/* Includes ------------------------------------------------------------------*/
#include "JZ_lamp.h"
#include "JZ_beurteilten.h"
#include "JZ_TempControl.h"

/* Private constants ---------------------------------------------------------*/

/* Private types -------------------------------------------------------------*/

/* Private values -------------------------------------------------------------*/
extern TempControlData *tempData;
extern Lamp_Temp *lampTemp;

/* Private functions declaration ---------------------------------------------*/

/* Exported functions definition ---------------------------------------------*/
/************************************
*接收内容判断 
*函数名:Received_Content_Determinatio
*函数参数:
          @dataBuf: 接收到的数据
          @dataLen: 接收到的数据长度
*返回值:
*函数作者:wzy
*************************************/
void Received_Content_Determinatio(char *dataBuf,int dataLen)
{   
  //  for(int i=0;i<dataLen;i++)
  //       {
  //           printf("%02x ",dataBuf[i]);
  //       }
  //       printf("\n"); 
 
   switch (dataLen)
   {
   case 12: 
            if(dataBuf[0] == 0x5a && dataBuf[1] == 0x5a && dataBuf[2] == 0x77) //帧头为0x5a 0x5a 0x77
            {
              //连接请求
              if(dataBuf[3] == 0x00 && dataBuf[4] == 0x0c && dataBuf[5] == 0x01 && dataBuf[6] == 0x00 && 
                 dataBuf[7] == 0x50 && dataBuf[8] == 0x51 && dataBuf[9] == 0x00 && dataBuf[10] == 0x00 &&
                 dataBuf[11] == 0x23)       
              {
               Jz_Accepting_Connection_Requests();
              }
            }            
            else if(dataBuf[0] == 0x5b && dataBuf[1] == 0x5b && dataBuf[2] == 0x77)//帧头为0x5b 0x5b 0x77
            {
                //操作成功
               if(dataBuf[3] == 0x00 && dataBuf[4] == 0x0c && dataBuf[5] == 0x00 && dataBuf[6] == 0x00 && 
                  dataBuf[7] == 0x51 &&  dataBuf[8] == 0x01 && dataBuf[9] == 0x00 && dataBuf[10] == 0x00 &&
                  dataBuf[11] == 0x23)        
               {
               printf("操作成功\n");
               }
            }
         break;
   case 13: 
            if(dataBuf[0] == 0x5a && dataBuf[1] == 0x5a && dataBuf[2] == 0x77) //帧头为0x5a 0x5a 0x77
            {


            }
            else if(dataBuf[0] == 0x5b && dataBuf[1] == 0x5b && dataBuf[2] == 0x77)//帧头为0x5b 0x5b 0x77
            {
              //温度查询
             if(dataBuf[3] == 0x00 && dataBuf[4] == 0x0d && dataBuf[5] == 0x00 && dataBuf[6] == 0x00 &&
                dataBuf[7] == 0x69 && dataBuf[8] == 0x51 && dataBuf[11] == 0x00 && dataBuf[12] == 0x23)       
                { 
                 
                  if(dataBuf[9] > dataBuf[10])
                  {
                     tempData->InputTemp = dataBuf[9];
                  }
                  else
                  {
                     tempData->InputTemp = dataBuf[10];
                  }
                  lampTemp->leftLamp = dataBuf[9];
                  lampTemp->rightLamp = dataBuf[10];
                  printf("探照灯温度 左灯温度%d,右灯温度%d\n",dataBuf[9],dataBuf[10]);
                
                }
              //亮度查询
              if(dataBuf[3] == 0x00 && dataBuf[4] == 0x0d && dataBuf[5] == 0x00 && dataBuf[6] == 0x00 &&
                dataBuf[7] == 0x63 && dataBuf[8] == 0x51  &&dataBuf[11] == 0x00 && dataBuf[12] == 0x23)       
                {  
                  tempData->InputLumen = dataBuf[9];
                  printf("探照灯亮度 左灯亮度%d,右灯亮度%d\n",dataBuf[9],dataBuf[10]);
                }
                
              //灯光模式查询
              // if(dataBuf[3] == 0x00 && dataBuf[4] == 0x0d && dataBuf[5] == 0x00 && dataBuf[6] == 0x00 &&
              //   dataBuf[7] == 0x62 && dataBuf[8] == 0x51 && dataBuf[9] == 0x00 && dataBuf[11] == 0x00 && 
              //   dataBuf[12] == 0x23)       
              //   {                   
              //       switch (dataBuf[10])
              //       {
              //       case 0:
              //             lampModel = LIGHT_OFF;
              //        break;
              //       case 1:
              //             lampModel = LIGHT_BURST;
              //        break;
              //       case 2:
              //             lampModel = LIGHT_ON_CONSTANTLY;
              //        break;
              //       }
              
              //   }
            }
         break;
   case 14:
       
          if(dataBuf[0] == 0x5a && dataBuf[1] == 0x5a && dataBuf[2] == 0x77) //帧头为0x5a 0x5a 0x77
            {


            }
            else if(dataBuf[0] == 0x5b && dataBuf[1] == 0x5b && dataBuf[2] == 0x77)//帧头为0x5b 0x5b 0x77
            {    //角度查询
              if(dataBuf[3] == 0x00 && dataBuf[4] == 0x0e && dataBuf[5] == 0x00 && dataBuf[6] == 0x00 
                && dataBuf[7] == 0x64 && dataBuf[8] == 0x51 && dataBuf[9] == 0xff && dataBuf[12] == 0x00 
                && dataBuf[13] == 0x23)       
                { 
                  //   uint32_t  angleGet = 0x0000;//获取的探照灯云台角度
                  //   angleGet |= dataBuf[10];
                  //   angleGet << 2;
                  //   angleGet |= dataBuf[11];
                  //   printf("探照灯角度 %d\n",angleGet);
                  //   set_widget_value(10,angleGet);
                }
            }
         break;
   default:
    break;
   }
    
}