diff --git a/IOB-PI/std_v_2/IOB.cfg b/IOB-PI/std_v_2/IOB.cfg index 9d9c1de..6fdb45b 100644 --- a/IOB-PI/std_v_2/IOB.cfg +++ b/IOB-PI/std_v_2/IOB.cfg @@ -33,3 +33,14 @@ bit4 = 0 bit5 = 0 bit6 = 0 bit7 = 0 + +[invert] +bit0 = 0 +bit1 = 1 +bit2 = 0 +bit3 = 0 +bit4 = 0 +bit5 = 0 +bit6 = 0 +bit7 = 0 + diff --git a/IOB-PI/std_v_2/readParallela.py b/IOB-PI/std_v_2/readParallela.py index 6e36bec..4450429 100644 --- a/IOB-PI/std_v_2/readParallela.py +++ b/IOB-PI/std_v_2/readParallela.py @@ -1,10 +1,11 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# readParallela v. 2.0 +# readParallela v. 2.1 # - single instance timer # - invio multiplo x send eventi accodati # - gestione segnali BLINKING +# - gestione INVERSIONE segnali cv 10-VII-2018 #--------------------------------------------------------------- # levare locking @@ -39,7 +40,7 @@ MAXRETRY = 3 # numero campioni filtraggio segnale ballerino MAX_COUNTER_BLINK = 10 -PROGRAM_NAME ="ReadPar IOB-pi v.2.0" +PROGRAM_NAME ="ReadPar IOB-pi v.2.1" # DA FILE CONF idxMacchina = "1001" @@ -92,6 +93,8 @@ B_previous = array ( 'B',[0,0,0,0,0,0,0,0]) B_input = array ( 'B',[0,0,0,0,0,0,0,0]) B_output = array ( 'B',[0,0,0,0,0,0,0,0]) +B_inverting = array ( 'B',[0,0,0,0,0,0,0,0]) + #-------------------------------------------------------------- # Gestione coda (condivisa) x registrazione eventi ed invio URL #print "Creazione coda illimitata" @@ -165,6 +168,15 @@ def readParallelaFiltrata(): #ciclo per ogni segnale for i in xrange(8) : # print (i) + + # gestione inversione bit ingresso + + if ( B_inverting[i] == 1 ) : + if ( B_input[i] == 0 ) : + B_input[i] = 1 + else : + B_input[i] = 0 + # se non blinking, copia ingresso if ( B_blinking[i] == 0 ) : B_output[i] = B_input[i] @@ -443,9 +455,20 @@ try: B_blinking[5] = config.getint ( 'blink' , 'bit5' ) B_blinking[6] = config.getint ( 'blink' , 'bit6' ) B_blinking[7] = config.getint ( 'blink' , 'bit7' ) - + MAX_COUNTER_BLINK = config.getint ( 'blink' , 'MAX_COUNTER_BLINK' ) + # cv 2.1 se bit = 1 allora inverto segnale in ingresso... + + B_inverting[0] = config.getint ( 'invert' , 'bit0' ) + B_inverting[1] = config.getint ( 'invert' , 'bit1' ) + B_inverting[2] = config.getint ( 'invert' , 'bit2' ) + B_inverting[3] = config.getint ( 'invert' , 'bit3' ) + B_inverting[4] = config.getint ( 'invert' , 'bit4' ) + B_inverting[5] = config.getint ( 'invert' , 'bit5' ) + B_inverting[6] = config.getint ( 'invert' , 'bit6' ) + B_inverting[7] = config.getint ( 'invert' , 'bit7' ) + except: print "\n\n" + PROGRAM_NAME + ' - Error 4 - in config file ' 'IOB.cfg'