Skip to content

feat: Refatoração do monitoramento, flags CLI e melhorias gerais - #2

Open
EthraZa wants to merge 1 commit into
Finallf:masterfrom
EthraZa:master
Open

EthraZa wants to merge 1 commit into
Finallf:masterfrom
EthraZa:master

Conversation

@EthraZa

@EthraZa EthraZa commented Sep 11, 2026

Copy link
Copy Markdown

Resumo das Mudanças

Refatoração completa do script de monitoramento para water coolers Rise Mode Aura Ice, eliminando a obrigatoriedade do pacote lm-sensors, reduzindo o consumo de recursos para zero forks no loop contínuo e aprimorando a usabilidade via CLI e gerenciamento do serviço systemd.

Co-authored-by: Antigravity antigravity@google.com


Principais Modificações

1. Script Principal (risemode.sh)

  • Novas Opções de CLI e Comportamento Padrão:
    • Inversão da chamada padrão: executar sem parâmetros agora imprime um diagnóstico detalhado em tempo real (dump) e encerra.
    • Adicionada a flag -d / --daemon para inicializar o loop de atualização contínua.
    • Adicionada a flag -r / --reset [NUM] para enviar valores numéricos arbitrários (padrão: 0) para o display e finalizar.
    • Adicionado menu de ajuda via -h / --help.
  • Leitura Nativa via Kernel (Sysfs):
    • Implementada leitura direta via /sys/class/hwmon (Intel coretemp, AMD k10temp/zenpower) e fallback para /sys/class/thermal.
    • O utilitário lm-sensors foi mantido exclusivamente como último recurso para hardware legado ou módulos proprietários.
  • Performance e Zero-Fork Loop:
    • A descoberta do sensor térmico agora ocorre apenas uma vez na inicialização e tem o caminho cacheado em memória.
    • Detecção do dispositivo HID refatorada para regex nativa do Bash contra /sys/class/hidraw/*/device/uevent, eliminando processos externos (grep, cat).
    • Conversões hexadecimais migradas para o builtin printf -v, zerando o overhead de CPU/subshells no ciclo de 2.1s.
  • Correção do Protocolo de Payload:
    • Substituição de echo -e por printf "\\x${HEX}\\x00", eliminando a injeção espúria do caractere de quebra de linha (0x0A / 10) e respeitando o buffer esperado pelo firmware.
  • Tratamento de Sinais:
    • Inclusão de trap 'exit 0' SIGINT SIGTERM para encerramento gracioso via systemd ou Ctrl+C.

2. Serviço Systemd (risemode.service)

  • ExecStart atualizado para /usr/bin/risemode -d, alinhando-se ao novo modo daemon.
  • Target ajustado para multi-user.target.

3. Instalação e Desinstalação (install.sh / uninstall.sh)

  • Resolução dinâmica do diretório raiz do script via ${BASH_SOURCE[0]}, permitindo execução fora do diretório local.
  • Unit do systemd movida para /etc/systemd/system/ (diretório padrão de administração).
  • Aplicação de permissões explícitas (755 no executável e 644 na unit).
  • Inclusão de systemctl daemon-reload na instalação e desinstalação.
  • Padronização do script de remoção para uninstall.sh (substituindo o antigo remove.sh).

4. Documentação (README.md)

  • Atualizadas as instruções para informar que o lm-sensors agora é estritamente opcional.
  • Documentado o novo fluxo nativo e corrigidas as referências de scripts.

…emd installation and README

Co-authored-by: Antigravity <antigravity@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant