def SetPinMode(db, ser): for i in range(20): print("") ripeti = True while ripeti: menu_scelta_pinNo = [ "SELECTION OF PIN NUMBER WHOSE MODE YOU WANT TO SET", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13", "", "", "A0", "A1", "A2", "A3", "A4", "A5", "Cancel" ] numeroPin = int(menu_scelta(menu_scelta_pinNo, True)) if not ((((numeroPin >= 2) and (numeroPin <= 13)) or ((numeroPin >= 16)) and (numeroPin <= 22))): print("PIN number not valid!!!") dormi(2) else: ripeti = False if (numeroPin == len(menu_scelta_pinNo) - 2): return (0) ripeti_in = True while ripeti_in: menu_scelta_modo = [ "SELECTION OF MODE FOR PIN: " + str(decodePinNo(numeroPin)) ] for i in range(5): menu_scelta_modo.append(decodeMode(i)) menu_scelta_modo.append("Cancel") modo = int(menu_scelta(menu_scelta_modo, True)) if (modo == len(menu_scelta_modo) - 2): ripeti = True ripeti_in = False if ((numeroPin >= 2) and (numeroPin <= 13)) or ((numeroPin >= 16) and (numeroPin <= 21)): answer = TryGetAnswer(ser, cmdImpostaModo, numeroPin, modo) if not (decodeErrCode(answer[3]) == "OK"): answer = TryGetAnswer(ser, cmdGetModo, numeroPin, 0) ReadValue = int.from_bytes(answer[2], byteorder='big') print("Mode of Pin ", numeroPin, " is set to: ", decodeMode(ReadValue)) else: ReadValue = int.from_bytes(answer[2], byteorder='big') print("Mode on pin ", numeroPin, " is set to: ", decodeMode(ReadValue)) print("") input("----------[press ENTER to continue]-------------" ) #pausa riflessiva per mostrare output return (ReadValue) else: print("PIN number you eneterd is not valid!!!") dormi(3) #pausa riflessiva per mostrare messaggio di errore return (-1) dormi(1) return (0)
def ScriviOut(db, ser): for i in range(20): print(" ") ripeti = True while ripeti: #numeroPin = (int(input("Quale PIN vuole scrivere? > "))) menu_scelta_pinNo = [ "SELECTION OF PIN NUMBER WHERE YOU WANT TO WRITE OUTPUT", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13", "", "", "A0", "A1", "A2", "A3", "A4", "A5", "Cancel" ] numeroPin = int(menu_scelta(menu_scelta_pinNo, True)) if not (((numeroPin >= 2) and (numeroPin <= 13)) or (((numeroPin >= 16)) and (numeroPin <= 22))): print("PIN number not valid!!!") dormi(2) else: ripeti = False if (numeroPin == len(menu_scelta_pinNo) - 2): return (0) ripeti_in = True while ripeti_in: try: for i in range(30): print(" ") valore = ( input("What value you want to write [A=Cancel]? > ")) if str(valore).upper() == 'A': ripeti = True ripeti_in = False else: valore = int(valore) ripeti_in = False except ValueError: print('Please insert an integer number......') ripeti_in = True if (((numeroPin >= 2) and (numeroPin <= 13)) or (((numeroPin >= 16)) and (numeroPin <= 22))): answer = TryGetAnswer(ser, cmdScrivi, numeroPin, valore) print("ScriviOut ---- Err in aswer = ", answer[3], decodeErrCode(answer[3])) if not (decodeErrCode(answer[3]) == "OK"): answer = TryGetAnswer(ser, cmdLeggi, numeroPin, valore) ReadValue = int.from_bytes(answer[2], byteorder='big') print("Value on pin ", numeroPin, " is: ", ReadValue) else: ReadValue = int.from_bytes(answer[2], byteorder='big') print("Output value on pin ", numeroPin, " is: ", ReadValue) print("") input("----------[press ENTER to continue]-------------" ) #pausa riflessiva per mostrare output return (ReadValue) else: print("Pin number you enterd is not valid!!!") dormi(3) #pausa riflessiva per mostrare messaggio di errore return (-1) dormi(1) return (0)
def GetPinMode(db, ser): for i in range(20): print("") ripeti = True while ripeti: menu_scelta_pinNo = [ "SELECTION OF PIN NUMBER WHOSE MODE YOU WANT TO KNOW", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13", "", "", "A0", "A1", "A2", "A3", "A4", "A5", "Cancel" ] numeroPin = int(menu_scelta(menu_scelta_pinNo, True)) if not (((numeroPin >= 0) and (numeroPin <= 13)) or ((numeroPin >= 16) and (numeroPin <= 22))): print("PIN number not valid!!!") dormi(2) else: ripeti = False if (numeroPin == len(menu_scelta_pinNo) - 2): return (0) if (((numeroPin >= 0) and (numeroPin <= 13)) or ((numeroPin >= 16)) and (numeroPin <= 21)): answer = TryGetAnswer(ser, cmdGetModo, numeroPin, 0) ReadValue = int.from_bytes(answer[2], byteorder='big') print("Mode of Pin ", numeroPin, " is set to: ", decodeMode(ReadValue)) print("") input("----------[press ENTER to continue]-------------" ) #pausa riflessiva per mostrare output return (ReadValue) else: print("Pin number you entered is not valid!!!") dormi(3) #pausa riflessiva per mostrare messaggio di errore return (-1) dormi(1) return (0)
def LeggiIn(db, ser): for i in range(20): print("") ripeti = True while ripeti: menu_scelta_pinNo = [ "SELECTION OF PIN NUMBER TO READ", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13", "", "", "A0", "A1", "A2", "A3", "A4", "A5", "Cancel" ] numeroPinInt = int(menu_scelta(menu_scelta_pinNo, True)) if not (((numeroPinInt >= 0) and (numeroPinInt <= 13)) or (((numeroPinInt >= 16)) and (numeroPinInt <= 22))): print("PIN number not valid!!!") dormi(2) else: ripeti = False if (numeroPinInt == len(menu_scelta_pinNo) - 2): return (0) if (((numeroPinInt >= 0) and (numeroPinInt <= 13)) or ((numeroPinInt >= 16)) and (numeroPinInt <= 21)): answer = TryGetAnswer(ser, cmdLeggi, numeroPinInt, 0) print("LeggiDigIn ---- Err in aswer = ", answer[3], decodeErrCode(answer[3])) ReadValue = int.from_bytes(answer[2], byteorder='big') print("Input value on pin ", numeroPinInt, " is: ", ReadValue) print("") input("----------[press ENTER to continue]-------------" ) #pausa riflessiva per mostrare output return (ReadValue) else: print("Pin number not valid!!!") dormi(3) #pausa riflessiva per mostrare messaggio di errore return (-1)
#print("NAME: ",p.name) menu_scelta_UART.append(p.description) #print("device: ",p.device) #print("type:", type(p.device)) #print("ports:", type(ports)) #if ('/dev/' in p.device): print("typeif:", type(p.device)) if ('/dev/tty' in p.device): lx_win="Linux" ttyS0_Exists = str(subprocess.check_output(['ls','-al','/dev'])) #print("output",ttyS0_Exists) #input("output") if "ttyS0" in str(ttyS0_Exists): menu_scelta_UART.append("/dev/ttyS0") menu_scelta_UART.append("Cancel") numeroUART = int(menu_scelta(menu_scelta_UART,True)) if (numeroUART==len(menu_scelta_UART)-2): print("Goodbye!!! ") exit(0) print("Autofind: ",Autofind) print("useDefaultUART: ",useDefaultUART) print("menu_scelta_UART[numeroUART]: ",menu_scelta_UART[numeroUART]) print("menu_scelta_UART: ",menu_scelta_UART) #input("AAAA:") if not(debug): if menu_scelta_UART[numeroUART+1]=="/dev/ttyS0": ser = serial.Serial("/dev/ttyS0", baudrate, timeout=3) elif (Autofind == "YES") or (useDefaultUART=="YES"): ser = serial.Serial(menu_scelta_UART[numeroUART], baudrate, timeout=3)