Files
EJM_Display/PublicFunctions/Basic.h

107 lines
3.6 KiB
C
Raw Permalink Normal View History

2025-08-20 23:06:28 +08:00
#ifndef BASIC_H
#define BASIC_H
#include <GlobalDefinitions/DataType.h>
2025-10-16 17:40:00 +08:00
#include <GlobalDefinitions/Variable.h>
2025-08-20 23:06:28 +08:00
#include <QCoreApplication>
#include <QTime>
2025-10-16 17:40:00 +08:00
#include <QRegularExpression>
2025-08-20 23:06:28 +08:00
2025-10-10 23:10:21 +08:00
/**
* @brief map ,x的值,out_min到out_max的范围内
* @param x
* @param in_min x有可能的最小值
* @param in_max x有可能的最大值
* @param out_min
* @param out_max
* @return
*/
M_d64 map(M_d64 x, M_d64 in_min, M_d64 in_max, M_d64 out_min, M_d64 out_max);
/**
* @brief Sleep_ms 线
* @param msec
*/
void Sleep_ms(M_u16 msec);
/**
* @brief 32 N
* @param data 32 uint32_t int32_t
* @param bitIndex 0 = /131 = /32
* @param defaultValue false
* @return bool true = 1false = 0
*/
2025-09-15 22:28:43 +08:00
bool getBitOf32Data(uint32_t data, int bitIndex, bool defaultValue = false);
2025-10-10 23:10:21 +08:00
/**
* @brief 32 N 1
* @param data 32
* @param bitIndex 0 = 31 =
* @return bool true false data
*/
2025-09-15 22:28:43 +08:00
bool setBitOf32Data(uint32_t &data, int bitIndex);
2025-10-10 23:10:21 +08:00
/**
* @brief 32 N 0
* @param data 32
* @param bitIndex 0 = 31 =
* @return bool true false data
*/
2025-09-15 22:28:43 +08:00
bool clearBitOf32Data(uint32_t &data, int bitIndex);
2025-10-10 23:10:21 +08:00
/**
* @brief 32 N
* @param data 32
* @param bitIndex 0 = 31 =
* @param bitValue true = 1false = 0
* @return bool true false data
*/
2025-09-15 22:28:43 +08:00
bool writeBitOf32Data(uint32_t &data, int bitIndex, bool bitValue);
2025-10-10 23:10:21 +08:00
/**
* @brief QVariant
* @param variant QVariant
* @param decimalDigits2
* @return
*/
QString variantToFormattedString(const QVariant& variant, int decimalDigits);
/**
* uint32_t的8位部分
* @param data 32
* @param index 0=HH(8), 1=HL(8), 2=LH(8), 3=LL(8)
* @return 8
* @throws std::out_of_range 0-3
*/
uint8_t extractUInt32_8BitPart(uint32_t data, uint8_t index);
/**
* uint32_t的16位部分
* @param data 32
* @param index 0=16, 1=16
* @return 16uint16_t类型
* @throws std::out_of_range 0-1
*/
uint16_t extractUInt32_16BitPart(uint32_t data, int index);
2025-10-16 17:40:00 +08:00
/**
* @brief getNodeValue
* @param nodeId
* @return :QVariant
*/
QVariant getNodeValue(const QString &nodeId);
/**
* @brief getColorStr
* @param Str
* @return
*/
QString getColorStr(QString Str);
/**
* @brief getColor
* @param str
* @return QColor QColor
*/
QColor getColor(const QString &str);
2025-08-20 23:06:28 +08:00
#endif // BASIC_H