new

Dependencies:   mbed CANMsg

Revision:
8:0e643ea7834f
Parent:
7:c9fd242538d9
Child:
9:503e2aba047c
--- a/main.cpp	Thu Jul 12 06:07:14 2018 +0000
+++ b/main.cpp	Tue Jul 24 08:22:50 2018 +0000
@@ -872,6 +872,7 @@
             if (quincStart==0){
                 oldQuincTimeSD = (double) quincTimeSD.read_ms();
                 quincTime.reset();
+                quincTimeSD.reset();
                 quincStart=1;
             }
         }
@@ -941,9 +942,11 @@
             quincStart=0;
             countPicks=0;
             #if !defined(speedMaster)
-                if (quincCnt>=5){
+                if (quincCnt>=3){
                         if (speedFromMaster>0.0f){
-                            tractorSpeed_MtS_timed = speedFromMaster + percento;
+                            if (enableSimula==0){
+                                tractorSpeed_MtS_timed = speedFromMaster + percento;
+                            }
                         }
                 }
             #endif
@@ -984,9 +987,11 @@
                 }
 
                 #if !defined(speedMaster)
-                    if (quincCnt>=5){
+                    if (quincCnt>=3){
                             if (speedFromMaster>0.0f){
-                                tractorSpeed_MtS_timed = speedFromMaster + percento;
+                                if (enableSimula==0){
+                                    tractorSpeed_MtS_timed = speedFromMaster + percento;
+                                }
                             }
                     }
                 #endif
@@ -1067,7 +1072,7 @@
         seedCorrection.attach(&seedCorrect,0.005f); // con 16 becchi a 4,5Kmh ci sono 37mS tra un becco e l'altro, quindi 8 correzioni di tb
         dcSetting();
         #if defined(seedSensor)
-            seedCheck.rise(&seedSensorTask);
+            seedCheck.fall(&seedSensorTask);
         #endif
     }else{
       tftUpdate.attach(&videoUpdate,0.125f);
@@ -1217,6 +1222,7 @@
                 seedFilter.reset();          
                 sincroTimer.reset();
                 oldSeedWheelZeroPinInput=1;
+                quincTime.reset();
                 quincTimeSD.reset();
                 SDzeroDebounced=1;
                 sincroQui=1;
@@ -1470,7 +1476,7 @@
                 // calcola velocità trattore
                 if(enableSpeed>=2){
                     if ((pulseSpeedInterval>=0.0f)){ //minIntervalPulse)&&(pulseSpeedInterval<maxInterval)){
-                        if((quincCnt<5)||(speedFromMaster==0.0f)){
+                        if((quincCnt<3)||(speedFromMaster==0.0f)||(enableSimula==1)){
                             tractorSpeed_MtS_timed = ((pulseDistance  / pulseSpeedInterval));  // tractor speed (unit= Mt/S) from pulse time interval
                         }
                         /*#if !defined(speedMaster)
@@ -1577,7 +1583,11 @@
                             k5=10.00f;
                             k6=20.50f;
                         }else{*/
-                            k3=0.050f;
+                            #if defined(speedMaster)
+                                k3=0.010f;
+                            #else
+                                k3=0.050f;
+                            #endif
                             k4=1.103f;
                             k5=10.00f;
                             k6=20.50f;
@@ -1755,6 +1765,7 @@
                         zeroCycleEnd=0;
                         zeroCycle=1;
                         zeroTrigger=0;
+                        noSDzeroRequest=1;
                     }
                 }
     //*************************************************************************************************        
@@ -1849,8 +1860,8 @@
                     #endif
                 }
                 // azzera tutto in time out
-                if (timeOutZeroSD.read_ms()>=10000){
-                    if (firstStart==0){
+                if ((timeOutZeroSD.read_ms()>=10000)||(noSDzeroRequest==1)){
+                    if ((firstStart==0)&&(noSDzeroRequest==0)){
                         all_no_Zeroing=1;
                     }
                     avvicinamento=0;
@@ -1867,6 +1878,7 @@
                     ritardoComandoStop.stop();
                     timeOutZeroSD.stop();
                     timeOutZeroSD.reset();
+                    noSDzeroRequest=0;
                 }
                 if (TBzeroCyclePulse==1){
                     TBticker.detach();