4
4
// #define INITTIME //QTime time; time.start();
5
5
// #define PRINTTIME(x) //qDebug() << "time elapse" << QString("%1:").arg(x) << time.elapsed(); time.start();
6
6
7
- #define IDLE 0
8
- #define ALARM 1
9
- #define RUN 2
10
- #define HOME 3
11
- #define HOLD 4
12
- #define QUEUE 5
13
- #define CHECK 6
7
+ #define UNKNOWN 0
8
+ #define IDLE 1
9
+ #define ALARM 2
10
+ #define RUN 3
11
+ #define HOME 4
12
+ #define HOLD 5
13
+ #define QUEUE 6
14
+ #define CHECK 7
15
+ #define DOOR 8
14
16
15
17
#include < QFileDialog>
16
18
#include < QTextStream>
@@ -32,10 +34,10 @@ frmMain::frmMain(QWidget *parent) :
32
34
QMainWindow(parent),
33
35
ui(new Ui::frmMain)
34
36
{
35
- m_status << " Idle" << " Alarm" << " Run" << " Home" << " Hold" << " Queue" << " Check" ;
36
- m_statusCaptions << tr (" Idle" ) << tr (" Alarm" ) << tr (" Run" ) << tr (" Home" ) << tr (" Hold" ) << tr (" Queue" ) << tr (" Check" );
37
- m_statusBackColors << " palette(button)" << " red" << " lime" << " lime" << " yellow" << " yellow" << " palette(button)" ;
38
- m_statusForeColors << " palette(text)" << " white" << " black" << " black" << " black" << " black" << " palette(text)" ;
37
+ m_status << " Unknown " << " Idle" << " Alarm" << " Run" << " Home" << " Hold" << " Queue" << " Check" << " Door " ;
38
+ m_statusCaptions << tr (" Unknown " ) << tr ( " Idle" ) << tr (" Alarm" ) << tr (" Run" ) << tr (" Home" ) << tr (" Hold" ) << tr (" Queue" ) << tr (" Check" ) << tr ( " Door " );
39
+ m_statusBackColors << " red " << " palette(button)" << " red" << " lime" << " lime" << " yellow" << " yellow" << " palette(button)" << " red " ;
40
+ m_statusForeColors << " white " << " palette(text)" << " white" << " black" << " black" << " black" << " black" << " palette(text)" << " white " ;
39
41
40
42
ui->setupUi (this );
41
43
@@ -598,7 +600,7 @@ void frmMain::grblReset()
598
600
qDebug () << " grbl reset" ;
599
601
600
602
m_serialPort.write (QByteArray (1 , (char )24 ));
601
- m_serialPort.flush ();
603
+ // m_serialPort.flush();
602
604
603
605
m_processingFile = false ;
604
606
m_transferCompleted = true ;
@@ -672,6 +674,9 @@ void frmMain::onSerialPortReadyRead()
672
674
if (stx.indexIn (data) != -1 ) {
673
675
status = m_status.indexOf (stx.cap (1 ));
674
676
677
+ // Undetermined status
678
+ if (status == -1 ) status = 0 ;
679
+
675
680
// Update status
676
681
if (status != m_lastGrblStatus) {
677
682
ui->txtStatus ->setText (m_statusCaptions[status]);
@@ -1946,9 +1951,14 @@ void frmMain::on_cmdZeroZ_clicked()
1946
1951
void frmMain::on_cmdReturnXY_clicked ()
1947
1952
{
1948
1953
sendCommand (QString (" G21" ), -1 , m_settings.showUICommands ());
1949
- sendCommand (QString (" G53G90G0X%1Y%2Z%3" ).arg (m_storedX).arg (m_storedY).arg (toMetric (ui->txtMPosZ ->text ().toDouble ())),
1950
- -1 , m_settings.showUICommands ());
1951
- sendCommand (QString (" G92X0Y0Z%1" ).arg (toMetric (ui->txtMPosZ ->text ().toDouble ()) - m_storedZ), -1 , m_settings.showUICommands ());
1954
+ // sendCommand(QString("G53G90G0X%1Y%2Z%3").arg(m_storedX).arg(m_storedY).arg(toMetric(ui->txtMPosZ->text().toDouble())),
1955
+ // -1, m_settings.showUICommands());
1956
+ sendCommand (QString (" G53G90G0X%1Y%2Z%3" ).arg (toMetric (ui->txtMPosX ->text ().toDouble ()))
1957
+ .arg (toMetric (ui->txtMPosY ->text ().toDouble ()))
1958
+ .arg (toMetric (ui->txtMPosZ ->text ().toDouble ())), -1 , m_settings.showUICommands ());
1959
+ sendCommand (QString (" G92X%1Y%2Z%3" ).arg (toMetric (ui->txtMPosX ->text ().toDouble ()) - m_storedX)
1960
+ .arg (toMetric (ui->txtMPosY ->text ().toDouble ()) - m_storedY)
1961
+ .arg (toMetric (ui->txtMPosZ ->text ().toDouble ()) - m_storedZ), -1 , m_settings.showUICommands ());
1952
1962
}
1953
1963
1954
1964
void frmMain::on_cmdReset_clicked ()
@@ -2304,6 +2314,7 @@ bool frmMain::dataIsFloating(QString data) {
2304
2314
ends << " Reset to continue" ;
2305
2315
ends << " '$H'|'$X' to unlock" ;
2306
2316
ends << " ALARM: Hard limit. MPos?" ;
2317
+ ends << " Check Door" ;
2307
2318
2308
2319
foreach (QString str, ends) {
2309
2320
if (data.contains (str)) return true ;
0 commit comments