# 质谱服务消息规范
# 简介
# 介绍
质谱服务消息是通过对MCU消息的二次封装,提供更安全、更方便调用、更通俗易懂的线程安全的消息通信接口。
# 设计原则
质谱服务消息的接口的设计原则如下:
- 接口的设计应以MCU消息所能提供的功能为基础
- 接口的设计应以调用接口的开发人员需求为目的
- 接口的设计应以该接口的功能不会对设备硬件造成损坏为限制
- 接口的设计应充分考虑异步线程安全
- 接口的设计应尽可能降低和硬件特性的耦合性,防止因为升级或更换硬件而带来的接口变更。
# 实现形式
是动态链接库还是服务,如果是服务用什么技术方法调用API需要确定,因为会最终影响API的设计。
# API及说明
# GetRTCValue
- 函数签名:
DateTime GetRTCValue()
1
- 详情:
获取硬件RTC时间,线程安全。
- 参数:
无
- 返回值:
RTC时间
# GetPowerState
- 函数签名:
int GetPowerState()
1
- 详情:
该电源指代的是适配器的有源电源是否连接到设备上,电池电源不通过此接口查询。
- 参数:
无
- 返回值:
电源状态,0-不存在,1-存在。
# PowerStateChangedHandler
- 事件签名:
void PowerStateChangeHandler (int powerState)
1
- 详情:
电源适配器插拔后状态改变的通知事件。
- 参数:
参数 | 类型 | 描述 |
---|---|---|
powerState | int | 电源状态,0-不存在,1-存在 |
- 返回值:
无
# PowerKeyPressedHandler
- 事件签名:
void PowerKeyPressedHandler (PressKey pressKey)
1
- 详情:
电源按键在按下后根据时间长短发出的通知事件。
- 参数:
参数 | 类型 | 描述 |
---|---|---|
pressKey | 结构 | Short-短按 Long-长按 OverLong-超长 |
- 返回值:
无
# LIDStateChangedHandler
- 事件签名:
void LIDStateChangedHandler (int lidState)
1
- 详情:
盒盖打开和关闭后发出的通知事件。
- 参数:
参数 | 类型 | 描述 |
---|---|---|
lidState | int | 0-关着,1-开着 |
- 返回值:
无
# KitExistChangedHandler
- 事件签名:
void KitExistChangedHandler (int kitExist)
1
- 详情:
试剂盒插拔后的通知。
- 参数:
参数 | 类型 | 描述 |
---|---|---|
kitExist | int | 0-拔出,1-插入 |
- 返回值:
无
# GetKitExistStates
- 函数签名:
int GetKitExistStates()
1
- 详情:
获取当前试剂盒是否存在。
- 参数:
无
- 返回值:
试剂盒状态,0-不存在,1-存在。
# GetKitType
- 函数签名:
int GetKitType()
1
- 详情:
获取当天插入的试剂盒的类型
- 参数:
无
- 返回值:
试剂盒状态,0-不存在,1、2、3-试剂盒种类。
# QRCodeReceiveHandler
- 事件签名:
void QRCodeReceiveHandler (String QRCode)
1
- 详情:
通过摄像头扫描到QRCode后发回的码和通知。
- 参数:
参数 | 类型 | 描述 |
---|---|---|
QRCode | String | QRCode |
- 返回值:
无
# GetQRCode
- 函数签名:
int GetQRCode ()
1
- 详情:
获取QRCode
- 参数:
无
- 返回值:
QRCode码,null-没有获取到。
# RFIDCodeReceiveHandler
- 函数签名:
void RFIDCodeReceiveHandler (String rfidCode)
1
- 详情:
检测到RFID码的通知。
- 参数:
参数 | 类型 | 描述 |
---|---|---|
rfidCode | String | rfidCode |
- 返回值:
无
# GetRFIDCode
- 函数签名:
String GetRFIDCode ()
1
- 详情:
获取试剂盒上的RFID标签码信息
- 参数:
无
- 返回值:
RFID码。
# GetEnvironmentTemperature
- 函数签名:
double GetEnvironmentTemperature ()
1
- 详情:
获取环境温度。
- 参数:
无
- 返回值:
环境温度,double。
# GetEnvironmentHumidity
- 函数签名:
double GetEnvironmentHumidity()
1
- 详情:
获取环境湿度。
- 参数:
无
- 返回值:
获取环境湿度。
# GetElectricQuantity
- 函数签名:
double GetElectricQuantity()
1
- 详情:
获取电池剩余电量
- 参数:
无
- 返回值:
剩余电量,带一个小数的百分比。如32.1,代表电量还有32.1%。
# GetHardwareVersion(HardwareTypes type)
- 函数签名:
string GetHardwareVersion(HardwareTypes type)
1
- 详情:
获取硬件版本号
- 参数:
参数 | 类型 | 描述 |
---|---|---|
type | HardwareTypes | 枚举,代表要查询的硬件类型,如FPGA、真空泵等 |
- 返回值:
硬件版本号,版本号由4组整数和每组整数之间的点组成。如: 2.3.0.4
# GetFirmwareVersion(FirmwareTypes type)
- 函数签名:
string GetFirmwareVersion(FirmwareTypes type)
1
- 详情:
获取硬件版本号
- 参数:
参数 | 类型 | 描述 |
---|---|---|
type | FirmwareTypes | 枚举,代表要查询的固件类型,如FPGA固件、MCU固件等 |
- 返回值:
固件版本号,版本号由4组整数和每组整数之间的点组成。如: 2.3.0.4
# DeviceErrorReceiveHandler
- 函数签名:
void DeviceErrorReceiveHandler (DeviceErrorInfo errorInfo)
1
- 详情:
检测到设备异常或错误的通知。
- 参数:
参数 | 类型 | 描述 |
---|---|---|
errorInfo | DeviceErrorInfo | 设备异常或错误的信息,包括异常或错误代码及描述 |
- 返回值:
无
# DeviceErrorReceiveHandler
- 函数签名:
DeviceErrorInfo[] GetDeviceErrorInfos ()
1
- 详情:
获取设备异常或错误信息列表。
- 参数:
无
- 返回值:
DeviceErrorInfo列表,错误信息列表,设备异常或错误的信息,包括异常或错误代码及描述
# File_CreateFile
- 函数签名:
bool File_CreateFile(string fileName,bool overWrite)
1
- 详情:
创建文件
- 参数:
参数 | 类型 | 描述 |
---|---|---|
fileName | string | 文件名 |
overWrite | bool | 是否复写,true-如果有相同文件名的,会删除后重写。false-不会复写,如果遇到相同文件名则写入失败 |
- 返回值:
操作是否成功
# File_WriteFile
- 函数签名:
bool File_WriteFile(string fileName,string content,bool overWrite)
1
- 详情:
写文件
- 参数:
参数 | 类型 | 描述 |
---|---|---|
fileName | string | 文件名 |
content | string | 文件内容 |
overWrite | bool | 是否复写,true-如果有相同文件名的,会删除后重写。false-不会复写,如果遇到相同文件名则写入失败 |
- 返回值:
操作是否成功
# File_ReadFile
- 函数签名:
string File_ReadFile(string fileName)
1
- 详情:
读文件
- 参数:
参数 | 类型 | 描述 |
---|---|---|
fileName | string | 文件名 |
- 返回值:
文件内容,如果文件内容为空返回empty,如果没有文件返回null。
# File_DeleteFile
- 函数签名:
bool File_DeleteFile(string fileName)
1
- 详情:
删除文件
- 参数:
参数 | 类型 | 描述 |
---|---|---|
fileName | string | 文件名 |
- 返回值:
true-删除成功或没有该文件 ; false-删除失败