18.4. Dodatkowe uwagi nt. platformy 2321

W platformie 2321 dostępne są dwie metody liczenia częstotliwości impulsów na wejściach logicznych:

Zmiany aktywnego algorytmu można dokonać przy pomocy funkcji SetGValMode(unsigned char mode), zaś aktualny algorytm można odczytać ze zmiennej GVal_Mode. Głównym zastosowaniem algorytmu GVAL_INERT będzie pomiar szybkości rusztu w pracy dwustanowej, poniżej przykładowe wykorzystanie tego trybu pracy w programie technologicznym:

Index: koczwyk.c
===================================================================
--- koczwyk.c	(.../2313/1001/koczwyk.c)	(revision 3319)
+++ koczwyk.c	(.../2321/1001/koczwyk.c)	(working copy)
@@ -2346,8 +2345,10 @@ void Wykonaj ()
 
       if (!RUSZT2STAN){
		  imp_r_min = 0;	
		  imp_r_max = 0; 	
		  wyp = 0;	
		  timer_wyp = 0;
		  L_RUSZT_HI = NO ;
+		  if(GVal_mode != GVAL_PRECISE)
+		  	SetGValMode(GVAL_PRECISE);
	 }
@@ -2489,21 +2490,24 @@ void Wykonaj ()
	} else if(RUSZT2STAN) {
+		 if(GVal_mode != GVAL_INERT)
+			SetGValMode(GVAL_INERT);
		 timer_wyp = (timer_wyp + 1) % TIMER_2STAN_CYCLE ;
		 imp_r_min = tx_imp_r_min ;	
		 imp_r_max = tx_imp_r_max ; 	
		 wyp = tx_wyp ;	
		 if ((timer_wyp * 2)> tx_wyp){
			imp_r = tx_imp_r_min;
			L_RUSZT_HI = NO ;
		 }else{
			imp_r = tx_imp_r_max;
			L_RUSZT_HI = YES ;
		 }
		if  (tx_wyp == 0){
			imp_r = tx_imp_r_min;
			L_RUSZT_HI = NO ;
 
		}
		if  (tx_wyp == 2 * TIMER_2STAN_CYCLE){
			imp_r = tx_imp_r_max;
			L_RUSZT_HI = YES ;
		}
	}