Commit 3d97a70c9aec8661ddca4de2ac6f1eab9a75de19

Authored by DMchen
1 parent 5ff2eaac

1.首次上传 通讯协议-SDK_DLL部分[内部].md

通讯协议-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|键盘关机时间等级|
... ...