diff --git a/4ch-Z_Generator/.idea/vcs.xml b/4ch-Z_Generator/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/4ch-Z_Generator/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/4ch-Z_Generator/FourChZCaseGenerator.ipynb b/4ch-Z_Generator/FourChZCaseGenerator.ipynb index c2007c4..4996967 100644 --- a/4ch-Z_Generator/FourChZCaseGenerator.ipynb +++ b/4ch-Z_Generator/FourChZCaseGenerator.ipynb @@ -6,8 +6,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2026-07-28T09:50:05.947705Z", - "start_time": "2026-07-28T09:50:05.940378Z" + "end_time": "2026-07-28T13:59:14.582505Z", + "start_time": "2026-07-28T13:59:14.575884Z" } }, "source": [ @@ -32,8 +32,8 @@ " 通用执行函数:自动判断模式并按需调用 configure_chip_output, env_config, instruction_config\n", " :param output_dir: 可选,自定义输出文件和 JSON 保存的目录路径\n", " \"\"\"\n", - " # 1. 确定最终输出目录\n", - " base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/4ch-Z_Generator/gen_cases') # 在这边选择case目录所在位置\n", + " # 确定最终输出目录\n", + " base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases') # 在这边选择case目录所在位置\n", " folder_name = params.get('FolderName', 'General') #文件夹名不用在这边改,在case参数里面改\n", " out_dir = base_dir / folder_name\n", " \n", @@ -42,28 +42,24 @@ " # 更新 params 中的路径信息\n", " params['config_file'] = str(config_file_path)\n", " \n", - " # 2. 自动创建目录并初始化保存器\n", - " pm = ParamsManager(out_dir)\n", - " if save_json:\n", - " pm.save(params, case_name)\n", - " \n", - " # 3. 基础芯片输出配置\n", + "\n", + " # 基础芯片输出配置\n", " config_chip_reg(mk, **params)\n", " print(\"执行 config_chip_reg\")\n", " \n", - " # 4. 自动识别并执行包络配置\n", + " # 自动识别并执行包络配置\n", " if 'envelope_configs' in params or 'envelope_type' in params or 'amp' in params:\n", " if 'env_config' in globals():\n", " env_config(mk, **params)\n", " print(\"执行了 env_config\")\n", " \n", - " # 5. 自动识别并执行指令配置\n", + " # 自动识别并执行指令配置\n", " if 'instr_type' in params:\n", " instruction_config(mk, mk_instr, **params)\n", " print(\"执行了 instruction_config\")\n", " \n", " \n", - " # 7. 基础硬件寄存器下发\n", + " # 基础硬件寄存器下发\n", " if write_hw:\n", " channel = params['channel']\n", " envm_base =addr_base['ENVM0_BASE'] + channel* 0x600000\n", @@ -78,13 +74,13 @@ "\n" ], "outputs": [], - "execution_count": 34 + "execution_count": 41 }, { "metadata": { "ExecuteTime": { - "end_time": "2026-07-28T09:52:50.467599Z", - "start_time": "2026-07-28T09:52:50.435623Z" + "end_time": "2026-07-28T14:17:52.745749Z", + "start_time": "2026-07-28T14:17:52.706024Z" } }, "cell_type": "code", @@ -142,6 +138,15 @@ " 'FolderName': 'General',\n", " 'CaseName': 'env2',\n", "}\n", + "# ==========================================\n", + "#在运行前,先删除旧的 HEX 文件,防止重复运行追加到case文件中\n", + "base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n", + "out_dir = base_dir / param_ch0['FolderName']\n", + "hex_file = out_dir / f\"{param_ch0['CaseName']}_HEX.txt\"\n", + "# 如果上一次运行的旧文件还在,就把它删掉\n", + "if hex_file.exists():\n", + " hex_file.unlink()\n", + "# ==========================================\n", "run_case(param_ch0)\n", "\n", "#通道1\n", @@ -162,6 +167,19 @@ "param_ch3['fcw'] = [400, 200, 300, 400]\n", "run_case(param_ch3)\n", "\n", + "# ==========================================\n", + "#参数打包到json里面\n", + "out_dir = Path(param_ch0['config_file']).parent \n", + "case_name = param_ch0['CaseName']\n", + "all_params = {\n", + " \"ch0\": param_ch0,\n", + " \"ch1\": param_ch1,\n", + " \"ch2\": param_ch2,\n", + " \"ch3\": param_ch3\n", + "}\n", + "pm = ParamsManager(out_dir)\n", + "pm.save(all_params, case_name)\n", + "# ==========================================\n", "\n" ], "id": "3e79e12a64f2769e", @@ -173,29 +191,29 @@ "执行 config_chip_reg\n", "执行了 env_config\n", "执行了 instruction_config\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n", "执行 config_chip_reg\n", "执行了 env_config\n", "执行了 instruction_config\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n", "执行 config_chip_reg\n", "执行了 env_config\n", "执行了 instruction_config\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n", "执行 config_chip_reg\n", "执行了 env_config\n", "执行了 instruction_config\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n" + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt\n" ] } ], - "execution_count": 40 + "execution_count": 62 }, { "metadata": { "ExecuteTime": { - "end_time": "2026-07-28T09:50:35.917889Z", - "start_time": "2026-07-28T09:50:35.900732Z" + "end_time": "2026-07-28T14:03:52.514124Z", + "start_time": "2026-07-28T14:03:52.492729Z" } }, "cell_type": "code", @@ -213,6 +231,15 @@ " 'FolderName': 'RAMP',\n", " 'CaseName': f\"RAMP_SPI\"\n", "}\n", + "# ==========================================\n", + "#在运行前,先删除旧的 HEX 文件,防止重复运行追加到case文件中\n", + "base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n", + "out_dir = base_dir / param_ch0['FolderName']\n", + "hex_file = out_dir / f\"{param_ch0['CaseName']}_HEX.txt\"\n", + "# 如果上一次运行的旧文件还在,就把它删掉\n", + "if hex_file.exists():\n", + " hex_file.unlink()\n", + "# ==========================================\n", "run_case(param_ch0,write_hw = True)\n", "\n", "#通道1\n", @@ -228,7 +255,20 @@ "#通道3\n", "param_ch3 = param_ch0.copy()\n", "param_ch3['channel'] = 3\n", - "run_case(param_ch3,write_hw = True)\n" + "run_case(param_ch3,write_hw = True)\n", + "# ==========================================\n", + "#参数打包到json里面\n", + "out_dir = Path(param_ch0['config_file']).parent \n", + "case_name = param_ch0['CaseName']\n", + "all_params = {\n", + " \"ch0\": param_ch0,\n", + " \"ch1\": param_ch1,\n", + " \"ch2\": param_ch2,\n", + " \"ch3\": param_ch3\n", + "}\n", + "pm = ParamsManager(out_dir)\n", + "pm.save(all_params, case_name)\n", + "# ==========================================\n" ], "id": "1f6f70a26d5da7f8", "outputs": [ @@ -237,17 +277,17 @@ "output_type": "stream", "text": [ "执行 config_chip_reg\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n", "执行 config_chip_reg\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n", "执行 config_chip_reg\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n", "执行 config_chip_reg\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n" + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt\n" ] } ], - "execution_count": 36 + "execution_count": 53 }, { "metadata": { @@ -273,7 +313,15 @@ " 'FolderName': 'RAMP',\n", " 'CaseName': f\"RAMP_MCU_STEP\"\n", "}\n", - "\n", + "# ==========================================\n", + "#在运行前,先删除旧的 HEX 文件,防止重复运行追加到case文件中\n", + "base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n", + "out_dir = base_dir / param_ch0['FolderName']\n", + "hex_file = out_dir / f\"{param_ch0['CaseName']}_HEX.txt\"\n", + "# 如果上一次运行的旧文件还在,就把它删掉\n", + "if hex_file.exists():\n", + " hex_file.unlink()\n", + "# ==========================================\n", "run_case(param_ch0,write_hw = True)\n", "\n", "#通道1\n", @@ -289,7 +337,21 @@ "#通道3\n", "param_ch3 = param_ch0.copy()\n", "param_ch3['channel'] = 3\n", - "run_case(param_ch3,write_hw = True)" + "run_case(param_ch3,write_hw = True)\n", + "\n", + "# ==========================================\n", + "#参数打包到json里面\n", + "out_dir = Path(param_ch0['config_file']).parent \n", + "case_name = param_ch0['CaseName']\n", + "all_params = {\n", + " \"ch0\": param_ch0,\n", + " \"ch1\": param_ch1,\n", + " \"ch2\": param_ch2,\n", + " \"ch3\": param_ch3\n", + "}\n", + "pm = ParamsManager(out_dir)\n", + "pm.save(all_params, case_name)\n", + "# ==========================================" ], "id": "84e2c612b0a8f7ab", "outputs": [ @@ -317,8 +379,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2026-07-28T09:51:30.781841Z", - "start_time": "2026-07-28T09:51:30.762192Z" + "end_time": "2026-07-28T14:13:45.795371Z", + "start_time": "2026-07-28T14:13:45.764237Z" } }, "cell_type": "code", @@ -338,6 +400,15 @@ " 'FolderName': 'RAMP',\n", " 'CaseName': f\"RAMP_MCU_FIXED\"\n", "}\n", + "# ==========================================\n", + "#在运行前,先删除旧的 HEX 文件,防止重复运行追加到case文件中\n", + "base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n", + "out_dir = base_dir / param_ch0['FolderName']\n", + "hex_file = out_dir / f\"{param_ch0['CaseName']}_HEX.txt\"\n", + "# 如果上一次运行的旧文件还在,就把它删掉\n", + "if hex_file.exists():\n", + " hex_file.unlink()\n", + "# ==========================================\n", "\n", "run_case(param_ch0,write_hw = True)\n", "\n", @@ -354,7 +425,20 @@ "#通道3\n", "param_ch3 = param_ch0.copy()\n", "param_ch3['channel'] = 3\n", - "run_case(param_ch3,write_hw = True)" + "run_case(param_ch3,write_hw = True)\n", + "# ==========================================\n", + "#参数打包到json里面\n", + "out_dir = Path(param_ch0['config_file']).parent \n", + "case_name = param_ch0['CaseName']\n", + "all_params = {\n", + " \"ch0\": param_ch0,\n", + " \"ch1\": param_ch1,\n", + " \"ch2\": param_ch2,\n", + " \"ch3\": param_ch3\n", + "}\n", + "pm = ParamsManager(out_dir)\n", + "pm.save(all_params, case_name)\n", + "# ==========================================" ], "id": "e2743613b0b64ea7", "outputs": [ @@ -364,20 +448,91 @@ "text": [ "执行 config_chip_reg\n", "执行了 instruction_config\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", "执行 config_chip_reg\n", "执行了 instruction_config\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", "执行 config_chip_reg\n", "执行了 instruction_config\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", "执行 config_chip_reg\n", "执行了 instruction_config\n", - "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n" + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n" ] } ], - "execution_count": 38 + "execution_count": 58 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2026-07-28T14:23:00.027209Z", + "start_time": "2026-07-28T14:23:00.001173Z" + } + }, + "cell_type": "code", + "source": [ + "#通过json还原case脚本\n", + "# ==========================================\n", + "# 1. 定义你要还原的 Case 信息\n", + "# ==========================================\n", + "base_dir = Path('D:/MyDocument/工作/Z芯片的case生成器/Chip_Case_Generator/4ch-Z_Generator/gen_cases')\n", + "folder_name = 'RAMP' # 填入你要还原的文件夹名\n", + "case_name = 'RAMP_MCU_FIXED' # 填入你要还原的 Case 名字\n", + "out_dir = base_dir / folder_name\n", + "\n", + "# ==========================================\n", + "# 2. 实例化 ParamsManager 并加载 JSON\n", + "# ==========================================\n", + "pm = ParamsManager(out_dir)\n", + "# load 方法会返回你之前保存的包含 ch0, ch1, ch2, ch3 的大字典\n", + "loaded_params = pm.load(case_name) \n", + "\n", + "# ==========================================\n", + "# 3. 还原前先清理旧的 HEX 文件(防止重复追加)\n", + "# ==========================================\n", + "hex_file = out_dir / f\"{case_name}_HEX.txt\"\n", + "if hex_file.exists():\n", + " hex_file.unlink()\n", + "\n", + "# ==========================================\n", + "# 4. 遍历 JSON 数据,依次执行 run_case 还原\n", + "# ==========================================\n", + "# 为了保证顺序,我们按 ch0 到 ch3 的顺序遍历\n", + "for ch_key in ['ch0', 'ch1', 'ch2', 'ch3']:\n", + " if ch_key in loaded_params:\n", + " ch_param = loaded_params[ch_key]\n", + " \n", + " \n", + " # 将读取到的参数直接塞进 run_case。\n", + " # 此时不需要再保存 json (save_json=False),但需要写入硬件文本 (write_hw=True)\n", + " run_case(ch_param, save_json=False, write_hw=True)\n", + "\n", + "print(\"Case 还原完成!\")" + ], + "id": "4d17f59a15077bb1", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "执行 config_chip_reg\n", + "执行了 instruction_config\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", + "执行 config_chip_reg\n", + "执行了 instruction_config\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", + "执行 config_chip_reg\n", + "执行了 instruction_config\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", + "执行 config_chip_reg\n", + "执行了 instruction_config\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n", + "🎉 Case 还原完成!\n" + ] + } + ], + "execution_count": 63 } ], "metadata": { diff --git a/4ch-Z_Generator/ParamsManager.py b/4ch-Z_Generator/ParamsManager.py index d70040c..927eda6 100644 --- a/4ch-Z_Generator/ParamsManager.py +++ b/4ch-Z_Generator/ParamsManager.py @@ -1,4 +1,5 @@ import json +import re import os from pathlib import Path @@ -15,11 +16,17 @@ class ParamsManager: def save(self, params, filename): if not filename.endswith('.json'): filename = filename + '.json' - + filepath = os.path.join(self.params_dir, filename) - + with open(filepath, 'w', encoding='utf-8') as f: - json.dump(params, f, indent=2, ensure_ascii=False) + json.dump(params, f, indent=None, separators=(',', ':'), ensure_ascii=False) + + + + + + def load(self, filename): if not filename.endswith('.json'): @@ -30,19 +37,9 @@ class ParamsManager: with open(filepath, 'r', encoding='utf-8') as f: params = json.load(f) return params - - def save_multiple(self, params_dict): - filepaths = [] - for filename, params in params_dict.items(): - filepath = self.save(params, filename) - filepaths.append(filepath) - return filepaths - - def load_multiple(self, filenames): - result = {} - for filename in filenames: - result[filename] = self.load(filename) - return result + + + # from ParamsManager import ParamsManager diff --git a/4ch-Z_Generator/__pycache__/ParamsManager.cpython-311.pyc b/4ch-Z_Generator/__pycache__/ParamsManager.cpython-311.pyc index b601875..974f3e3 100644 Binary files a/4ch-Z_Generator/__pycache__/ParamsManager.cpython-311.pyc and b/4ch-Z_Generator/__pycache__/ParamsManager.cpython-311.pyc differ diff --git a/4ch-Z_Generator/gen_cases/General/env2.json b/4ch-Z_Generator/gen_cases/General/env2.json index fd1fd7f..a53ef8b 100644 --- a/4ch-Z_Generator/gen_cases/General/env2.json +++ b/4ch-Z_Generator/gen_cases/General/env2.json @@ -1,150 +1,602 @@ { - "channel": 3, - "chip_mode": "AWG", - "mode": "nco", - "tail_en": false, - "tc_coef_set": "coef3", - "inner_sync": false, - "amp_mod_enable": true, - "freq_mod_enable": true, - "bias_enable": true, - "fcw": [ - 400, - 200, - 300, - 400 - ], - "mcu_reg_clr": true, - "pcw": [ - 0, - 30, - 45, - 90, - 120, - 135, - 150, - 180 - ], - "rz_ff_pha": 0, - "rz_fm_pha": 45, - "ff_amp": [ - 32767, - 32767, - 32767, - 32767 - ], - "fm_amp": [ - 32767, - 32767, - 32767, - 32767 - ], - "bias": [ - 1, - 2, - 3, - 4 - ], - "fm_en": false, - "instr_type": "general_send_wait", - "send_interval": [ - 100, - 150, - 200, - 250, - 300, - 350, - 400, - 450, - 500 - ], - "cycle_num": 1, - "codeword_configs": [ - { - "wave_hold": 0, - "fcw_index": 0, - "pcw_index": 0, - "code_clr": 1, - "env_index": 4 - }, - { - "wave_hold": 0, - "fcw_index": 0, - "pcw_index": 0, - "code_clr": 1, - "env_index": 5 - }, - { - "wave_hold": 0, - "fcw_index": 0, - "pcw_index": 0, - "code_clr": 1, - "env_index": 6 - }, - { - "wave_hold": 0, - "fcw_index": 0, - "pcw_index": 0, - "code_clr": 1, - "env_index": 7 - }, - { - "wave_hold": 0, - "fcw_index": 0, - "pcw_index": 0, - "code_clr": 1, - "env_index": 8 - } - ], - "sweep_config": { - "sweep_num": 0, - "offsets": [ - 120, - 64 + "ch0": { + "channel": 0, + "chip_mode": "AWG", + "mode": "mod", + "tail_en": false, + "tc_coef_set": "coef3", + "inner_sync": false, + "amp_mod_enable": true, + "freq_mod_enable": true, + "bias_enable": true, + "fcw": [ + 100, + 200, + 300, + 400 ], - "steps": [ - 3000, - 143165576 - ] + "mcu_reg_clr": true, + "pcw": [ + 0, + 30, + 45, + 90, + 120, + 135, + 150, + 180 + ], + "rz_ff_pha": 0, + "rz_fm_pha": 45, + "ff_amp": [ + 32767, + 32767, + 32767, + 32767 + ], + "fm_amp": [ + 32767, + 32767, + 32767, + 32767 + ], + "bias": [ + 1, + 2, + 3, + 4 + ], + "fm_en": false, + "instr_type": "general_send_wait", + "send_interval": [ + 100, + 150, + 200, + 250, + 300, + 350, + 400, + 450, + 500 + ], + "cycle_num": 1, + "codeword_configs": [ + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 4 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 5 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 6 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 7 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 8 + } + ], + "sweep_config": { + "sweep_num": 0, + "offsets": [ + 120, + 64 + ], + "steps": [ + 3000, + 143165576 + ] + }, + "envelope_configs": [ + { + "envelope_type": "rect_hold", + "amp": 32767 + }, + { + "envelope_type": "flattop_hold", + "amp": 32767, + "edge_time": 3.5, + "wave_time": 30 + }, + { + "envelope_type": "acz", + "amp": 32767, + "wave_time": 48 + }, + { + "envelope_type": "accz", + "wave_time": 48 + }, + { + "envelope_type": "cosine", + "amp": 32767, + "wave_time": 300 + }, + { + "envelope_type": "rect", + "amp": 32767, + "wave_time": 12 + }, + { + "envelope_type": "flattop", + "amp": 32767, + "edge_time": 2, + "wave_time": 22 + } + ], + "FolderName": "General", + "CaseName": "env2", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt" }, - "envelope_configs": [ - { - "envelope_type": "rect_hold", - "amp": 32767 + "ch1": { + "channel": 1, + "chip_mode": "AWG", + "mode": "mod", + "tail_en": false, + "tc_coef_set": "coef3", + "inner_sync": false, + "amp_mod_enable": true, + "freq_mod_enable": true, + "bias_enable": true, + "fcw": [ + 200, + 200, + 300, + 400 + ], + "mcu_reg_clr": true, + "pcw": [ + 0, + 30, + 45, + 90, + 120, + 135, + 150, + 180 + ], + "rz_ff_pha": 0, + "rz_fm_pha": 45, + "ff_amp": [ + 32767, + 32767, + 32767, + 32767 + ], + "fm_amp": [ + 32767, + 32767, + 32767, + 32767 + ], + "bias": [ + 1, + 2, + 3, + 4 + ], + "fm_en": false, + "instr_type": "general_send_wait", + "send_interval": [ + 100, + 150, + 200, + 250, + 300, + 350, + 400, + 450, + 500 + ], + "cycle_num": 1, + "codeword_configs": [ + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 4 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 5 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 6 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 7 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 8 + } + ], + "sweep_config": { + "sweep_num": 0, + "offsets": [ + 120, + 64 + ], + "steps": [ + 3000, + 143165576 + ] }, - { - "envelope_type": "flattop_hold", - "amp": 32767, - "edge_time": 3.5, - "wave_time": 30 + "envelope_configs": [ + { + "envelope_type": "rect_hold", + "amp": 32767 + }, + { + "envelope_type": "flattop_hold", + "amp": 32767, + "edge_time": 3.5, + "wave_time": 30 + }, + { + "envelope_type": "acz", + "amp": 32767, + "wave_time": 48 + }, + { + "envelope_type": "accz", + "wave_time": 48 + }, + { + "envelope_type": "cosine", + "amp": 32767, + "wave_time": 300 + }, + { + "envelope_type": "rect", + "amp": 32767, + "wave_time": 12 + }, + { + "envelope_type": "flattop", + "amp": 32767, + "edge_time": 2, + "wave_time": 22 + } + ], + "FolderName": "General", + "CaseName": "env2", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt" + }, + "ch2": { + "channel": 2, + "chip_mode": "AWG", + "mode": "mod", + "tail_en": false, + "tc_coef_set": "coef3", + "inner_sync": false, + "amp_mod_enable": true, + "freq_mod_enable": true, + "bias_enable": true, + "fcw": [ + 300, + 200, + 300, + 400 + ], + "mcu_reg_clr": true, + "pcw": [ + 0, + 30, + 45, + 90, + 120, + 135, + 150, + 180 + ], + "rz_ff_pha": 0, + "rz_fm_pha": 45, + "ff_amp": [ + 32767, + 32767, + 32767, + 32767 + ], + "fm_amp": [ + 32767, + 32767, + 32767, + 32767 + ], + "bias": [ + 1, + 2, + 3, + 4 + ], + "fm_en": false, + "instr_type": "general_send_wait", + "send_interval": [ + 100, + 150, + 200, + 250, + 300, + 350, + 400, + 450, + 500 + ], + "cycle_num": 1, + "codeword_configs": [ + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 4 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 5 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 6 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 7 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 8 + } + ], + "sweep_config": { + "sweep_num": 0, + "offsets": [ + 120, + 64 + ], + "steps": [ + 3000, + 143165576 + ] }, - { - "envelope_type": "acz", - "amp": 32767, - "wave_time": 48 + "envelope_configs": [ + { + "envelope_type": "rect_hold", + "amp": 32767 + }, + { + "envelope_type": "flattop_hold", + "amp": 32767, + "edge_time": 3.5, + "wave_time": 30 + }, + { + "envelope_type": "acz", + "amp": 32767, + "wave_time": 48 + }, + { + "envelope_type": "accz", + "wave_time": 48 + }, + { + "envelope_type": "cosine", + "amp": 32767, + "wave_time": 300 + }, + { + "envelope_type": "rect", + "amp": 32767, + "wave_time": 12 + }, + { + "envelope_type": "flattop", + "amp": 32767, + "edge_time": 2, + "wave_time": 22 + } + ], + "FolderName": "General", + "CaseName": "env2", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt" + }, + "ch3": { + "channel": 3, + "chip_mode": "AWG", + "mode": "mod", + "tail_en": false, + "tc_coef_set": "coef3", + "inner_sync": false, + "amp_mod_enable": true, + "freq_mod_enable": true, + "bias_enable": true, + "fcw": [ + 400, + 200, + 300, + 400 + ], + "mcu_reg_clr": true, + "pcw": [ + 0, + 30, + 45, + 90, + 120, + 135, + 150, + 180 + ], + "rz_ff_pha": 0, + "rz_fm_pha": 45, + "ff_amp": [ + 32767, + 32767, + 32767, + 32767 + ], + "fm_amp": [ + 32767, + 32767, + 32767, + 32767 + ], + "bias": [ + 1, + 2, + 3, + 4 + ], + "fm_en": false, + "instr_type": "general_send_wait", + "send_interval": [ + 100, + 150, + 200, + 250, + 300, + 350, + 400, + 450, + 500 + ], + "cycle_num": 1, + "codeword_configs": [ + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 4 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 5 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 6 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 7 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 8 + } + ], + "sweep_config": { + "sweep_num": 0, + "offsets": [ + 120, + 64 + ], + "steps": [ + 3000, + 143165576 + ] }, - { - "envelope_type": "accz", - "wave_time": 48 - }, - { - "envelope_type": "cosine", - "amp": 32767, - "wave_time": 300 - }, - { - "envelope_type": "rect", - "amp": 32767, - "wave_time": 12 - }, - { - "envelope_type": "flattop", - "amp": 32767, - "edge_time": 2, - "wave_time": 22 - } - ], - "FolderName": "General", - "CaseName": "env2", - "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt" + "envelope_configs": [ + { + "envelope_type": "rect_hold", + "amp": 32767 + }, + { + "envelope_type": "flattop_hold", + "amp": 32767, + "edge_time": 3.5, + "wave_time": 30 + }, + { + "envelope_type": "acz", + "amp": 32767, + "wave_time": 48 + }, + { + "envelope_type": "accz", + "wave_time": 48 + }, + { + "envelope_type": "cosine", + "amp": 32767, + "wave_time": 300 + }, + { + "envelope_type": "rect", + "amp": 32767, + "wave_time": 12 + }, + { + "envelope_type": "flattop", + "amp": 32767, + "edge_time": 2, + "wave_time": 22 + } + ], + "FolderName": "General", + "CaseName": "env2", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\General\\env2_HEX.txt" + } } \ No newline at end of file diff --git a/4ch-Z_Generator/gen_cases/General/env2_HEX.txt b/4ch-Z_Generator/gen_cases/General/env2_HEX.txt index 7d4f9eb..7c631b3 100644 --- a/4ch-Z_Generator/gen_cases/General/env2_HEX.txt +++ b/4ch-Z_Generator/gen_cases/General/env2_HEX.txt @@ -1,6 +1,6 @@ 00300108 00100004 -00000006 +00000005 00300104 00100004 @@ -363,7 +363,7 @@ f6000ce3 00900108 00100004 -00000006 +00000005 00900104 00100004 @@ -726,7 +726,7 @@ f6000ce3 00f00108 00100004 -00000006 +00000005 00f00104 00100004 @@ -1089,7 +1089,7 @@ f6000ce3 01500108 00100004 -00000006 +00000005 01500104 00100004 diff --git a/4ch-Z_Generator/gen_cases/RAMP/RAMP_MCU_FIXED.json b/4ch-Z_Generator/gen_cases/RAMP/RAMP_MCU_FIXED.json index 3805adb..f3a18d7 100644 --- a/4ch-Z_Generator/gen_cases/RAMP/RAMP_MCU_FIXED.json +++ b/4ch-Z_Generator/gen_cases/RAMP/RAMP_MCU_FIXED.json @@ -1,49 +1,198 @@ { - "channel": 3, - "chip_mode": "RAMP", - "ramp_ctrl": "MCU", - "instr_type": "ramp_fixed", - "fixed_value": [ - 32768, - 32769, - 32770, - 32772, - 32776, - 32784, - 32800, - 32832, - 32896, - 33024, - 33280, - 33792, - 34816, - 36864, - 40960, - 49152, - 0 - ], - "wait_clk": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "config_param_num": 17, - "ensemble_num": 0, - "FolderName": "RAMP", - "CaseName": "RAMP_MCU_FIXED", - "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt" + "ch0": { + "channel": 0, + "chip_mode": "RAMP", + "ramp_ctrl": "MCU", + "instr_type": "ramp_fixed", + "fixed_value": [ + 32768, + 32769, + 32770, + 32772, + 32776, + 32784, + 32800, + 32832, + 32896, + 33024, + 33280, + 33792, + 34816, + 36864, + 40960, + 49152, + 0 + ], + "wait_clk": [ + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000 + ], + "config_param_num": 17, + "ensemble_num": 0, + "FolderName": "RAMP", + "CaseName": "RAMP_MCU_FIXED", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt" + }, + "ch1": { + "channel": 1, + "chip_mode": "RAMP", + "ramp_ctrl": "MCU", + "instr_type": "ramp_fixed", + "fixed_value": [ + 32768, + 32769, + 32770, + 32772, + 32776, + 32784, + 32800, + 32832, + 32896, + 33024, + 33280, + 33792, + 34816, + 36864, + 40960, + 49152, + 0 + ], + "wait_clk": [ + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000 + ], + "config_param_num": 17, + "ensemble_num": 0, + "FolderName": "RAMP", + "CaseName": "RAMP_MCU_FIXED", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt" + }, + "ch2": { + "channel": 2, + "chip_mode": "RAMP", + "ramp_ctrl": "MCU", + "instr_type": "ramp_fixed", + "fixed_value": [ + 32768, + 32769, + 32770, + 32772, + 32776, + 32784, + 32800, + 32832, + 32896, + 33024, + 33280, + 33792, + 34816, + 36864, + 40960, + 49152, + 0 + ], + "wait_clk": [ + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000 + ], + "config_param_num": 17, + "ensemble_num": 0, + "FolderName": "RAMP", + "CaseName": "RAMP_MCU_FIXED", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt" + }, + "ch3": { + "channel": 3, + "chip_mode": "RAMP", + "ramp_ctrl": "MCU", + "instr_type": "ramp_fixed", + "fixed_value": [ + 32768, + 32769, + 32770, + 32772, + 32776, + 32784, + 32800, + 32832, + 32896, + 33024, + 33280, + 33792, + 34816, + 36864, + 40960, + 49152, + 0 + ], + "wait_clk": [ + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000 + ], + "config_param_num": 17, + "ensemble_num": 0, + "FolderName": "RAMP", + "CaseName": "RAMP_MCU_FIXED", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt" + } } \ No newline at end of file diff --git a/4ch-Z_Generator/gen_cases/RAMP/RAMP_MCU_FIXED_HEX_标准的.txt b/4ch-Z_Generator/gen_cases/RAMP/RAMP_MCU_FIXED_HEX_标准的.txt new file mode 100644 index 0000000..0d03e19 --- /dev/null +++ b/4ch-Z_Generator/gen_cases/RAMP/RAMP_MCU_FIXED_HEX_标准的.txt @@ -0,0 +1,316 @@ +00300108 +00100004 +00000008 + +00300124 +00100004 +40000000 + +002000dc +00100094 +80000000 +00000000 +00000011 +80008000 +000003e8 +80018000 +000003e8 +80028000 +000003e8 +80048000 +000003e8 +80088000 +000003e8 +80108000 +000003e8 +80208000 +000003e8 +80408000 +000003e8 +80808000 +000003e8 +81008000 +000003e8 +82008000 +000003e8 +84008000 +000003e8 +88008000 +000003e8 +90008000 +000003e8 +a0008000 +000003e8 +c0008000 +000003e8 +00008000 +000003e8 + +00100000 +00100060 +001000b7 +00200137 +0dc0af83 +0df12223 +00800193 +0e00a203 +fff20213 +00008313 +0e40a283 +fff28293 +0e832f83 +0ec32f03 +0bf12c23 +00330333 +00029463 +00c0006f +fe8f000b +fe1ff06f +fdcf000b +fc0216e3 +00f0000b +0a012c23 +0c012223 +0000002b + +00500000 +00100004 +00000000 + +00900108 +00100004 +00000008 + +00900124 +00100004 +40000000 + +008000dc +00100094 +80000000 +00000000 +00000011 +80008000 +000003e8 +80018000 +000003e8 +80028000 +000003e8 +80048000 +000003e8 +80088000 +000003e8 +80108000 +000003e8 +80208000 +000003e8 +80408000 +000003e8 +80808000 +000003e8 +81008000 +000003e8 +82008000 +000003e8 +84008000 +000003e8 +88008000 +000003e8 +90008000 +000003e8 +a0008000 +000003e8 +c0008000 +000003e8 +00008000 +000003e8 + +00700000 +00100060 +001000b7 +00200137 +0dc0af83 +0df12223 +00800193 +0e00a203 +fff20213 +00008313 +0e40a283 +fff28293 +0e832f83 +0ec32f03 +0bf12c23 +00330333 +00029463 +00c0006f +fe8f000b +fe1ff06f +fdcf000b +fc0216e3 +00f0000b +0a012c23 +0c012223 +0000002b + +00b00000 +00100004 +00000000 + +00f00108 +00100004 +00000008 + +00f00124 +00100004 +40000000 + +00e000dc +00100094 +80000000 +00000000 +00000011 +80008000 +000003e8 +80018000 +000003e8 +80028000 +000003e8 +80048000 +000003e8 +80088000 +000003e8 +80108000 +000003e8 +80208000 +000003e8 +80408000 +000003e8 +80808000 +000003e8 +81008000 +000003e8 +82008000 +000003e8 +84008000 +000003e8 +88008000 +000003e8 +90008000 +000003e8 +a0008000 +000003e8 +c0008000 +000003e8 +00008000 +000003e8 + +00d00000 +00100060 +001000b7 +00200137 +0dc0af83 +0df12223 +00800193 +0e00a203 +fff20213 +00008313 +0e40a283 +fff28293 +0e832f83 +0ec32f03 +0bf12c23 +00330333 +00029463 +00c0006f +fe8f000b +fe1ff06f +fdcf000b +fc0216e3 +00f0000b +0a012c23 +0c012223 +0000002b + +01100000 +00100004 +00000000 + +01500108 +00100004 +00000008 + +01500124 +00100004 +40000000 + +014000dc +00100094 +80000000 +00000000 +00000011 +80008000 +000003e8 +80018000 +000003e8 +80028000 +000003e8 +80048000 +000003e8 +80088000 +000003e8 +80108000 +000003e8 +80208000 +000003e8 +80408000 +000003e8 +80808000 +000003e8 +81008000 +000003e8 +82008000 +000003e8 +84008000 +000003e8 +88008000 +000003e8 +90008000 +000003e8 +a0008000 +000003e8 +c0008000 +000003e8 +00008000 +000003e8 + +01300000 +00100060 +001000b7 +00200137 +0dc0af83 +0df12223 +00800193 +0e00a203 +fff20213 +00008313 +0e40a283 +fff28293 +0e832f83 +0ec32f03 +0bf12c23 +00330333 +00029463 +00c0006f +fe8f000b +fe1ff06f +fdcf000b +fc0216e3 +00f0000b +0a012c23 +0c012223 +0000002b + +01700000 +00100004 +00000000 + diff --git a/4ch-Z_Generator/gen_cases/RAMP/RAMP_SPI.json b/4ch-Z_Generator/gen_cases/RAMP/RAMP_SPI.json new file mode 100644 index 0000000..53cd697 --- /dev/null +++ b/4ch-Z_Generator/gen_cases/RAMP/RAMP_SPI.json @@ -0,0 +1,50 @@ +{ + "ch0": { + "channel": 0, + "chip_mode": "RAMP", + "ramp_ctrl": "SPI", + "fixed_enable": true, + "fixed_value": 22767, + "height": 512, + "step_time": 34, + "FolderName": "RAMP", + "CaseName": "RAMP_SPI", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt" + }, + "ch1": { + "channel": 1, + "chip_mode": "RAMP", + "ramp_ctrl": "SPI", + "fixed_enable": true, + "fixed_value": 22767, + "height": 512, + "step_time": 34, + "FolderName": "RAMP", + "CaseName": "RAMP_SPI", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt" + }, + "ch2": { + "channel": 2, + "chip_mode": "RAMP", + "ramp_ctrl": "SPI", + "fixed_enable": true, + "fixed_value": 22767, + "height": 512, + "step_time": 34, + "FolderName": "RAMP", + "CaseName": "RAMP_SPI", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt" + }, + "ch3": { + "channel": 3, + "chip_mode": "RAMP", + "ramp_ctrl": "SPI", + "fixed_enable": true, + "fixed_value": 22767, + "height": 512, + "step_time": 34, + "FolderName": "RAMP", + "CaseName": "RAMP_SPI", + "config_file": "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\4ch-Z_Generator\\gen_cases\\RAMP\\RAMP_SPI_HEX.txt" + } +} \ No newline at end of file diff --git a/4ch-Z_Generator/gen_cases/RAMP/RAMP_SPI_HEX.txt b/4ch-Z_Generator/gen_cases/RAMP/RAMP_SPI_HEX.txt new file mode 100644 index 0000000..ebb312b --- /dev/null +++ b/4ch-Z_Generator/gen_cases/RAMP/RAMP_SPI_HEX.txt @@ -0,0 +1,560 @@ +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00900108 +00100004 +00000008 + +00900118 +00100004 +58ef8000 + +00900124 +00100004 +80000000 + +00b00000 +00100004 +00000000 + +00700000 +00100004 +0000002b + +00f00108 +00100004 +00000008 + +00f00118 +00100004 +58ef8000 + +00f00124 +00100004 +80000000 + +01100000 +00100004 +00000000 + +00d00000 +00100004 +0000002b + +01500108 +00100004 +00000008 + +01500118 +00100004 +58ef8000 + +01500124 +00100004 +80000000 + +01700000 +00100004 +00000000 + +01300000 +00100004 +0000002b + +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00900108 +00100004 +00000008 + +00900118 +00100004 +58ef8000 + +00900124 +00100004 +80000000 + +00b00000 +00100004 +00000000 + +00700000 +00100004 +0000002b + +00f00108 +00100004 +00000008 + +00f00118 +00100004 +58ef8000 + +00f00124 +00100004 +80000000 + +01100000 +00100004 +00000000 + +00d00000 +00100004 +0000002b + +01500108 +00100004 +00000008 + +01500118 +00100004 +58ef8000 + +01500124 +00100004 +80000000 + +01700000 +00100004 +00000000 + +01300000 +00100004 +0000002b + +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00900108 +00100004 +00000008 + +00900118 +00100004 +58ef8000 + +00900124 +00100004 +80000000 + +00b00000 +00100004 +00000000 + +00700000 +00100004 +0000002b + +00f00108 +00100004 +00000008 + +00f00118 +00100004 +58ef8000 + +00f00124 +00100004 +80000000 + +01100000 +00100004 +00000000 + +00d00000 +00100004 +0000002b + +01500108 +00100004 +00000008 + +01500118 +00100004 +58ef8000 + +01500124 +00100004 +80000000 + +01700000 +00100004 +00000000 + +01300000 +00100004 +0000002b + +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00900108 +00100004 +00000008 + +00900118 +00100004 +58ef8000 + +00900124 +00100004 +80000000 + +00b00000 +00100004 +00000000 + +00700000 +00100004 +0000002b + +00f00108 +00100004 +00000008 + +00f00118 +00100004 +58ef8000 + +00f00124 +00100004 +80000000 + +01100000 +00100004 +00000000 + +00d00000 +00100004 +0000002b + +01500108 +00100004 +00000008 + +01500118 +00100004 +58ef8000 + +01500124 +00100004 +80000000 + +01700000 +00100004 +00000000 + +01300000 +00100004 +0000002b + +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00900108 +00100004 +00000008 + +00900118 +00100004 +58ef8000 + +00900124 +00100004 +80000000 + +00b00000 +00100004 +00000000 + +00700000 +00100004 +0000002b + +00f00108 +00100004 +00000008 + +00f00118 +00100004 +58ef8000 + +00f00124 +00100004 +80000000 + +01100000 +00100004 +00000000 + +00d00000 +00100004 +0000002b + +01500108 +00100004 +00000008 + +01500118 +00100004 +58ef8000 + +01500124 +00100004 +80000000 + +01700000 +00100004 +00000000 + +01300000 +00100004 +0000002b + +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00900108 +00100004 +00000008 + +00900118 +00100004 +58ef8000 + +00900124 +00100004 +80000000 + +00b00000 +00100004 +00000000 + +00700000 +00100004 +0000002b + +00f00108 +00100004 +00000008 + +00f00118 +00100004 +58ef8000 + +00f00124 +00100004 +80000000 + +01100000 +00100004 +00000000 + +00d00000 +00100004 +0000002b + +01500108 +00100004 +00000008 + +01500118 +00100004 +58ef8000 + +01500124 +00100004 +80000000 + +01700000 +00100004 +00000000 + +01300000 +00100004 +0000002b + +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00900108 +00100004 +00000008 + +00900118 +00100004 +58ef8000 + +00900124 +00100004 +80000000 + +00b00000 +00100004 +00000000 + +00700000 +00100004 +0000002b + +00f00108 +00100004 +00000008 + +00f00118 +00100004 +58ef8000 + +00f00124 +00100004 +80000000 + +01100000 +00100004 +00000000 + +00d00000 +00100004 +0000002b + +01500108 +00100004 +00000008 + +01500118 +00100004 +58ef8000 + +01500124 +00100004 +80000000 + +01700000 +00100004 +00000000 + +01300000 +00100004 +0000002b +