131 lines
3.9 KiB
Markdown
131 lines
3.9 KiB
Markdown
# 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
|