# EDC15 ECU Editor Software para edição e análise de centralinas EDC15, desenvolvido em Python. ## Funcionalidades Principais - **Visualização Multi-formato**: - Vista de Mapas 2D/3D para análise visual de dados - Vista Hexadecimal para edição de baixo nível - Vista de Gráficos para análise de tendências - Ferramentas de zoom e navegação - **Edição de Mapas**: - Edição direta de valores nos mapas - Suporte para múltiplos formatos de dados - Funcionalidade de desfazer/refazer - Validação de dados em tempo real - Suporte para diferentes tipos de mapas: - Mapas de Combustível - Mapas de Pressão - Mapas de Timing - Outros mapas específicos EDC15 - **Análise de Dados**: - Comparação de mapas - Visualização de diferenças - Análise gráfica de dados - Ferramentas de medição e estatísticas - Exportação de dados para análise externa - **Gestão de Ficheiros**: - Backup automático dos ficheiros originais - Suporte para ficheiros binários (.BIN) - Sistema de salvaguarda de alterações - Validação de checksums - Verificação de integridade do ficheiro ## Requisitos - Python 3.9 ou superior - Dependências principais: - PySide6 >= 6.5.0 (Interface gráfica) - NumPy >= 1.24.0 (Processamento numérico) - Matplotlib >= 3.7.0 (Visualização de gráficos) - Pandas >= 2.0.0 (Manipulação de dados) - Construct >= 2.10.0 (Parsing binário) - Hexdump >= 3.3 (Visualização hexadecimal) ## Instalação 1. Criar ambiente virtual: ```bash python -m venv venv ``` 2. Ativar ambiente virtual: - Windows: ```bash venv\Scripts\activate ``` 3. Instalar dependências: ```bash pip install -r requirements.txt ``` ## Estrutura do Projeto - `src/` - Código fonte principal - `core/` - Módulos principais para processamento de dados e lógica de negócio - `edc15_definitions.py` - Definições e estruturas de dados EDC15 - `edc15_maps.py` - Implementação de mapas base - `edc15p_maps.py` - Mapas específicos EDC15P - `file_handler.py` - Gestão de ficheiros - `file_comparison.py` - Sistema de comparação - `command.py` - Sistema de comandos - `project_manager.py` - Gestão de projetos - `gui/` - Interface gráfica e componentes visuais - `main_window.py` - Janela principal - `map_viewer.py` - Visualizador de mapas - `hex_viewer.py` - Editor hexadecimal - `graph_viewer.py` - Visualizador de gráficos - `map_tools.py` - Ferramentas de edição - `map_comparison.py` - Interface de comparação - `map_selection_dialog.py` - Seleção de mapas - `map_manager_dialog.py` - Gestão de mapas - `main.py` - Ponto de entrada da aplicação ## Como Usar 1. Execute o programa: ```bash python src/main.py ``` 2. Funcionalidades disponíveis: - Abrir ficheiro binário (.BIN) - Selecionar e editar mapas - Visualizar dados em diferentes formatos - Comparar mapas - Guardar alterações - Exportar dados - Análise de checksums ## Características Técnicas - Suporte para múltiplos tipos de dados (float32, int16, etc.) - Sistema de validação de checksums EDC15 - Backup automático antes de modificações - Interface gráfica moderna com Qt6 - Processamento otimizado de dados com NumPy - Visualização avançada com Matplotlib ## Notas de Segurança - É criado automaticamente um backup do ficheiro original antes de qualquer modificação - Recomenda-se sempre verificar as alterações antes de gravar - Utilize sempre uma cópia de segurança do ficheiro original - Validação de checksums antes e depois das modificações - Sistema de recuperação em caso de corrupção de dados ## Contribuições Contribuições são bem-vindas! Por favor, siga as boas práticas de desenvolvimento e documente todas as alterações. ## Limitações Conhecidas - Suporte atual apenas para EDC15 e EDC15P - Alguns mapas específicos podem requerer validação manual - Requer conhecimento técnico para edição segura