HAPO WS22 / Mbed 2 deprecated HAPO_WS22_Labor3_final

Dependencies:   mbed

Revision:
10:fdd52c601fcc
Parent:
9:b30caa6d008f
Child:
11:d08f264a6be1
--- a/main.cpp	Sun Dec 04 14:14:45 2022 +0000
+++ b/main.cpp	Sun Dec 04 14:55:10 2022 +0000
@@ -169,7 +169,7 @@
 * Description : engestellter Vorgabewert
 */
 
-word wDiffWert; /*
+int nDiffWert; /*
 * Description : Differenz zwischen Vorgabe und Eingang
 */
 
@@ -320,7 +320,8 @@
                 }
             if(bS2Timer == nTastLong){          /* Taste "lange gedrückt" erkannt */ 
                 bTimeLong = 1;
-                wVorgabeWert = wVorgabeWert + 100;
+                if(wVorgabeWert >=3200) wVorgabeWert = 3300;
+                else wVorgabeWert = wVorgabeWert + 100;
                 bS2Timer = bS2Timer - 40;
                 }
             bS2Timer++;
@@ -328,7 +329,10 @@
         }
     else{                                       /* Taste nicht gedrückt */ 
         if((bS2Timer >= nTastShort) && (bS2Timer <= nTastLong)){             /* Taste wurde bereits erkannt */
-            if(bTimeLong==0) wVorgabeWert = wVorgabeWert + 10;
+            if(bTimeLong==0){
+                if(wVorgabeWert >=3290) wVorgabeWert = 3300;
+                else wVorgabeWert = wVorgabeWert + 10;
+            }
             }
         bS2Timer = 0;
         bTimeLong= 0;
@@ -343,7 +347,8 @@
                 }
             if(bS3Timer == nTastLong){          /* Taste "lange gedrückt" erkannt */ 
                 bTimeLong = 1;
-                wVorgabeWert = wVorgabeWert - 100;
+                if(wVorgabeWert <=100) wVorgabeWert = 0;
+                else wVorgabeWert = wVorgabeWert - 100;
                 bS2Timer = bS2Timer - 40;
                 }
             bS3Timer++;
@@ -351,7 +356,10 @@
         }
     else{                                       /* Taste nicht gedrückt */ 
         if((bS3Timer >= nTastShort) && (bS3Timer <= nTastLong)){             /* Taste wurde bereits erkannt */
-            if(bTimeLong==0) wVorgabeWert = wVorgabeWert - 10;
+            if(bTimeLong==0){
+                if(wVorgabeWert <=10) wVorgabeWert = 0;
+                else wVorgabeWert = wVorgabeWert - 10;
+            }
             }
         bS3Timer = 0;
         bTimeLong= 0;
@@ -387,7 +395,7 @@
             }
             break;
         case enVergleich:
-            vDisplayDiff(wDiffWert);
+            vDisplayDiff(nDiffWert);
             if((bDigit&0x03) == 0x01) { /* Dezimalpunkt setzen */
                 wSerial = wSerial & ~nSegH;
                 }
@@ -396,7 +404,6 @@
     vShiftLoad(((wSerial << 8) & 0xfff0)| (1 << (bDigit&0x03)));
 }
 
-
 /***************************************************************************
 *   main()
 ***************************************************************************/
@@ -407,22 +414,24 @@
     //Seriel.begin(9600);
     
     while(1) {    
-        wPotiWert = pinPoti*3,3;    
+        wPotiWert = pinPoti*3300;  
         vCheckTasten();
-        wDiffWert = wVorgabeWert - wPotiWert;
+        nDiffWert = wVorgabeWert - wPotiWert;
         switch(bMainState) {
             case enSchwellenwert:
+                /*
                 if(wVorgabeWert>3300){
                     wVorgabeWert=3300;
                 }
                 if(wVorgabeWert<0){
                     wVorgabeWert=0;
                 }
+                */
                 break;
             case enPotiAnzeige:
                 break;
             case enVergleich:
-                if(wDiffWert<0) pinBeep=0;
+                if(nDiffWert<0) pinBeep=0;
                 else pinBeep=1;
                 break;
         }