soc/tools/remoter/server: fix exit on KeyboardInterrupt
[litex.git] / litex / soc / tools / remote / server.py
index 5f6bb99f6fb223108562541fff0b2dd2392e2909..8b6e304ce87a3d768b2b17ff073256a46660731e 100644 (file)
@@ -7,10 +7,9 @@ from litex.soc.tools.remote.etherbone import EtherboneIPC
 
 
 class RemoteServer(EtherboneIPC):
-    def __init__(self, comm, port=1234, csr_data_width=32):
+    def __init__(self, comm, port=1234):
         self.comm = comm
         self.port = port
-        self.csr_data_width = 32
 
     def open(self):
         if hasattr(self, "socket"):
@@ -18,7 +17,7 @@ class RemoteServer(EtherboneIPC):
         self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.socket.bind(("localhost", self.port))
         self.socket.listen(1)
-        self.comm.open(self.csr_data_width)
+        self.comm.open()
 
     def close(self):
         self.comm.close()
@@ -68,36 +67,33 @@ class RemoteServer(EtherboneIPC):
         self.serve_thread.setDaemon(True)
         self.serve_thread.start()
 
-    def join(self, writer_only=False):
-        if not hasattr(self, "serve_thread"):
-            return
-        self.serve_thread.join()
 
 def _get_args():
     parser = argparse.ArgumentParser()
     parser.add_argument("--comm", default="uart", help="comm interface")
     parser.add_argument("--port", default="2", help="UART port")
     parser.add_argument("--baudrate", default=115200, help="UART baudrate")
-    parser.add_argument("--csr_data_width", default=32, help="CSR data_width")
     return parser.parse_args()
 
 def main():
+    print("LiteX remote server")
     args = _get_args()
     if args.comm == "uart":
         from litex.soc.tools.remote import CommUART
-        port = args.port if not args.port.isdigit() else int(args.port)
+        print("Using CommUART, port: {} / baudrate: {}".format(args.port, args.baudrate))
         comm = CommUART(args.port if not args.port.isdigit() else int(args.port),
                         args.baudrate,
                         debug=False)
     else:
         raise NotImplementedError
 
-    server = RemoteServer(comm, csr_data_width=args.csr_data_width)
+    server = RemoteServer(comm)
     server.open()
     server.start()
     try:
-        server.join(True)
-    except KeyboardInterrupt: # FIXME
+        import time
+        while True: time.sleep(100)
+    except KeyboardInterrupt:
         pass
 
 if __name__ == "__main__":