From 6607ec5daf16da40334ff2bd3b0c6fc134a52cd4 Mon Sep 17 00:00:00 2001
From: 42loop <ulf.freyhoff@hfbk-hamburg.de>
Date: Mon, 29 Jun 2020 14:53:20 +0200
Subject: [PATCH] some cleanup

---
 geku_teensy.ino |  19 ---------
 initpins.ino    |  23 ++++-------
 motor_out.ino   | 102 +++++++++++++++++++++++-------------------------
 3 files changed, 56 insertions(+), 88 deletions(-)

diff --git a/geku_teensy.ino b/geku_teensy.ino
index 9f9b30d..ae33cdc 100644
--- a/geku_teensy.ino
+++ b/geku_teensy.ino
@@ -63,25 +63,6 @@ Serial.println();
 }
 
 
-bool waitready()
-{
-  bool servoready=true;
-  for (int ax=0;ax<max_ax;ax++)
-  { 
-    if (!machineready[ax])
-    {
-      servoready=false;
-      Serial.print("Servo ");
-      Serial.print(ax);
-      Serial.println(" not ready !");
-    }
-  }
-  return servoready;
-  
-}
-
-
-
 
 void setup()
 {
diff --git a/initpins.ino b/initpins.ino
index 925c905..18625e3 100644
--- a/initpins.ino
+++ b/initpins.ino
@@ -1,7 +1,7 @@
 void initpins()
 {
-
-  pinMode(ltc_clk,OUTPUT);  
+//ltc DA-converter
+pinMode(ltc_clk,OUTPUT);  
 pinMode(ltc_data,OUTPUT);
 pinMode(ltc_load,OUTPUT);
 pinMode(mux_enable,OUTPUT);
@@ -16,7 +16,7 @@ digitalWrite(mux_a2,LOW);
 digitalWrite(ltc_clk,LOW);
 digitalWrite(ltc_load,HIGH);
 
-
+//inverter start plus direction
 pinMode(startXP,OUTPUT);
 pinMode(startYP,OUTPUT);
 pinMode(startZP,OUTPUT);
@@ -25,6 +25,7 @@ digitalWrite(startXP,LOW);
 digitalWrite(startYP,LOW);
 digitalWrite(startZP,LOW);
 
+//inverter start minus direction
 pinMode(startXM,OUTPUT);
 pinMode(startYM,OUTPUT);
 pinMode(startZM,OUTPUT);
@@ -33,6 +34,7 @@ digitalWrite(startXM,LOW);
 digitalWrite(startYM,LOW);
 digitalWrite(startZM,LOW);
 
+//brake outputs
 pinMode(brakeX,OUTPUT);
 pinMode(brakeY,OUTPUT);
 pinMode(brakeZ,OUTPUT);
@@ -41,7 +43,7 @@ digitalWrite(brakeX,LOW);
 digitalWrite(brakeY,LOW);
 digitalWrite(brakeZ,LOW);
 
-
+//limit and ref inputs
 pinMode(limitXPpin,INPUT);
 pinMode(limitXMpin,INPUT);
 pinMode(limitYPpin,INPUT);
@@ -52,12 +54,6 @@ pinMode(refX,INPUT);
 pinMode(refY,INPUT);
 pinMode(refZ,INPUT);
 
-/*
-
-pinMode(readyXpin,INPUT);
-pinMode(readyYpin,INPUT);
-pinMode(readyZpin,INPUT);
-*/
 
 digitalWrite(limitXPpin,HIGH);
 digitalWrite(limitXMpin,HIGH);
@@ -69,13 +65,8 @@ digitalWrite(limitZMpin,HIGH);
 digitalWrite(refX,HIGH);
 digitalWrite(refY,HIGH);
 digitalWrite(refZ,HIGH);
-/*
-digitalWrite(readyXpin,HIGH);
-digitalWrite(readyYpin,HIGH);
-digitalWrite(readyZpin,HIGH);
-*/
-pinMode(led,OUTPUT);
 
+pinMode(led,OUTPUT);
 digitalWrite(led,HIGH);
 
 }
diff --git a/motor_out.ino b/motor_out.ino
index f5de0d4..2673ce9 100644
--- a/motor_out.ino
+++ b/motor_out.ino
@@ -2,70 +2,66 @@
 
 void set_motors()
 {
-byte currentmotor=0;
-//Serial.print("setltc: ");Serial.println(speed[0]);
-for (currentmotor=0;currentmotor<max_ax;currentmotor++)
-{
-
-unsigned int val;
-
-//invert values:
-if (speed[currentmotor]>null_speed)  //plus
-  {
-    val=speed[currentmotor]-null_speed;
-    mot_onP(currentmotor);
-    setbrake(currentmotor,false);
-  }
-else if (speed[currentmotor]<null_speed)  //minus
+  byte currentmotor=0;
+  for (currentmotor=0;currentmotor<max_ax;currentmotor++)
   {
-    val=abs(speed[currentmotor]-null_speed);
-    mot_onM(currentmotor);
-    setbrake(currentmotor,false);
-  }
-else 
-{
-  val=0; //stop
-  mot_off(currentmotor);
-  setbrake(currentmotor,true);
-}
-
-Serial.println(currentmotor,val);
-
-digitalWrite(mux_enable,LOW);
-
-
-if ((currentmotor & 1) !=0) digitalWrite(mux_a0,HIGH); else digitalWrite(mux_a0,LOW);
-if ((currentmotor & 2) !=0) digitalWrite(mux_a1,HIGH); else digitalWrite(mux_a1,LOW);
-digitalWrite(mux_a2,LOW);
-
 
+    unsigned int val;
+
+//adapt values: former 0 was max minus speed, null_speed was stop, 4095 was max plus speed  
+    if (speed[currentmotor]>null_speed)  //plus
+      {
+        val=speed[currentmotor]-null_speed;
+        mot_onP(currentmotor);
+        setbrake(currentmotor,false);
+      }
+    else if (speed[currentmotor]<null_speed)  //minus
+      {
+        val=abs(speed[currentmotor]-null_speed);
+        mot_onM(currentmotor);
+        setbrake(currentmotor,false);
+      }
+    else 
+      {
+        val=0; //stop
+        mot_off(currentmotor);
+        setbrake(currentmotor,true);
+      }
+
+    Serial.println(currentmotor,val);
+
+    digitalWrite(mux_enable,LOW);
+
+
+    if ((currentmotor & 1) !=0) digitalWrite(mux_a0,HIGH); else digitalWrite(mux_a0,LOW);
+    if ((currentmotor & 2) !=0) digitalWrite(mux_a1,HIGH); else digitalWrite(mux_a1,LOW);
+    digitalWrite(mux_a2,LOW);
 
  
-  for (int i=12; i>0; i--) {
-    if ((val & (1 << (i-1)))>0) {
-    digitalWrite(ltc_data,HIGH);
-    }
-    else {
-    digitalWrite(ltc_data,LOW);
-    }
+    for (int i=12; i>0; i--) {
+      if ((val & (1 << (i-1)))>0) 
+        digitalWrite(ltc_data,HIGH);
+      else 
+        digitalWrite(ltc_data,LOW);
+    
+      delayMicroseconds(1);
+      digitalWrite(ltc_clk,HIGH);
+      delayMicroseconds(1);
+      digitalWrite(ltc_clk,LOW);
+      delayMicroseconds(1);
+    }  
+    digitalWrite(ltc_load,LOW);
     delayMicroseconds(1);
-   digitalWrite(ltc_clk,HIGH);
-    delayMicroseconds(1);
-   digitalWrite(ltc_clk,LOW);
-    delayMicroseconds(1);
-  }  
-  digitalWrite(ltc_load,LOW);
-  delayMicroseconds(1);
-  digitalWrite(ltc_load,HIGH);
+    digitalWrite(ltc_load,HIGH);
   
-delayMicroseconds(400);
+    delayMicroseconds(400);
 
-digitalWrite(mux_enable,HIGH);
+    digitalWrite(mux_enable,HIGH);
 
 //probably not needed:
 //delayMicroseconds(400);
 
-}
+  }
 
 }
 
-- 
GitLab