コード例 #1
0
 def get_nick(self):
     value = ini_getlist(CRT_NETPLAY_FILE, self.ini_nick)
     if not value:
         self._add_miss_ini(self.ini_nick)
         value = ini_getlist(CRT_NETPLAY_FILE, self.ini_nick)
     value = " ".join(value).replace("'", '')
     return value
コード例 #2
0
    def reset_config(self):
        p_bCheck = False
        self.m_sTemp = generate_random_temp_filename(RASP_BOOTCFG_FILE)
        touch_file(self.m_sTemp)
        p_lBaseCfg = {
            'pi4': [['dtoverlay', 'vc4-fkms-v3d'], ['max_framebuffers', '2']],
            'all': [['gpu_mem_256', '128'], ['gpu_mem_512', '256'],
                    ['gpu_mem_1024', '256']]
        }

        timings = " ".join(ini_getlist(RASP_BOOTCFG_FILE, 'hdmi_timings'))
        if not timings:
            res = ini_get(CRT_UTILITY_FILE, 'default') + '_timings'
            timings = " ".join(ini_getlist(CRT_UTILITY_FILE, res))
        line = 'hdmi_timings=' + timings
        add_line(self.m_sTemp, line)

        section_order = ['pi4', 'all']  # pi4 section must be before of all
        for section in section_order:
            list = p_lBaseCfg[section]
            for key, value in list:
                ini_sect_add_key(self.m_sTemp, section, key, value)

        self.set_cable(self.m_sTemp, 0)  # create cable config ID0 (default)
        ini_sect_create_section(self.m_sTemp, "CUSTOM-USER")

        os.system('sudo cp %s %s' % (self.m_sTemp, RASP_BOOTCFG_FILE))
        if md5_file(self.m_sTemp) == md5_file(RASP_BOOTCFG_FILE):
            p_bCheck = True
        self.__clean()
        return p_bCheck
コード例 #3
0
def get_available_modes():
    global lModeAll
    global lModeSel
    global iModeCur

    lModeAll.append([opt[1][2], opt[1][1]])
    lModeSel = ([opt[1][2], opt[1][1]])

    if not os.path.exists(CRT_FIXMODES_FILE):
        os.system('echo %s > %s' % \
                 (DEFAULT_MODES, CRT_FIXMODES_FILE))

    with open(CRT_FIXMODES_FILE, 'r') as f:
        for line in f:
            line = line.strip().replace('=',' ').split(' ')
            if line[0] == "mode":
                lModeAll.append([line[1], ""])
            elif line[0] == "mode_default":
                lModeSel[0] = line[1]

    for item in lModeAll:
        if item[0] != "DEFAULT":
            lModeDesc = ini_getlist(CRT_FIXMODES_FILE,
                                    "%s_desc" % item[0])
            item[1] = " ".join(lModeDesc)
            if item[0] == lModeSel[0]: 
                lModeSel[1] = " ".join(lModeDesc)

    iModeCur = lModeAll.index([lModeSel[0], lModeSel[1]])

    opt[1][2] = lModeSel[0]
    opt[1][3] = lModeSel[0]
    opt[1][1] = lModeSel[1]
コード例 #4
0
 def get_values(self):
     lValues = ini_getlist(self.p_sTimingPath, self.m_sSystem)
     if lValues:
         logging.info("%s timing found at: %s" %
                      (self.m_sSystem, self.p_sTimingPath))
         return lValues
     else:
         lValues = ini_getlist(self.p_sTimingPath, "default")
         if lValues:
             logging.info("%s default timing found at: %s" %
                          (self.m_sSystem, self.p_sTimingPath))
             return lValues
     logging.error("%s timing not found using default for: %s" %
                   (self.m_sSystem, self.p_sTimingPath))
     subprocess.Popen(
         DEFAULT_SCREEN_BIN)  # show to user default resolution used
     return DEFAULT_RES
