# TVR testing # 26/3/2022 setting parameters from TV remote # Vol+ = basespeed # Vol- = efactor # ch+ = dfactor # ch- = count # Power = Exit and run race # OK = re-write params.py # Filename to be printed Thisfile = "TVRTest1.py" # History from machine import UART from UKMARS import * try: from params import * except: pass #count = 2 uart = UART(0, 2400) # init with given baudrate 0 = TX/RX pins #basespeed=12 #efactor=34 #dfactor=56 def Read(): print("R",end="") bytesObj = uart.read(1) try: bytesObj =bytesObj.decode('utf-8') print(bytesObj) except: bytesObj = '' return(bytesObj) ################# # write_params # ################# # writes all parameter to file params.py def writeparams(): #global basespeed,efactor,dfactor pfile = open("params.py","w") pfile.write("basespeed="+str(basespeed)) pfile.write("\r\nefactor="+str(efactor)) pfile.write("\r\ndfactor="+str(dfactor)) pfile.write("\r\ncount="+str(count)) pfile.close() print("params.py written") def getparams(): return(basespeed,efactor,dfactor,count) print(Thisfile) char = " " led.on() time.sleep(1) led.off() Number = 0 # 0: waiting for 1st digit # 1: waiting for destination state = 0 swval = readswitches() while (swval>=140): if (uart.any()): char = uart.read(1) #print(char) try: char = char.decode('utf-8') except: char = '?' try: ich = int(char) except: ich = 99 #print(char,ich) if (ich >=0 and ich <10): led.on() time.sleep(0.1) led.off() if (state == 0): # waiting 1st digit Number = ich state = 1 elif (state == 1): Number = Number * 10 + ich print("Num:",Number) elif (char == 'e'): #efactor if (state == 1): # digits entered efactor = Number Number = 0 state = 0 print ("efactor:",efactor) elif (char == 'd'): #efactor if (state == 1): # digits entered dfactor = Number Number = 0 state = 0 print ("dfactor:",dfactor) elif (char == 's'): #efactor if (state == 1): # digits entered basespeed = Number Number = 0 state = 0 print ("speed:",basespeed) elif (char == 'l'): #count if (state == 1): # digits entered count = Number Number = 0 state = 0 print ("count:",count) elif (char == 'P'): #power break elif (char == '\r'): #OK print("OK, writing file") writeparams() elif (char == 'm'): #OK print("Number deleted") led.on() time.sleep(0.1) led.off() Number = 0 state = 0 elif (char == 'q'): #OK print("basespeed=",basespeed,"efactor=",efactor,"dfactor=",dfactor,"count=",count) state =0 Number=0 elif (char == 'G'): # Green print("Trying to Read file") myname = "params.py" try: pfile = open(myname,"r") print(myname +" opened OK") Lines = pfile.readlines() for line in Lines: exec(line) pfile.close() except: print("read fail:") print("basespeed=",basespeed) print("efactor=",efactor) print("dfactor=",dfactor) print("count=",count) state =0 Number=0 else: print("Unknown key '"+char+"'") time.sleep(0.1) #while Button.value()==0: # led.toggle() # time.sleep(0.1)