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