Skip to content

Releases: BrunnoFe/ComPasso

ComPasso - v2026.4.0

Choose a tag to compare

@BrunnoFe BrunnoFe released this 20 Jul 01:36

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ª.

  • 📉 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 BEEP no 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

  1. Baixe o executável.
  2. Execute em seu computador e seja feliz!

Notas técnicas

  • Nenhuma mudança no schema do .config (CONFIG_VERSION inalterado) — arquivos de
    configuração de versões anteriores continuam funcionando sem conversão.
  • A chave fps em prefs.json deixou 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ência pygame-ce deixou 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

Choose a tag to compare

@BrunnoFe BrunnoFe released this 11 Jul 23:47

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 exatamente musica/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

  1. Baixe o executável.
  2. Execute em seu computador e seja feliz!

Notas técnicas

  • Nenhuma mudança no schema do arquivo .config (CONFIG_VERSION inalterado) — 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

Choose a tag to compare

@BrunnoFe BrunnoFe released this 03 Jul 01:24

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

  1. Baixe o executável
  2. 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.py foi 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

Choose a tag to compare

@BrunnoFe BrunnoFe released this 30 Jun 02:46
aa865a4

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