diff --git a/py/serialserver.py b/py/serialserver.py
index 92b74e041d90548763aafa74bbf759ecb08ff711..0041dbe523d5338b69beeec9e58fa500c7945d9d 100755
--- a/py/serialserver.py
+++ b/py/serialserver.py
@@ -64,55 +64,42 @@ async def receive(websocket,path):
             print(err)
             await websocket.send(str(err))
       elif (vars['type'] == 'command'):
-         print('command')
+         print('send command')
+         data = vars['contents']
+         n = 0
+         for c in data:
+            print(c)
+            if (flow == "dsrdtr"):
+               while (s.getDSR() != True):
+                  time.sleep(0.001)
+            elif (flow == "rtscts"):
+               while (s.getCTS() != True):
+                  time.sleep(0.001)
+            s.write(c)
+            s.flush()
+            n += 1
+            percent = (100.0*n)/len(data)
+            await websocket.send(str(percent))
       elif (vars['type'] == 'file'):
-         print('file')
+         print('send file')
+         data = vars['contents']
+         n = 0
+         for c in data:
+            print(c)
+            if (flow == "dsrdtr"):
+               while (s.getDSR() != True):
+                  time.sleep(0.001)
+            elif (flow == "rtscts"):
+               while (s.getCTS() != True):
+                  time.sleep(0.001)
+            s.write(c)
+            s.flush()
+            n += 1
+            percent = (100.0*n)/len(data)
+            await websocket.send(str(percent))
 #
 # start server
 #
 start_server = websockets.serve(receive,'localhost',port)
 asyncio.get_event_loop().run_until_complete(start_server)
 asyncio.get_event_loop().run_forever()
-
-"""
-#
-# send routine
-#
-#def send(parent,canvas,data,s):
-def send(canvas,data,s):
-   global state,tstart
-   n = 0
-   N = len(data)
-   for c in data:
-      #
-      # check for pause
-      #
-      if (state == PAUSE):
-         while (state == PAUSE):
-            time.sleep(0.001)
-      #
-      # check for flow control handshaking
-      #
-      if (flow == "dsrdtr"):
-         while (s.getDSR() != True):
-            time.sleep(0.001)
-      elif (flow == "rtscts"):
-         while (s.getCTS() != True):
-            time.sleep(0.001)
-      #
-      # send next char
-      #
-      s.write(c)
-      s.flush()
-      #
-      # update
-      #
-      n += 1
-      percent = (100.0*n)/len(data)
-      dt = (time.time() - tstart)/60.
-      totalt = (dt/n)*len(data)
-      canvas.itemconfigure("text",text="sending %.1f%% (%.0f/%.0f min)"%(percent,dt,totalt))
-      canvas.update()
-   s.close()
-   os._exit(0)
-"""