修改文件换行符,修正轮班图元长度计算问题

This commit is contained in:
2026-08-19 11:55:10 +08:00
parent 176b53b654
commit a274b75705
116 changed files with 68711 additions and 68660 deletions
+171 -171
View File
@@ -1,171 +1,171 @@
#pragma once
#include <QObject>
#include <QString>
#include <QByteArray>
#include "posix_qextserialport.h"
class RFIDFunction:public QObject
{
Q_OBJECT
public:
enum ControlBlock//加密块
{
Sector_0_Block_3 = 3,
Sector_1_Block_3 = 7,
Sector_2_Block_3 = 11,
Sector_3_Block_3 = 15,
Sector_4_Block_3 = 19,
Sector_5_Block_3 = 23,
Sector_6_Block_3 = 27,
Sector_7_Block_3 = 31,
Sector_8_Block_3 = 35,
Sector_9_Block_3 = 39,
Sector_10_Block_3 = 43,
Sector_11_Block_3 = 47,
Sector_12_Block_3 = 51,
Sector_13_Block_3 = 55,
Sector_14_Block_3 = 59,
Sector_15_Block_3 = 63
};
enum KeyType//密钥类型
{
KEY_A = 0, // 密钥A
KEY_B // 密钥B
};
enum DataBlock //数据块
{
Sector_0_Block_1 = 1,
Sector_0_Block_2 = 2,
Sector_1_Block_0 = 4,
Sector_1_Block_1 = 5,
Sector_1_Block_2 = 6,
Sector_2_Block_0 = 8,
Sector_2_Block_1 = 9,
Sector_2_Block_2 = 10,
Sector_3_Block_0 = 12,
Sector_3_Block_1 = 13,
Sector_3_Block_2 = 14,
Sector_4_Block_0 = 16,
Sector_4_Block_1 = 17,
Sector_4_Block_2 = 18,
Sector_5_Block_0 = 20,
Sector_5_Block_1 = 21,
Sector_5_Block_2 = 22,
Sector_6_Block_0 = 24,
Sector_6_Block_1 = 25,
Sector_6_Block_2 = 26,
Sector_7_Block_0 = 28,
Sector_7_Block_1 = 29,
Sector_7_Block_2 = 30,
Sector_8_Block_0 = 32,
Sector_8_Block_1 = 33,
Sector_8_Block_2 = 34,
Sector_9_Block_0 = 36,
Sector_9_Block_1 = 37,
Sector_9_Block_2 = 38,
Sector_10_Block_0 = 40,
Sector_10_Block_1 = 41,
Sector_10_Block_2 = 42,
Sector_11_Block_0 = 44,
Sector_11_Block_1 = 45,
Sector_11_Block_2 = 46,
Sector_12_Block_0 = 48,
Sector_12_Block_1 = 49,
Sector_12_Block_2 = 50,
Sector_13_Block_0 = 52,
Sector_13_Block_1 = 53,
Sector_13_Block_2 = 54,
Sector_14_Block_0 = 56,
Sector_14_Block_1 = 57,
Sector_14_Block_2 = 58,
Sector_15_Block_0 = 60,
Sector_15_Block_1 = 61,
Sector_15_Block_2 = 62
};
enum KeyFunction
{
KeyA_Same_KeyB = 0, // KEYA和KEYB相同
KeyB_Control_KeyA // KEYB控制KEYA
};
enum WorkMode //工作模式
{
Command_Mode = 0x01,//命令模式(关闭自动读卡),该模式会关闭自动读卡功能
Auto_Read_Card_Num_Mode = 0x02,//自动读卡号
Auto_Read_Data_Mode = 0x03,//自动读块数据,块号为要自动读的数据块编号
Auto_Read_Card_Num_Data_Mode = 0x04//自动读卡号与指定块数据,块号为要自动读的数据块编号
};
enum UploadMode//上传模式
{
Auto_Upload = 0x00,//读卡后主动发送数据,主动将读到的数据发送给上位机
Command_Upload = 0x01//读卡后被动发送数据,需要收到上位机获取数据的命令才将读到的数据发送给上位机
};
enum ErrorCode
{
No_Error = 0, // 无错误
Serial_Error, // 串口错误
Send_Data_Error, // 发送数据错误
Data_Is_Empty_Error, // 数据为空错误
Data_Size_More_Than_8192_Error, // 数据大小超过8192错误
Received_Data_Check_Error, // 接收数据校验错误
Received_Data_Error, // 接收数据错误
Data_Is_Illegal_Error // 数据非法错误
};
public:
RFIDFunction(QObject* parent); // 构造函数
~RFIDFunction(); // 析构函数
void CheckSumOut(unsigned char* buf, unsigned char len);
bool CheckSumIn(unsigned char* buf, unsigned char len);
ErrorCode initSerialPortAndOpen(const QString& portName, // 初始化串口并打开
BaudRateType baudRate = BAUD9600, // 波特率
DataBitsType setDataBits = DATA_8, // 数据位
StopBitsType stopBits = STOP_1, // 停止位
ParityType parity = PAR_NONE // 校验位
);
static const QByteArray createPassword(const QByteArray& info); // 创建密码
bool getSerialState(); // 获取串口状态
ErrorCode setOriginPassword(const QByteArray& psw); // 设置原始密码
ErrorCode setWriteAndReadPassword(const QByteArray& writePassword, const QByteArray& readPassword, KeyFunction keyFunc); // 设置读写密码
ErrorCode setEncryptedBlock(KeyType type, ControlBlock block); // 设置加密块
ErrorCode writeDataToBlock(KeyType type, DataBlock block, const QByteArray& data); // 写数据到块
ErrorCode readDataFromBlock(KeyType type, DataBlock block, QByteArray& data); // 从块读取数据
ErrorCode setWorkMode(WorkMode mode, DataBlock block = Sector_1_Block_2, UploadMode uploadMode = Auto_Upload);//设置工作模式
ErrorCode getReaderAddress(QByteArray& psw); // 获取读卡器地址
private:
bool m_SerialSate; // 串口状态
Posix_QextSerialPort *m_SerialPort;; // 串口对象
};
#pragma once
#include <QObject>
#include <QString>
#include <QByteArray>
#include "posix_qextserialport.h"
class RFIDFunction:public QObject
{
Q_OBJECT
public:
enum ControlBlock//加密块
{
Sector_0_Block_3 = 3,
Sector_1_Block_3 = 7,
Sector_2_Block_3 = 11,
Sector_3_Block_3 = 15,
Sector_4_Block_3 = 19,
Sector_5_Block_3 = 23,
Sector_6_Block_3 = 27,
Sector_7_Block_3 = 31,
Sector_8_Block_3 = 35,
Sector_9_Block_3 = 39,
Sector_10_Block_3 = 43,
Sector_11_Block_3 = 47,
Sector_12_Block_3 = 51,
Sector_13_Block_3 = 55,
Sector_14_Block_3 = 59,
Sector_15_Block_3 = 63
};
enum KeyType//密钥类型
{
KEY_A = 0, // 密钥A
KEY_B // 密钥B
};
enum DataBlock //数据块
{
Sector_0_Block_1 = 1,
Sector_0_Block_2 = 2,
Sector_1_Block_0 = 4,
Sector_1_Block_1 = 5,
Sector_1_Block_2 = 6,
Sector_2_Block_0 = 8,
Sector_2_Block_1 = 9,
Sector_2_Block_2 = 10,
Sector_3_Block_0 = 12,
Sector_3_Block_1 = 13,
Sector_3_Block_2 = 14,
Sector_4_Block_0 = 16,
Sector_4_Block_1 = 17,
Sector_4_Block_2 = 18,
Sector_5_Block_0 = 20,
Sector_5_Block_1 = 21,
Sector_5_Block_2 = 22,
Sector_6_Block_0 = 24,
Sector_6_Block_1 = 25,
Sector_6_Block_2 = 26,
Sector_7_Block_0 = 28,
Sector_7_Block_1 = 29,
Sector_7_Block_2 = 30,
Sector_8_Block_0 = 32,
Sector_8_Block_1 = 33,
Sector_8_Block_2 = 34,
Sector_9_Block_0 = 36,
Sector_9_Block_1 = 37,
Sector_9_Block_2 = 38,
Sector_10_Block_0 = 40,
Sector_10_Block_1 = 41,
Sector_10_Block_2 = 42,
Sector_11_Block_0 = 44,
Sector_11_Block_1 = 45,
Sector_11_Block_2 = 46,
Sector_12_Block_0 = 48,
Sector_12_Block_1 = 49,
Sector_12_Block_2 = 50,
Sector_13_Block_0 = 52,
Sector_13_Block_1 = 53,
Sector_13_Block_2 = 54,
Sector_14_Block_0 = 56,
Sector_14_Block_1 = 57,
Sector_14_Block_2 = 58,
Sector_15_Block_0 = 60,
Sector_15_Block_1 = 61,
Sector_15_Block_2 = 62
};
enum KeyFunction
{
KeyA_Same_KeyB = 0, // KEYA和KEYB相同
KeyB_Control_KeyA // KEYB控制KEYA
};
enum WorkMode //工作模式
{
Command_Mode = 0x01,//命令模式(关闭自动读卡),该模式会关闭自动读卡功能
Auto_Read_Card_Num_Mode = 0x02,//自动读卡号
Auto_Read_Data_Mode = 0x03,//自动读块数据,块号为要自动读的数据块编号
Auto_Read_Card_Num_Data_Mode = 0x04//自动读卡号与指定块数据,块号为要自动读的数据块编号
};
enum UploadMode//上传模式
{
Auto_Upload = 0x00,//读卡后主动发送数据,主动将读到的数据发送给上位机
Command_Upload = 0x01//读卡后被动发送数据,需要收到上位机获取数据的命令才将读到的数据发送给上位机
};
enum ErrorCode
{
No_Error = 0, // 无错误
Serial_Error, // 串口错误
Send_Data_Error, // 发送数据错误
Data_Is_Empty_Error, // 数据为空错误
Data_Size_More_Than_8192_Error, // 数据大小超过8192错误
Received_Data_Check_Error, // 接收数据校验错误
Received_Data_Error, // 接收数据错误
Data_Is_Illegal_Error // 数据非法错误
};
public:
RFIDFunction(QObject* parent); // 构造函数
~RFIDFunction(); // 析构函数
void CheckSumOut(unsigned char* buf, unsigned char len);
bool CheckSumIn(unsigned char* buf, unsigned char len);
ErrorCode initSerialPortAndOpen(const QString& portName, // 初始化串口并打开
BaudRateType baudRate = BAUD9600, // 波特率
DataBitsType setDataBits = DATA_8, // 数据位
StopBitsType stopBits = STOP_1, // 停止位
ParityType parity = PAR_NONE // 校验位
);
static const QByteArray createPassword(const QByteArray& info); // 创建密码
bool getSerialState(); // 获取串口状态
ErrorCode setOriginPassword(const QByteArray& psw); // 设置原始密码
ErrorCode setWriteAndReadPassword(const QByteArray& writePassword, const QByteArray& readPassword, KeyFunction keyFunc); // 设置读写密码
ErrorCode setEncryptedBlock(KeyType type, ControlBlock block); // 设置加密块
ErrorCode writeDataToBlock(KeyType type, DataBlock block, const QByteArray& data); // 写数据到块
ErrorCode readDataFromBlock(KeyType type, DataBlock block, QByteArray& data); // 从块读取数据
ErrorCode setWorkMode(WorkMode mode, DataBlock block = Sector_1_Block_2, UploadMode uploadMode = Auto_Upload);//设置工作模式
ErrorCode getReaderAddress(QByteArray& psw); // 获取读卡器地址
private:
bool m_SerialSate; // 串口状态
Posix_QextSerialPort *m_SerialPort;; // 串口对象
};