SunVote Dll协议接口说明
Ver5.1.1






长沙中天电子设计开发有限公司

二〇二三年十月




文件控制: 文件名:SunVote Dll接口说明 起草人:陈定敏 最新版本作者: 陈定敏

| 文档版本 | 日期 | 作者 | 版本说明 | |---|---|---|---| |5.1.1| 2023年10月09日|陈定敏|1. 初始版|
[TOC] # 系统概述 # 设计目的 # 通讯接口设计概要 # 通信方式 数据交互采取发送<-->应答的方式。应用程序发送数据到WSCmdApp,WSCmdApp收到后执行完成后回复。 应用程序没有数据发送给WSCmdApp时,需要发送心跳,WSCmdApp收到心跳后会回复心跳,用于判断与应用程序的连接状态。(配置文件中,如果启用了心跳检查,应用程序如果未按要求发送心跳,WSCmdApp会断开当前连接,重新尝试连接) # 编程流程说明 # 回调函数部分 ## 基站事件的回调 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |int mode|回调反馈数据模式||| |const char* sInfo|回调反馈数据|根据模式解析数据|| 回调接口代码: ```C++ typedef void(*HDParamCallBack)(int iBaseID, int mode, const char* sInfo);// 基站事件回调 ``` 设置回调代码: ```C++ extern"C" __declspec(dllexport) void SetHDParamCallBack(HDParamCallBack cb); //设置基站事件回调 ``` ## 投票事件回调 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |int mode|回调反馈数据模式||| |const char* sInfo|回调反馈数据|根据模式解析数据|| 回调接口代码: ```C++ typedef void(*VoteEventCallBack)(int iBaseID, int mode, const char* sInfo);// 投票事件回调 ``` 设置回调代码: ```C++ extern"C" __declspec(dllexport) void SetVoteEventCallBack(VoteEventCallBack cb); //设置投票事件回调 ``` ## 键盘事件回调 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |unsigned long long keySn|键盘SN||| |float Time|反馈时间||| |int mode|回调反馈数据模式||| |int RxMode|预留||| |const char* sInfo|回调反馈数据|根据模式解析数据|| 回调接口代码: ```C++ typedef void(*KeyEventCallBack)(int iBaseID, unsigned long long keySn, float Time, int mode, int RxMode, const char* sInfo);// 键盘事件回调 ``` 设置回调代码: ```C++ extern"C" __declspec(dllexport) void SetKeyEventCallBack(KeyEventCallBack cb); //设置键盘事件回调回调 ``` ## 语音事件回调 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |unsigned long long keySn|键盘SN||| |float Time|反馈时间||| |int mode|回调反馈数据模式||| |USHORT voiceId|语音按键ID||| |USHORT dataIndex|语音数据包ID||| |const char* data|回调反馈数据|根据模式解析数据|| |USHORT dataIndex|语音数据包ID||| |int len|语音数据长度||| |int sampleRate| ||| |int bitsPerSample| ||| |int channel| ||| |int recFlag| ||| 回调接口代码: ```C++ typedef void(*VoiceStreamEventCallBack)(int iBaseID, ULONG keySn, int mode, USHORT voiceId, USHORT dataIndex, const char* data, int len, int sampleRate, int bitsPerSample, int channel, int recFlag);// ``` 设置回调代码: ```C++ extern"C" __declspec(dllexport) void SetVoiceStreamEventCallBack(VoiceStreamEventCallBack); //设置语音数据回调函数 ``` # 基站参数部分 ## 复位基站 函数名称:resetBase 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| 接口代码: ```C++ extern"C" __declspec(dllexport) bool resetBase(UCHAR iBaseID); ``` ## 获取SDK Ver 函数名称:GetSDKVer 返回参数:字符串 接口代码: ```C++ extern"C" __declspec(dllexport) char* GetSDKVer(); ``` ## 退出线程释放资源 函数名称:SetThread_Exit 接口代码: ```C++ extern"C" __declspec(dllexport) void SetThread_Exit(void); //退出线程释放资源 ``` # 投票业务部分 ## 设置空闲模式功能[广播] 函数名称:EndFreeEvent 功能:设置空闲模式功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为空闲模式 接口代码: ```C++ extern"C" __declspec(dllexport) bool EndFreeEvent(void); //空闲模式功能 ``` ## 带参数进入空闲模式 函数名称:ExitEvent 功能:退出当前模式功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为空闲模式,并在回调 函数中说明是什么模式切换到空闲模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |int mode_ID|用户提供的当前需要的模式||websocket情况下使用| 接口代码: ```C++ extern"C" __declspec(dllexport) bool ExitEvent(int mode_ID); //带参数进入空闲模式功能 ``` ## 签到功能[广播] 函数名称:Start_Sign_in_Event 功能:签到功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为签到功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |int Moed1|签到模式| 1:指定键签到
2:PIN码签到(默认值)|| |int Moed2|修改模式|0:不可修改
1:可以修改(默认值)|| |int Moed3|迫选模式|0:(默认值)|| |int Moed4|选项数目|10:(默认值)|| |int Moed5|可选项数|1≤N≤14 (指定位数才需要设置)|| |int KeyValue|指定按键键值|0:未指定[OK键签到]
1:1
2:2
3:3
4:4
5:5
6:6
7:7
8:8
9:9
10:0
11:上键
12:下键
13:OK
14:ESC
15: Menu || 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Sign_in_Event( int Moed1 = 1, int Moed2 = 0, int Moed3 = 0, int Moed4 = 0, int Moed5 = 0, int KeyValue=0); //开始签到功能 ``` ## 签到功能[指定键盘SN] 函数名称:Start_Sign_in_Event_SN 功能:签到功能[指定键盘SN] 说明:把SDK管理的指定在线键盘设置为签到功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|指定键盘SN||| |int Moed1|签到模式| 1:指定键签到
2:PIN码签到(默认值)|| |int Moed2|修改模式|0:不可修改
1:可以修改(默认值)|| |int Moed3|迫选模式|0:(默认值)|| |int Moed4|选项数目|10:(默认值)|| |int Moed5|可选项数|1≤N≤14 (指定位数才需要设置)|| |int KeyValue|指定按键键值|0:未指定[OK键签到]
1:1
2:2
3:3
4:4
5:5
6:6
7:7
8:8
9:9
10:0
11:上键
12:下键
13:OK
14:ESC
15: Menu || |UCHAR Txt_Len|提示标题长度|1~16字节|| |const char* Txt|提示标题|字符串|| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Sign_in_Event_SN( UCHAR iBaseID, ULONG KeySN, int Moed1, int Moed2, int Moed3, int Moed4, int Moed5, int KeyValue, UCHAR Txt_Len, const char* Txt); //开始签到功能 ``` ## 数字题功能[广播] 函数名称:Start_Number_Event 功能:数字题功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为数字功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| |secrecyMode|保密模式|0:不保密(默认值)
1:保密|| |modifyMode|修改模式|0:不可修改
1:可以修改(默认值)| |aswOption|按键模式|0:无规则 (S6最多16位,T2最多14位)
1:预留
2:预留
3:带小数位上下限(T2不支持)| |digits|小数位数|0:没有小数点
1:一位小数点
2:二位小数点| |numMin|下限|aswOption=3
digits=0 范围:0~65535
digits=1 范围:0~6553
digits=2 范围:0~655| |numMax|上限|aswOption=3
digits=0 范围:0~65535
digits=1 范围:0~6553
digits=2 范围:0~655| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Number_Event( int Moed1 = 1, int Moed2 = 0, int Moed3 = 0, int digits = 0, USHORT numMax = 0, USHORT numMin = 0); // ``` ## 数字题功能[指定键盘SN] 函数名称:Start_Number_Event_SN 功能:数字题功能[指定键盘SN] 说明:把SDK管理的指定在线键盘设置为数字题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|指定键盘SN||| |secrecyMode|保密模式|0:不保密(默认值)
1:保密|| |modifyMode|修改模式|0:不可修改
1:可以修改(默认值)| |aswOption|按键模式|0:无规则 (S6最多16位,T2最多14位)
1:预留
2:预留
3:带小数位上下限(T2不支持)| |digits|小数位数|0:没有小数点
1:一位小数点
2:二位小数点| |numMin|下限|aswOption=3
digits=0 范围:0~65535
digits=1 范围:0~6553
digits=2 范围:0~655| |numMax|上限|aswOption=3
digits=0 范围:0~65535
digits=1 范围:0~6553
digits=2 范围:0~655| |UCHAR Txt_Len|提示标题长度|1~16字节|| |Txt|提示标题|字符串,长度最多不超过16个字节| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Number_Event_SN( UCHAR iBaseID, ULONG KeySN, int Moed1, int Moed2, int Moed3, int digits, USHORT numMax, USHORT numMin, UCHAR Txt_Len, const char* Txt); // ``` ## 判断题功能[广播] 函数名称:Start_TrueFalse_Event 功能:判断题功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为判断题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| | optionsMode | 选项类别 | 1:True/False 对/错
2:Yes/No 是/否
3:√/×| | secrecyMode | 保密模式 | 0:不保密(默认值)
1:保密| | modifyMode | 修改模式 | 0:不可修改
1:可以修改(默认值)| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_TrueFalse_Event( int Moed1 = 1, int Moed2 = 0, int Moed3 = 0); ``` ## 判断题功能[指定键盘SN] 函数名称:Start_TrueFalse_Event_SN 功能:判断题功能[指定键盘SN] 说明:把SDK管理的指定在线键盘设置为判断题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|指定键盘SN||| | optionsMode | 选项类别 | 1:True/False 对/错
2:Yes/No 是/否
3:√/×| | secrecyMode | 保密模式 | 0:不保密(默认值)
1:保密| | modifyMode | 修改模式 | 0:不可修改
1:可以修改(默认值)| |UCHAR Txt_Len|提示标题长度|1~16字节|| |Txt|提示标题|字符串,长度最多不超过16个字节| 接口代码: ```C++ extern"C" __declspec(dllexport) bool T2_Start_TrueFalse_Event( UCHAR iBaseID, ULONG KeySN, int Moed1, int Moed2, int Moed3, UCHAR Txt_Len, const char* Txt); // ``` ## 选择题功能[广播] 函数名称:Start_TrueFalse_Event 功能:选择题功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为选择题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| |optionsMode|选项类别|1:显示字母(默认值)
2:显示数字 | |secrecyMode|保密模式|0:不保密(默认值)
1:保密 | |modifyMode|修改模式|0:不可修改
1:可以修改(默认值) | |lessMode|迫选模式| 0:可缺选(默认值)
1:不可缺选
2:允许重复输入
3:允许重复输入且不可缺选 | | options|选项数目|1≤M≤10(默认值4)| | optionalN|可选项数|1≤N≤M(默认值1)| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Choice_Event( int Moed1 = 1, int Moed2 = 0, int Moed3 = 0, int Moed4 = 0, int Moed5 = 0, int Moed6 = 0); ``` ## 选择题功能[指定键盘SN] 函数名称:Start_Choice_Event_SN 功能:选择题功能[指定键盘SN] 说明:把SDK管理的指定在线键盘设置为选择题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|指定键盘SN||| |optionsMode|选项类别|1:显示字母(默认值)
2:显示数字 | |secrecyMode|保密模式|0:不保密(默认值)
1:保密 | |modifyMode|修改模式|0:不可修改
1:可以修改(默认值) | |lessMode|迫选模式| 0:可缺选(默认值)
1:不可缺选
2:允许重复输入
3:允许重复输入且不可缺选 | | options|选项数目|1≤M≤10(默认值4)| | optionalN|可选项数|1≤N≤M(默认值1)| |UCHAR Txt_Len|提示标题长度|1~16字节|| |Txt|提示标题|字符串,长度最多不超过16个字节| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Choice_Event_SN( UCHAR iBaseID, ULONG KeySN, int Moed1, int Moed2, int Moed3, int Moed4, int Moed5, int Moed6, UCHAR Txt_Len, const char* Txt); ``` ## 语音题功能[广播] 函数名称:Start_Voice_Event 功能:语音题功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为语音题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| |recordingMode|录音模式|0:按键录音(默认值)| |submitTimes|提交次数|0 (0:不限制, 默认值0)| |recordingTimeLimit|预留|0| |recordingFormat|预留|0(默认值0)| |recordAudioFormat|音频格式|0:mp3(默认值)
1:实时流| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Voice_Event( int Moed1, int Time, int Num, int Alert, int OutMode); ``` ## 语音题功能[指定键盘SN] 函数名称:Start_Voice_Event_SN 功能:语音题功能[指定键盘SN] 说明:把SDK管理的指定在线键盘设置为语音题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|指定键盘SN||| |recordingMode|录音模式|0:按键录音(默认值)| |submitTimes|提交次数|0 (0:不限制, 默认值0)| |recordingTimeLimit|预留|0| |recordingFormat|预留|0(默认值0)| |recordAudioFormat|音频格式|0:mp3(默认值)
1:实时流| |UCHAR Txt_Len|提示标题长度|1~16字节|| |Txt|提示标题|字符串,长度最多不超过16个字节| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Voice_Event_SN( UCHAR iBaseID, ULONG KeySN, int Moed1, int Time, int Num, int Alert, int OutMode, UCHAR Txt_Len, const char* Txt);// ``` ## 自由题功能 函数名称:Start_Free_Question_Event 功能:自由题功能 说明:把SDK管理的所有基站的在线键盘设置为自由题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|指定键盘SN||| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Free_Question_Event( UCHAR iBaseID, ULONG KeySN); ``` ## 抢答题功能 函数名称:Start_Rush_Answer_Event 功能:抢答题功能 说明:把SDK管理的所有基站的在线键盘设置为抢答题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| |rushAnswerMode| 抢答模式|0:普通抢答(默认值)| |Moed2| 预留|0:(默认值)| |modifyMode|修改模式|0:不可修改
1:可以修改(默认值)| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Rush_Answer_Event( int Moed1 = 1, int Moed2 = 0, int Moed3 = 0); //抢答 ``` ## 抢答题功能[指定键盘SN] 函数名称:Start_Rush_Answer_Event_SN 功能:抢答题功能[指定键盘SN] 说明:把SDK管理的指定在线键盘设置为抢答题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|指定键盘SN||| |rushAnswerMode| 抢答模式|0:普通抢答(默认值)| |Moed2| 预留|0:(默认值)| |modifyMode|修改模式|0:不可修改
1:可以修改(默认值)| |UCHAR Txt_Len|提示标题长度|1~16字节|| |Txt|提示标题|字符串,长度最多不超过16个字节| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_Rush_Answer_Event_SN( UCHAR iBaseID, ULONG KeySN, int Moed1 = 1, int Moed2 = 0, int Moed3 = 0); //抢答模式 ``` ## 填空题功能 函数名称:Start_Rush_Answer_Event 功能:填空题功能 说明:把SDK管理的所有基站的在线键盘设置为填空题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| | optionsMode | 填空类型 | 1:任意输入(默认值) | | modifyMode | 预留 | 1: (默认值) | | secrecyMode | 预留 | 0: (默认值) | 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_TextAnswer_Event( int Moed1 = 1, int Moed2 = 0, int Moed3 = 0); ``` ## 填空题功能[指定键盘SN] 函数名称:Start_Rush_Answer_Event_SN 功能:填空题功能[指定键盘SN] 说明:把SDK管理的指定在线键盘设置为填空题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|指定键盘SN||| | optionsMode | 填空类型 | 1:任意输入(默认值) | | modifyMode | 预留 | 1: (默认值) | | secrecyMode | 预留 | 0: (默认值) | 接口代码: ```C++ extern"C" __declspec(dllexport) bool Start_TextAnswer_Event_SN( UCHAR iBaseID, ULONG KeySN, int Moed1 = 1, int Moed2 = 0, int Moed3 = 0); //抢答模式 ``` ## 模拟测试功能[广播] 函数名称:MockTest_Event 功能:模拟测试功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为自由题功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| |UCHAR iBaseID|基站ID|0~32|| |int Moed1|模式||| |UCHAR KeyTime|按键开启时间||| |UCHAR GapTime|按键间隔时间||| 接口代码: ```C++ extern"C" __declspec(dllexport) bool MockTest_Event( UCHAR iBaseID, int Moed1 = 1, UCHAR KeyTime = 1, UCHAR GapTime = 1); //模拟测试[1 报告状态] ``` ## 异步测验功能[广播] 函数名称:TestMode_Event 功能:异步测验功能[广播] 说明:把SDK管理的所有基站的在线键盘设置为异步测验功能模式 | **参数名称** | **参数说明** | **范围** | **备注** | |---|---|---|---| |UCHAR iBaseID|基站ID|0~32|| |int Moed|模式||| |USHORT TestNum|||| 接口代码: ```C++ extern"C" __declspec(dllexport) bool TestMode_Event( UCHAR iBaseID, int Moed, USHORT TestNum); ``` # 键盘设置 ## 键盘自定义姓名 ### 设置键盘自定义姓名 函数名称:SetKeyNameTxt_C100B_S6 功能:设置键盘自定义姓名,C100B+S6键盘自定义姓名 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|键盘SN| || |UCHAR Cont|操作类型|0:不操作
1:清除
2:写入|| |UCHAR Name_Len|姓名字符串长度| || |const char* Name|姓名字符串| || 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyNameTxt( UCHAR iBaseID, ULONG KeySN, UCHAR Cont, UCHAR Name_Len, const char *Name); ``` ## 键盘自定义姓名[C100B+S6] ### 设置C100B+S6键盘自定义姓名 函数名称:SetKeyNameTxt_C100B_S6 功能:设置键盘自定义姓名,C100B+S6键盘自定义姓名 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|键盘SN| || |UCHAR Name_Len|姓名字符串长度| || |const char* Name|姓名字符串| || 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyNameTxt_C100B_S6( UCHAR iBaseID, ULONG KeySN, UCHAR Name_Len, const char* Name); ``` ### 获取C100B+S6键盘自定义姓名 函数名称:GetKeyNameTxt_C100B_S6 功能:获取键盘自定义姓名,C100B+S6键盘自定义姓名 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|键盘SN| || 接口代码: ```C++ extern"C" __declspec(dllexport) bool GetKeyNameTxt_C100B_S6( UCHAR iBaseID, ULONG KeySN); ``` ### 设置键盘评分[积分] 函数名称:SetKeyScore 功能:设置键盘评分[积分] 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|键盘SN| || |UCHAR Cont|操作类型|0:不操作
1:清除
2:字符串模式
3:五角星模式
4:爱心[S6有效]
5:写测验题分数[S6有效]|| |UCHAR Score_Len|积分字符串长度| || |char* Score|积分字符串| || 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyScore( UCHAR iBaseID, ULONG KeySN, UCHAR Cont, UCHAR Score_Len, char* Score); ``` ### 键盘自定义标题字符串[第二行] 函数名称:SetKeyTitleTxt2 功能:设置键盘自定义标题字符串[第二行] 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|键盘SN| || |UCHAR Cont|操作类型|0:不操作
1:清除
2:写入|| |UCHAR Mode|操作类型|0:空闲模式[仅T2有效]
1:工作模式|| |UCHAR Txt_Len|字符串长度| || |const char* Txt|字符串| || 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyTitleTxt2( UCHAR iBaseID, ULONG KeySN, UCHAR Cont, UCHAR Mode, UCHAR Txt_Len, const char* Txt); ``` ### 键盘自定义标题字符串[第三行] 函数名称:SetKeyTitleTxt3 功能:设置键盘自定义标题字符串[第三行] 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|键盘SN| || |UCHAR Cont|操作类型|0:不操作
1:清除
2:写入|| |UCHAR Txt_Len|字符串长度| || |const char* Txt|字符串| || 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyTitleTxt3( UCHAR iBaseID, ULONG KeySN, UCHAR Cont, UCHAR Txt_Len, const char* Txt); ``` ### 键盘自定义评分[积分]和标题字符串[第二行] 函数名称:SetKeyScreTxt2 功能:设置键盘自定义评分[积分]和标题字符串[第二行] 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|键盘SN| || |UCHAR Score_Type|操作类型|0:不操作
1:清除
2:字符串模式
3:五角星模式
4:爱心[S6有效]
5:写测验题分数[S6有效]|| |UCHAR Score_Len|字符串长度| || |char* Score|字符串| || |UCHAR Txt_Cont|操作类型|0:不操作
1:清除
2:写入|| |UCHAR Txt_Len|字符串长度| || |const char* Txt|字符串| || 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyScreTxt2( UCHAR iBaseID, ULONG KeySN, UCHAR Score_Type, UCHAR Score_Len, char* Score, UCHAR Txt_Cont, UCHAR Txt_Len, const char* Txt); ``` ### 键盘自定义短信 函数名称:SetKeyMessage 功能:设置键盘自定义短信 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |ULONG KeySN|键盘SN| || |const char* Txt|字符串| || 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyMessage( UCHAR iBaseID, ULONG KeySN, const char* Txt); ``` ## 键盘暂停休眠时间 设置键盘暂停休眠时间 函数名称:Key_Pause_Sleep 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |UCHAR Time|休眠时间| 0:10秒[默认]|| 接口代码: ```C++ extern"C" __declspec(dllexport) bool Key_Pause_Sleep(UCHAR iBaseID, UCHAR Time);// ``` ## 键盘关机设置 获取键盘关机时间等级 函数名称: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秒
1:2分钟
2:15分钟
3:45分钟
255:不自动关机|| 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyboardAutoPowerOffLevel(UCHAR iBaseID, UCHAR Level); ``` ## 键盘外设操作[仅T2有效] 设置键盘外设操作[仅T2有效] 函数名称:SetKeyPeripheral 参数说明:写键盘外设,由led灯、蜂鸣器、马达组合 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| | keySn | 键盘SN |空字符串,为所有在线键盘| | ledTimes | Led灯闪烁次数 | 0~255 (0是马上灭,255是长亮)| | ledOnTime | Led灯每次开时间 |0~255 (单位0.1s)| | ledOffTime | Led灯每次关时间 |0~255 (单位0.1s,为0就是连续亮)| | ledColorR | Led灯灯颜色,红值 |0~255(现只支持0灭和1亮,,>1也认为是1)| | ledColorG | Led灯灯颜色,绿值 |0~255(现只支持0灭和1亮,,>1也认为是1)| | ledColorB | Led灯灯颜色,蓝值 |0~255(现只支持0灭和1亮,,>1也认为是1)| | beepTimes | 蜂鸣器响次数 | 0~255 (0是马上响,255是长响) | | beepOnTime | 蜂鸣器每次开时间 |0~255 (单位0.1s)| | beepOffTime | 蜂鸣器每次关时间 |0~255 (单位0.1s,为0就是连续响)| | motorTimes |马达震动次数|0~255| | motorOnTime | 马达每次开时间 |0~255 (单位0.1s)| | motorOffTime | 马达每次关时间 |0~255 (单位0.1s,为0就是连续振动)| 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyPeripheral( UCHAR iBaseID, ULONG KeySN, UCHAR LED_CTRL, UCHAR LED_TIMES, UCHAR LED_TON, UCHAR LED_TOFF, UCHAR R, UCHAR G, UCHAR B, UCHAR BEEP_CTRL, UCHAR BEEP_TIMES, UCHAR BEEP_TON, UCHAR BEEP_TOFF, UCHAR MOTO_CTRL, UCHAR MOTO_TIMES, UCHAR MOTO_TON, UCHAR MOTO_TOFF); ``` ## 键盘遥控关机 遥控关机 函数名称:SetKeyRemoteShutdown 参数说明:键盘遥控关机 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| | keySn | 键盘SN |空字符串,为所有在线键盘| 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyRemoteShutdown( UCHAR iBaseID, ULONG KeySN); ``` ## 键盘ID遥控关机生产模式 键盘ID遥控关机生产模式 函数名称:SetKeyRemoteShutdown_Pro 参数说明:键盘遥控关机 | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| |UCHAR Mode| 模式 |0~255;0:正常关机 255:一直遥控开机| |USHORT KeyIdMin| 开始编号 |1~9999;指定键盘编号范围时候的开始值| |USHORT KeyIdMax| 结束编号 |1~9999;指定键盘编号范围时候的结束值| 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyRemoteShutdown_Pro( UCHAR iBaseID, UCHAR Mode, USHORT KeyIdMin, USHORT KeyIdMax); ``` ## 键盘恢复出厂设置 设置键盘恢复出厂设置 函数名称:SetKeyFactory 参数说明: | **参数名称** | **参数说明** | **范围** | **备注** | | --- | --- | --- | --- | |UCHAR iBaseID|基站ID|0~32|| | keySn | 键盘SN |空字符串,为所有在线键盘| 接口代码: ```C++ extern"C" __declspec(dllexport) bool SetKeyFactory( UCHAR iBaseID, ULONG KeySN); ``` ## 异常处理 ### 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|键盘关机时间等级|