diff --git a/DebugVarEdit.exe b/DebugVarEdit.exe index 7b4cc17..153f2b2 100644 Binary files a/DebugVarEdit.exe and b/DebugVarEdit.exe differ diff --git a/Src/DebugVarEdit_GUI.py b/Src/DebugVarEdit_GUI.py index aad75e7..7c10cd2 100644 --- a/Src/DebugVarEdit_GUI.py +++ b/Src/DebugVarEdit_GUI.py @@ -8,12 +8,11 @@ import xml.etree.ElementTree as ET from generateVars import type_map from enum import IntEnum import threading -from scanVars import run_scan from generateVars import run_generate import setupVars from VariableSelector import VariableSelectorDialog from VariableTable import VariableTableWidget, rows -from scanVarGUI import ProcessOutputWindowDummy +from scanVarGUI import ProcessOutputWindow import scanVars import myXML import time @@ -202,25 +201,10 @@ class VarEditor(QWidget): # Создаём окно с кнопкой "Готово" - self.proc_win = ProcessOutputWindowDummy(self.__after_scanvars_finished) - self.emitting_stream = self.proc_win.emitting_stream # ключевая строка! - self.proc_win.show() + self.proc_win = ProcessOutputWindow(self.proj_path, self.makefile_path, self.xml_path, + on_done_callback=self.__after_scanvars_finished) + self.proc_win.start_scan() - def run_scan_wrapper(): - try: - old_stdout = sys.stdout - sys.stdout = self.emitting_stream - - run_scan(self.proj_path, self.makefile_path, self.xml_path) - - except Exception as e: - self.emitting_stream.text_written.emit(f"\n[ОШИБКА] {e}") - finally: - sys.stdout = old_stdout - self.emitting_stream.text_written.emit("\n--- Анализ завершён ---") - self.proc_win.btn_close.setEnabled(True) - - threading.Thread(target=run_scan_wrapper, daemon=True).start() def save_build(self): @@ -433,17 +417,12 @@ class VarEditor(QWidget): def delete_selected_rows(self): selected_rows = sorted(set(index.row() for index in self.table.selectedIndexes()), reverse=True) if not selected_rows: - return + return - # Удаляем из vars_list те, у кого show_var == true и имя совпадает - filtered_vars = [v for v in self.vars_list if v.get('show_var', 'false') == 'true'] for row in selected_rows: - if 0 <= row < len(filtered_vars): - var_to_remove = filtered_vars[row] - for v in self.vars_list: - if v['name'] == var_to_remove['name']: - v['show_var'] = 'false' - break + if 0 <= row < len(self.vars_list): + # Меняем флаг show_var для переменной с этим индексом + self.vars_list[row]['show_var'] = 'false' self.table.populate(self.vars_list, self.structs, self.write_to_xml) self.write_to_xml() @@ -454,7 +433,7 @@ class VarEditor(QWidget): QMessageBox.warning(self, "Нет переменных", f"Сначала загрузите переменные ({scan_title}).") return - dlg = VariableSelectorDialog(self.vars_list, self.structs, self.typedef_map, self.xml_path, self) + dlg = VariableSelectorDialog(self.table, self.vars_list, self.structs, self.typedef_map, self.xml_path, self) if dlg.exec_(): self.write_to_xml() self.update() diff --git a/Src/VariableSelector.py b/Src/VariableSelector.py index 4647612..08f7169 100644 --- a/Src/VariableSelector.py +++ b/Src/VariableSelector.py @@ -1,10 +1,12 @@ import re +import xml.etree.ElementTree as ET from PySide2.QtWidgets import ( QDialog, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QPushButton, QLineEdit, QLabel, QHeaderView, QCompleter, QCheckBox, QHBoxLayout ) from PySide2.QtGui import QKeySequence, QKeyEvent from PySide2.QtCore import Qt, QStringListModel, QSettings +import VariableTable import setupVars import myXML import time @@ -13,14 +15,14 @@ import time array_re = re.compile(r'^(\w+)\[(\d+)\]$') class VariableSelectorDialog(QDialog): - def __init__(self, all_vars, structs, typedefs, xml_path=None, parent=None): + def __init__(self, table, all_vars, structs, typedefs, xml_path=None, parent=None): super().__init__(parent) self.setWindowTitle("Выбор переменных") self.setAttribute(Qt.WA_DeleteOnClose) self.resize(600, 500) self.selected_names = [] self._bckspc_pressed = False # флаг подавления добавления разделителя - + self.table = table self.all_vars = all_vars self.structs = structs self.typedefs = typedefs @@ -28,6 +30,7 @@ class VariableSelectorDialog(QDialog): self.var_map = {v['name']: v for v in all_vars} self.node_index = {} self.xml_path = xml_path # сохраняем путь к xml + self.manual_completion_active = False # --- Добавляем чекбокс для автодополнения --- self.autocomplete_checkbox = QCheckBox("Включить автодополнение") @@ -289,8 +292,9 @@ class VariableSelectorDialog(QDialog): if not name_parts: continue last_part = name_parts[-1].lower() - if prefix == '' or last_part.startswith(prefix): + if prefix == '' or prefix in last_part: # здесь изменено completions.append(name) + self.completer.complete() return completions @@ -328,9 +332,16 @@ class VariableSelectorDialog(QDialog): def eventFilter(self, obj, event): if obj == self.search_input and isinstance(event, QKeyEvent): if event.key() == Qt.Key_Space and event.modifiers() & Qt.ControlModifier: + self.manual_completion_active = True text = self.search_input.text().strip() self.run_completions(text) - return True + elif event.key() == Qt.Key_Escape: + # Esc — выключаем ручной режим и скрываем подсказки, если autocomplete выключен + if not self.autocomplete_checkbox.isChecked(): + self.manual_completion_active = False + self.completer.popup().hide() + return True + if event.key() == Qt.Key_Backspace: self._bckspc_pressed = True else: @@ -341,6 +352,9 @@ class VariableSelectorDialog(QDialog): def run_completions(self, text): completions = self.update_completions(text) + if not self.autocomplete_checkbox.isChecked() and self._bckspc_pressed: + text = text[:-1] + if len(completions) == 1 and completions[0].lower() == text.lower(): # Найдем узел с таким именем def find_exact_item(name): @@ -391,6 +405,12 @@ class VariableSelectorDialog(QDialog): text = self.search_input.text().strip() if self.autocomplete_checkbox.isChecked(): self.run_completions(text) + else: + # Если выключено, показываем подсказки только если флаг ручного вызова True + if self.manual_completion_active: + self.run_completions(text) + else: + self.completer.popup().hide() def on_add_clicked(self): self.selected_names = [] @@ -462,9 +482,7 @@ class VariableSelectorDialog(QDialog): QMessageBox.warning(self, "Ошибка", "Путь к XML не задан, невозможно обновить переменные.") return - import xml.etree.ElementTree as ET - tree = ET.parse(self.xml_path) - root = tree.getroot() + root, tree = myXML.safe_parse_xml(self.xml_path) if root is None: return @@ -485,7 +503,6 @@ class VariableSelectorDialog(QDialog): myXML.fwrite(root, self.xml_path) - self.populate_tree() self.done(QDialog.Accepted) @@ -503,8 +520,50 @@ class VariableSelectorDialog(QDialog): def delete_selected_vars(self): selected_names = self._get_selected_var_names() if not selected_names: + print("nothing selected") return + # Обновляем var_map и all_vars + for name in selected_names: + if name in self.var_map: + self.var_map[name]['show_var'] = 'false' + self.var_map[name]['enable'] = 'false' + + for v in self.all_vars: + if v['name'] == name: + v['show_var'] = 'false' + v['enable'] = 'false' + break + + # Проверка пути к XML + if not hasattr(self, 'xml_path') or not self.xml_path: + from PySide2.QtWidgets import QMessageBox + QMessageBox.warning(self, "Ошибка", "Путь к XML не задан, невозможно обновить переменные.") + return + + root, tree = myXML.safe_parse_xml(self.xml_path) + if root is None: + return + + vars_section = root.find('variables') + if vars_section is None: + return + + for var_elem in vars_section.findall('var'): + name = var_elem.attrib.get('name') + if name in selected_names: + def set_text(tag, value): + el = var_elem.find(tag) + if el is None: + el = ET.SubElement(var_elem, tag) + el.text = value + set_text('show_var', 'false') + set_text('enable', 'false') + + myXML.fwrite(root, self.xml_path) + + self.table.populate(self.all_vars, self.structs, None) + # Проверка пути к XML if not hasattr(self, 'xml_path') or not self.xml_path: from PySide2.QtWidgets import QMessageBox @@ -512,8 +571,7 @@ class VariableSelectorDialog(QDialog): return import xml.etree.ElementTree as ET - tree = ET.parse(self.xml_path) - root = tree.getroot() + root, tree = myXML.safe_parse_xml(self.xml_path) if root is None: return @@ -532,10 +590,22 @@ class VariableSelectorDialog(QDialog): # Удаляем из all_vars (глобально) self.all_vars[:] = [v for v in self.all_vars if v['name'] not in selected_names] + # Удаляем из expanded_vars (тоже глобально) + def filter_out_selected(vars_list): + filtered = [] + for v in vars_list: + if v['name'] not in selected_names: + # Рекурсивно фильтруем детей, если есть + if 'children' in v: + v = v.copy() + v['children'] = filter_out_selected(v['children']) + filtered.append(v) + return filtered + + self.expanded_vars[:] = filter_out_selected(self.expanded_vars) if removed_any: myXML.fwrite(root, self.xml_path) - self.populate_tree() self.filter_tree() def _get_selected_var_names(self): diff --git a/Src/scanVarGUI.py b/Src/scanVarGUI.py index 5637942..bacb82c 100644 --- a/Src/scanVarGUI.py +++ b/Src/scanVarGUI.py @@ -1,6 +1,12 @@ import sys import re +import multiprocessing +import sys +import contextlib +import io +import json +from scanVars import run_scan from VariableTable import VariableTableWidget, rows from PySide2.QtWidgets import ( @@ -10,7 +16,7 @@ from PySide2.QtWidgets import ( QDialog, QTreeWidget, QTreeWidgetItem, QSizePolicy, QHeaderView, QProgressBar ) from PySide2.QtGui import QTextCursor, QKeyEvent -from PySide2.QtCore import Qt, QProcess, QObject, Signal, QSettings +from PySide2.QtCore import Qt, QProcess, QObject, Signal, QTimer class EmittingStream(QObject): @@ -67,24 +73,28 @@ class EmittingStream(QObject): self._buffer = "" -class ProcessOutputWindowDummy(QDialog): - def __init__(self, on_done_callback): + +class ProcessOutputWindow(QDialog): + def __init__(self, proj_path, makefile_path, xml_path, on_done_callback=None): super().__init__() self.setWindowTitle("Поиск переменных...") self.resize(600, 480) self.setModal(True) + self.proj_path = proj_path + self.makefile_path = makefile_path + self.xml_path = xml_path + self._on_done_callback = on_done_callback + self.layout = QVBoxLayout(self) self.output_edit = QTextEdit() self.output_edit.setReadOnly(True) self.layout.addWidget(self.output_edit) - # Метка с именем прогрессбара self.progress_label = QLabel("Progress:") self.layout.addWidget(self.progress_label) - # Прогрессбар self.progress_bar = QProgressBar() self.progress_bar.setMinimum(0) self.progress_bar.setValue(0) @@ -93,33 +103,117 @@ class ProcessOutputWindowDummy(QDialog): self.btn_close = QPushButton("Закрыть") self.btn_close.setEnabled(False) self.layout.addWidget(self.btn_close) - self.btn_close.clicked.connect(self.__handle_done) - self._on_done_callback = on_done_callback - self.emitting_stream = EmittingStream() - self.emitting_stream.text_written.connect(self.append_text) - self.emitting_stream.progress_updated.connect(self.update_progress) + self.queue = None + self.proc = None - sys.stdout = self.emitting_stream - def __handle_done(self): - sys.stdout = sys.__stdout__ # восстановить stdout - if self._on_done_callback: - self._on_done_callback() - self.accept() + def start_scan(self): + self.queue = multiprocessing.Queue() + self.proc = multiprocessing.Process( + target=run_scan_process, + args=(self.proj_path, self.makefile_path, self.xml_path, self.queue), + daemon=True) + self.proc.start() + self.timer = QTimer(self) + self.timer.timeout.connect(self.poll_queue) + self.timer.start(100) + + self.show() + + def poll_queue(self): + try: + while True: + msg = self.queue.get_nowait() + if msg is None: + # Конец процесса + self.btn_close.setEnabled(True) + self.append_text("\n--- Анализ завершён ---") + self.timer.stop() + return + # Пытаемся разобрать JSON-сообщение + if isinstance(msg, str) and msg.startswith("PROGRESS_MSG:"): + try: + data = json.loads(msg[len("PROGRESS_MSG:"):]) + self.update_progress(data["bar_name"], data["current"], data["total"]) + except Exception: + # Если не удалось распарсить, выводим как текст + self.append_text(msg) + else: + self.append_text(msg) + except Exception: + pass # Очередь пустая + def append_text(self, text): cursor = self.output_edit.textCursor() cursor.movePosition(QTextCursor.End) if not text.endswith('\n'): text += '\n' - for line in text.splitlines(True): - cursor.insertText(line) + cursor.insertText(text) self.output_edit.setTextCursor(cursor) self.output_edit.ensureCursorVisible() def update_progress(self, bar_name, current, total): self.progress_label.setText(f"{bar_name}") self.progress_bar.setMaximum(total) - self.progress_bar.setValue(current) \ No newline at end of file + self.progress_bar.setValue(current) + + def __handle_done(self): + self.close() + + def closeEvent(self, event): + if self.proc and self.proc.is_alive(): + self.proc.terminate() + self.proc.join() + self.btn_close.setEnabled(True) + self.append_text("Сканирование прервано.") + + +def run_scan_process(proj_path, makefile_path, xml_path, queue): + class QueueWriter(io.TextIOBase): + def __init__(self): + self._buffer = "" + self._current_bar_name = None + + def write(self, txt): + self._buffer += txt + while '\n' in self._buffer: + line, self._buffer = self._buffer.split('\n', 1) + # Обработка прогресса + if line.startswith('Progress: "') and line.endswith('"'): + # Название прогресс-бара + bar_name = line[len('Progress: "'):-1] + self._current_bar_name = bar_name + elif re.match(r'^Progress:\s*\d+\s*/\s*\d+$', line): + m = re.match(r'^Progress:\s*(\d+)\s*/\s*(\d+)$', line) + if m: + current = int(m.group(1)) + total = int(m.group(2)) + bar_name = self._current_bar_name or "Progress" + # Отправляем специальное сообщение в очередь в формате JSON + msg = { + "bar_name": bar_name, + "current": current, + "total": total + } + queue.put("PROGRESS_MSG:" + json.dumps(msg)) + else: + # Обычный вывод + queue.put(line) + + def flush(self): + if self._buffer.strip(): + queue.put(self._buffer.strip()) + self._buffer = "" + + sys.stdout = QueueWriter() + sys.stderr = sys.stdout + + try: + run_scan(proj_path, makefile_path, xml_path) + except Exception as e: + queue.put(f"[ОШИБКА] {e}") + finally: + queue.put(None) # сигнал окончания \ No newline at end of file diff --git a/Src/scanVars.py b/Src/scanVars.py index e9716a6..1b93f7b 100644 --- a/Src/scanVars.py +++ b/Src/scanVars.py @@ -14,7 +14,6 @@ from xml.dom import minidom from parseMakefile import parse_makefile from collections import deque import argparse -from setupVars import make_relative_path import myXML BITFIELD_WIDTHS = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32} @@ -582,12 +581,12 @@ def generate_xml_output(proj_path, xml_path, unique_vars, h_files_needed, vars_n } if makefile_path: - rel_makefile = make_relative_path(makefile_path, proj_path) + rel_makefile = myXML.make_relative_path(makefile_path, proj_path) if not os.path.isabs(rel_makefile): analysis_attrs["makefile_path"] = rel_makefile.replace("\\", "/") if structs_xml_path: - rel_struct = make_relative_path(structs_xml_path, proj_path) + rel_struct = myXML.make_relative_path(structs_xml_path, proj_path) if not os.path.isabs(rel_struct): analysis_attrs["structs_path"] = rel_struct.replace("\\", "/") @@ -919,6 +918,5 @@ def run_scan(proj_path, makefile_path, output_xml, verbose=2): print("[XML] Creating vars.xml...") generate_xml_output(proj_path, output_xml, vars, includes, externs, structs_xml, makefile_path) - print("Progress: 2/2") print('Progress: "Done"') - print('Progress: 1/1') + print("Progress: 2/2") diff --git a/Src/setupVars.py b/Src/setupVars.py index f3fb7ac..36a83f8 100644 --- a/Src/setupVars.py +++ b/Src/setupVars.py @@ -190,24 +190,44 @@ def expand_struct_recursively(prefix, type_str, structs, typedefs, var_attrs, de return [] # Вспомогательная функция для обработки массивов - def process_array(prefix, base_type, dims): - array_tree = generate_array_names(prefix, dims) - array_flat = flatten_array_tree(array_tree) - for node in array_flat: - sub_items = expand_struct_recursively(node['name'], base_type, structs, typedefs, var_attrs, depth + 1) - if sub_items: - node['children'] = sub_items - else: - node.update({ - 'type': base_type, - 'pt_type': '', - 'iq_type': '', - 'return_type': '', - 'file': var_attrs.get('file'), - 'extern': var_attrs.get('extern'), - 'static': var_attrs.get('static'), - }) - return array_flat + def process_array(prefix, type_str, structs, typedefs, var_attrs, depth=0): + base_type, array_dims = parse_array_dims(type_str) + if not array_dims: + return [] + + # На текущем уровне берем первый размер массива + current_dim = array_dims[0] + # Оставшиеся размеры — все, кроме первого + remaining_dims = array_dims[1:] + + # Для создания типа с оставшимися размерами: + if remaining_dims: + # Формируем строку типа для оставшихся измерений массива, например int[16] + remaining_type_str = f"{base_type}{''.join(f'[{d}]' for d in remaining_dims)}" + else: + remaining_type_str = base_type + + array_tree = [] + for i in range(current_dim): + name = f"{prefix}[{i}]" + # Для каждого элемента передаем уже оставшийся тип массива + children = expand_struct_recursively(name, remaining_type_str, structs, typedefs, var_attrs, depth + 1) + node = { + 'name': name, + 'type': remaining_type_str if remaining_dims else base_type, + 'pt_type': '', + 'iq_type': '', + 'return_type': '', + 'file': var_attrs.get('file'), + 'extern': var_attrs.get('extern'), + 'static': var_attrs.get('static'), + } + if children: + node['children'] = children + array_tree.append(node) + + return array_tree + # Если type_str — уже распарсенная структура (dict) if isinstance(type_str, dict): @@ -216,7 +236,7 @@ def expand_struct_recursively(prefix, type_str, structs, typedefs, var_attrs, de # Проверяем, массив ли это base_type, array_dims = parse_array_dims(type_str) if array_dims: - return process_array(prefix, base_type, array_dims) + return process_array(prefix, type_str, structs, typedefs, var_attrs, depth) # Ищем структуру по имени типа base_type = scanVars.strip_ptr_and_array(type_str) @@ -289,13 +309,9 @@ def expand_struct_recursively(prefix, type_str, structs, typedefs, var_attrs, de if "(" in field_type_str and "*" in field_type_str and ")" in field_type_str: continue - # Проверим, является ли тип структурой (по имени) - clean_type = scanVars.strip_ptr_and_array(field_type_str) - struct_fields = structs.get(clean_type) - - if isinstance(struct_fields, dict): + if isinstance(field_value, dict): # Это одиночная структура — раскрываем рекурсивно - sub_items = expand_struct_recursively(full_name, field_type_str, structs, typedefs, var_attrs, depth + 1) + sub_items = expand_struct_recursively(full_name, field_value, structs, typedefs, var_attrs, depth + 1) child = { 'name': full_name, 'type': field_type_str, diff --git a/Src/setupVars_GUI.py b/Src/setupVars_GUI.py deleted file mode 100644 index e69de29..0000000 diff --git a/debug_tools.c b/debug_tools.c index 327e809..f158be3 100644 --- a/debug_tools.c +++ b/debug_tools.c @@ -2,28 +2,133 @@ #include "IQmathLib.h" static int getDebugVar(DebugVar_t *var, long *int_var, float *float_var); -static int convertDebugVarToIQx(DebugVar_t *var, long *ret_var, DebugVarIQType_t iq_type_final); +static int convertDebugVarToIQx(DebugVar_t *var, long *ret_var); -DebugVarIQType_t dbg_type = t_iq24; -long Debug_ReadVar(DebugVar_t *var, DebugVarIQType_t iq_type_final) + + +int Debug_LowLevel_ReadVar(DebugVar_t *var_ll, long *return_long) { - long tmp_var; - if((var->ptr_type == pt_struct) || (var->ptr_type == pt_union) || (var->ptr_type == pt_unknown)) - return; + if (var_ll == NULL) + return 1; - convertDebugVarToIQx(var, &tmp_var, dbg_type); + char *addr = var_ll->Ptr; + unsigned long addr_val = (unsigned long)addr; + // TMS320F2812 + if (!( + (addr_val <= 0x0007FF) || // RAMM0 + RAMM1 + (addr_val >= 0x008000 && addr_val <= 0x009FFF) || // L0 + L1 SARAM + (addr_val >= 0x3F8000 && addr_val <= 0x3F9FFF) || // PRAMH0 + DRAMH0 + (addr_val >= 0x3D8000 && addr_val <= 0x3EFFFF) || // Flash A-F + (addr_val >= 0x3FF000 && addr_val <= 0x3FFFFF) // Boot ROM / Reset + )) { + return 2; // , + } - return tmp_var; + convertDebugVarToIQx(var_ll, return_long); + + return 0; } -static int convertDebugVarToIQx(DebugVar_t *var, long *ret_var, DebugVarIQType_t iq_type_final) + +int Debug_ReadVar(DebugVar_t *var, long *return_long) +{ + long tmp_var; + if (var == NULL) + return 1; + if((var->ptr_type == pt_struct) || (var->ptr_type == pt_union) || + (var->ptr_type == pt_unknown) || (var->return_type == pt_unknown)) + return 1; + + convertDebugVarToIQx(var, return_long); + + return 0; +} + +int Debug_ReadVarName(DebugVar_t *var, char *name_ptr) +{ + if((var == NULL)||(name_ptr == NULL)) + return 1; + int i; + // '\0' + for (i = 0; i < sizeof(var->name); i++) + { + name_ptr[i] = var->name[i]; + if (var->name[i] == '\0') + break; + } + // ( , var->name '\0') + name_ptr[sizeof(var->name) - 1] = '\0'; + + return 0; +} + + + + +int Debug_LowLevel_Initialize(const uint8_t* external_date) +{ + if (external_date == NULL) { + return -1; + } + + // external_date + DateTimeHex ext; + ext.year = (external_date[0] << 8) | external_date[1]; + ext.month = external_date[2]; + ext.day = external_date[3]; + ext.hour = external_date[4]; + ext.minute = external_date[5]; + + // BUILD_FULL_DATE "YYYYMMDD_HHMM" + DateTimeHex build; + char buf[5] = {0}; + + // + memcpy(buf, BUILD_FULL_DATE + 0, 4); + build.year = (uint16_t)atoi(buf); + + // + memcpy(buf, BUILD_FULL_DATE + 4, 2); + build.month = (uint8_t)atoi(buf); + + // + memcpy(buf, BUILD_FULL_DATE + 6, 2); + build.day = (uint8_t)atoi(buf); + + // + memcpy(buf, BUILD_FULL_DATE + 9, 2); + build.hour = (uint8_t)atoi(buf); + + // + memcpy(buf, BUILD_FULL_DATE + 11, 2); + build.minute = (uint8_t)atoi(buf); + + // + if (ext.year == build.year && + ext.month == build.month && + ext.day == build.day && + ext.hour == build.hour && + ext.minute == build.minute) + { + return 0; // + } + + return 1; // +} + + + + + +/////////////////////----INTERNAL FUNCTIONS-----//////////////////////// +static int convertDebugVarToIQx(DebugVar_t *var, long *ret_var) { long iq_numb, iq_united, iq_final; float float_numb; - if(getDebugVar(var, &iq_numb, &float_numb) == 1) - return 1; + if(getDebugVar(var, &iq_numb, &float_numb) != 0) + return 1; // IQ switch(var->iq_type) @@ -131,7 +236,7 @@ static int convertDebugVarToIQx(DebugVar_t *var, long *ret_var, DebugVarIQType_t } // IQ - switch(iq_type_final) + switch(var->return_type) { case t_iq_none: iq_final = (int)_IQtoF(iq_united); @@ -233,42 +338,53 @@ static int convertDebugVarToIQx(DebugVar_t *var, long *ret_var, DebugVarIQType_t } - static int getDebugVar(DebugVar_t *var, long *int_var, float *float_var) { - if (!var || !int_var || !float_var) + if (!var || !int_var || !float_var || !var->Ptr) return 1; // : null + char *addr = var->Ptr; + unsigned long addr_val = (unsigned long)addr; + switch (var->ptr_type) { - case pt_int8: // signed char - *int_var = *((signed char *)var->Ptr); + case pt_int8: // 8 + case pt_uint8: + // 8 + *int_var = *((volatile char *)addr); break; - case pt_int16: // int - *int_var = *((int *)var->Ptr); + case pt_int16: // 16 (int) + case pt_uint16: + if (addr_val & 0x1) // 2 + return 2; // + *int_var = *((volatile int *)addr); break; - case pt_int32: // long - *int_var = *((long *)var->Ptr); + case pt_int32: // 32 (long) + case pt_uint32: + if (addr_val & 0x3) // 4 + return 3; // + *int_var = *((volatile long *)addr); break; - case pt_uint8: // unsigned char - *int_var = *((unsigned char *)var->Ptr); - break; - - case pt_uint16: // unsigned int - *int_var = *((unsigned int *)var->Ptr); - break; - - case pt_uint32: // unsigned long - *int_var = *((unsigned long *)var->Ptr); - break; - - case pt_float: // float - *float_var = *((float *)var->Ptr); +// case pt_int64: // 64 (long long) +// case pt_uint64: +// if (addr_val & 0x7) // 8 +// return 2; // +// // , long long *int_var +// // 64- +// *int_var = *((volatile long long *)addr); +// break; + + case pt_float: // float (4 ) + if (addr_val & 0x3) // 4 + return 4; // + *float_var = *((volatile float *)addr); break; + default: + return 1; // // // case pt_ptr_int8: // case pt_ptr_int16: @@ -282,8 +398,6 @@ static int getDebugVar(DebugVar_t *var, long *int_var, float *float_var) // case pt_arr_uint8: // case pt_arr_uint16: // case pt_arr_uint32: - default: - return 1; } return 0; // diff --git a/debug_tools.h b/debug_tools.h index 822c651..b3b9e41 100644 --- a/debug_tools.h +++ b/debug_tools.h @@ -9,9 +9,11 @@ typedef enum pt_int8, // signed char pt_int16, // int pt_int32, // long + pt_int64, // long pt_uint8, // unsigned char pt_uint16, // unsigned int pt_uint32, // unsigned long + pt_uint64, // unsigned long pt_float, // float pt_struct, // struct pt_union, // struct @@ -70,12 +72,25 @@ typedef struct char* Ptr; DebugVarPtrType_t ptr_type; DebugVarIQType_t iq_type; - char name[10]; + DebugVarIQType_t return_type; + char name[11]; // 10 + '\0' }DebugVar_t; +typedef struct { + uint16_t year; + uint8_t month; + uint8_t day; + uint8_t hour; + uint8_t minute; +} DateTimeHex; + + extern int DebugVar_Qnt; extern DebugVar_t dbg_vars[]; -long Debug_ReadVar(DebugVar_t *var, DebugVarIQType_t iq_type_final); + +int Debug_LowLevel_ReadVar(DebugVar_t *var_ll, long *return_long); +int Debug_ReadVar(DebugVar_t *var, long *return_long); +int Debug_ReadVarName(DebugVar_t *var, char *name_ptr); #endif //DEBUG_TOOLS diff --git a/debug_vars.c b/debug_vars.c index 9b0e615..10932a9 100644 --- a/debug_vars.c +++ b/debug_vars.c @@ -3,33 +3,33 @@ // +#include "vector.h" +#include "f281xpwm.h" +#include "log_can.h" #include "RS_Functions_modbus.h" +#include "errors.h" +#include "pwm_vector_regul.h" #include "xp_project.h" #include "xp_write_xpwm_time.h" -#include "teta_calc.h" -#include "vector.h" #include "v_pwm24.h" -#include "errors.h" -#include "dq_to_alphabeta_cos.h" -#include "log_can.h" -#include "f281xpwm.h" -#include "pwm_vector_regul.h" #include "adc_tools.h" #include "rotation_speed.h" +#include "dq_to_alphabeta_cos.h" +#include "teta_calc.h" +#include "CAN_Setup.h" +#include "log_to_memory.h" +#include "log_params.h" +#include "CRC_Functions.h" +#include "global_time.h" #include "RS_Functions.h" +#include "detect_phase_break2.h" +#include "x_parallel_bus.h" +#include "x_serial_bus.h" +#include "Spartan2E_Functions.h" #include "xp_controller.h" #include "xPeriphSP6_loader.h" #include "xp_rotation_sensor.h" -#include "x_serial_bus.h" -#include "Spartan2E_Functions.h" -#include "x_parallel_bus.h" #include "svgen_dq.h" -#include "detect_phase_break2.h" -#include "log_to_memory.h" -#include "CRC_Functions.h" -#include "global_time.h" -#include "CAN_Setup.h" -#include "log_params.h" #include "pid_reg3.h" #include "IQmathLib.h" #include "doors_control.h" @@ -314,9 +314,26 @@ extern int zero_ADC[20]; // -int DebugVar_Qnt = 2; +int DebugVar_Qnt = 19; #pragma DATA_SECTION(dbg_vars,".dbgvar_info") DebugVar_t dbg_vars[] = {\ -{(char *)&ADC0finishAddr, pt_uint8, t_iq7, pt_uint8, "asdasjjjjj" }, \ -{(char *)&project.cds_tk.count_elements_pbus, pt_uint16, t_iq_none, pt_uint16, "project.cd" }, \ +{(char *)&ADC1startAddr, pt_int16, t_iq_none, pt_int16, "ADC1StrAdr" }, \ +{(char *)&project.cds_tk[0].plane_address, pt_uint16, t_iq_none, pt_uint16, "tk0_Adr" }, \ +{(char *)&ADC_sf[0][0], pt_int16, t_iq_none, pt_int16, "ADC_sf00" }, \ +{(char *)&ADC_sf[0][1], pt_int16, t_iq_none, pt_int16, "ADC_sf01" }, \ +{(char *)&ADC_sf[0][2], pt_int16, t_iq_none, pt_int16, "ADC_sf02" }, \ +{(char *)&ADC_sf[0][3], pt_int16, t_iq_none, pt_int16, "ADC_sf03" }, \ +{(char *)&ADC_sf[0][4], pt_int16, t_iq_none, pt_int16, "ADC_sf04" }, \ +{(char *)&ADC_sf[0][5], pt_int16, t_iq_none, pt_int16, "ADC_sf05" }, \ +{(char *)&ADC_sf[0][6], pt_int16, t_iq_none, pt_int16, "ADC_sf06" }, \ +{(char *)&ADC_sf[0][7], pt_int16, t_iq_none, pt_int16, "ADC_sf07" }, \ +{(char *)&ADC_sf[0][8], pt_int16, t_iq_none, pt_int16, "ADC_sf08" }, \ +{(char *)&ADC_sf[0][9], pt_int16, t_iq_none, pt_int16, "ADC_sf09" }, \ +{(char *)&ADC_sf[0][10], pt_int16, t_iq_none, pt_int16, "ADC_sf010" }, \ +{(char *)&ADC_sf[0][11], pt_int16, t_iq_none, pt_int16, "ADC_sf011" }, \ +{(char *)&ADC_sf[0][12], pt_int16, t_iq_none, pt_int16, "ADC_sf012" }, \ +{(char *)&ADC_sf[0][13], pt_int16, t_iq_none, pt_int16, "ADC_sf013" }, \ +{(char *)&ADC_sf[0][14], pt_int16, t_iq_none, pt_int16, "ADC_sf014" }, \ +{(char *)&ADC_sf[0][15], pt_int16, t_iq_none, pt_int16, "ADC_sf015" }, \ +{(char *)&project.cds_tk[0].read.sbus.mask_protect_tk.all, pt_uint16, t_iq_none, pt_uint16, "project.cd" }, \ }; diff --git a/structs.xml b/structs.xml index 896041a..bb15e3c 100644 --- a/structs.xml +++ b/structs.xml @@ -54,7 +54,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -165,7 +165,7 @@ - + @@ -189,7 +189,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -223,7 +223,7 @@ - + @@ -240,7 +240,7 @@ - + @@ -257,7 +257,7 @@ - + @@ -274,7 +274,7 @@ - + @@ -291,7 +291,7 @@ - + @@ -308,7 +308,7 @@ - + @@ -325,7 +325,7 @@ - + @@ -342,7 +342,7 @@ - + @@ -359,7 +359,7 @@ - + @@ -376,7 +376,7 @@ - + @@ -393,7 +393,7 @@ - + @@ -410,7 +410,7 @@ - + @@ -427,7 +427,7 @@ - + @@ -444,7 +444,7 @@ - + @@ -461,7 +461,7 @@ - + @@ -478,7 +478,7 @@ - + @@ -495,7 +495,7 @@ - + @@ -512,7 +512,7 @@ - + @@ -529,7 +529,7 @@ - + @@ -546,7 +546,7 @@ - + @@ -563,7 +563,7 @@ - + @@ -580,7 +580,7 @@ - + @@ -597,7 +597,7 @@ - + @@ -614,7 +614,7 @@ - + @@ -631,7 +631,7 @@ - + @@ -648,7 +648,7 @@ - + @@ -665,7 +665,7 @@ - + @@ -682,7 +682,7 @@ - + @@ -699,7 +699,7 @@ - + @@ -716,7 +716,7 @@ - + @@ -733,7 +733,7 @@ - + @@ -750,7 +750,7 @@ - + @@ -767,7 +767,7 @@ - + @@ -784,7 +784,7 @@ - + @@ -801,7 +801,7 @@ - + @@ -818,7 +818,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -852,7 +852,7 @@ - + @@ -869,7 +869,7 @@ - + @@ -886,7 +886,7 @@ - + @@ -903,7 +903,7 @@ - + @@ -920,7 +920,7 @@ - + @@ -937,7 +937,7 @@ - + @@ -954,7 +954,7 @@ - + @@ -971,7 +971,7 @@ - + @@ -988,7 +988,7 @@ - + @@ -1005,7 +1005,7 @@ - + @@ -1022,7 +1022,7 @@ - + @@ -1039,7 +1039,7 @@ - + @@ -1056,7 +1056,7 @@ - + @@ -1073,7 +1073,7 @@ - + @@ -1090,7 +1090,7 @@ - + @@ -1107,7 +1107,7 @@ - + @@ -1124,7 +1124,7 @@ - + @@ -1141,7 +1141,7 @@ - + @@ -1158,7 +1158,7 @@ - + @@ -1175,7 +1175,7 @@ - + @@ -1192,7 +1192,7 @@ - + @@ -1211,7 +1211,7 @@ - + @@ -1228,7 +1228,7 @@ - + @@ -1245,7 +1245,7 @@ - + @@ -1262,7 +1262,7 @@ - + @@ -1279,7 +1279,7 @@ - + @@ -1296,7 +1296,7 @@ - + @@ -1313,7 +1313,7 @@ - + @@ -1330,7 +1330,7 @@ - + @@ -1347,7 +1347,7 @@ - + @@ -1364,7 +1364,7 @@ - + @@ -1381,7 +1381,7 @@ - + @@ -1398,7 +1398,7 @@ - + @@ -1415,7 +1415,7 @@ - + @@ -1432,7 +1432,7 @@ - + @@ -1449,7 +1449,7 @@ - + @@ -1466,7 +1466,7 @@ - + @@ -1483,7 +1483,7 @@ - + @@ -1500,7 +1500,7 @@ - + @@ -1517,7 +1517,7 @@ - + @@ -1534,7 +1534,7 @@ - + @@ -1551,7 +1551,7 @@ - + @@ -1568,7 +1568,7 @@ - + @@ -1585,7 +1585,7 @@ - + @@ -1602,7 +1602,7 @@ - + @@ -1620,7 +1620,7 @@ - + @@ -1630,7 +1630,7 @@ - + @@ -1642,7 +1642,7 @@ - + @@ -1655,7 +1655,7 @@ - + @@ -1672,7 +1672,7 @@ - + @@ -1695,7 +1695,7 @@ - + @@ -1704,7 +1704,7 @@ - + @@ -1722,7 +1722,7 @@ - + @@ -1761,7 +1761,7 @@ - + @@ -1778,7 +1778,7 @@ - + @@ -1795,7 +1795,7 @@ - + @@ -1812,7 +1812,7 @@ - + @@ -1829,7 +1829,7 @@ - + @@ -1846,7 +1846,7 @@ - + @@ -1863,7 +1863,7 @@ - + @@ -1882,7 +1882,7 @@ - + @@ -1899,7 +1899,7 @@ - + @@ -1916,7 +1916,7 @@ - + @@ -1933,7 +1933,7 @@ - + @@ -1950,7 +1950,7 @@ - + @@ -1967,7 +1967,7 @@ - + @@ -1984,7 +1984,7 @@ - + @@ -2001,7 +2001,7 @@ - + @@ -2018,7 +2018,7 @@ - + @@ -2035,7 +2035,7 @@ - + @@ -2052,7 +2052,7 @@ - + @@ -2069,7 +2069,7 @@ - + @@ -2124,7 +2124,7 @@ - + @@ -2141,7 +2141,7 @@ - + @@ -2158,7 +2158,7 @@ - + @@ -2175,7 +2175,7 @@ - + @@ -2192,7 +2192,7 @@ - + @@ -2209,7 +2209,7 @@ - + @@ -2249,7 +2249,7 @@ - + @@ -2266,7 +2266,7 @@ - + @@ -2283,7 +2283,7 @@ - + @@ -2300,7 +2300,7 @@ - + @@ -2317,7 +2317,7 @@ - + @@ -2334,7 +2334,7 @@ - + @@ -2351,7 +2351,7 @@ - + @@ -2368,7 +2368,7 @@ - + @@ -2385,7 +2385,7 @@ - + @@ -2402,7 +2402,7 @@ - + @@ -2419,7 +2419,7 @@ - + @@ -2436,7 +2436,7 @@ - + @@ -2472,7 +2472,7 @@ - + @@ -2491,7 +2491,7 @@ - + @@ -2506,7 +2506,7 @@ - + @@ -2536,7 +2536,7 @@ - + @@ -2561,7 +2561,7 @@ - + @@ -2586,7 +2586,7 @@ - + @@ -2604,7 +2604,7 @@ - + @@ -2629,7 +2629,7 @@ - + @@ -2654,7 +2654,7 @@ - + @@ -2679,7 +2679,7 @@ - + @@ -2697,7 +2697,7 @@ - + @@ -2722,7 +2722,7 @@ - + @@ -2747,7 +2747,7 @@ - + @@ -2772,7 +2772,7 @@ - + @@ -2797,7 +2797,7 @@ - + @@ -2820,7 +2820,7 @@ - + @@ -2845,7 +2845,7 @@ - + @@ -2866,7 +2866,7 @@ - + @@ -2887,7 +2887,7 @@ - + @@ -2909,7 +2909,7 @@ - + @@ -2931,7 +2931,7 @@ - + @@ -2956,7 +2956,7 @@ - + @@ -2977,7 +2977,7 @@ - + @@ -2995,7 +2995,7 @@ - + @@ -3020,7 +3020,7 @@ - + @@ -3045,7 +3045,7 @@ - + @@ -3070,7 +3070,7 @@ - + @@ -3095,7 +3095,7 @@ - + @@ -3120,7 +3120,7 @@ - + @@ -3145,7 +3145,7 @@ - + @@ -3170,7 +3170,7 @@ - + @@ -3188,7 +3188,7 @@ - + @@ -3210,7 +3210,7 @@ - + @@ -3232,7 +3232,7 @@ - + @@ -3255,7 +3255,7 @@ - + @@ -3278,7 +3278,7 @@ - + @@ -3301,7 +3301,7 @@ - + @@ -3324,7 +3324,7 @@ - + @@ -3470,10 +3470,10 @@ - + - + @@ -3527,7 +3527,7 @@ - + @@ -3545,7 +3545,7 @@ - + @@ -3568,7 +3568,7 @@ - + @@ -3584,7 +3584,7 @@ - + @@ -3600,7 +3600,7 @@ - + @@ -3625,7 +3625,7 @@ - + @@ -3636,7 +3636,7 @@ - + @@ -3654,7 +3654,7 @@ - + @@ -3679,7 +3679,7 @@ - + @@ -3703,7 +3703,7 @@ - + @@ -3728,7 +3728,7 @@ - + @@ -3751,10 +3751,10 @@ - + - + @@ -3762,10 +3762,10 @@ - + - + @@ -3787,10 +3787,10 @@ - + - + @@ -3815,7 +3815,7 @@ - + @@ -3835,7 +3835,7 @@ - + @@ -3871,7 +3871,7 @@ - + @@ -4021,7 +4021,7 @@ - + @@ -4043,7 +4043,7 @@ - + @@ -4104,9 +4104,9 @@ - + - + @@ -4153,7 +4153,7 @@ - + @@ -4176,7 +4176,7 @@ - + @@ -4199,7 +4199,7 @@ - + @@ -4260,7 +4260,7 @@ - + @@ -4271,7 +4271,7 @@ - + @@ -4302,7 +4302,7 @@ - + @@ -4348,7 +4348,7 @@ - + @@ -4361,7 +4361,7 @@ - + @@ -4377,7 +4377,7 @@ - + @@ -4397,7 +4397,7 @@ - + @@ -4418,7 +4418,7 @@ - + @@ -4459,7 +4459,7 @@ - + @@ -4673,7 +4673,7 @@ - + @@ -4704,7 +4704,7 @@ - + @@ -4940,7 +4940,7 @@ - + @@ -4957,7 +4957,7 @@ - + @@ -4974,7 +4974,7 @@ - + @@ -4991,7 +4991,7 @@ - + @@ -5008,7 +5008,7 @@ - + @@ -5025,7 +5025,7 @@ - + @@ -5042,7 +5042,7 @@ - + @@ -5059,7 +5059,7 @@ - + @@ -5076,7 +5076,7 @@ - + @@ -5093,7 +5093,7 @@ - + @@ -5110,7 +5110,7 @@ - + @@ -5127,7 +5127,7 @@ - + @@ -5144,7 +5144,7 @@ - + @@ -5161,7 +5161,7 @@ - + @@ -5178,7 +5178,7 @@ - + @@ -5195,7 +5195,7 @@ - + @@ -5212,7 +5212,7 @@ - + @@ -5229,7 +5229,7 @@ - + @@ -5246,7 +5246,7 @@ - + @@ -5263,7 +5263,7 @@ - + @@ -5280,7 +5280,7 @@ - + @@ -5297,7 +5297,7 @@ - + @@ -5314,7 +5314,7 @@ - + @@ -5331,7 +5331,7 @@ - + @@ -5348,7 +5348,7 @@ - + @@ -5365,7 +5365,7 @@ - + @@ -5382,7 +5382,7 @@ - + @@ -5399,7 +5399,7 @@ - + @@ -5416,7 +5416,7 @@ - + @@ -5433,7 +5433,7 @@ - + @@ -5450,7 +5450,7 @@ - + @@ -5467,7 +5467,7 @@ - + @@ -5484,7 +5484,7 @@ - + @@ -5501,7 +5501,7 @@ - + @@ -5518,7 +5518,7 @@ - + @@ -5535,7 +5535,7 @@ - + @@ -5552,7 +5552,7 @@ - + @@ -5569,7 +5569,7 @@ - + @@ -5586,7 +5586,7 @@ - + @@ -5603,7 +5603,7 @@ - + @@ -5620,7 +5620,7 @@ - + @@ -5637,7 +5637,7 @@ - + @@ -5654,7 +5654,7 @@ - + @@ -5671,7 +5671,7 @@ - + @@ -5688,7 +5688,7 @@ - + @@ -5705,7 +5705,7 @@ - + @@ -5722,7 +5722,7 @@ - + @@ -5739,7 +5739,7 @@ - + @@ -5756,7 +5756,7 @@ - + @@ -5773,7 +5773,7 @@ - + @@ -5790,7 +5790,7 @@ - + @@ -5807,7 +5807,7 @@ - + @@ -5824,7 +5824,7 @@ - + @@ -5841,7 +5841,7 @@ - + @@ -5858,7 +5858,7 @@ - + @@ -5875,7 +5875,7 @@ - + @@ -5892,7 +5892,7 @@ - + @@ -5909,7 +5909,7 @@ - + @@ -5926,7 +5926,7 @@ - + @@ -5943,7 +5943,7 @@ - + @@ -6121,7 +6121,7 @@ - + @@ -6138,7 +6138,7 @@ - + @@ -6155,7 +6155,7 @@ - + @@ -6172,7 +6172,7 @@ - + @@ -6189,7 +6189,7 @@ - + @@ -6206,7 +6206,7 @@ - + @@ -6223,7 +6223,7 @@ - + @@ -6240,7 +6240,7 @@ - + @@ -6257,7 +6257,7 @@ - + @@ -6274,7 +6274,7 @@ - + @@ -6291,7 +6291,7 @@ - + @@ -6308,7 +6308,7 @@ - + @@ -6325,7 +6325,7 @@ - + @@ -6342,7 +6342,7 @@ - + @@ -6359,7 +6359,7 @@ - + @@ -6376,7 +6376,7 @@ - + @@ -6393,7 +6393,7 @@ - + @@ -6410,7 +6410,7 @@ - + @@ -6427,7 +6427,7 @@ - + @@ -6444,7 +6444,7 @@ - + @@ -6461,7 +6461,7 @@ - + @@ -6478,7 +6478,7 @@ - + @@ -6495,7 +6495,7 @@ - + @@ -6512,7 +6512,7 @@ - + @@ -6703,7 +6703,7 @@ - + @@ -6757,7 +6757,7 @@ - + @@ -6799,7 +6799,7 @@ - + @@ -6848,7 +6848,7 @@ - + @@ -6872,7 +6872,7 @@ - + @@ -6927,10 +6927,10 @@ - + - + @@ -6938,10 +6938,10 @@ - + - + @@ -6951,10 +6951,10 @@ - + - + @@ -6964,10 +6964,10 @@ - + - + @@ -6987,10 +6987,10 @@ - + - + @@ -7002,10 +7002,10 @@ - + - + @@ -7016,10 +7016,10 @@ - + - + @@ -7031,10 +7031,10 @@ - + - + @@ -7050,10 +7050,10 @@ - + - + @@ -7075,10 +7075,10 @@ - + - + @@ -7100,10 +7100,10 @@ - + - + @@ -7138,7 +7138,7 @@ - + @@ -7151,10 +7151,10 @@ - + - + @@ -7166,10 +7166,10 @@ - + - + @@ -7180,10 +7180,10 @@ - + - + @@ -7195,10 +7195,10 @@ - + - + @@ -7214,10 +7214,10 @@ - + - + @@ -7239,10 +7239,10 @@ - + - + @@ -7264,10 +7264,10 @@ - + - + @@ -7280,10 +7280,10 @@ - + - + @@ -7305,10 +7305,10 @@ - + - + @@ -7330,10 +7330,10 @@ - + - + @@ -7344,10 +7344,10 @@ - + - + @@ -7359,10 +7359,10 @@ - + - + @@ -7373,10 +7373,10 @@ - + - + @@ -7388,10 +7388,10 @@ - + - + @@ -7407,7 +7407,7 @@ - + @@ -7459,10 +7459,10 @@ - + - + @@ -7470,10 +7470,10 @@ - + - + @@ -7483,10 +7483,10 @@ - + - + @@ -7496,10 +7496,10 @@ - + - + @@ -7519,10 +7519,10 @@ - + - + @@ -7534,10 +7534,10 @@ - + - + @@ -7548,10 +7548,10 @@ - + - + @@ -7563,10 +7563,10 @@ - + - + @@ -7582,10 +7582,10 @@ - + - + @@ -7607,10 +7607,10 @@ - + - + @@ -7632,10 +7632,10 @@ - + - + @@ -7670,10 +7670,10 @@ - + - + @@ -7688,10 +7688,10 @@ - + - + @@ -7701,10 +7701,10 @@ - + - + @@ -7729,7 +7729,7 @@ - + @@ -7748,10 +7748,10 @@ - + - + @@ -7779,7 +7779,7 @@ - + @@ -7801,10 +7801,10 @@ - + - + @@ -7832,7 +7832,7 @@ - + @@ -7847,10 +7847,10 @@ - + - + @@ -7876,7 +7876,7 @@ - + @@ -7891,10 +7891,10 @@ - + - + @@ -7909,10 +7909,10 @@ - + - + @@ -7922,10 +7922,10 @@ - + - + @@ -7950,7 +7950,7 @@ - + @@ -7968,7 +7968,7 @@ - + @@ -7981,10 +7981,10 @@ - + - + @@ -7999,10 +7999,10 @@ - + - + @@ -8012,10 +8012,10 @@ - + - + @@ -8029,10 +8029,10 @@ - + - + @@ -8040,10 +8040,10 @@ - + - + @@ -8053,10 +8053,10 @@ - + - + @@ -8066,10 +8066,10 @@ - + - + @@ -8085,10 +8085,10 @@ - + - + @@ -8096,10 +8096,10 @@ - + - + @@ -8109,10 +8109,10 @@ - + - + @@ -8122,10 +8122,10 @@ - + - + @@ -8145,10 +8145,10 @@ - + - + @@ -8194,10 +8194,10 @@ - + - + @@ -8212,10 +8212,10 @@ - + - + @@ -8223,10 +8223,10 @@ - + - + @@ -8234,10 +8234,10 @@ - + - + @@ -8259,10 +8259,10 @@ - + - + @@ -8284,10 +8284,10 @@ - + - + @@ -8302,10 +8302,10 @@ - + - + @@ -8313,10 +8313,10 @@ - + - + @@ -8324,10 +8324,10 @@ - + - + @@ -8349,10 +8349,10 @@ - + - + @@ -8365,10 +8365,10 @@ - + - + @@ -8390,10 +8390,10 @@ - + - + @@ -8415,10 +8415,10 @@ - + - + @@ -8434,10 +8434,10 @@ - + - + @@ -8459,10 +8459,10 @@ - + - + @@ -8470,10 +8470,10 @@ - + - + @@ -8489,10 +8489,10 @@ - + - + @@ -8505,30 +8505,30 @@ - + - + - + - + - + - + @@ -8616,10 +8616,10 @@ - + - + @@ -8634,10 +8634,10 @@ - + - + @@ -8645,10 +8645,10 @@ - + - + @@ -8656,10 +8656,10 @@ - + - + @@ -8681,10 +8681,10 @@ - + - + @@ -8697,10 +8697,10 @@ - + - + @@ -8722,10 +8722,10 @@ - + - + @@ -8747,10 +8747,10 @@ - + - + @@ -8766,10 +8766,10 @@ - + - + @@ -8791,10 +8791,10 @@ - + - + @@ -8802,10 +8802,10 @@ - + - + @@ -8821,10 +8821,10 @@ - + - + @@ -8837,30 +8837,30 @@ - + - + - + - + - + - + @@ -8878,10 +8878,10 @@ - + - + @@ -8894,30 +8894,30 @@ - + - + - + - + - + - + @@ -8932,10 +8932,10 @@ - + - + @@ -8950,10 +8950,10 @@ - + - + @@ -8961,10 +8961,10 @@ - + - + @@ -8972,10 +8972,10 @@ - + - + @@ -8997,10 +8997,10 @@ - + - + @@ -9013,10 +9013,10 @@ - + - + @@ -9038,10 +9038,10 @@ - + - + @@ -9063,10 +9063,10 @@ - + - + @@ -9082,10 +9082,10 @@ - + - + @@ -9107,10 +9107,10 @@ - + - + @@ -9118,10 +9118,10 @@ - + - + @@ -9136,10 +9136,10 @@ - + - + @@ -9156,10 +9156,10 @@ - + - + @@ -9174,10 +9174,10 @@ - + - + @@ -9185,10 +9185,10 @@ - + - + @@ -9196,10 +9196,10 @@ - + - + @@ -9221,10 +9221,10 @@ - + - + @@ -9242,10 +9242,10 @@ - + - + @@ -9260,10 +9260,10 @@ - + - + @@ -9271,10 +9271,10 @@ - + - + @@ -9282,10 +9282,10 @@ - + - + @@ -9307,10 +9307,10 @@ - + - + @@ -9359,10 +9359,10 @@ - + - + @@ -9384,10 +9384,10 @@ - + - + @@ -9409,10 +9409,10 @@ - + - + @@ -9426,10 +9426,10 @@ - + - + @@ -9442,10 +9442,10 @@ - + - + @@ -9466,10 +9466,10 @@ - + - + @@ -9491,10 +9491,10 @@ - + - + @@ -9516,10 +9516,10 @@ - + - + @@ -9541,10 +9541,10 @@ - + - + @@ -9555,10 +9555,10 @@ - + - + @@ -9570,10 +9570,10 @@ - + - + @@ -9604,10 +9604,10 @@ - + - + @@ -9629,10 +9629,10 @@ - + - + @@ -9654,10 +9654,10 @@ - + - + @@ -9679,10 +9679,10 @@ - + - + @@ -9693,10 +9693,10 @@ - + - + @@ -9708,10 +9708,10 @@ - + - + @@ -9727,10 +9727,10 @@ - + - + @@ -9752,10 +9752,10 @@ - + - + @@ -9777,10 +9777,10 @@ - + - + @@ -9802,10 +9802,10 @@ - + - + @@ -9816,10 +9816,10 @@ - + - + @@ -9831,10 +9831,10 @@ - + - + @@ -9850,10 +9850,10 @@ - + - + @@ -9875,10 +9875,10 @@ - + - + @@ -9900,10 +9900,10 @@ - + - + @@ -9917,10 +9917,10 @@ - + - + @@ -9933,10 +9933,10 @@ - + - + @@ -9953,10 +9953,10 @@ - + - + @@ -9978,10 +9978,10 @@ - + - + @@ -10003,10 +10003,10 @@ - + - + @@ -10020,10 +10020,10 @@ - + - + @@ -10036,10 +10036,10 @@ - + - + @@ -10055,7 +10055,7 @@ - + @@ -10084,7 +10084,7 @@ - + @@ -10113,7 +10113,7 @@ - + @@ -10133,7 +10133,7 @@ - + @@ -10153,7 +10153,7 @@ - + @@ -10205,7 +10205,7 @@ - + @@ -10247,7 +10247,7 @@ - + @@ -10282,7 +10282,7 @@ - + @@ -10318,7 +10318,7 @@ - + @@ -10354,7 +10354,7 @@ - + @@ -10374,7 +10374,7 @@ - + @@ -10394,7 +10394,7 @@ - + @@ -10476,10 +10476,10 @@ - + - + @@ -10494,10 +10494,10 @@ - + - + @@ -10505,10 +10505,10 @@ - + - + @@ -10516,10 +10516,10 @@ - + - + @@ -10541,10 +10541,10 @@ - + - + @@ -10556,10 +10556,10 @@ - + - + @@ -10575,10 +10575,10 @@ - + - + @@ -10593,10 +10593,10 @@ - + - + @@ -10604,10 +10604,10 @@ - + - + @@ -10615,10 +10615,10 @@ - + - + @@ -10640,10 +10640,10 @@ - + - + @@ -10654,10 +10654,10 @@ - + - + @@ -10679,10 +10679,10 @@ - + - + @@ -10704,10 +10704,10 @@ - + - + @@ -10719,10 +10719,10 @@ - + - + @@ -10744,10 +10744,10 @@ - + - + @@ -10755,10 +10755,10 @@ - + - + @@ -10784,10 +10784,10 @@ - + - + @@ -10850,10 +10850,10 @@ - + - + @@ -10868,10 +10868,10 @@ - + - + @@ -10879,10 +10879,10 @@ - + - + @@ -10890,10 +10890,10 @@ - + - + @@ -10915,10 +10915,10 @@ - + - + @@ -10930,10 +10930,10 @@ - + - + @@ -10949,10 +10949,10 @@ - + - + @@ -10967,10 +10967,10 @@ - + - + @@ -10978,10 +10978,10 @@ - + - + @@ -10989,10 +10989,10 @@ - + - + @@ -11014,10 +11014,10 @@ - + - + @@ -11028,10 +11028,10 @@ - + - + @@ -11053,10 +11053,10 @@ - + - + @@ -11078,10 +11078,10 @@ - + - + @@ -11093,10 +11093,10 @@ - + - + @@ -11118,10 +11118,10 @@ - + - + @@ -11129,10 +11129,10 @@ - + - + @@ -11158,10 +11158,10 @@ - + - + @@ -11224,10 +11224,10 @@ - + - + @@ -11242,10 +11242,10 @@ - + - + @@ -11253,10 +11253,10 @@ - + - + @@ -11264,10 +11264,10 @@ - + - + @@ -11289,10 +11289,10 @@ - + - + @@ -11311,10 +11311,10 @@ - + - + @@ -11330,10 +11330,10 @@ - + - + @@ -11348,10 +11348,10 @@ - + - + @@ -11359,10 +11359,10 @@ - + - + @@ -11370,10 +11370,10 @@ - + - + @@ -11395,10 +11395,10 @@ - + - + @@ -11416,10 +11416,10 @@ - + - + @@ -11441,10 +11441,10 @@ - + - + @@ -11466,10 +11466,10 @@ - + - + @@ -11487,10 +11487,10 @@ - + - + @@ -11512,10 +11512,10 @@ - + - + @@ -11523,10 +11523,10 @@ - + - + @@ -11534,10 +11534,10 @@ - + - + @@ -11602,10 +11602,10 @@ - + - + @@ -11620,10 +11620,10 @@ - + - + @@ -11631,10 +11631,10 @@ - + - + @@ -11642,10 +11642,10 @@ - + - + @@ -11667,10 +11667,10 @@ - + - + @@ -11682,10 +11682,10 @@ - + - + @@ -11701,10 +11701,10 @@ - + - + @@ -11719,10 +11719,10 @@ - + - + @@ -11730,10 +11730,10 @@ - + - + @@ -11741,10 +11741,10 @@ - + - + @@ -11766,10 +11766,10 @@ - + - + @@ -11780,10 +11780,10 @@ - + - + @@ -11805,10 +11805,10 @@ - + - + @@ -11830,10 +11830,10 @@ - + - + @@ -11845,10 +11845,10 @@ - + - + @@ -11870,10 +11870,10 @@ - + - + @@ -11881,10 +11881,10 @@ - + - + @@ -11910,10 +11910,10 @@ - + - + @@ -11976,10 +11976,10 @@ - + - + @@ -11994,10 +11994,10 @@ - + - + @@ -12005,10 +12005,10 @@ - + - + @@ -12016,10 +12016,10 @@ - + - + @@ -12041,10 +12041,10 @@ - + - + @@ -12066,10 +12066,10 @@ - + - + @@ -12084,10 +12084,10 @@ - + - + @@ -12095,10 +12095,10 @@ - + - + @@ -12106,10 +12106,10 @@ - + - + @@ -12131,10 +12131,10 @@ - + - + @@ -12147,10 +12147,10 @@ - + - + @@ -12172,10 +12172,10 @@ - + - + @@ -12197,10 +12197,10 @@ - + - + @@ -12216,10 +12216,10 @@ - + - + @@ -12241,10 +12241,10 @@ - + - + @@ -12252,10 +12252,10 @@ - + - + @@ -12286,10 +12286,10 @@ - + - + @@ -12304,10 +12304,10 @@ - + - + @@ -12315,10 +12315,10 @@ - + - + @@ -12326,10 +12326,10 @@ - + - + @@ -12351,10 +12351,10 @@ - + - + @@ -12365,10 +12365,10 @@ - + - + @@ -12390,10 +12390,10 @@ - + - + @@ -12415,10 +12415,10 @@ - + - + @@ -12430,10 +12430,10 @@ - + - + @@ -12455,10 +12455,10 @@ - + - + @@ -12466,10 +12466,10 @@ - + - + @@ -12495,10 +12495,10 @@ - + - + @@ -12516,10 +12516,10 @@ - + - + @@ -12534,10 +12534,10 @@ - + - + @@ -12545,10 +12545,10 @@ - + - + @@ -12556,10 +12556,10 @@ - + - + @@ -12581,10 +12581,10 @@ - + - + @@ -12595,10 +12595,10 @@ - + - + @@ -12620,10 +12620,10 @@ - + - + @@ -12645,10 +12645,10 @@ - + - + @@ -12660,10 +12660,10 @@ - + - + @@ -12685,10 +12685,10 @@ - + - + @@ -12696,10 +12696,10 @@ - + - + @@ -12725,10 +12725,10 @@ - + - + @@ -12746,10 +12746,10 @@ - + - + @@ -12764,10 +12764,10 @@ - + - + @@ -12775,10 +12775,10 @@ - + - + @@ -12786,10 +12786,10 @@ - + - + @@ -12811,10 +12811,10 @@ - + - + @@ -12832,10 +12832,10 @@ - + - + @@ -12857,10 +12857,10 @@ - + - + @@ -12882,10 +12882,10 @@ - + - + @@ -12903,10 +12903,10 @@ - + - + @@ -12928,10 +12928,10 @@ - + - + @@ -12939,10 +12939,10 @@ - + - + @@ -12950,10 +12950,10 @@ - + - + @@ -12973,10 +12973,10 @@ - + - + @@ -12991,10 +12991,10 @@ - + - + @@ -13002,10 +13002,10 @@ - + - + @@ -13013,10 +13013,10 @@ - + - + @@ -13038,10 +13038,10 @@ - + - + @@ -13052,10 +13052,10 @@ - + - + @@ -13077,10 +13077,10 @@ - + - + @@ -13102,10 +13102,10 @@ - + - + @@ -13117,10 +13117,10 @@ - + - + @@ -13142,10 +13142,10 @@ - + - + @@ -13153,10 +13153,10 @@ - + - + @@ -13182,10 +13182,10 @@ - + - + @@ -13203,10 +13203,10 @@ - + - + @@ -13221,10 +13221,10 @@ - + - + @@ -13232,10 +13232,10 @@ - + - + @@ -13243,10 +13243,10 @@ - + - + @@ -13268,10 +13268,10 @@ - + - + @@ -13284,10 +13284,10 @@ - + - + @@ -13309,10 +13309,10 @@ - + - + @@ -13334,10 +13334,10 @@ - + - + @@ -13353,10 +13353,10 @@ - + - + @@ -13378,10 +13378,10 @@ - + - + @@ -13389,10 +13389,10 @@ - + - + @@ -13408,10 +13408,10 @@ - + - + @@ -13419,10 +13419,10 @@ - + - + @@ -13431,10 +13431,10 @@ - + - + @@ -13442,10 +13442,10 @@ - + - + @@ -13456,10 +13456,10 @@ - + - + @@ -13474,10 +13474,10 @@ - + - + @@ -13485,10 +13485,10 @@ - + - + @@ -13496,10 +13496,10 @@ - + - + @@ -13521,10 +13521,10 @@ - + - + @@ -13535,10 +13535,10 @@ - + - + @@ -13560,10 +13560,10 @@ - + - + @@ -13585,10 +13585,10 @@ - + - + @@ -13600,10 +13600,10 @@ - + - + @@ -13625,10 +13625,10 @@ - + - + @@ -13636,10 +13636,10 @@ - + - + @@ -13665,10 +13665,10 @@ - + - + @@ -13682,10 +13682,10 @@ - + - + @@ -13700,10 +13700,10 @@ - + - + @@ -13711,10 +13711,10 @@ - + - + @@ -13722,10 +13722,10 @@ - + - + @@ -13747,10 +13747,10 @@ - + - + @@ -13761,10 +13761,10 @@ - + - + @@ -13786,10 +13786,10 @@ - + - + @@ -13811,10 +13811,10 @@ - + - + @@ -13826,10 +13826,10 @@ - + - + @@ -13851,10 +13851,10 @@ - + - + @@ -13862,10 +13862,10 @@ - + - + @@ -13891,10 +13891,10 @@ - + - + @@ -13908,10 +13908,10 @@ - + - + @@ -13926,10 +13926,10 @@ - + - + @@ -13937,10 +13937,10 @@ - + - + @@ -13948,10 +13948,10 @@ - + - + @@ -13973,10 +13973,10 @@ - + - + @@ -13994,10 +13994,10 @@ - + - + @@ -14019,10 +14019,10 @@ - + - + @@ -14044,10 +14044,10 @@ - + - + @@ -14065,10 +14065,10 @@ - + - + @@ -14090,10 +14090,10 @@ - + - + @@ -14101,10 +14101,10 @@ - + - + @@ -14112,10 +14112,10 @@ - + - + @@ -14131,10 +14131,10 @@ - + - + @@ -14149,10 +14149,10 @@ - + - + @@ -14160,10 +14160,10 @@ - + - + @@ -14171,10 +14171,10 @@ - + - + @@ -14196,10 +14196,10 @@ - + - + @@ -14210,10 +14210,10 @@ - + - + @@ -14235,10 +14235,10 @@ - + - + @@ -14260,10 +14260,10 @@ - + - + @@ -14275,10 +14275,10 @@ - + - + @@ -14300,10 +14300,10 @@ - + - + @@ -14311,10 +14311,10 @@ - + - + @@ -14340,10 +14340,10 @@ - + - + @@ -14357,10 +14357,10 @@ - + - + @@ -14375,10 +14375,10 @@ - + - + @@ -14386,10 +14386,10 @@ - + - + @@ -14397,10 +14397,10 @@ - + - + @@ -14422,10 +14422,10 @@ - + - + @@ -14438,10 +14438,10 @@ - + - + @@ -14463,10 +14463,10 @@ - + - + @@ -14488,10 +14488,10 @@ - + - + @@ -14507,10 +14507,10 @@ - + - + @@ -14532,10 +14532,10 @@ - + - + @@ -14543,10 +14543,10 @@ - + - + @@ -14562,10 +14562,10 @@ - + - + @@ -14580,10 +14580,10 @@ - + - + @@ -14591,10 +14591,10 @@ - + - + @@ -14602,10 +14602,10 @@ - + - + @@ -14627,10 +14627,10 @@ - + - + @@ -14642,10 +14642,10 @@ - + - + @@ -14659,10 +14659,10 @@ - + - + @@ -14677,10 +14677,10 @@ - + - + @@ -14688,10 +14688,10 @@ - + - + @@ -14699,10 +14699,10 @@ - + - + @@ -14724,10 +14724,10 @@ - + - + @@ -14739,10 +14739,10 @@ - + - + @@ -14756,10 +14756,10 @@ - + - + @@ -14774,10 +14774,10 @@ - + - + @@ -14785,10 +14785,10 @@ - + - + @@ -14796,10 +14796,10 @@ - + - + @@ -14821,10 +14821,10 @@ - + - + @@ -14843,10 +14843,10 @@ - + - + @@ -14860,10 +14860,10 @@ - + - + @@ -14878,10 +14878,10 @@ - + - + @@ -14889,10 +14889,10 @@ - + - + @@ -14900,10 +14900,10 @@ - + - + @@ -14925,10 +14925,10 @@ - + - + @@ -14940,10 +14940,10 @@ - + - + @@ -14957,10 +14957,10 @@ - + - + @@ -14975,10 +14975,10 @@ - + - + @@ -14986,10 +14986,10 @@ - + - + @@ -14997,10 +14997,10 @@ - + - + @@ -15022,10 +15022,10 @@ - + - + @@ -15043,10 +15043,10 @@ - + - + @@ -15061,10 +15061,10 @@ - + - + @@ -15072,10 +15072,10 @@ - + - + @@ -15083,10 +15083,10 @@ - + - + @@ -15108,10 +15108,10 @@ - + - + @@ -15123,10 +15123,10 @@ - + - + @@ -15136,10 +15136,10 @@ - + - + @@ -15154,10 +15154,10 @@ - + - + @@ -15165,10 +15165,10 @@ - + - + @@ -15176,10 +15176,10 @@ - + - + @@ -15201,10 +15201,10 @@ - + - + @@ -15216,10 +15216,10 @@ - + - + @@ -15229,10 +15229,10 @@ - + - + @@ -15247,10 +15247,10 @@ - + - + @@ -15258,10 +15258,10 @@ - + - + @@ -15269,10 +15269,10 @@ - + - + @@ -15294,10 +15294,10 @@ - + - + @@ -15316,10 +15316,10 @@ - + - + @@ -15329,10 +15329,10 @@ - + - + @@ -15347,10 +15347,10 @@ - + - + @@ -15358,10 +15358,10 @@ - + - + @@ -15369,10 +15369,10 @@ - + - + @@ -15394,10 +15394,10 @@ - + - + @@ -15409,10 +15409,10 @@ - + - + @@ -15422,10 +15422,10 @@ - + - + @@ -15440,10 +15440,10 @@ - + - + @@ -15451,10 +15451,10 @@ - + - + @@ -15462,10 +15462,10 @@ - + - + @@ -15487,10 +15487,10 @@ - + - + @@ -15510,10 +15510,10 @@ - + - + @@ -15527,10 +15527,10 @@ - + - + @@ -15549,10 +15549,10 @@ - + - + @@ -15566,10 +15566,10 @@ - + - + @@ -15616,10 +15616,10 @@ - + - + @@ -15641,10 +15641,10 @@ - + - + @@ -15670,10 +15670,10 @@ - + - + @@ -15695,10 +15695,10 @@ - + - + @@ -15728,10 +15728,10 @@ - + - + @@ -15753,10 +15753,10 @@ - + - + @@ -15782,10 +15782,10 @@ - + - + @@ -15807,10 +15807,10 @@ - + - + @@ -15850,7 +15850,7 @@ - + @@ -15861,7 +15861,7 @@ - + @@ -15879,7 +15879,7 @@ - + @@ -15904,7 +15904,7 @@ - + @@ -15928,7 +15928,7 @@ - + @@ -15953,7 +15953,7 @@ - + @@ -15976,10 +15976,10 @@ - + - + @@ -15987,10 +15987,10 @@ - + - + @@ -16012,10 +16012,10 @@ - + - + @@ -16053,10 +16053,10 @@ - + - + @@ -16078,10 +16078,10 @@ - + - + @@ -16105,10 +16105,10 @@ - + - + @@ -16134,10 +16134,10 @@ - + - + @@ -16159,10 +16159,10 @@ - + - + @@ -16188,10 +16188,10 @@ - + - + @@ -16213,10 +16213,10 @@ - + - + @@ -16244,10 +16244,10 @@ - + - + @@ -16269,10 +16269,10 @@ - + - + @@ -16298,10 +16298,10 @@ - + - + @@ -16323,10 +16323,10 @@ - + - + @@ -16367,10 +16367,10 @@ - + - + @@ -16384,10 +16384,10 @@ - + - + @@ -16442,10 +16442,10 @@ - + - + @@ -16460,10 +16460,10 @@ - + - + @@ -16471,10 +16471,10 @@ - + - + @@ -16482,10 +16482,10 @@ - + - + @@ -16507,10 +16507,10 @@ - + - + @@ -16529,10 +16529,10 @@ - + - + @@ -16548,10 +16548,10 @@ - + - + @@ -16566,10 +16566,10 @@ - + - + @@ -16577,10 +16577,10 @@ - + - + @@ -16588,10 +16588,10 @@ - + - + @@ -16613,10 +16613,10 @@ - + - + @@ -16634,10 +16634,10 @@ - + - + @@ -16659,10 +16659,10 @@ - + - + @@ -16684,10 +16684,10 @@ - + - + @@ -16705,10 +16705,10 @@ - + - + @@ -16730,10 +16730,10 @@ - + - + @@ -16741,10 +16741,10 @@ - + - + @@ -16752,10 +16752,10 @@ - + - + @@ -16895,10 +16895,10 @@ - + - + @@ -16906,10 +16906,10 @@ - + - + @@ -16919,10 +16919,10 @@ - + - + @@ -16932,10 +16932,10 @@ - + - + @@ -16955,10 +16955,10 @@ - + - + @@ -16970,10 +16970,10 @@ - + - + @@ -16984,10 +16984,10 @@ - + - + @@ -16999,10 +16999,10 @@ - + - + @@ -17018,10 +17018,10 @@ - + - + @@ -17043,10 +17043,10 @@ - + - + @@ -17068,10 +17068,10 @@ - + - + @@ -17137,10 +17137,10 @@ - + - + @@ -17162,10 +17162,10 @@ - + - + @@ -17187,10 +17187,10 @@ - + - + @@ -17204,10 +17204,10 @@ - + - + @@ -17220,10 +17220,10 @@ - + - + @@ -17244,10 +17244,10 @@ - + - + @@ -17269,10 +17269,10 @@ - + - + @@ -17294,10 +17294,10 @@ - + - + @@ -17319,10 +17319,10 @@ - + - + @@ -17333,10 +17333,10 @@ - + - + @@ -17348,10 +17348,10 @@ - + - + @@ -17419,7 +17419,7 @@ - + @@ -17461,7 +17461,7 @@ - + @@ -17526,10 +17526,10 @@ - + - + @@ -17551,10 +17551,10 @@ - + - + @@ -17580,10 +17580,10 @@ - + - + @@ -17605,10 +17605,10 @@ - + - + @@ -17638,10 +17638,10 @@ - + - + @@ -17663,10 +17663,10 @@ - + - + @@ -17692,10 +17692,10 @@ - + - + @@ -17717,10 +17717,10 @@ - + - + @@ -17760,7 +17760,7 @@ - + @@ -17771,7 +17771,7 @@ - + @@ -17789,7 +17789,7 @@ - + @@ -17814,7 +17814,7 @@ - + @@ -17838,7 +17838,7 @@ - + @@ -17863,7 +17863,7 @@ - + @@ -17886,10 +17886,10 @@ - + - + @@ -17897,10 +17897,10 @@ - + - + @@ -17922,10 +17922,10 @@ - + - + @@ -17967,10 +17967,10 @@ - + - + @@ -18016,10 +18016,10 @@ - + - + @@ -18034,10 +18034,10 @@ - + - + @@ -18045,10 +18045,10 @@ - + - + @@ -18056,10 +18056,10 @@ - + - + @@ -18081,10 +18081,10 @@ - + - + @@ -18106,10 +18106,10 @@ - + - + @@ -18124,10 +18124,10 @@ - + - + @@ -18135,10 +18135,10 @@ - + - + @@ -18146,10 +18146,10 @@ - + - + @@ -18171,10 +18171,10 @@ - + - + @@ -18187,10 +18187,10 @@ - + - + @@ -18212,10 +18212,10 @@ - + - + @@ -18237,10 +18237,10 @@ - + - + @@ -18256,10 +18256,10 @@ - + - + @@ -18281,10 +18281,10 @@ - + - + @@ -18292,10 +18292,10 @@ - + - + @@ -18311,10 +18311,10 @@ - + - + @@ -18327,30 +18327,30 @@ - + - + - + - + - + - + @@ -18418,7 +18418,7 @@ - + @@ -18454,7 +18454,7 @@ - + @@ -18520,7 +18520,7 @@ - + @@ -18572,10 +18572,10 @@ - + - + @@ -18583,10 +18583,10 @@ - + - + @@ -18596,10 +18596,10 @@ - + - + @@ -18609,10 +18609,10 @@ - + - + @@ -18632,10 +18632,10 @@ - + - + @@ -18647,10 +18647,10 @@ - + - + @@ -18661,10 +18661,10 @@ - + - + @@ -18676,10 +18676,10 @@ - + - + @@ -18695,10 +18695,10 @@ - + - + @@ -18720,10 +18720,10 @@ - + - + @@ -18745,10 +18745,10 @@ - + - + @@ -18783,10 +18783,10 @@ - + - + @@ -18801,10 +18801,10 @@ - + - + @@ -18814,10 +18814,10 @@ - + - + @@ -18842,7 +18842,7 @@ - + @@ -18861,10 +18861,10 @@ - + - + @@ -18892,7 +18892,7 @@ - + @@ -18914,7 +18914,7 @@ - + @@ -18968,7 +18968,7 @@ - + @@ -19010,7 +19010,7 @@ - + @@ -19059,7 +19059,7 @@ - + @@ -19083,7 +19083,7 @@ - + @@ -19110,7 +19110,7 @@ - + @@ -19122,7 +19122,7 @@ - + @@ -19157,7 +19157,7 @@ - + @@ -19218,7 +19218,7 @@ - + @@ -19253,7 +19253,7 @@ - + @@ -19276,7 +19276,7 @@ - + @@ -19333,7 +19333,7 @@ - + @@ -19343,7 +19343,7 @@ - + @@ -19366,7 +19366,7 @@ - + @@ -19438,7 +19438,7 @@ - + @@ -19468,7 +19468,7 @@ - + @@ -19513,7 +19513,7 @@ - + @@ -19530,7 +19530,7 @@ - + @@ -19562,7 +19562,7 @@ - + @@ -19786,7 +19786,7 @@ - + @@ -19920,8 +19920,8 @@ - - + + @@ -20087,8 +20087,8 @@ - - + + diff --git a/vars.xml b/vars.xml index 82ba255..6933ce8 100644 --- a/vars.xml +++ b/vars.xml @@ -1,46 +1,10 @@ - + true true - asdasjjjjj - pt_uint8 - t_iq7 - t_iq_none - int - Src/myXilinx/x_example_all.c - false - false - - - false - true - asdasd - pt_int32 - t_iq_none - t_iq_none - int - Src/myXilinx/x_example_all.c - false - false - - - false - true - ADC1finish - pt_int16 - t_iq_none - t_iq_none - int - Src/myXilinx/x_example_all.c - false - false - - - false - true - ADC1startAddr + ADC1StrAdr pt_int16 t_iq_none t_iq_none @@ -51,11 +15,11 @@ false - true + false ADC2finishAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -63,11 +27,11 @@ false - true + false ADC2startAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -75,11 +39,11 @@ false - true + false ADC_f pt_arr_int16 t_iq_none - t_iq_none + int int[2][16] Src/main/adc_tools.c false @@ -87,11 +51,11 @@ false - true + false ADC_sf pt_arr_int16 t_iq_none - t_iq_none + int int[2][16] Src/main/adc_tools.c false @@ -99,11 +63,11 @@ false - true + false ADDR_FOR_ALL pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/RS_Functions.c false @@ -111,11 +75,11 @@ false - true + false BUSY pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/CAN_Setup.c false @@ -135,11 +99,11 @@ false - true + false CAN_answer_wait pt_arr_int16 t_iq_none - t_iq_none + int int[32] Src/myLibs/CAN_Setup.c false @@ -147,11 +111,11 @@ false - true + false CAN_count_cycle_input_units pt_arr_int16 t_iq_none - t_iq_none + int int[8] Src/myLibs/CAN_Setup.c false @@ -159,11 +123,11 @@ false - true + false CAN_no_answer pt_arr_int16 t_iq_none - t_iq_none + int int[32] Src/myLibs/CAN_Setup.c false @@ -171,11 +135,11 @@ false - true + false CAN_refresh_cicle pt_arr_int16 t_iq_none - t_iq_none + int int[32] Src/myLibs/CAN_Setup.c false @@ -183,11 +147,11 @@ false - true + false CAN_request_sent pt_arr_int16 t_iq_none - t_iq_none + int int[32] Src/myLibs/CAN_Setup.c false @@ -195,11 +159,11 @@ false - true + false CAN_timeout pt_arr_int16 t_iq_none - t_iq_none + int int[32] Src/myLibs/CAN_Setup.c false @@ -207,11 +171,11 @@ false - true + false CAN_timeout_cicle pt_arr_int16 t_iq_none - t_iq_none + int int[32] Src/myLibs/CAN_Setup.c false @@ -219,11 +183,11 @@ false - true + false CNTRL_ADDR pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/RS_Functions.c false @@ -231,11 +195,11 @@ false - true + false CNTRL_ADDR_UNIVERSAL pt_int16 t_iq_none - t_iq_none + int const int Src/myXilinx/RS_Functions.c false @@ -243,11 +207,11 @@ false - true + false CONST_15 pt_int32 t_iq - t_iq_none + int _iq Src/myLibs/mathlib.c false @@ -255,11 +219,11 @@ false - true + false CONST_23 pt_int32 t_iq - t_iq_none + int _iq Src/myLibs/mathlib.c false @@ -267,11 +231,11 @@ false - true + false CanOpenUnites pt_arr_int16 t_iq_none - t_iq_none + int int[30] Src/myLibs/CAN_Setup.c false @@ -279,11 +243,11 @@ false - true + false CanTimeOutErrorTR pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/CAN_Setup.c false @@ -303,11 +267,11 @@ false - true + false Dpwm pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTMSHandle.c false @@ -315,11 +279,11 @@ false - true + false Dpwm2 pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTMSHandle.c false @@ -327,11 +291,11 @@ false - true + false Dpwm4 pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTMSHandle.c false @@ -339,11 +303,11 @@ false - true + false EvaTimer1InterruptCount pt_int16 t_iq_none - t_iq_none + int int Src/main/281xEvTimersInit.c false @@ -351,11 +315,11 @@ false - true + false EvaTimer2InterruptCount pt_int16 t_iq_none - t_iq_none + int int Src/main/281xEvTimersInit.c false @@ -363,11 +327,11 @@ false - true + false EvbTimer3InterruptCount pt_int16 t_iq_none - t_iq_none + int int Src/main/281xEvTimersInit.c false @@ -375,11 +339,11 @@ false - true + false EvbTimer4InterruptCount pt_int16 t_iq_none - t_iq_none + int int Src/main/281xEvTimersInit.c false @@ -387,11 +351,11 @@ false - true + false Fpwm pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTMSHandle.c false @@ -399,11 +363,11 @@ false - true + false Gott pt_arr_int8 t_iq_none - t_iq_none + int char[8][16] Src/myLibs/bender.c false @@ -411,11 +375,11 @@ false - true + false IN0finishAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -423,11 +387,11 @@ false - true + false IN0startAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -435,11 +399,11 @@ false - true + false IN1finishAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -447,11 +411,11 @@ false - true + false IN1startAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -459,11 +423,11 @@ false - true + false IN2finishAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -471,11 +435,11 @@ false - true + false IN2startAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -483,11 +447,11 @@ false - true + false IQ_OUT_NOM pt_float t_iq_none - t_iq_none + int float Src/main/params_i_out.c false @@ -495,11 +459,11 @@ false - true + false I_OUT_1_6_NOMINAL_IQ pt_int32 t_iq_none - t_iq_none + int long Src/main/params_i_out.c false @@ -507,11 +471,11 @@ false - true + false I_OUT_1_8_NOMINAL_IQ pt_int32 t_iq_none - t_iq_none + int long Src/main/params_i_out.c false @@ -519,11 +483,11 @@ false - true + false I_OUT_NOMINAL pt_float t_iq_none - t_iq_none + int float Src/main/params_i_out.c false @@ -531,11 +495,11 @@ false - true + false I_OUT_NOMINAL_IQ pt_int32 t_iq_none - t_iq_none + int long Src/main/params_i_out.c false @@ -543,11 +507,11 @@ false - true + false I_ZPT_NOMINAL_IQ pt_int32 t_iq_none - t_iq_none + int long Src/main/params_i_out.c false @@ -555,11 +519,11 @@ false - true + false Id_out_max_full pt_int32 t_iq - t_iq_none + int _iq Src/VectorControl/regul_power.c false @@ -567,11 +531,11 @@ false - true + false Id_out_max_low_speed pt_int32 t_iq - t_iq_none + int _iq Src/VectorControl/regul_power.c false @@ -579,11 +543,11 @@ false - true + false Iq_out_max pt_int32 t_iq - t_iq_none + int _iq Src/main/params_i_out.c false @@ -591,11 +555,11 @@ false - true + false Iq_out_nom pt_int32 t_iq - t_iq_none + int _iq Src/main/params_i_out.c false @@ -603,11 +567,11 @@ false - true + false K_LEM_ADC pt_arr_uint32 t_iq_none - t_iq_none + int const unsigned long[20] Src/main/adc_tools.c false @@ -615,11 +579,11 @@ false - true + false KmodTerm pt_float t_iq_none - t_iq_none + int float Src/myXilinx/RS_Functions.c false @@ -627,11 +591,11 @@ false - true + false ROTfinishAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -639,11 +603,11 @@ false - true + false RS_Len pt_arr_uint16 t_iq_none - t_iq_none + int unsigned int[70] Src/myXilinx/RS_Functions.c false @@ -651,11 +615,11 @@ false - true + false R_ADC pt_arr_uint16 t_iq_none - t_iq_none + int const unsigned int[20] Src/main/adc_tools.c false @@ -663,11 +627,11 @@ false - true + false RotPlaneStartAddr pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/x_example_all.c false @@ -675,11 +639,11 @@ false - true + false SQRT_32 pt_int32 t_iq - t_iq_none + int _iq Src/myLibs/mathlib.c false @@ -687,11 +651,11 @@ false - true + false Unites pt_arr_int16 t_iq_none - t_iq_none + int int[8][128] Src/myLibs/CAN_Setup.c false @@ -699,11 +663,11 @@ false - true + false VAR_FREQ_PWM_XTICS pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTools.c false @@ -711,11 +675,11 @@ false - true + false VAR_PERIOD_MAX_XTICS pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTools.c false @@ -723,11 +687,11 @@ false - true + false VAR_PERIOD_MIN_BR_XTICS pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTools.c false @@ -735,11 +699,11 @@ false - true + false VAR_PERIOD_MIN_XTICS pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTools.c false @@ -747,11 +711,11 @@ false - true + false Zpwm pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTMSHandle.c false @@ -783,11 +747,11 @@ false - true + false adr_read_from_modbus3 pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myXilinx/RS_Functions_modbus.c false @@ -831,11 +795,11 @@ false - true + false ar_sa_all pt_arr_int16 t_iq_none - t_iq_none + int int[3][6][4][7] Src/main/v_pwm24.c false @@ -843,11 +807,11 @@ false - true + false ar_tph pt_int32 t_iq - t_iq_none + int _iq[7] Src/main/v_pwm24.c false @@ -855,11 +819,11 @@ false - true + false biTemperatureLimits pt_arr_int16 t_iq_none - t_iq_none + int int[12] Src/main/init_protect_levels.c false @@ -867,11 +831,11 @@ false - true + false biTemperatureWarnings pt_arr_int16 t_iq_none - t_iq_none + int int[12] Src/main/init_protect_levels.c false @@ -879,11 +843,11 @@ false - true + false block_size_counter_fast pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -891,11 +855,11 @@ false - true + false block_size_counter_slow pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -903,11 +867,11 @@ false - true + false break_result_1 pt_int32 t_iq - t_iq_none + int _iq Src/main/break_regul.c false @@ -915,11 +879,11 @@ false - true + false break_result_2 pt_int32 t_iq - t_iq_none + int _iq Src/main/break_regul.c false @@ -927,11 +891,11 @@ false - true + false break_result_3 pt_int32 t_iq - t_iq_none + int _iq Src/main/break_regul.c false @@ -939,11 +903,11 @@ false - true + false break_result_4 pt_int32 t_iq - t_iq_none + int _iq Src/main/break_regul.c false @@ -951,11 +915,11 @@ false - true + false bvTemperatureLimits pt_arr_int16 t_iq_none - t_iq_none + int int[12] Src/main/init_protect_levels.c false @@ -963,11 +927,11 @@ false - true + false bvTemperatureWarnings pt_arr_int16 t_iq_none - t_iq_none + int int[12] Src/main/init_protect_levels.c false @@ -987,11 +951,11 @@ false - true + false c_s pt_int32 t_iq_none - t_iq_none + int long Src/main/rotation_speed.c false @@ -999,11 +963,11 @@ false - true + false calibration1 pt_int16 t_iq_none - t_iq_none + int int Src/main/isolation.c false @@ -1011,11 +975,11 @@ false - true + false calibration2 pt_int16 t_iq_none - t_iq_none + int int Src/main/isolation.c false @@ -1047,11 +1011,11 @@ false - true + false capnum0 pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/sync_tools.c false @@ -1059,11 +1023,11 @@ false - true + false capnum1 pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/sync_tools.c false @@ -1071,11 +1035,11 @@ false - true + false capnum2 pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/sync_tools.c false @@ -1083,11 +1047,11 @@ false - true + false capnum3 pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/sync_tools.c false @@ -1095,11 +1059,11 @@ false - true + false chNum pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myXilinx/x_example_all.c false @@ -1131,11 +1095,11 @@ false - true + false cmd_3_or_16 pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/RS_Functions_modbus.c false @@ -1143,11 +1107,11 @@ false - true + false cmd_crc pt_arr_int8 t_iq_none - t_iq_none + int char[4] Src/myLibs/bender.c false @@ -1155,11 +1119,11 @@ false - true + false cmd_finish1 pt_int8 t_iq_none - t_iq_none + int char Src/myLibs/bender.c false @@ -1167,11 +1131,11 @@ false - true + false cmd_finish2 pt_int8 t_iq_none - t_iq_none + int char Src/myLibs/bender.c false @@ -1179,11 +1143,11 @@ false - true + false cmd_start pt_arr_int8 t_iq_none - t_iq_none + int char[5] Src/myLibs/bender.c false @@ -1191,11 +1155,11 @@ false - true + false cmd_txt pt_arr_int8 t_iq_none - t_iq_none + int char[4][8] Src/myLibs/bender.c false @@ -1203,11 +1167,11 @@ false - true + false compress_size pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/alarm_log_can.c false @@ -1239,11 +1203,11 @@ false - true + false count_error_sync pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/sync_tools.c false @@ -1251,11 +1215,11 @@ false - true + false count_modbus_table_changed pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_fill_table.c false @@ -1263,11 +1227,11 @@ false - true + false count_run_pch pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTools.c false @@ -1275,11 +1239,11 @@ false - true + false counterSBWriteErrors pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myXilinx/x_serial_bus.c false @@ -1287,11 +1251,11 @@ false - true + false crc_16_tab pt_arr_uint16 t_iq_none - t_iq_none + int WORD[256] Src/myXilinx/CRC_Functions.c false @@ -1299,11 +1263,11 @@ false - true + false crypt pt_arr_int8 t_iq_none - t_iq_none + int char[34] Src/myLibs/bender.c false @@ -1311,11 +1275,11 @@ false - true + false cur_position_buf_modbus16 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/message_modbus.c false @@ -1323,11 +1287,11 @@ false - true + false cur_position_buf_modbus16_can pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/message_modbus.c false @@ -1335,11 +1299,11 @@ false - true + false cur_position_buf_modbus3 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/message_modbus.c false @@ -1359,11 +1323,11 @@ false - true + false data_to_umu1_7f pt_int16 t_iq_none - t_iq_none + int int Src/main/init_protect_levels.c false @@ -1371,11 +1335,11 @@ false - true + false data_to_umu1_8 pt_int16 t_iq_none - t_iq_none + int int Src/main/init_protect_levels.c false @@ -1383,11 +1347,11 @@ false - true + false data_to_umu2_7f pt_int16 t_iq_none - t_iq_none + int int Src/main/init_protect_levels.c false @@ -1395,11 +1359,11 @@ false - true + false data_to_umu2_8 pt_int16 t_iq_none - t_iq_none + int int Src/main/init_protect_levels.c false @@ -1407,11 +1371,11 @@ false - true + false delta_capnum pt_int16 t_iq_none - t_iq_none + int int Src/main/sync_tools.c false @@ -1419,11 +1383,11 @@ false - true + false delta_error pt_int16 t_iq_none - t_iq_none + int int Src/main/sync_tools.c false @@ -1455,11 +1419,11 @@ false - true + false enable_can pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/message_modbus.c false @@ -1467,11 +1431,11 @@ false - true + false enable_can_recive_after_units_box pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/CAN_Setup.c false @@ -1479,11 +1443,11 @@ false - true + false err_level_adc pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -1491,11 +1455,11 @@ false - true + false err_level_adc_on_go pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -1503,11 +1467,11 @@ false - true + false err_main pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/Main.c false @@ -1515,11 +1479,11 @@ false - true + false err_modbus16 pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/RS_Functions_modbus.c false @@ -1527,11 +1491,11 @@ false - true + false err_modbus3 pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/RS_Functions_modbus.c false @@ -1563,11 +1527,11 @@ false - true + false fail pt_int16 t_iq_none - t_iq_none + int volatile int Src/myXilinx/xPeriphSP6_loader.c false @@ -1611,11 +1575,11 @@ false - true + false flag_buf pt_int16 t_iq_none - t_iq_none + int int Src/main/rotation_speed.c false @@ -1623,11 +1587,11 @@ false - true + false flag_enable_can_from_mpu pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/CAN_Setup.c false @@ -1635,11 +1599,11 @@ false - true + false flag_enable_can_from_terminal pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/CAN_Setup.c false @@ -1647,11 +1611,11 @@ false - true + false flag_on_off_pch pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTools.c false @@ -1659,11 +1623,11 @@ false - true + false flag_received_first_mess_from_MPU pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myXilinx/RS_Functions_modbus.c false @@ -1671,11 +1635,11 @@ false - true + false flag_reverse pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myLibs/modbus_read_table.c false @@ -1683,11 +1647,11 @@ false - true + false flag_send_answer_rs pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myXilinx/RS_Functions_modbus.c false @@ -1695,11 +1659,11 @@ false - true + false flag_test_tabe_filled pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_fill_table.c false @@ -1707,11 +1671,11 @@ false - true + false flag_we_int_pwm_on pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTools.c false @@ -1719,11 +1683,11 @@ false - true + false freq1 pt_int32 t_iq - t_iq_none + int _iq Src/main/PWMTools.c false @@ -1731,11 +1695,11 @@ false - true + false freqTerm pt_float t_iq_none - t_iq_none + int float Src/myXilinx/RS_Functions.c false @@ -1755,11 +1719,11 @@ false - true + false hb_logs_data pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -1767,11 +1731,11 @@ false - true + false i pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTools.c false @@ -1803,11 +1767,11 @@ false - true + false init_log pt_arr_int16 t_iq_none - t_iq_none + int int[3] Src/myLibs/log_can.c false @@ -1815,11 +1779,11 @@ false - true + false iq19_k_norm_ADC pt_int32 t_iq19 - t_iq_none + int _iq19[20] Src/main/adc_tools.c false @@ -1827,11 +1791,11 @@ false - true + false iq19_zero_ADC pt_int32 t_iq19 - t_iq_none + int _iq19[20] Src/main/adc_tools.c false @@ -1839,11 +1803,11 @@ false - true + false iq_alfa_coef pt_int32 t_iq - t_iq_none + int _iq Src/main/v_pwm24.c false @@ -1851,11 +1815,11 @@ false - true + false iq_k_norm_ADC pt_int32 t_iq - t_iq_none + int _iq[20] Src/main/adc_tools.c false @@ -1875,11 +1839,11 @@ false - true + false iq_max pt_int32 t_iq - t_iq_none + int _iq Src/myLibs/svgen_dq_v2.c false @@ -1887,11 +1851,11 @@ false - true + false iq_norm_ADC pt_int32 t_iq - t_iq_none + int _iq[20] Src/main/adc_tools.c false @@ -1923,11 +1887,11 @@ false - true + false k1 pt_int32 t_iq - t_iq_none + int _iq Src/main/PWMTools.c false @@ -1935,11 +1899,11 @@ false - true + false kI_D pt_float t_iq_none - t_iq_none + int float Src/VectorControl/pwm_vector_regul.c false @@ -1947,11 +1911,11 @@ false - true + false kI_D_Inv31 pt_float t_iq_none - t_iq_none + int float Src/VectorControl/pwm_vector_regul.c false @@ -1959,11 +1923,11 @@ false - true + false kI_Q pt_float t_iq_none - t_iq_none + int float Src/VectorControl/pwm_vector_regul.c false @@ -1971,11 +1935,11 @@ false - true + false kI_Q_Inv31 pt_float t_iq_none - t_iq_none + int float Src/VectorControl/pwm_vector_regul.c false @@ -1983,11 +1947,11 @@ false - true + false kP_D pt_float t_iq_none - t_iq_none + int float Src/VectorControl/pwm_vector_regul.c false @@ -1995,11 +1959,11 @@ false - true + false kP_D_Inv31 pt_float t_iq_none - t_iq_none + int float Src/VectorControl/pwm_vector_regul.c false @@ -2007,11 +1971,11 @@ false - true + false kP_Q pt_float t_iq_none - t_iq_none + int float Src/VectorControl/pwm_vector_regul.c false @@ -2019,11 +1983,11 @@ false - true + false kP_Q_Inv31 pt_float t_iq_none - t_iq_none + int float Src/VectorControl/pwm_vector_regul.c false @@ -2031,11 +1995,11 @@ false - true + false kan pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/bender.c false @@ -2043,11 +2007,11 @@ false - true + false koef_Base_stop_run pt_int32 t_iq - t_iq_none + int _iq Src/main/break_regul.c false @@ -2055,11 +2019,11 @@ false - true + false koef_Iabc_filter pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -2067,11 +2031,11 @@ false - true + false koef_Im_filter pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -2079,11 +2043,11 @@ false - true + false koef_Im_filter_long pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -2091,11 +2055,11 @@ false - true + false koef_K_stop_run pt_int32 t_iq - t_iq_none + int _iq Src/main/break_regul.c false @@ -2103,11 +2067,11 @@ false - true + false koef_Krecup pt_int32 t_iq - t_iq_none + int _iq Src/main/break_regul.c false @@ -2115,11 +2079,11 @@ false - true + false koef_Min_recup pt_int32 t_iq - t_iq_none + int _iq Src/main/break_regul.c false @@ -2127,11 +2091,11 @@ false - true + false koef_TemperBSU_long_filter pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -2139,11 +2103,11 @@ false - true + false koef_Ud_fast_filter pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -2151,11 +2115,11 @@ false - true + false koef_Ud_long_filter pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -2163,11 +2127,11 @@ false - true + false koef_Wlong pt_int32 t_iq - t_iq_none + int _iq Src/main/adc_tools.c false @@ -2175,11 +2139,11 @@ false - true + false koef_Wout_filter pt_int32 t_iq - t_iq_none + int _iq Src/main/rotation_speed.c false @@ -2187,11 +2151,11 @@ false - true + false koef_Wout_filter_long pt_int32 t_iq - t_iq_none + int _iq Src/main/rotation_speed.c false @@ -2199,11 +2163,11 @@ false - true + false koeff_Fs_filter pt_int32 t_iq_none - t_iq_none + int long Src/VectorControl/pwm_vector_regul.c false @@ -2211,11 +2175,11 @@ false - true + false koeff_Idq_filter pt_int32 t_iq_none - t_iq_none + int long Src/VectorControl/pwm_vector_regul.c false @@ -2223,11 +2187,11 @@ false - true + false koeff_Iq_filter pt_int32 t_iq - t_iq_none + int _iq Src/VectorControl/regul_power.c false @@ -2235,11 +2199,11 @@ false - true + false koeff_Iq_filter_slow pt_int32 t_iq_none - t_iq_none + int long Src/VectorControl/pwm_vector_regul.c false @@ -2247,11 +2211,11 @@ false - true + false koeff_Ud_filter pt_int32 t_iq_none - t_iq_none + int long Src/VectorControl/pwm_vector_regul.c false @@ -2259,11 +2223,11 @@ false - true + false koeff_Uq_filter pt_int32 t_iq_none - t_iq_none + int long Src/VectorControl/pwm_vector_regul.c false @@ -2271,11 +2235,11 @@ false - true + false kom pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/bender.c false @@ -2283,11 +2247,11 @@ false - true + false length pt_uint32 t_iq_none - t_iq_none + int volatile unsigned long Src/myXilinx/xPeriphSP6_loader.c false @@ -2295,11 +2259,11 @@ false - true + false level_on_off_break pt_int32 t_iq - t_iq_none + int _iq[13][2] Src/main/break_tools.c false @@ -2343,11 +2307,11 @@ false - true + false logbuf_sync1 pt_arr_int32 t_iq_none - t_iq_none + int long[10] Src/main/sync_tools.c false @@ -2367,11 +2331,11 @@ false - true + false mPWM_a pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTMSHandle.c false @@ -2379,11 +2343,11 @@ false - true + false mPWM_b pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTMSHandle.c false @@ -2391,11 +2355,11 @@ false - true + false m_PWM pt_int16 t_iq_none - t_iq_none + int int Src/main/PWMTMSHandle.c false @@ -2415,11 +2379,11 @@ false - true + false manufactorerAndProductID pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/xPeriphSP6_loader.c false @@ -2523,11 +2487,11 @@ false - true + false mzz_limit_100 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_read_table.c false @@ -2535,11 +2499,11 @@ false - true + false mzz_limit_1000 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_read_table.c false @@ -2547,11 +2511,11 @@ false - true + false mzz_limit_1100 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_read_table.c false @@ -2559,11 +2523,11 @@ false - true + false mzz_limit_1200 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_read_table.c false @@ -2571,11 +2535,11 @@ false - true + false mzz_limit_1400 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_read_table.c false @@ -2583,11 +2547,11 @@ false - true + false mzz_limit_1500 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_read_table.c false @@ -2595,11 +2559,11 @@ false - true + false mzz_limit_2000 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_read_table.c false @@ -2607,11 +2571,11 @@ false - true + false mzz_limit_500 pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_read_table.c false @@ -2631,11 +2595,11 @@ false - true + false no_write pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -2643,11 +2607,11 @@ false - true + false no_write_slow pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -2655,11 +2619,11 @@ false - true + false number_modbus_table_changed pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/modbus_fill_table.c false @@ -2703,11 +2667,11 @@ false - true + false pidCur_Ki pt_int32 t_iq - t_iq_none + int _iq Src/main/v_pwm24.c false @@ -2751,11 +2715,11 @@ false - true + false pidFvectKi_test pt_int16 t_iq_none - t_iq_none + int int Src/main/message2.c false @@ -2763,11 +2727,11 @@ false - true + false pidFvectKp_test pt_int16 t_iq_none - t_iq_none + int int Src/main/message2.c false @@ -2847,11 +2811,11 @@ false - true + false prev_flag_buf pt_int16 t_iq_none - t_iq_none + int int Src/main/rotation_speed.c false @@ -2859,11 +2823,11 @@ false - true + false prev_status_received pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myLibs/log_can.c false @@ -2955,11 +2919,11 @@ false - true + false return_var pt_int32 t_iq_none - t_iq_none + int long Src/main/Main.c false @@ -3039,11 +3003,11 @@ false - true + false sincronisationFault pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myLibs/modbus_read_table.c false @@ -3051,11 +3015,11 @@ false - true + false size_cmd15 pt_int8 t_iq_none - t_iq_none + int char Src/myXilinx/RS_Functions.c false @@ -3063,11 +3027,11 @@ false - true + false size_cmd16 pt_int8 t_iq_none - t_iq_none + int char Src/myXilinx/RS_Functions.c false @@ -3075,11 +3039,11 @@ false - true + false size_fast_done pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -3087,11 +3051,11 @@ false - true + false size_slow_done pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -3099,11 +3063,11 @@ false - true + false stop_log pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -3111,11 +3075,11 @@ false - true + false stop_log_slow pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_to_memory.c false @@ -3171,11 +3135,11 @@ false - true + false temp pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/sync_tools.c false @@ -3183,11 +3147,11 @@ false - true + false temperature_limit_koeff pt_int32 t_iq - t_iq_none + int _iq Src/main/errors_temperature.c false @@ -3267,11 +3231,11 @@ false - true + false timCNT_alg pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/Spartan2E_Functions.c false @@ -3279,11 +3243,11 @@ false - true + false timCNT_prev pt_int16 t_iq_none - t_iq_none + int int Src/myXilinx/Spartan2E_Functions.c false @@ -3291,11 +3255,11 @@ false - true + false time pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myXilinx/Spartan2E_Functions.c false @@ -3303,11 +3267,11 @@ false - true + false timePauseBENDER_Messages pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/main22220.c false @@ -3315,11 +3279,11 @@ false - true + false timePauseCAN_Messages pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/main/main22220.c false @@ -3327,11 +3291,11 @@ false - true + false time_alg pt_float t_iq_none - t_iq_none + int float Src/myXilinx/Spartan2E_Functions.c false @@ -3339,11 +3303,11 @@ false - true + false time_pause_enable_can_from_mpu pt_int32 t_iq_none - t_iq_none + int long Src/myLibs/CAN_Setup.c false @@ -3351,11 +3315,11 @@ false - true + false time_pause_enable_can_from_terminal pt_int32 t_iq_none - t_iq_none + int long Src/myLibs/CAN_Setup.c false @@ -3363,11 +3327,11 @@ false - true + false time_pause_logs pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_can.c false @@ -3375,11 +3339,11 @@ false - true + false time_pause_titles pt_int16 t_iq_none - t_iq_none + int int Src/myLibs/log_can.c false @@ -3387,11 +3351,11 @@ false - true + false tryNumb pt_int16 t_iq_none - t_iq_none + int volatile int Src/myXilinx/xPeriphSP6_loader.c false @@ -3411,11 +3375,11 @@ false - true + false var_numb pt_int32 t_iq_none - t_iq_none + int long Src/main/Main.c false @@ -3447,11 +3411,11 @@ false - true + false winding_displacement pt_int32 t_iq - t_iq_none + int _iq Src/main/v_pwm24.c false @@ -3519,11 +3483,11 @@ false - true + false xeeprom_controll_fast pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myXilinx/Spartan2E_Functions.c false @@ -3531,11 +3495,11 @@ false - true + false xeeprom_controll_store pt_uint16 t_iq_none - t_iq_none + int unsigned int Src/myXilinx/Spartan2E_Functions.c false @@ -3555,11 +3519,11 @@ false - true + false zadan_Id_min pt_int32 t_iq - t_iq_none + int _iq Src/VectorControl/pwm_vector_regul.c false @@ -3567,20 +3531,20 @@ false - true + false zero_ADC pt_arr_int16 t_iq_none - t_iq_none + int int[20] Src/main/adc_tools.c false false - - false + + true true - project.a + tk0_Adr pt_uint16 t_iq_none t_iq_none @@ -3589,13 +3553,205 @@ false false - + true true - project.cds_tk.count_elements_pbus - pt_uint64 + ADC_sf00 + pt_int16 t_iq_none t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf01 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf02 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf03 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf04 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf05 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf06 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf07 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf08 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf09 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf010 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf011 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf012 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf013 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf014 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + ADC_sf015 + pt_int16 + t_iq_none + t_iq_none + int + Src/main/adc_tools.c + false + false + + + true + true + project.cds_tk[0].read.sbus.mask_protect_tk.all + pt_uint16 + t_iq_none + iq_none UInt16 Src/myXilinx/xp_project.c false @@ -3603,33 +3759,33 @@ + Src/main/vector.h + Src/main/f281xpwm.h + Src/myLibs/log_can.h Src/myXilinx/RS_Functions_modbus.h + Src/main/errors.h + Src/VectorControl/pwm_vector_regul.h Src/myXilinx/xp_project.h Src/myXilinx/xp_write_xpwm_time.h - Src/VectorControl/teta_calc.h - Src/main/vector.h Src/main/v_pwm24.h - Src/main/errors.h - Src/VectorControl/dq_to_alphabeta_cos.h - Src/myLibs/log_can.h - Src/main/f281xpwm.h - Src/VectorControl/pwm_vector_regul.h Src/main/adc_tools.h Src/main/rotation_speed.h + Src/VectorControl/dq_to_alphabeta_cos.h + Src/VectorControl/teta_calc.h + Src/myLibs/CAN_Setup.h + Src/myLibs/log_to_memory.h + Src/myLibs/log_params.h + Src/myXilinx/CRC_Functions.h + Src/main/global_time.h Src/myXilinx/RS_Functions.h + Src/myLibs/detect_phase_break2.h + Src/myXilinx/x_parallel_bus.h + Src/myXilinx/x_serial_bus.h + Src/myXilinx/Spartan2E_Functions.h Src/myXilinx/xp_controller.h Src/myXilinx/xPeriphSP6_loader.h Src/myXilinx/xp_rotation_sensor.h - Src/myXilinx/x_serial_bus.h - Src/myXilinx/Spartan2E_Functions.h - Src/myXilinx/x_parallel_bus.h Src/myLibs/svgen_dq.h - Src/myLibs/detect_phase_break2.h - Src/myLibs/log_to_memory.h - Src/myXilinx/CRC_Functions.h - Src/main/global_time.h - Src/myLibs/CAN_Setup.h - Src/myLibs/log_params.h Src/myLibs/pid_reg3.h Src/myLibs/IQmathLib.h Src/main/doors_control.h