File indexing completed on 2024-04-14 05:41:00
0001 #include "kiln.h" 0002 #include <seriallayer.h> 0003 #include <QTime> 0004 0005 Kiln::Kiln(QObject *parent) : 0006 QObject(parent), 0007 core(new AtCore(this)) 0008 { 0009 connect(this, &Kiln::print, core, &AtCore::print); 0010 connect(core, &AtCore::printProgressChanged, this, &Kiln::printProgressChanged); 0011 } 0012 0013 void Kiln::setDevice(const QString &device, int baud) 0014 { 0015 addLog(QStringLiteral("Connecting To:%1 baud:%2").arg(device,QString::number(baud))); 0016 core->initSerial(device,baud); 0017 connect(core->serial(), &SerialLayer::receivedCommand, this, &Kiln::checkReceivedCommand); 0018 connect(core->serial(), &SerialLayer::pushedCommand, this, &Kiln::checkPushedCommands); 0019 } 0020 0021 void Kiln::printProgressChanged(const float &newProgress) 0022 { 0023 QString text = QStringLiteral("[ ]"); 0024 int p = newProgress/5; 0025 QString indicator; 0026 indicator.fill(QChar::fromLatin1('#'),p); 0027 text.replace(1,p,indicator); 0028 text.append(QStringLiteral("%1\%").arg(QString::number(newProgress,'f',1))); 0029 addLog(text); 0030 } 0031 0032 void Kiln::printFile(const QString &fileName) 0033 { 0034 addLog(QStringLiteral("Printing:%1").arg(fileName)); 0035 emit(print(fileName)); 0036 } 0037 0038 PrinterState Kiln::state() 0039 { 0040 return core->state(); 0041 } 0042 0043 Kiln::~Kiln() 0044 { 0045 0046 } 0047 0048 void Kiln::checkReceivedCommand() 0049 { 0050 addRLog(QString::fromUtf8(core->serial()->popCommand())); 0051 } 0052 0053 void Kiln::checkPushedCommands(QByteArray bmsg) 0054 { 0055 QString msg = QString::fromUtf8(bmsg); 0056 QRegExp _newLine(QChar::fromLatin1('\n')); 0057 QRegExp _return(QChar::fromLatin1('\r')); 0058 msg.replace(_newLine, QStringLiteral("\\n")); 0059 msg.replace(_return, QStringLiteral("\\r")); 0060 addSLog(msg); 0061 } 0062 0063 QString Kiln::getTime() 0064 { 0065 return QTime::currentTime().toString(QStringLiteral("hh:mm:ss:zzz")); 0066 } 0067 0068 QString Kiln::logHeader() 0069 { 0070 return QStringLiteral("[%1] ").arg(getTime()); 0071 } 0072 0073 QString Kiln::rLogHeader() 0074 { 0075 return QStringLiteral("[%1]< ").arg(getTime()); 0076 } 0077 0078 QString Kiln::sLogHeader() 0079 { 0080 return QStringLiteral("[%1]> ").arg(getTime()); 0081 } 0082 0083 void Kiln::addLog(QString msg) 0084 { 0085 QString message(logHeader() + msg); 0086 QTextStream(stdout) << message <<endl; 0087 } 0088 0089 void Kiln::addRLog(QString msg) 0090 { 0091 QString message(rLogHeader() + msg); 0092 QTextStream(stdout) << message <<endl; 0093 } 0094 0095 void Kiln::addSLog(QString msg) 0096 { 0097 QString message(sLogHeader() + msg); 0098 QTextStream(stdout) << message <<endl; 0099 }