From 13a1acc7e2d4d7ad9812be8769671b79bdf402dc Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sun, 8 May 2016 19:59:22 +0300 Subject: esp8266/scripts/webrepl: Add start_foreground() method. Starts WebREPL server in foreground and waits for (single) connection. --- esp8266/scripts/webrepl.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'esp8266/scripts/webrepl.py') diff --git a/esp8266/scripts/webrepl.py b/esp8266/scripts/webrepl.py index 2239c2c0d..da3e70c59 100644 --- a/esp8266/scripts/webrepl.py +++ b/esp8266/scripts/webrepl.py @@ -10,7 +10,7 @@ listen_s = None client_s = None def setup_conn(port, accept_handler): - global listen_s, client_s + global listen_s listen_s = socket.socket() listen_s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) @@ -19,11 +19,13 @@ def setup_conn(port, accept_handler): listen_s.bind(addr) listen_s.listen(1) - listen_s.setsockopt(socket.SOL_SOCKET, 20, accept_handler) + if accept_handler: + listen_s.setsockopt(socket.SOL_SOCKET, 20, accept_handler) for i in (network.AP_IF, network.STA_IF): iface = network.WLAN(i) if iface.active(): print("WebREPL daemon started on ws://%s:%d" % (iface.ifconfig()[0], port)) + return listen_s def accept_conn(listen_sock): @@ -65,3 +67,9 @@ def start(port=8266, password=None): _webrepl.password(password) setup_conn(port, accept_conn) print("Started webrepl in normal mode") + + +def start_foreground(port=8266): + stop() + s = setup_conn(port, None) + accept_conn(s) -- cgit v1.2.3