123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #include <qsettings.h>
- #include <qfiledialog.h>
- #include <qtextstream.h>
- #include <qfile.h>
- #include <QTextCodec>
- #include <QCryptographicHash>
- #include "data_frame.h"
- void frame_decode_jtt808(QString in,QString *out)
- {
- in.toLower();
- QByteArray bytes = in.toLatin1();
- MsgHead_txt_2013 head;
- memcpy( &head, bytes.data(), sizeof(head) );
- QString tmp ;
- out->append("\r\n数据帧头:\r\n");
- out->append("消息ID:");
- tmp = QString(QLatin1String((char *)head.msg_id));
- out->append(tmp.mid(0,sizeof(head.msg_id)));
- out->append("\r\n");
- out->append("消息体属性:");
- tmp = QString(QLatin1String((char *)head.attr));
- out->append(tmp.mid(0,sizeof(head.attr)));
- out->append("\r\n");
- out->append("终端手机号:");
- tmp = QString(QLatin1String((char *)head.phone));
- out->append(tmp.mid(0,sizeof(head.phone)));
- out->append("\r\n");
- out->append("消息流水号:");
- tmp = QString(QLatin1String((char *)head.sn));
- out->append(tmp.mid(0,sizeof(head.sn)));
- out->append("\r\n");
- }
- void frame_decode_T2C(QString in,QString *out)
- {
- in.toLower();
- QByteArray bytes = in.toLatin1();
- T2C_Header_txt head;
- memcpy( &head, bytes.data(), sizeof(head) );
- QString tmp ;
- out->append("\r\n远程标定--数据帧头:\r\n");
- out->append("帧头:");
- tmp = QString(QLatin1String((char *)head.frameflag));
- out->append(tmp.mid(0,sizeof(head.frameflag)));
- out->append("\r\n");
- out->append("扩展地址:");
- tmp = QString(QLatin1String((char *)head.deviceaddr));
- out->append(tmp.mid(0,sizeof(head.deviceaddr)));
- out->append("\r\n");
- out->append("读写功能码:");
- tmp = QString(QLatin1String((char *)head.functioncode));
- out->append(tmp.mid(0,sizeof(head.functioncode)));
- out->append("\r\n");
- out->append("命令码:");
- tmp = QString(QLatin1String((char *)head.cmdcode));
- out->append(tmp.mid(0,sizeof(head.cmdcode)));
- out->append("\r\n");
- out->append("数据长度:");
- tmp = QString(QLatin1String((char *)head.datalength));
- out->append(tmp.mid(0,sizeof(head.datalength)));
- out->append("\r\n");
- out->append("保留字4字节:");
- tmp = QString(QLatin1String((char *)head.reserved));
- out->append(tmp.mid(0,sizeof(head.reserved)));
- out->append("\r\n");
- }
- void frame_decode_recognize(QString in,QString *out)
- {
- if(in.indexOf("3901") == 0)
- {
- frame_decode_T2C(in,out);
- }
- else
- {
- frame_decode_jtt808(in,out);
- }
- }
|