From 22ce0ab4009b952904f78b72d56b6c2b7e635c88 Mon Sep 17 00:00:00 2001 From: Raptor Engineering Development Team Date: Fri, 26 Apr 2019 02:08:24 +0000 Subject: Update IPL progress bar along with LEDs --- pyiplledmonitor/ipl_status_led_monitor.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'pyiplledmonitor') diff --git a/pyiplledmonitor/ipl_status_led_monitor.py b/pyiplledmonitor/ipl_status_led_monitor.py index de69e4c..34baff5 100644 --- a/pyiplledmonitor/ipl_status_led_monitor.py +++ b/pyiplledmonitor/ipl_status_led_monitor.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2018 Raptor Engineering, LLC +# Copyright 2018-2019 Raptor Engineering, LLC # Released under the terms of the GPL v3 import gobject @@ -205,6 +205,30 @@ class IPLStatusLEDMonitor(DbusProperties, DbusObjectManager): self.IPLLEDWriteI2CByte(0x10, 0x80 + led_code) except: self.IPLLEDWriteI2CByte(0x10, 0x80) + + # Update progress bar if splash screen is running + try: + progress_max_fifo = open("/var/run/fbterm_progress_max", "r+b") + progress_value_fifo = open("/var/run/fbterm_progress_value", "r+b") + try: + fbterm_pid = int(check_output(["pidof", "-s", "fbterm"])) + os.kill(os.getpid(), signal.SIGALRM) + except: + pass + + progress_major_code = int(self.current_ipl_istep_major) + if (progress_major_code >= 128) and (progress_major_code < 254): + progress_major_code = 24 + elif progress_major_code >= 254: + progress_major_code = 25 + progress_value = ((progress_major_code << 6) | int(self.current_ipl_istep_minor)) / 8; + progress_data = bytearray(1) + progress_data[0] = 200 + progress_max_fifo.write(progress_data) + progress_data[0] = progress_value + progress_value_fifo.write(progress_data) + except: + pass else: # Put LED bank back into normal operation self.IPLLEDWriteI2CByte(0x10, 0x00) -- cgit v1.2.1