# 质谱服务消息规范

# 简介

# 介绍

质谱服务消息是通过对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-删除失败