MDX-15,20の制御用library

Files at this revision

API Documentation at this revision

Comitter:
suupen
Date:
Sun Oct 14 00:12:37 2018 +0000
Parent:
8:e65e532d1933
Commit message:
??????

Changed in this revision

MDX20.cpp Show annotated file Show diff for this revision Revisions of this file
MDX20.h Show annotated file Show diff for this revision Revisions of this file
--- a/MDX20.cpp	Sat Dec 03 13:21:20 2016 +0000
+++ b/MDX20.cpp	Sun Oct 14 00:12:37 2018 +0000
@@ -254,7 +254,9 @@
     return (ans);
 }
 
-
+/**
+ *
+ */
 uint8_t MDX20::reciveData(void)
 {
     char ans = 0;
@@ -337,6 +339,9 @@
     return (ans);
 }
 
+/**
+ * @note モータを動かすためには位置設定コマンドの発行が必要
+ */
 uint8_t MDX20::motorOn(void)
 {
     uint8_t ans;
@@ -361,12 +366,49 @@
     return ans;
 }
 
+uint8_t MDX20::userXYOriginInitial(void)
+{
+    char buffer[50];
+    uint8_t ans;
+
+    ans &= sendData("^PA;");
+    ans &= sendData("!MC0;");
+
+    sprintf(buffer, "Z%d,%d,%d;",0, 0, D_position[Z_z] - D_userOriginPosition[Z_z]);
+    ans &= sendData(buffer);
+
+    return ans;
+}
+
+uint8_t MDX20::userZOriginInitial(void)
+{
+    char buffer[50];
+    uint8_t ans;
+
+    ans &= sendData("^PA;");
+    ans &= sendData("!MC0;");
+
+    sprintf(buffer, "!ZM%d;",0);
+    ans &= sendData(buffer);
+
+    return ans;
+}
+
 uint8_t MDX20::final(void)
 {
     uint8_t ans;
+
+// モータを止めて、Z軸を機械原点に戻す。(X,Y軸はその場にとどめる)
+    ans &= sendData("!MC0;");
+    ans &= sendData("^PA;");
+    ans &= sendData("!ZO0;");
+    ans &= sendData("!ZO0;"); // Z axis origin initialaize
+
+/* このコードだとZ軸が原点に戻らないままXY実を原点に戻すためワークに引っ掛かり破損する
     ans &= sendData("!MC0;");
     ans &= sendData("^PA;");
     ans &= sendData("Z0,0,0;");
+*/
     clearPositon();
     ans &= sendData("^IN;");
     return (ans);
@@ -431,3 +473,18 @@
     return motorState;
 }
 
+/** MDX-20の接続確認
+ * @return true:接続あり false:なし
+ */
+int32_t MDX20::connectCheck(void)
+{
+   int32_t ans = false;
+   
+   if(_cts == 0){
+       ans = true;
+       }else{
+           ans = false;
+        }
+    return (ans);
+    }
+
--- a/MDX20.h	Sat Dec 03 13:21:20 2016 +0000
+++ b/MDX20.h	Sun Oct 14 00:12:37 2018 +0000
@@ -33,6 +33,9 @@
 
 
     uint8_t userOriginInitial(void);
+    uint8_t userXYOriginInitial(void);
+    uint8_t userZOriginInitial(void);
+
 
     uint8_t final(void);
 //    uint8_t zeroSetting(void);
@@ -42,6 +45,7 @@
     void offsetZAxisAdjustment(int16_t axisData);
 
     int32_t motorStateCheck(void);
+    int32_t connectCheck(void);
 
 
 private: