快速构建串口调试工具
传统的窗口调试工具说 bye bye
#AUTHOR HongDayu
import serial
import readlineclass TddMode:def __init__(self,ser:serial.Serial):self.ser = serdef TddModWriteCommand(self,cmd:str):self.ser.write(f"{cmd}\r\n".encode("utf-8"))return self.ser.readall().decode("utf-8")def NWINFO(self):return self.TddModWriteCommand("AT+NWINFO")CommandLine = TddMode(serial.Serial("COM3", 9600,timeout=1))
wcmd = CommandLine.TddModWriteCommanddef DebugCommandline(argv:list[str]):print(argv)def write_cmd(argv:list[str]):cmd = " ".join(map(lambda x:x,argv))print(wcmd(cmd))COMMANDS = {'debug':DebugCommandline, 'exit':lambda x:exit(0),"write":write_cmd}def completer(text, state):options = [cmd for cmd in COMMANDS if cmd.startswith(text)]if state < len(options):return options[state]else:return Nonereadline.parse_and_bind("tab: complete")
readline.set_completer(completer)while True:user_input = input("TddMod > ")user_argv = user_input.split(" ")if user_argv[0] in COMMANDS.keys():COMMANDS[user_argv[0]](user_argv)elif len(user_input) == 0:continueelse:print("Not Find Command")
windows 下还能补全命令
古老的调试工具可以say bye bye 了