From 861f4a4327e6f46cfa0419a320b90b1aca722608 Mon Sep 17 00:00:00 2001 From: Daniel Markstedt Date: Thu, 28 Oct 2021 10:36:31 -0700 Subject: [PATCH 1/6] Show IP address on OLED screen --- src/oled_monitor/rascsi_oled_monitor.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/oled_monitor/rascsi_oled_monitor.py b/src/oled_monitor/rascsi_oled_monitor.py index e974ba5e..b745fbb0 100755 --- a/src/oled_monitor/rascsi_oled_monitor.py +++ b/src/oled_monitor/rascsi_oled_monitor.py @@ -200,6 +200,18 @@ def rascsi_version(): str(result.version_info.patch_version) return version +def get_ip(): + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + try: + # mock ip address; doesn't have to be reachable + s.connect(('10.255.255.255', 1)) + ip = s.getsockname()[0] + except Exception: + ip = '127.0.0.1' + finally: + s.close() + return ip + def send_pb_command(payload): """ Takes a str containing a serialized protobuf as argument. @@ -290,6 +302,7 @@ def formatted_output(): output.append("No image mounted!") output.append(f"~~RaSCSI v{version}~~") + output.append(f"IP: {ip}") return output def start_splash(): @@ -311,6 +324,7 @@ cwd = getcwd() start_splash() version = rascsi_version() +ip = get_ip() with GracefulInterruptHandler() as h: while True: From 5d304e4eaf1935fa076270ab10b83885e7724935 Mon Sep 17 00:00:00 2001 From: Daniel Markstedt Date: Thu, 28 Oct 2021 10:39:21 -0700 Subject: [PATCH 2/6] Show IP above RaSCSI version --- src/oled_monitor/rascsi_oled_monitor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oled_monitor/rascsi_oled_monitor.py b/src/oled_monitor/rascsi_oled_monitor.py index b745fbb0..728c6b59 100755 --- a/src/oled_monitor/rascsi_oled_monitor.py +++ b/src/oled_monitor/rascsi_oled_monitor.py @@ -301,8 +301,8 @@ def formatted_output(): else: output.append("No image mounted!") - output.append(f"~~RaSCSI v{version}~~") output.append(f"IP: {ip}") + output.append(f"~~RaSCSI v{version}~~") return output def start_splash(): From 52dbfdb44a25055817db77f592aa3a436d3dca0b Mon Sep 17 00:00:00 2001 From: Daniel Markstedt Date: Thu, 28 Oct 2021 11:00:31 -0700 Subject: [PATCH 3/6] Remove version to reduce clutter --- src/oled_monitor/rascsi_oled_monitor.py | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/oled_monitor/rascsi_oled_monitor.py b/src/oled_monitor/rascsi_oled_monitor.py index 728c6b59..bb767a7f 100755 --- a/src/oled_monitor/rascsi_oled_monitor.py +++ b/src/oled_monitor/rascsi_oled_monitor.py @@ -185,21 +185,6 @@ def device_list(): return device_list -def rascsi_version(): - """ - Sends a VERSION_INFO command to the server. - Returns a str containing the version info. - """ - command = proto.PbCommand() - command.operation = proto.PbOperation.VERSION_INFO - data = send_pb_command(command.SerializeToString()) - result = proto.PbResult() - result.ParseFromString(data) - version = str(result.version_info.major_version) + "." +\ - str(result.version_info.minor_version) + "." +\ - str(result.version_info.patch_version) - return version - def get_ip(): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: @@ -301,8 +286,7 @@ def formatted_output(): else: output.append("No image mounted!") - output.append(f"IP: {ip}") - output.append(f"~~RaSCSI v{version}~~") + output.append(f"RaSCSI IP {ip}") return output def start_splash(): @@ -323,7 +307,6 @@ cwd = getcwd() start_splash() -version = rascsi_version() ip = get_ip() with GracefulInterruptHandler() as h: From 278b01c1a4f5f0a2a2beb43fe19aa14ac7813a36 Mon Sep 17 00:00:00 2001 From: Daniel Markstedt Date: Thu, 28 Oct 2021 13:29:06 -0700 Subject: [PATCH 4/6] Show hostname instead of RaSCSI --- src/oled_monitor/rascsi_oled_monitor.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/oled_monitor/rascsi_oled_monitor.py b/src/oled_monitor/rascsi_oled_monitor.py index bb767a7f..44a388c2 100755 --- a/src/oled_monitor/rascsi_oled_monitor.py +++ b/src/oled_monitor/rascsi_oled_monitor.py @@ -185,7 +185,8 @@ def device_list(): return device_list -def get_ip(): +def get_ip_and_host(): + host = socket.gethostname() s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: # mock ip address; doesn't have to be reachable @@ -195,7 +196,7 @@ def get_ip(): ip = '127.0.0.1' finally: s.close() - return ip + return ip, host def send_pb_command(payload): """ @@ -286,7 +287,7 @@ def formatted_output(): else: output.append("No image mounted!") - output.append(f"RaSCSI IP {ip}") + output.append(f"{host}:{ip}") return output def start_splash(): @@ -307,7 +308,7 @@ cwd = getcwd() start_splash() -ip = get_ip() +ip, host = get_ip_and_host() with GracefulInterruptHandler() as h: while True: From f59e0af0917c1f3b37948ad1fefff13234b0c8ac Mon Sep 17 00:00:00 2001 From: Daniel Markstedt Date: Thu, 28 Oct 2021 14:03:40 -0700 Subject: [PATCH 5/6] Tweak formatting --- src/oled_monitor/rascsi_oled_monitor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oled_monitor/rascsi_oled_monitor.py b/src/oled_monitor/rascsi_oled_monitor.py index 44a388c2..0158daa8 100755 --- a/src/oled_monitor/rascsi_oled_monitor.py +++ b/src/oled_monitor/rascsi_oled_monitor.py @@ -287,7 +287,7 @@ def formatted_output(): else: output.append("No image mounted!") - output.append(f"{host}:{ip}") + output.append(f"IP {ip} ~ {host}") return output def start_splash(): From a48d6d10fb71bab961e2ec810e2c5d05e39b755b Mon Sep 17 00:00:00 2001 From: Daniel Markstedt Date: Thu, 28 Oct 2021 14:22:20 -0700 Subject: [PATCH 6/6] Tweak formatting --- src/oled_monitor/rascsi_oled_monitor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oled_monitor/rascsi_oled_monitor.py b/src/oled_monitor/rascsi_oled_monitor.py index 0158daa8..a15bfc9c 100755 --- a/src/oled_monitor/rascsi_oled_monitor.py +++ b/src/oled_monitor/rascsi_oled_monitor.py @@ -287,7 +287,7 @@ def formatted_output(): else: output.append("No image mounted!") - output.append(f"IP {ip} ~ {host}") + output.append(f"IP {ip} - {host}") return output def start_splash():