Releases: BrunnoFe/ComPasso
Release list
ComPasso - v2026.4.0
ComPasso v2026.4.0
Esta versão é, sobretudo, uma correção de sincronização. Se você usa o ComPasso para coleta,
esta é uma atualização recomendada: sessões longas vinham acumulando um desalinhamento entre o
beep, o início do áudio e o gráfico.
O que foi corrigido
-
⏱️ Beep, áudio e gráfico dessincronizando ao longo da sessão — o sintoma era o beep tocar
progressivamente fora do tempo configurado conforme o experimento avançava. Havia duas causas
independentes, ambas corrigidas:- O ComPasso tratava o horário das amostras do BITalino e o horário do computador como se fossem
o mesmo relógio. Não são: são cristais diferentes, que se afastam um do outro com o tempo
(medimos ~0,17 s de desvio ao longo de uma sessão de 12 faixas). Isso deslocava por igual todos
os marcadores de cada faixa, cada vez mais. - A contagem regressiva era feita somando esperas de 1 segundo, e cada espera custava um pouco
mais que 1 segundo. Agora os instantes do beep, do gráfico e do áudio são calculados como
horários exatos a partir do início do estímulo.
Resultado medido: o intervalo entre o beep e o áudio fica abaixo de 1 milissegundo de erro, e
a 20ª faixa vale exatamente o mesmo que a 1ª. - O ComPasso tratava o horário das amostras do BITalino e o horário do computador como se fossem
-
📉 Vão no fim do gráfico — o traço parava um pouco antes do fim do eixo e o marcador saltava.
-
🏷️ Rótulos do eixo X instáveis — ora de 1 em 1 segundo, ora de 5 em 5, conforme a faixa; e um
rótulo isolado sumia perto do fim. Agora são sempre de 5 em 5 segundos. -
💾 Configurações do gráfico não permaneciam — salvar e fechar revertia o gráfico ao estado
anterior. As alterações agora valem imediatamente e continuam valendo. -
🎨 Grade escura demais nos temas claros (Sereno e Aurora), que atrapalhava a leitura do sinal.
-
🗂️ Coluna do nome do áudio vazia na planilha
dados_da_execucao.xlsx. -
🛡️ Interface travando após um erro inesperado, sem qualquer aviso.
-
🪟 Avisos de erro abrindo atrás da janela de configuração, ficando inacessíveis.
O que há de novo
- 🔄 Menu "Atualizações" — o ComPasso agora avisa quando há uma versão nova. A verificação
acontece uma vez ao abrir o programa, discretamente; havendo novidade, o menu ganha um ponto
vermelho e o item passa a "Baixar atualização!". Você também pode verificar quando quiser. - 🌗 Botão sol/lua no canto da barra de menus, para alternar entre tema claro e escuro num
clique. Ele lembra o último tema usado de cada tipo: se você usa o Iris e vai para o claro, ao
voltar você recebe o Iris de volta, não um tema padrão. - ✅ Avisos de preenchimento nos formulários — endereço MAC, quantidade de músicas e de ruído,
colunas da planilha (que não podem ser a mesma) e faixa de volume da calibração agora contornam
o campo de vermelho e explicam o problema logo abaixo dele. - 🔔 Instante do beep gravado nos dados — passa a existir um marcador
BEEPno CSV/XLSX, o que
permite conferir depois, nos próprios dados, se o intervalo até o áudio foi o configurado.
Mudanças que valem atenção
- 📈 A taxa de atualização do gráfico deixou de ser configurável e passou a ser fixa em 30 fps.
A opção saiu do menu Configurações → Gráfico. Valores mais altos só consumiam processamento
sem diferença visível. - 🔊 A reprodução de áudio migrou para o mecanismo do Qt (o mesmo da interface). Nada muda no uso.
Como atualizar e baixar
- Baixe o executável.
- Execute em seu computador e seja feliz!
Notas técnicas
- Nenhuma mudança no schema do
.config(CONFIG_VERSIONinalterado) — arquivos de
configuração de versões anteriores continuam funcionando sem conversão. - A chave
fpsemprefs.jsondeixou de existir; um valor remanescente de versões anteriores é
simplesmente ignorado, sem quebrar a leitura das demais preferências. - Novo módulo
core/updates.py(consulta à API de releases do GitHub usando apenas a biblioteca
padrão — nenhuma dependência nova). A dependênciapygame-cedeixou de ser necessária. - O gráfico passou a usar memória constante ao longo da faixa (antes acumulava todas as amostras
brutas) e a taxa de quadros só roda durante a gravação. - Suíte de testes ampliada para 292 casos, incluindo regressões dedicadas para a deriva de
relógio, a ausência de deriva do beep ao longo de 20 faixas e a persistência das configurações
do gráfico.
ComPasso - v2026.3.0
ComPasso v2026.3.0
O que há de novo
- Indicador de progresso (stepper) redesenhado: agora com as etapas Configurações → Conectar
→ Participante → Arquivos → Calibragem → Começar ("Calibragem" só aparece quando a calibração
de volume está habilitada). Etapas ainda pendentes que não são a etapa atual agora ficam
vermelhas, facilitando ver de relance o que falta fazer. - 🔊 Calibração de volume (opcional): uma nova janela ajuda a achar o volume confortável para
cada participante antes da sessão — toca uma faixa dedicada enquanto o volume do sistema sobe
gradualmente entre um mínimo e um máximo, até o participante indicar que está bom. O volume ótimo
é aplicado e trava o slider pelo resto da sessão. Habilite em Experimento → Novo/Editar.
Desligada por padrão. - 🔬 Tipo de sensor do BITalino: escolha entre EDA/ECG/EMG/EOG/EEG/EGG na barra de conexão e na
configuração do experimento. Ajusta a unidade e a escala padrão do gráfico do sinal em tempo real
(o dado gravado continua bruto — é só uma mudança de exibição). - 🔔 Beep de aviso opcional antes de cada faixa, configurável (1 a 10 s antes do início),
durante a contagem regressiva. - 🔤 Colunas da planilha de fatores configuráveis: escolha, pelos cabeçalhos reais do arquivo
carregado, qual coluna traz o nome do áudio e qual traz o fator — não é mais preciso nomear as
colunas exatamentemusica/fator. - 🎚️ Tempo pré-estímulo (contagem regressiva antes de cada faixa) agora é um slider de 5 a 120s.
- 📄 Planilha
dados_da_execucao.xlsx: uma planilha por sessão, regravada a cada faixa
concluída, com o áudio, o fator, o volume do sistema e o intervalo até o clique em "Continuar →". - 🔒 Volume travado durante a faixa: o slider de volume fica desabilitado durante a contagem
regressiva e a reprodução, evitando alterações no meio de uma gravação. - 🚪 Opção "Sair" no menu Experimento, sempre habilitada, mesmo com uma sessão em andamento.
Novo/Abrir/Editar passam a ficar desabilitados durante um experimento em andamento.
Como atualizar e baixar
- Baixe o executável.
- Execute em seu computador e seja feliz!
Notas técnicas
- Nenhuma mudança no schema do arquivo
.config(CONFIG_VERSIONinalterado) — os novos campos
(sensor_type,beep_enabled/beep_lead_seconds,music_column/factor_column,
calibration_enabled/calibration_audio) são todos opcionais, com valores padrão para
.configs antigos. - Nova lógica pura e testável em
core/calibration.py(validação dos parâmetros da rampa, cálculo
de duração estimada e volume por degrau), sem dependência de GUI/hardware. - Documentação (
README.md,docs/) atualizada para refletir o novo stepper e a calibração de
volume.
Full Changelog: 2026.2.0...v2026.3.0
2026.2.0
Compasso v2026.2.0
O que há de novo
- Tela de carregamento ao abrir o app, com feedback visual durante a inicialização.
- Temas de cores: escolha entre três paletas (Teal, Iris e Amber) pelo menu "Tema" — a
preferência é lembrada na próxima vez que você abrir o programa. - Indicador de progresso do experimento: um novo painel mostra visualmente as 4 etapas
necessárias antes de começar (Conectar → Participante → Arquivos → Iniciar), atualizado
em tempo real conforme você avança. - Volume ajustado automaticamente ao iniciar o app.
- Janela redimensionável com rolagem, respeitando um tamanho mínimo, para telas menores.
Correções
- Corrigido um bug na troca de tema em tempo de execução.
- Corrigidos os ícones da tela de carregamento e da janela de configurações de experimento.
- Corrigido um bug de dimensionamento no painel de conexão (topo da tela).
- Corrigidos problemas na barra de menu "Experimento"/"Tema".
- Diversas outras correções de bugs e ajustes de estabilidade.
Melhorias
- Interface visual reformulada de ponta a ponta, com componentes mais consistentes.
- Logo e ícones do app atualizados.
- Documentação (
README.md) reescrita, com banner, badges de status e seção de Releases.
Como atualizar e baixar
- Baixe o executável
- Execute em seu computador e seja feliz!
Notas técnicas
- Foi adicionada uma suíte de testes automatizados (
pytest), sem dependência de hardware
real, cobrindo conexão/watchdog do BITalino, gravação de sessão, classificação de
condições, validação de MAC, formatação e lógica dos botões da interface. - A API de playlist não utilizada foi removida de
Player(código morto). assets.pyfoi limpo/refatorado; o notebook manual de testes (tests/tests.ipynb) foi
substituído pela suíte pytest.- Ajustes no
compasso.spec(arquivo de versão do Windows e ícones) e no.gitignore.
Full Changelog: v2026.1.0...2026.2.0
Compasso - v2026.1.0
Compasso v2026.1.0
Primeira versão pública do Compasso: plataforma de pesquisa em psicofisiologia para aquisição de sinal do BITalino sincronizada com reprodução de músicas.
Funcionalidades:
- Conexão via LSL — conecta ao BITalino por endereço MAC usando a stream publicada pelo OpenSignals; watchdog detecta perda de sinal e encerra a coleta automaticamente.
- Menu Experimento (Novo / Abrir / Editar) — configurações salvas em arquivos .config reutilizáveis; último arquivo usado é carregado automaticamente ao abrir o programa.
- Sessão experimental — ordem das faixas embaralhada a cada sessão; ciclo contagem regressiva (10 s) → reprodução → pausa para o pesquisador → próxima faixa; botão Parar encerra com segurança a qualquer momento.
- Gravação sincronizada — amostras e marcadores de evento (countdown_start, music_start, music_end, stop) compartilham o mesmo relógio (pylsl.local_clock()). CSV gravado em tempo real; XLSX gerado ao fim de cada faixa.
- Controle de volume — slider integrado à interface controla o volume do sistema (Windows: pycaw; macOS: osascript; Linux: amixer).
Requisitos
- Python 3.12+
- OpenSignals (r)evolution com LSL ativo
- Windows 10/11 ou macOS
Full Changelog: https://github.com/BrunnoFe/Compasso/commits/v1.0.0