diff --git a/lib/GRBL/include/GRBL.h b/lib/GRBL/include/GRBL.h index 769cc14..acd3ed4 100644 --- a/lib/GRBL/include/GRBL.h +++ b/lib/GRBL/include/GRBL.h @@ -8,6 +8,7 @@ class iGRBL{ public: virtual void init(int speed, double pas, int accel, String mode = "distance") = 0; virtual void mouveForward(int mm) = 0; + virtual bool isIddle() = 0; }; class GRBL : public iGRBL{ @@ -15,6 +16,7 @@ public: GRBL(int grblAddr); void init(int speed, double pas, int accel, String mode = "distance") override; void mouveForward(int mm = 5) override; + bool isIddle() override; private: Module_GRBL* grbl; }; diff --git a/lib/GRBL/src/GRBL.cpp b/lib/GRBL/src/GRBL.cpp index f71f61d..a674180 100644 --- a/lib/GRBL/src/GRBL.cpp +++ b/lib/GRBL/src/GRBL.cpp @@ -32,3 +32,13 @@ void GRBL::mouveForward(int mm){ sprintf(s, "G1 X%d", mm); this->grbl->sendGcode(s); } + +bool GRBL::isIddle(){ + bool sortie = false; + + if(this->grbl->readStatus().indexOf("IDLE") != -1){ + sortie = true; + } + + return sortie; +}