#include "logserialport.h" #include #include #include "utils/utilsfunc.h" #ifdef _MSC_VER #pragma execution_character_set("utf-8") #endif LogSerialPort::LogSerialPort(QObject *parent) : QObject(parent) { buchang = 0; min = 0; max = 999; } float LogSerialPort::toFloat(const QByteArray & ray){ char ch[4] = {0}; ch[0] = ray.at(2); ch[1] = ray.at(3); ch[2] = ray.at(0); ch[3] = ray.at(1); float value = UtilsFun::toFloatRTUValue(&ch[0]); return value; } void LogSerialPort::doHandle(const QByteArray & data) { if(data.at(1) != 0x03) return; int l = data.length() - 2; QByteArray td = data.right(2); int crcc = static_cast(td.at(1)); crcc = crcc << 8; crcc = crcc | static_cast(td.at(0)); int scrc = UtilsFun::CRC(data, l); if(scrc != crcc) { // QLogWarning << " RTC CRC erro : should be : " << scrc << " rev is : " << crcc << "\n" // << "data is : " << data.toHex(); qDebug()<< " RTC CRC erro : should be : " << scrc << " rev is : " << crcc << "\n" << "data is : " << data.toHex(); return; } QByteArray dt; dt = data.mid(5,4); // qDebug()< max){ // qDebug() << " get error value : " << rv << " mx : " << max << " min:" << min // << " buchang : " << buchang; rv = max; // return; } if(rv < min){ // qDebug() << " get error value : " << rv << " mx : " << max << " min:" << min // << " buchang : " << buchang; rv = min; } auto tm = QDateTime::currentDateTime(); // save(0,tm,rv); // emit newValue(0,tm.toMSecsSinceEpoch(),rv); // qDebug()<SetScaleData(scaledata); }