motor i senzor

Dependencies:   TextLCD mbed PinDetect

Revision:
4:03b68322905f
Parent:
3:bebfc64cefe4
Child:
5:7e28f4b64a55
--- a/main.cpp	Sat Nov 09 13:44:18 2013 +0000
+++ b/main.cpp	Sat Nov 09 18:35:13 2013 +0000
@@ -9,6 +9,9 @@
 #define calibrateFactorSenzC 1.06
 #define calibrateFactorSenzD 0.9
 
+#define serialOutputEnable      true
+#define serialOutputBaudrate    115200
+
 Serial pc(USBTX, USBRX);
 
 AnalogIn ainSensA(p17);
@@ -46,13 +49,19 @@
     valAzimut = (SensA + SensB) - (SensC + SensD); 
     valElevacija = (SensB + SensC) - (SensA + SensD);
     
+    if(serialOutputEnable) {
+    
 //    pc.printf("az:%6.3f el:%6.3f :: A:%.3f B:%.3f C:%.3f D:%.3f \n", 
 //            valAzimut, valElevacija, SensA, SensB, SensC, SensD);
-    pc.printf("az:%6.3f el:%6.3f \n", valAzimut, valElevacija);
+
+        pc.printf("az:%6.3f el:%6.3f \n", valAzimut, valElevacija);
+    }
 }
 
 int main() {
 
+    pc.baud(serialOutputBaudrate);
+
     Motor *motorAz = new Motor(p25, p26, p24);
     Motor *motorEl = new Motor(p22, p21, p23);
 
@@ -60,90 +69,35 @@
     
         readValuesForAveraging();
         
-        bool someWrokDone = false;
-        
 // ----- azimut -----
         
-        if(!(*motorAz).isMoving() && (abs(valAzimut) > sensorStartTreshold)) {
+        if(abs(valAzimut) > sensorStartTreshold) {
             if(valAzimut > 0) 
                 (*motorAz).movePositive();
             else
                 (*motorAz).moveNegative();
-            someWrokDone = true;
         }
         
-        if((*motorAz).isMoving() && (abs(valAzimut) < sensorStopTreshold)) {
+        if(abs(valAzimut) < sensorStopTreshold) {
             (*motorAz).stop();
-            someWrokDone = true;
         }
         
 // ----- elevacija -----
 
-        if(!(*motorEl).isMoving() && (abs(valElevacija) > sensorStartTreshold)) {
+        if(abs(valElevacija) > sensorStartTreshold) {
             if(valElevacija > 0) 
                 (*motorEl).movePositive();
             else
                 (*motorEl).moveNegative();
-            someWrokDone = true;
-        }
-        
-        if((*motorEl).isMoving() && (abs(valElevacija) < sensorStopTreshold)) {
-            (*motorEl).stop();
-            someWrokDone = true;
-        }
-
-// ---- ništa nije dirano ----
-
-        if(!someWrokDone)
-            wait_ms(500);
-        
-        
-        
-        
-        /*
-        if(valAzimut > sensorStartTreshold) {
-            if(!(*motorAz).isMoving())
-                (*motorAz).movePositive();
-            continue;        
-        }
-        
-        if(valAzimut < (-1 * sensorStartTreshold)) {
-            if(!(*motorAz).isMoving())
-                (*motorAz).moveNegative();
-            continue;        
         }
         
-        if((*motorAz).isMoving() && (abs(valAzimut) < sensorStopTreshold)) {
-            (*motorAz).stop();
-        }
-        
-        if(valElevacija > sensorStartTreshold) {
-            if(!(*motorEl).isMoving())
-                (*motorEl).movePositive();
-            continue;        
-        }
-        
-        if(valElevacija < (-1 * sensorStartTreshold)) {
-            if(!(*motorEl).isMoving())
-                (*motorEl).moveNegative();
-            continue;        
+        if(abs(valElevacija) < sensorStopTreshold) {
+            (*motorEl).stop();
         }
         
-        if((*motorEl).isMoving() && (abs(valElevacija) < sensorStopTreshold)) {
-            (*motorEl).stop();
-        }
-        */
-        
- /*       
-        if (valElevacija > sensorTreshold){ // positive azimuth deviation
-            (*motorEl).movePositive();
-            pc.printf("elevacija pozitiv \n");            
-        }
-        else if (valElevacija < (-1 * sensorTreshold)) { // negative azimuth deviation
-            (*motorEl).moveNegative();
-            pc.printf("elevacija negativ \n");            
-        }
- */       
+// ----- pauza ------
+
+        wait_ms(100);        
     }
 }