Skip to content

Commit d8f9e92

Browse files
authored
Merge pull request #17 from jiribrejcha/dev
Added Server mode to FPMS
2 parents ec2f389 + b962efe commit d8f9e92

File tree

4 files changed

+45
-4
lines changed

4 files changed

+45
-4
lines changed

BakeBit/Software/Python/bakebit_nanohat_oled.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
# check our current operating mode
115115
#####################################
116116

117-
valid_modes = ['classic', 'wconsole', 'hotspot', 'wiperf']
117+
valid_modes = ['classic', 'wconsole', 'hotspot', 'wiperf', 'server']
118118

119119
# check mode file exists and read mode...create with classic mode if not
120120
if os.path.isfile(MODE_FILE):
@@ -142,6 +142,15 @@
142142
key_map = f.readline()
143143
g_vars['key_map'] = key_map
144144

145+
#######################################################################
146+
# Server mode non-persistence
147+
# If the Pi is in Server schedule mode switch to Classic for next boot
148+
#######################################################################
149+
150+
if g_vars['current_mode'] == "server":
151+
schedule_server_to_classic = "/etc/wlanpiserver/scripts/schedule-switch-to-classic"
152+
subprocess.Popen([schedule_server_to_classic])
153+
145154
##################################
146155
# Static info we want to get once
147156
##################################
@@ -243,7 +252,11 @@ def hotspot_switcher():
243252
def wiperf_switcher():
244253
mode_obj = Mode(g_vars)
245254
mode_obj.wiperf_switcher(g_vars)
246-
255+
256+
def server_switcher():
257+
mode_obj = Mode(g_vars)
258+
mode_obj.server_switcher(g_vars)
259+
247260
###########################
248261
# Apps area
249262
###########################
@@ -439,6 +452,11 @@ def buttons_symbol():
439452
{"name": "Confirm", "action": wiperf_switcher},
440453
]
441454
},
455+
{"name": "Server", "action": [
456+
{"name": "Cancel", "action": go_up},
457+
{"name": "Confirm", "action": server_switcher},
458+
]
459+
},
442460
]
443461
},
444462
{"name": "Apps", "action": [
@@ -490,6 +508,10 @@ def buttons_symbol():
490508
switcher_dispatcher = wiperf_switcher
491509
g_vars['home_page_name'] = "Wiperf"
492510

511+
if g_vars['current_mode'] == "server":
512+
switcher_dispatcher = server_switcher
513+
g_vars['home_page_name'] = "Server"
514+
493515
if g_vars['current_mode'] != "classic":
494516
menu[2] = {"name": "Mode", "action": [
495517
{"name": "Classic Mode", "action": [

BakeBit/Software/Python/modules/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
WCONSOLE_SWITCHER_FILE ='/usr/bin/wconsole_switcher'
5151
HOTSPOT_SWITCHER_FILE = '/usr/bin/hotspot_switcher'
5252
WIPERF_SWITCHER_FILE = '/usr/bin/wiperf_switcher'
53+
SERVER_SWITCHER_FILE = '/usr/bin/server_switcher'
5354

5455
#### Paths below here are relative to script dir or /tmp fixed paths ###
5556

BakeBit/Software/Python/modules/modes.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
WCONSOLE_SWITCHER_FILE,
99
HOTSPOT_SWITCHER_FILE,
1010
WIPERF_SWITCHER_FILE,
11+
SERVER_SWITCHER_FILE,
1112
)
1213

1314
class Mode(object):
@@ -109,4 +110,16 @@ def wiperf_switcher(self, g_vars):
109110
resource_switcher_file = wiperf_switcher_file
110111

111112
self.switcher(g_vars, resource_title, resource_switcher_file, mode_name)
112-
return True
113+
return True
114+
115+
116+
def server_switcher(self, g_vars):
117+
118+
server_switcher_file = SERVER_SWITCHER_FILE
119+
120+
resource_title = "Server"
121+
mode_name = "server"
122+
resource_switcher_file = server_switcher_file
123+
124+
self.switcher(g_vars, resource_title, resource_switcher_file, mode_name)
125+
return True

BakeBit/Software/Python/modules/pages/homepage.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ def home_page(self, g_vars, menu):
8989
if_name = "wlan0"
9090
mode_name = "Wiperf" + self.check_wiperf_status()
9191

92+
elif g_vars['current_mode'] == "server":
93+
# get eth0 IP
94+
if_name = "eth0"
95+
mode_name = "DHCP Server Enabled!"
96+
9297
else:
9398
# get eth0 IP
9499
if_name = "eth0"
@@ -146,4 +151,4 @@ def home_page(self, g_vars, menu):
146151
oled.drawImage(g_vars['image'])
147152

148153
g_vars['drawing_in_progress'] = False
149-
return
154+
return

0 commit comments

Comments
 (0)