Skip to content

Commit 06c04c0

Browse files
committed
Abort button fix. Status query fix.
1 parent 241af18 commit 06c04c0

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

frmmain.cpp

+10-4
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,7 @@ void frmMain::grblReset()
611611
m_resetCompleted = false;
612612
m_updateSpindleSpeed = true;
613613
m_lastGrblStatus = -1;
614+
m_statusReceived = true;
614615

615616
// Drop all remaining commands in buffer
616617
m_commands.clear();
@@ -658,6 +659,8 @@ void frmMain::onSerialPortReadyRead()
658659
if (data[0] == '<') {
659660
int status = -1;
660661

662+
m_statusReceived = true;
663+
661664
// Update machine coordinates
662665
QRegExp mpx("MPos:([^,]*),([^,]*),([^,^>]*)");
663666
if (mpx.indexIn(data) != -1) {
@@ -743,15 +746,16 @@ void frmMain::onSerialPortReadyRead()
743746

744747
if (m_aborting) {
745748
switch (status) {
746-
case 0: // Idle
749+
case IDLE: // Idle
747750
if (!m_processingFile && m_resetCompleted) {
748751
m_aborting = false;
749752
restoreOffsets();
750753
restoreParserState();
751754
return;
752755
}
753756
break;
754-
case 4: // Hold
757+
case HOLD: // Hold
758+
case QUEUE:
755759
if (!m_reseting && compareCoordinates(x, y, z)) {
756760
x = sNan;
757761
y = sNan;
@@ -1129,8 +1133,9 @@ void frmMain::onTimerConnection()
11291133

11301134
void frmMain::onTimerStateQuery()
11311135
{
1132-
if (m_serialPort.isOpen() && m_resetCompleted) {
1136+
if (m_serialPort.isOpen() && m_resetCompleted && m_statusReceived) {
11331137
m_serialPort.write(QByteArray(1, '?'));
1138+
m_statusReceived = false;
11341139
}
11351140

11361141
ui->glwVisualizer->setBufferState(QString(tr("Buffer: %1 / %2")).arg(bufferLength()).arg(m_queue.length()));
@@ -2270,7 +2275,8 @@ bool frmMain::dataIsFloating(QString data) {
22702275
}
22712276

22722277
bool frmMain::dataIsReset(QString data) {
2273-
return data.contains("'$' for help");
2278+
// return data.contains("'$' for help");
2279+
return data.toUpper().contains(QRegExp("^GRBL \\d\\.\\d."));
22742280
}
22752281

22762282
QString frmMain::feedOverride(QString command)

frmmain.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,9 @@ private slots:
239239
bool m_updateFeed = false;
240240

241241
bool m_reseting = false;
242-
bool m_resetCompleted = true;
242+
bool m_resetCompleted = true;
243243
bool m_aborting = false;
244+
bool m_statusReceived = false;
244245

245246
bool m_processingFile = false;
246247
bool m_transferCompleted = false;

0 commit comments

Comments
 (0)