Auf den letzten Metern
Dependencies: mbed
Diff: main.cpp
- Revision:
- 17:c34f14ec2beb
- Parent:
- 16:404bcdd9c518
- Child:
- 18:6f0897438c03
--- a/main.cpp Mon Dec 05 09:29:47 2022 +0000 +++ b/main.cpp Mon Dec 05 09:39:50 2022 +0000 @@ -309,7 +309,6 @@ bMainState = enSchwellenwert; } } - bS1Timer++; } } else { /* Taste nicht gedrückt */ if(((bSCounter >= nTastShort) && (bSCounter <= nTastLong))) { /* Taste wurde bereits erkannt */ @@ -327,17 +326,12 @@ } void vTasteS2( void ){ - if((pinS2 == 0 || abTxBuffer[0] == ',') && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ - - for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ - while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]) if(abTxBuffer[zaehler] == ',') bSCounter++; - } - - if(bS2Timer < nTastLong+1 || bSCounter < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ + if((pinS2 == 0) && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ + if(bS2Timer < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ if(bS2Timer == nTastShort){ /* Taste "kurz gedrückt" erkannt */ //... } - if(bS2Timer == nTastLong || bSCounter == nTastLong){ /* Taste "lange gedrückt" erkannt */ + if(bS2Timer == nTastLong){ /* Taste "lange gedrückt" erkannt */ bTimeLong = 1; if(wVorgabeWert >=3200) wVorgabeWert = 3300; else wVorgabeWert = wVorgabeWert + 100; @@ -347,7 +341,7 @@ } } else{ /* Taste nicht gedrückt */ - if(((bS2Timer >= nTastShort) && (bS2Timer <= nTastLong)) || ((bSCounter >= nTastShort) && (bSCounter <= nTastLong))){ /* Taste wurde bereits erkannt */ + if(((bS2Timer >= nTastShort) && (bS2Timer <= nTastLong))){ /* Taste wurde bereits erkannt */ if(bTimeLong==0){ if(wVorgabeWert >=3290) wVorgabeWert = 3300; else wVorgabeWert = wVorgabeWert + 10; @@ -355,22 +349,45 @@ } bS2Timer = 0; bTimeLong = 0; + } + + if(abTxBuffer[0] == ',' && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ + + for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ + while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]) if(abTxBuffer[zaehler] == ',') bSCounter++; + } + + if(bSCounter < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ + if(bS2Timer == nTastShort){ /* Taste "kurz gedrückt" erkannt */ + //... + } + if(bSCounter == nTastLong){ /* Taste "lange gedrückt" erkannt */ + bTimeLong = 1; + if(wVorgabeWert >=3200) wVorgabeWert = 3300; + else wVorgabeWert = wVorgabeWert + 100; + bS2Timer = bS2Timer - 40; + } + } + } + else{ /* Taste nicht gedrückt */ + if((bSCounter >= nTastShort) && (bSCounter <= nTastLong)){ /* Taste wurde bereits erkannt */ + if(bTimeLong==0){ + if(wVorgabeWert >=3290) wVorgabeWert = 3300; + else wVorgabeWert = wVorgabeWert + 10; + } + } + bTimeLong = 0; bSCounter = 0; } } void vTasteS3( void ){ - if((pinS3 == 0 || abTxBuffer[0] == '.') && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ - - for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ - while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]) if(abTxBuffer[zaehler] == '.') bSCounter++; - } - - if(bS3Timer < nTastLong+1 || bSCounter < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ + if(pinS3 == 0 && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ + if(bS3Timer < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ if(bS3Timer == nTastShort){ /* Taste "kurz gedrückt" erkannt */ //... } - if(bS3Timer == nTastLong || bSCounter == nTastLong){ /* Taste "lange gedrückt" erkannt */ + if(bS3Timer == nTastLong){ /* Taste "lange gedrückt" erkannt */ bTimeLong = 1; if(wVorgabeWert <=100) wVorgabeWert = 0; else wVorgabeWert = wVorgabeWert - 100; @@ -380,7 +397,7 @@ } } else{ /* Taste nicht gedrückt */ - if(((bS3Timer >= nTastShort) && (bS3Timer <= nTastLong)) || ((bSCounter >= nTastShort) && (bSCounter <= nTastLong))){ /* Taste wurde bereits erkannt */ + if((bS3Timer >= nTastShort) && (bS3Timer <= nTastLong)){ /* Taste wurde bereits erkannt */ if(bTimeLong==0){ if(wVorgabeWert <=10) wVorgabeWert = 0; else wVorgabeWert = wVorgabeWert - 10; @@ -388,6 +405,34 @@ } bS3Timer = 0; bTimeLong = 0; + } + + if(abTxBuffer[0] == '.' && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ + + for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ + while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]) if(abTxBuffer[zaehler] == '.') bSCounter++; + } + + if(bSCounter < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ + if(bS3Timer == nTastShort){ /* Taste "kurz gedrückt" erkannt */ + //... + } + if(bSCounter == nTastLong){ /* Taste "lange gedrückt" erkannt */ + bTimeLong = 1; + if(wVorgabeWert <=100) wVorgabeWert = 0; + else wVorgabeWert = wVorgabeWert - 100; + bS3Timer = bS3Timer - 40; + } + } + } + else{ /* Taste nicht gedrückt */ + if((bSCounter >= nTastShort) && (bSCounter <= nTastLong)){ /* Taste wurde bereits erkannt */ + if(bTimeLong==0){ + if(wVorgabeWert <=10) wVorgabeWert = 0; + else wVorgabeWert = wVorgabeWert - 10; + } + } + bTimeLong = 0; bSCounter = 0; } }