220 lines
26 KiB
Python
220 lines
26 KiB
Python
|
# decompyle3 version 3.9.0
|
||
|
# Python bytecode version base 3.7.0 (3394)
|
||
|
# Decompiled from: Python 3.7.16 (default, Mar 30 2023, 01:25:49)
|
||
|
# [GCC 12.2.1 20220924]
|
||
|
# Embedded file name: config.py
|
||
|
import os, sys
|
||
|
try:
|
||
|
from version import *
|
||
|
except ImportError:
|
||
|
version = '1.0.4'
|
||
|
|
||
|
chip_name = 'tg7100c'
|
||
|
if getattr(sys, 'frozen', False):
|
||
|
app_path = os.path.dirname(sys.executable)
|
||
|
else:
|
||
|
app_path = os.path.dirname(__file__)
|
||
|
try:
|
||
|
import changeconf as cgc
|
||
|
conf_sign = True
|
||
|
except ImportError:
|
||
|
cgc = None
|
||
|
conf_sign = False
|
||
|
|
||
|
obj_cklink = None
|
||
|
if not conf_sign:
|
||
|
back_color = '#B3DCFB'
|
||
|
list_chip = ['BL602/604','BL702/704/706','BL702L','BL808','BL606P','BL616/618']
|
||
|
type_chip = ('bl602', 'bl602')
|
||
|
dict_chip = {
|
||
|
'BL561/563': ('bl56x', 'bl60x'),
|
||
|
'BL606/608': ('bl60x', 'bl60x'),
|
||
|
'BL562/564': ('bl562', 'bl602'),
|
||
|
'BL602/604': ('bl602', 'bl602'),
|
||
|
'BL702/704/706': ('bl702', 'bl702'),
|
||
|
'BL702L': ('bl702l', 'bl702l'),
|
||
|
'BL808': ('bl808', 'bl808'),
|
||
|
'BL606P': ('bl606p', 'bl808'),
|
||
|
'BL616/618': ('bl616', 'bl616'),
|
||
|
'WB03': ('wb03', 'wb03')}
|
||
|
dict_chip_cmd = {
|
||
|
'bl56x': 'bl60x',
|
||
|
'bl60x': 'bl60x',
|
||
|
'bl562': 'bl602',
|
||
|
'bl602': 'bl602',
|
||
|
'bl702': 'bl702',
|
||
|
'bl702l': 'bl702l',
|
||
|
'bl808': 'bl808',
|
||
|
'bl606p': 'bl808',
|
||
|
'bl616': 'bl616',
|
||
|
'wb03': 'wb03'}
|
||
|
flash_dict = {
|
||
|
'bl56x': 'bl60x',
|
||
|
'bl60x': 'bl60x',
|
||
|
'bl562': 'bl602',
|
||
|
'bl602': 'bl602',
|
||
|
'bl702': 'bl702',
|
||
|
'bl702l': 'bl702l',
|
||
|
'bl808': 'bl808',
|
||
|
'bl606p': 'bl808',
|
||
|
'bl616': 'bl616',
|
||
|
'wb03': 'wb03'}
|
||
|
bl_factory_params_file_prefix = 'bl_factory_params_'
|
||
|
else:
|
||
|
dict_chip = cgc.dict_chip
|
||
|
dict_chip_cmd = cgc.dict_chip_cmd
|
||
|
list_chip = cgc.list_chip
|
||
|
type_chip = cgc.type_chip
|
||
|
back_color = cgc.back_color
|
||
|
bl_factory_params_file_prefix = cgc.show_text_first_value
|
||
|
|
||
|
def read_version_file(file_path):
|
||
|
version_dict = {}
|
||
|
with open(file_path, 'r', encoding='utf-8') as fp:
|
||
|
for line in fp.readlines():
|
||
|
line_list = line.strip().split('=')
|
||
|
version_dict[line_list[0].strip()] = line_list[1].strip()
|
||
|
|
||
|
return version_dict
|
||
|
|
||
|
|
||
|
xtal_type = {}
|
||
|
xtal_type_ = {}
|
||
|
pll_clk = {}
|
||
|
encrypt_type = {}
|
||
|
key_sel = {}
|
||
|
sign_type = {}
|
||
|
cache_way_disable = {}
|
||
|
flash_clk_type = {}
|
||
|
crc_ignore = {}
|
||
|
hash_ignore = {}
|
||
|
img_type = {}
|
||
|
boot_src = {}
|
||
|
cpu_type = {}
|
||
|
xtal_type['bl60x'] = [
|
||
|
'None','32M','38.4M','40M','26M','52M']
|
||
|
xtal_type_['bl60x'] = ['XTAL_' + item for item in xtal_type['bl60x']]
|
||
|
pll_clk['bl60x'] = ['160M', 'Manual']
|
||
|
encrypt_type['bl60x'] = ['None', 'AES128', 'AES256', 'AES192']
|
||
|
key_sel['bl60x'] = ['0', '1', '2', '3']
|
||
|
sign_type['bl60x'] = ['None', 'ECC']
|
||
|
cache_way_disable['bl60x'] = ['None','OneWay','TwoWay','ThreeWay','FourWay']
|
||
|
flash_clk_type['bl60x'] = ['XTAL', 'Manual']
|
||
|
crc_ignore['bl60x'] = ['False', 'True']
|
||
|
hash_ignore['bl60x'] = ['False', 'True']
|
||
|
img_type['bl60x'] = ['CPU0','CPU1','SingleCPU','BLSP_Boot2','RAW']
|
||
|
boot_src['bl60x'] = ['Flash', 'UART/SDIO']
|
||
|
cpu_type['bl60x'] = ['CPU0', 'CPU1']
|
||
|
xtal_type['bl602'] = [
|
||
|
'None','24M','32M','38.4M','40M','26M','RC32M']
|
||
|
xtal_type_['bl602'] = ['XTAL_' + item for item in xtal_type['bl602']]
|
||
|
pll_clk['bl602'] = ['160M', 'Manual']
|
||
|
encrypt_type['bl602'] = ['None', 'AES128', 'AES256', 'AES192']
|
||
|
key_sel['bl602'] = [
|
||
|
'0']
|
||
|
sign_type['bl602'] = ['None', 'ECC']
|
||
|
cache_way_disable['bl602'] = ['None','OneWay','TwoWay','ThreeWay','FourWay']
|
||
|
flash_clk_type['bl602'] = ['XTAL', 'Manual']
|
||
|
crc_ignore['bl602'] = ['False', 'True']
|
||
|
hash_ignore['bl602'] = ['False', 'True']
|
||
|
img_type['bl602'] = ['SingleCPU', 'RAW']
|
||
|
boot_src['bl602'] = ['Flash', 'UART/SDIO']
|
||
|
xtal_type['bl702'] = [
|
||
|
'None', '32M', 'RC32M']
|
||
|
xtal_type_['bl702'] = ['XTAL_' + item for item in xtal_type['bl702']]
|
||
|
pll_clk['bl702'] = ['144M', 'Manual']
|
||
|
encrypt_type['bl702'] = ['None', 'AES128', 'AES256', 'AES192']
|
||
|
key_sel['bl702'] = [
|
||
|
'1']
|
||
|
sign_type['bl702'] = ['None', 'ECC']
|
||
|
cache_way_disable['bl702'] = ['None','OneWay','TwoWay','ThreeWay','FourWay']
|
||
|
flash_clk_type['bl702'] = ['XCLK', 'Manual']
|
||
|
crc_ignore['bl702'] = ['False', 'True']
|
||
|
hash_ignore['bl702'] = ['False', 'True']
|
||
|
img_type['bl702'] = ['SingleCPU', 'RAW']
|
||
|
boot_src['bl702'] = ['Flash', 'UART/USB']
|
||
|
xtal_type['bl702l'] = [
|
||
|
'None', '32M', 'RC32M']
|
||
|
xtal_type_['bl702l'] = ['XTAL_' + item for item in xtal_type['bl702l']]
|
||
|
pll_clk['bl702l'] = ['128M', 'Manual']
|
||
|
encrypt_type['bl702l'] = ['None', 'AES128', 'AES256', 'AES192']
|
||
|
key_sel['bl702l'] = [
|
||
|
'1']
|
||
|
sign_type['bl702l'] = ['None', 'ECC']
|
||
|
cache_way_disable['bl702l'] = ['None','OneWay','TwoWay','ThreeWay','FourWay']
|
||
|
flash_clk_type['bl702l'] = ['XCLK', 'Manual']
|
||
|
crc_ignore['bl702l'] = ['False', 'True']
|
||
|
hash_ignore['bl702l'] = ['False', 'True']
|
||
|
img_type['bl702l'] = ['SingleCPU', 'RAW']
|
||
|
boot_src['bl702l'] = ['Flash', 'UART/USB']
|
||
|
xtal_type['bl808'] = [
|
||
|
'None','24M','32M','38.4M','40M','26M','RC32M','Auto']
|
||
|
xtal_type_['bl808'] = ['XTAL_' + item for item in xtal_type['bl808']]
|
||
|
pll_clk['bl808'] = ['WIFIPLL 320M', 'Manual']
|
||
|
encrypt_type['bl808'] = ['None','AES CTR128','AES CTR256','AES CTR192','AES XTS128','AES XTS256','AES XTS192']
|
||
|
key_sel['bl808'] = ['0', '1', '2', '3']
|
||
|
sign_type['bl808'] = ['None', 'ECC']
|
||
|
cache_way_disable['bl808'] = ['None','OneWay','TwoWay','ThreeWay','FourWay']
|
||
|
flash_clk_type['bl808'] = ['XTAL', 'Manual']
|
||
|
crc_ignore['bl808'] = ['False', 'True']
|
||
|
hash_ignore['bl808'] = ['False', 'True']
|
||
|
img_type['bl808'] = ['SingleCPU', 'RAW']
|
||
|
boot_src['bl808'] = ['Flash', 'UART/USB']
|
||
|
cpu_type['bl808'] = ['Group0', 'Group1']
|
||
|
xtal_type['bl606p'] = [
|
||
|
'None','24M','32M','38.4M','40M','26M','RC32M','Auto']
|
||
|
xtal_type_['bl606p'] = ['XTAL_' + item for item in xtal_type['bl808']]
|
||
|
pll_clk['bl606p'] = ['WIFIPLL 320M', 'Manual']
|
||
|
encrypt_type['bl606p'] = ['None','AES CTR128','AES CTR256','AES CTR192','AES XTS128','AES XTS256','AES XTS192']
|
||
|
key_sel['bl606p'] = ['0', '1', '2', '3']
|
||
|
sign_type['bl606p'] = ['None', 'ECC']
|
||
|
cache_way_disable['bl606p'] = ['None','OneWay','TwoWay','ThreeWay','FourWay']
|
||
|
flash_clk_type['bl606p'] = ['XTAL', 'Manual']
|
||
|
crc_ignore['bl606p'] = ['False', 'True']
|
||
|
hash_ignore['bl606p'] = ['False', 'True']
|
||
|
img_type['bl606p'] = ['SingleCPU', 'RAW']
|
||
|
boot_src['bl606p'] = ['Flash', 'UART/USB']
|
||
|
cpu_type['bl606p'] = ['Group0', 'Group1']
|
||
|
xtal_type['bl616'] = [
|
||
|
'None','24M','32M','38.4M','40M','26M','RC32M','Auto']
|
||
|
xtal_type_['bl616'] = ['XTAL_' + item for item in xtal_type['bl616']]
|
||
|
pll_clk['bl616'] = ['WIFIPLL 320M', 'Manual']
|
||
|
encrypt_type['bl616'] = ['None','AES CTR128','AES CTR256','AES CTR192','AES XTS128','AES XTS256','AES XTS192']
|
||
|
key_sel['bl616'] = ['0', '1', '2', '3']
|
||
|
sign_type['bl616'] = ['None', 'ECC']
|
||
|
cache_way_disable['bl616'] = ['None','OneWay','TwoWay','ThreeWay','FourWay']
|
||
|
flash_clk_type['bl616'] = ['XTAL', 'Manual']
|
||
|
crc_ignore['bl616'] = ['False', 'True']
|
||
|
hash_ignore['bl616'] = ['False', 'True']
|
||
|
img_type['bl616'] = ['SingleCPU', 'RAW']
|
||
|
boot_src['bl616'] = ['Flash', 'UART/USB']
|
||
|
xtal_type['wb03'] = [
|
||
|
'None','24M','32M','38.4M','40M','26M','RC32M','Auto']
|
||
|
xtal_type_['wb03'] = ['XTAL_' + item for item in xtal_type['wb03']]
|
||
|
pll_clk['wb03'] = ['WIFIPLL 320M', 'Manual']
|
||
|
encrypt_type['wb03'] = ['None','AES CTR128','AES CTR256','AES CTR192','AES XTS128','AES XTS256','AES XTS192']
|
||
|
key_sel['wb03'] = ['0', '1', '2', '3']
|
||
|
sign_type['wb03'] = ['None', 'ECC']
|
||
|
cache_way_disable['wb03'] = ['None','OneWay','TwoWay','ThreeWay','FourWay']
|
||
|
flash_clk_type['wb03'] = ['XTAL', 'Manual']
|
||
|
crc_ignore['wb03'] = ['False', 'True']
|
||
|
hash_ignore['wb03'] = ['False', 'True']
|
||
|
img_type['wb03'] = ['SingleCPU', 'RAW']
|
||
|
boot_src['wb03'] = ['Flash', 'UART/USB']
|
||
|
try:
|
||
|
logo1 = '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
|
||
|
logo2 = 'AAABAAEAICAAAAEAGADYAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAA\n AFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABbUlEQVRYR2NgG\n AWjITAaAqMhMBoCJIaATusecaOWff+xYcOmvVdDV61iJtFIBgawYU17o/BpNGg94IrLYqyOaTxgic88n\n Ya9tUYte/+C1Ri07s0EGaLftK8cXZNR814nUixGV2tYv98Ew8yWvStA6nTbdyvB5Qxb9s2ixCKS9Tbvi\n 8YaQkbN+36QbBiONIHVnOa9n0hOIyANVp0bePXr9wto1a9is6/fz4HN8NDQVcwTt91in7//vsCq/S959\n u//z0KWZdg0IVto2LL3OUgNkH4EEjds3teGrGf+kQcHYJimDsBmePeO6996dt38D8N0dwDVLMTMOojCB\n xYF1Wsv/8eHq9ZehuRzagBsaSBtwemnaQvPvMeHQ1ddYaOG/ZDSEophIUAVg4k1hBQHBE099h+GAycfe\n UCsHXjVoTngKzDr9ROD9Vv2SFPdAaSUlFSxHGQIKZbC1FLNcrADmveeJwE7UdXyUcNGQ4CWIQAAiakrc\n tfuVAEAAAAASUVORK5CYII='
|
||
|
except Exception:
|
||
|
logo1 = ''
|
||
|
logo2 = ''
|
||
|
|
||
|
if conf_sign:
|
||
|
about_tool = '\n <html><body>\n <table bgcolor="' + back_color + '" width="100%" cellspacing="2" cellpadding="1" border="0">\n <tr>\n <td align="center"><font face="微软雅黑" color="grey"><h2>{}</h2></font></td>\n </tr>\n <tr>\n <td align="center"><font face="微软雅黑" color="grey" size=2>version: '.format(cgc.title) + version + '</font></td>\n </tr>\n </table>\n <br><br><br>\n <font color = "black" size=3 face="微软雅黑">\n <ul>\n <li>simple flasher\n <li>image tool\n <li>partition tool\n <li>security tool\n <li>efuse key tool\n <li>flash utils\n <li>iap tool\n <li>mfg tool\n </ul>\n </font>\n </body></html>\n '
|
||
|
else:
|
||
|
about_tool = ' <html><body>\n <table bgcolor="' + back_color + '" width="100%" cellspacing="2"\n cellpadding="1" border="0">\n <tr>\n <td align="center"><font face="微软雅黑" color="grey"><h2>Bouffalo Lab Dev Cube</h2></font></td>\n </tr>\n <tr>\n <td align="center"><font face="微软雅黑" color="grey" size=2>version: ' + version + '</font></td>\n </tr>\n <tr>\n <td align="center"><font face="微软雅黑" color="grey" size=2>jxtan@bouffalolab.com</font></td>\n </tr>\n </table>\n <br><br><br>\n <font color = "black" size=3 face="微软雅黑">\n <ul>\n <li>iot tool\n <li>mcu tool\n <li>partition tool\n <li>security tool\n <li>efuse key tool\n <li>flash utils\n <li>rf mfg tool\n </ul>\n </font> \n </body></html>\n '
|
||
|
DEFAULT_STYLE = '\nQProgressBar{\n border: 1px solid grey;\n border-radius: 5px;\n text-align: center\n}\n\nQProgressBar::chunk {\n background-color: grey;\n width: 1px;\n margin: 0.1px;\n}\n'
|
||
|
SUCCESS_STYLE = '\nQProgressBar{\n border: 1px solid grey;\n border-radius: 5px;\n text-align: center\n}\n\nQProgressBar::chunk {\n background-color: green;\n width: 1px;\n margin: 0.1px;\n}\n'
|
||
|
ERROR_STYLE = '\nQProgressBar{\n border: 1px solid grey;\n border-radius: 5px;\n text-align: center\n}\n\nQProgressBar::chunk {\n background-color: red;\n width: 1px;\n margin: 0.1px;\n}\n'
|
||
|
WARN_STYLE = '\nQProgressBar{\n border: 1px solid grey;\n border-radius: 5px;\n text-align: center\n}\n\nQProgressBar::chunk {\n background-color: orange;\n width: 1px;\n margin: 0.1px;\n}\n'
|
||
|
# okay decompiling ./config.pyc
|