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) -"""