コード例 #5
0
 def _get_boot_timing(self):
     """ Take current system base timings from utility.cfg"""
     self.m_sEnv = ini_get(CRT_UTILITY_FILE, "default")
     self.m_lBootTimings = ini_getlist(CRT_UTILITY_FILE,
                                       "%s_timings" % self.m_sEnv)
     self.m_lBootTimings = list(map(int, self.m_lBootTimings))
     if not self._apply_fix_tv():
         logging.info("INFO: not fix tv to apply")
     logging.info("INFO: default system resolution: %s" % self.m_sEnv)
コード例 #6
0
 def get_active_folder(self):
     self.get_folders()
     value = (" ".join(ini_getlist(CRT_UTILITY_FILE,
                                   "music_folder"))).strip()
     if not value or value not in self.m_lFolders:
         value = "root"
         remove_line(CRT_UTILITY_FILE, "music_folder")
         add_line(CRT_UTILITY_FILE, 'music_folder=%s' % value)
     self.m_sFolder = value
     return self.m_sFolder
コード例 #7
0
 def apply(self):
     lValues = ' '.join(ini_getlist(RASP_BOOTCFG_FILE, 'hdmi_timings'))
     cmd = 'vcgencmd hdmi_timings '
     cmd += lValues
     cmd += " > /dev/null 2>&1"
     os.system(cmd)
     os.system('fbset -depth 8 && fbset -depth 32')
     RES_X = self.m_lBootTimings[0]
     REX_Y = self.m_lBootTimings[5]
     cmd = "fbset -xres %s -yres %s" % (RES_X, REX_Y)
     cmd += " -vxres %s -vyres %s" % (RES_X, REX_Y)
     os.system(cmd)
コード例 #8
0
 def _apply_fix_tv(self):
     sSelected = ini_get(CRT_FIXMODES_FILE, "mode_default")
     if not sSelected or sSelected.lower() == "default":
         return False
     DiffTimings = ini_getlist(CRT_FIXMODES_FILE,
                               "%s_%s" % (sSelected, self.m_sEnv))
     DiffTimings = list(map(int, DiffTimings))
     if len(DiffTimings) != 17:  #If not 17 timings, not valid
         return False
     i = 0
     for timing in DiffTimings:  #SUM TV Fix to main timings
         self.m_lBootTimings[i] += DiffTimings[i]
         i += 1
     logging.info("INFO: resolution + MODE: %s" % self.m_lBootTimings)
     return True
コード例 #9
0
 def _fix_daphne_cfg(self):
     for control in self.m_lDaphneBTN:
         lValues = ini_getlist(self.DAPHNE_CFG_FILE, control[0])
         # clean returned empty values:
         iClearPos = []
         for idx, value in enumerate(lValues):
             if value == "": iClearPos.append(idx)
         if iClearPos:
             for pos in sorted(iClearPos, reverse=True):
                 del lValues[pos]
         # edit daphne controls config file
         if lValues[-1] != control[1]:
             lValues[-1] = control[1]
             sNewLine = control[0] + " = "
             sNewLine += " ".join(lValues)
             modify_line(self.DAPHNE_CFG_FILE, control[0], sNewLine)
コード例 #10
0
 def opt2_datas(self):
     p_lLines = {'text': "Version", 'color_val': "type_color_1"}
     value = (" ".join(ini_getlist(CRT_UTILITY_FILE, "version"))).strip()
     value = re.sub(r' +', " ", value).replace('"', '')
     p_lLines.update({'value': value})
     return p_lLines
コード例 #11
0
 def get_fix_tv(self, p_sFindMask):
     sSelected = ini_get(CRT_FIXMODES_FILE, "mode_default")
     if not sSelected or sSelected.lower() == "default":
         return False
     return ini_getlist(CRT_FIXMODES_FILE, p_sFindMask % sSelected)
コード例 #12
0
 def screen_restore(self):
     lValues = ini_getlist('/boot/config.txt', 'hdmi_timings')
     self.timing_reset()
     self.timing_parse_raw(lValues)
     self.resolution_call(**self.m_dData)
     self.force_geometry()