Skip to content

Commit e00111f

Browse files
committed
Webserver stop_server()
1 parent f135227 commit e00111f

4 files changed

Lines changed: 17 additions & 4 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.vscode/
22
.git/
3+
docs/_build/
34

45
secrets.json

XRPLib/imu.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
# v1.0 2019.7
66
try:
77
from .imu_defs import *
8-
from uctypes import struct, addressof
9-
except (TypeError, ImportError):
8+
except TypeError:
109
# Import wrapped in a try/except so that autodoc generation can process properly
1110
pass
11+
from uctypes import struct, addressof
1212
from machine import I2C, Pin, Timer, disable_irq, enable_irq
1313
import time, math
1414

XRPLib/resetbot.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from XRPLib.imu import IMU
33
from XRPLib.board import Board
44
from XRPLib.servo import Servo
5+
from XRPLib.webserver import Webserver
56
"""
67
A simple file for shutting off all of the motors after a program gets interrupted from the REPL.
78
Run this file after interrupting a program to stop the robot by running "import XRPLib.resetbot" in the REPL.
@@ -21,4 +22,7 @@
2122

2223
# Turn off both Servos
2324
Servo.get_default_servo().free()
24-
Servo(17).free()
25+
Servo(17).free()
26+
27+
# Shut off the webserver and close network connections
28+
Webserver.get_default_webserver().stop_server()

XRPLib/webserver.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from phew import server, template, logging, access_point, dns
22
from phew.template import render_template
3-
from phew.server import redirect
3+
from phew.server import redirect, stop
44
import gc
55
import network
66
import time
@@ -101,12 +101,20 @@ def start_server(self):
101101
102102
Preconditions: Either start_network or connect_to_network must be called before this method.
103103
"""
104+
self.wlan.active(True)
104105
logging.info(f"Starting DNS Server at {self.ip}")
105106
dns.run_catchall(self.ip)
106107
self.DOMAIN = self.ip
107108
logging.disable_logging_types(logging.LOG_INFO)
108109
server.run()
109110

111+
def stop_server(self):
112+
"""
113+
Shuts off the webserver and network and stops handling requests
114+
"""
115+
stop()
116+
self.wlan.active(False)
117+
110118
def _index_page(self, request):
111119
# Render index page and respond to form requests
112120
if request.method == 'GET':

0 commit comments

Comments
 (0)