3d97a70c
DMchen
1.首次上传 通讯协议-SDK_D...
|
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
<br>
<br>
<br>
<div style="text-align: center;font-size: 70px;">
SunVote Dll协议接口说明
</div>
<div style="text-align: center;font-size: 30px;">
Ver5.1.1
</div>
<br>
<br>
<br>
<br>
<br>
<br>
<div style="text-align: center;font-size: 30px;">
长沙中天电子设计开发有限公司
</div>
<br>
<div style="text-align: center;font-size: 30px;">
二〇二三年十月
</div>
<br>
<br>
<br>
<br>
文件控制:
文件名:SunVote Dll接口说明
起草人:陈定敏
最新版本作者: 陈定敏
<br>
<br>
| 文档版本 | 日期 | 作者 | 版本说明 |
|---|---|---|---|
|5.1.1| 2023年10月09日|陈定敏|1. 初始版|
<br>
[TOC]
# 系统概述
# 设计目的
# 通讯接口设计概要
# 通信方式
数据交互采取发送<-->应答的方式。应用程序发送数据到WSCmdApp,WSCmdApp收到后执行完成后回复。
应用程序没有数据发送给WSCmdApp时,需要发送心跳,WSCmdApp收到心跳后会回复心跳,用于判断与应用程序的连接状态。(配置文件中,如果启用了心跳检查,应用程序如果未按要求发送心跳,WSCmdApp会断开当前连接,重新尝试连接)
# 编程流程说明
# 基站参数部分
##键盘关机设置
获取键盘关机时间等级
函数名称:GetKeyboardAutoPowerOffLevel
参数说明:
| **参数名称** | **参数说明** | **范围** | **备注** |
| --- | --- | --- | --- |
|UCHAR iBaseID|基站ID|0~32||
接口代码:
```C++
extern"C" __declspec(dllexport) bool GetKeyboardAutoPowerOffLevel(UCHAR iBaseID);
```
设置键盘关机时间等级
函数名称:SetKeyboardAutoPowerOffLevel
参数说明:
| **参数名称** | **参数说明** | **范围** | **备注** |
| --- | --- | --- | --- |
|UCHAR iBaseID|基站ID|0~32||
|UCHAR Level|关机时间等级|0:30秒<br>1:2分钟<br>2:15分钟<br>3:45分钟<br>255:不自动关机||
接口代码:
```C++
extern"C" __declspec(dllexport) bool SetKeyboardAutoPowerOffLevel(UCHAR iBaseID, UCHAR Level);
```
## 异常处理
### WSCmdApp收到数据异常
WSCmdApp收到异常数据,会不做处理,并返回以下错误信息描述。
接收:
fun: "error" //功能错误
baseId: //无该值
infos:{ "funId":"F0001","code":"10002"}//
指令样例:
```json
{
"fun": "error",
"infos": {
"funId": "F0001",
"code": "10002"
},
"packetTag": "1"
}
```
| **code** | **含义** |
| --- | --- |
|10001|不能正确解析的JSON数据|
|10002|解析JSON错误|
|20001|基站未连接|
|20002|功能不支持|
|20003|基站ID为负数,应用可以不传ID,默认为0|
|20004|参数错误|
|30001|找不到对应的SN|
|40001|升级功能只能支持一个基站在线|
|50001|此功能必须指定基站ID|
|60001|此功能必须指定键盘SN|
| **funId** | **含义** |
| --- | --- |
|F0001|基站未连接|
|F0002|读基站信道|
|F0003|写基站信道|
|F0004|读取基站baseId 、信道、RF功率等级|
|F0005|写基站baseId|
|F0006|读基站名称|
|F0007|写基站名称|
|F0008|读键盘关机时间等级|
|F0009|写键盘关机时间等级|
|F0010|读基站配对码|
|F0011|写基站配对码|
|F0012|读基站序列号|
|F0013|写基站序列号|
|F0014|读取基站的型号、硬件版本、软件版本、设备SN号|
|F0015|写基站硬件版本|
|F0016|读基站类型|
|F0017|写基站类型|
|F0018|读基站键盘容量和Lock|
|F0019|写基站键盘容量和Lock|
|F0020|读手动获取返回在线信息|
|F0021|写手动获取返回在线信息|
|F0022|读基站设备RF功率|
|F0023|写基站设备RF功率|
|F0024|基站设备配对模式或基站名称(自定义)|
|F0025|预留|
|F0026|读基站快速配对低功率模式|
|F0027|写基站快速配对低功率模式|
|F0028|读键盘登录菜单显示允许[S6适用]|
|F0029|写键盘登录菜单显示允许[S6适用]|
|F0030|读键盘登录密码[S6适用]|
|F0031|写键盘登录密码[S6适用]|
|F0032|读基站名称隐藏开关|
|F0033|写基站名称隐藏开关|
|F0034|读基站和键盘之间的心跳开关|
|F0035|写基站和键盘之间的心跳开关|
|F0036|读基站语言|
|F0037|写基站语言|
|F0038|读基站CRC|
|F0039|写基站CRC|
|F0040|写广播投票标题|
|F0041|核对投票开启密码|
|F0042|读基站获取投票开启密码|
|F0043|写基站获取投票开启密码|
|F0044|读基站用户自定义字符串|
|F0045|写基站用户自定义字符串|
|F0046|读基站UID|
|F0047|写基站UID|
|F0048|读键盘反馈模式参数|
|F0049|写键盘反馈模式参数|
|F0050|读基站当前是开启升级状态|
|F0051|写基站当前是开启升级状态|
|F0052|手动停止键盘升级状态|
|F0053|写键盘当前是开启升级状态|
|F0054|写踢出单只键盘|
|F0055|写清掉所有键盘|
|F0056|写锁定键盘|
|F0057|写解锁键盘|
|F0058|写T2键盘第二行文本【空闲模式】|
|F0059|读考勤基站时钟设置|
|F0060|写考勤基站时钟设置|
|F0061|读考勤键盘每秒发送考勤信号次数|
|F0062|写考勤键盘每秒发送考勤信号次数|
|F0063|读考勤键盘发送考勤信号功率|
|F0064|写考勤键盘发送考勤信号功率|
|F0065|写修改键盘配对码|
|F0066|写键盘功能提示预设字符串反馈|
|F0067|写空闲模式|
|F0068|单选多选带计时模式|
|F0069|判断题带计时模式|
|F0070|抢答题带计时模式|
|F0071|数字题带计时模式|
|F0072|绑定带计时模式|
|F0073|基站快速配对|
|F0074|读基站特征数据|
|F0075|遥控关机|
|F0076|读键盘在线SN|
|F0077|写基站复位|
|F0078|写键盘外设指令|
|F0079|写键盘配对码|
|F0080|写锁定键盘,解锁键盘|
|F0081|填空题模式|
|F0082|读NFC信息 姓名|
|F0083|写NFC信息 姓名|
|F0084|写NFC配对码|
|F0085|NFC清除指令|
|F0086|多题题型开始|
|F0087|多题题型暂停|
|F0088|多题题型继续上一次|
|F0089|多题题型正确答案下发|
|F0090|多题题型已答题结果转移|
|F0091|写白名单|
|F0092|读白名单|
|F0093|写基站黑名单|
|F0094|读基站黑名单|
|F0095|C100B+S6[旧款]写键盘姓名|
|F0096|C100B+S6[旧款]读键盘姓名|
|F0097|键盘暂停休眠操作|
|F0098|异步测试模式|
|F0099|Tcp参数读|
|F0100|Tcp参数写|
|F0101|自定义题型参数|
|F0102|写S6短信|
|F0103|写S6键盘FSN|
|F0104|自由题模式|
|F0105|基站AES|
|F0106|基站AES 克隆|
|F0107|基础参数配置|
|F0108|删除指定白名单SN|
|F0109|追加指定SN 到白名单|
|F0110|语音题模式|
|F0111|多题快答模式|
|F0112|快速配对模式|
|F0113|键盘测试模式|
|F0114|写入积分和第二行文本|
|F0115|写入键盘姓名|
|F0116|键盘关机时间等级|
|