JZ_beurteilten.c
5.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
/* 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;
}
}