You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
1.5 KiB
C++

#ifndef CTRANSFORM_H
#define CTRANSFORM_H
#include <QObject>
#include <QString>
#include <QByteArray>
#include <QSettings>
#include "framehead.h"
#define LP_FRAME_LEN 24
#define LP_FRAME_HEAD_LEN 4
#define LP_FRAME_BODY_LEN 20
struct STRsettings
{
int TabCourse;
int BoutRateCourse;
int ComCourse;
QString ComName;
QString BaudRate;
};
struct StytleFile
{
QString m_stytleFile;
int nIndex;
};
enum Power
{
RootPower=0,
UserPower
};
struct User
{
QString root;
QString rootpwd;
QString username;
QString passwd;
Power power;
};
struct Tab
{
bool m_tab1;
bool m_tab2;
bool m_tab3;
bool m_tab4;
bool m_tab5;
bool m_tab6;
bool m_tab7;
bool m_tab8;
bool m_tab9;
bool m_tab10;
};
class CTransform : public QObject
{
//Q_OBJECT
public:
CTransform(QObject *parent);
~CTransform();
public:
QByteArray HexStr2ByteArray(QString str);//16进制字符串转字节数组
QString ByteArray2HexStr(QByteArray data);//字节数组转16进制字符串
int StrHex2Decimal(QString strHex);//16进制字符串转10进制
int StrDecimal2Decimal(QString strDecimal);//10进制字符串转10进制
int StrBin2Decimal(QString strBin);//2进制字符串转10进制
QString StrHex2StrBin(QString strHex);//16进制字符串转2进制字符串
QString Decimal2StrBin1(int decimal);//10进制转2进制字符串一个字节
QString Decimal2StrBin2(int decimal);//10进制转2进制字符串两个字节
uchar GetCheckCode(uchar data[], uchar len);//计算校验码
uchar GetUChar(char data);//将溢出的char转为正确的uchar
private:
char ConvertHexChar(char ch);
};
#endif // CTRANSFORM_H