1.1.0版本

This commit is contained in:
xinzhu.yin
2026-04-16 16:51:05 +08:00
commit c157e774e5
333 changed files with 70759 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
import time
from UniTAP.libs.lib_tsi.tsi_io import DeviceIO
from UniTAP.libs.lib_tsi.tsi import TSI_TERMINAL_RW
from ctypes import c_char
class Terminal:
def __init__(self, device_io: DeviceIO):
self.__io = device_io
def write_vr(self, register: int, value: int):
self.__execute(f"vw {hex(register)} {value}")
def read_vr(self, register: int) -> str:
self.__execute(f"vr {hex(register)}")
return self.__get_logs()
def write_fifo_vr(self, register: int, value: int):
self.__execute(f"vfw {hex(register)} {value}")
def read_fifo_vr(self, register: int) -> str:
self.__execute(f"vfr {hex(register)}")
return self.__get_logs()
def run_command(self, command: str) -> str:
self.__execute(command)
return self.__get_logs()
def __execute(self, command):
command += '\r'
str_len = (len(command) / 4 + (1 if len(command) % 4 else 0)) * 4
self.__io.set(config_id=TSI_TERMINAL_RW,
data=command,
data_type=c_char,
data_count=len(command),
data_size=int(str_len))
def __get_logs(self, timeout: int = 5) -> str:
try:
start = time.time()
result = []
while time.time() - start < timeout:
result = self.__io.get(TSI_TERMINAL_RW, c_char, 1024)[1]
if result[0] != b'\x00':
break
output = ""
for i in result:
if i != b'\x00':
output += i.decode()
if output == "":
print("No output message")
return output
except BaseException:
print("No output message")
return ""