Skip to content

v0.2.1

Choose a tag to compare

@petruscl petruscl released this 06 Jul 00:56
· 3 commits to main since this release

Correções

  • sx1262: removido hang infinito em error() - antes, qualquer falha de setRx()/setTx()/waitForIdle() (ex.: pinagem física errada que impede o chip de sair de STANDBY) travava a task chamadora para sempre (while(true){vTaskDelay(1);}), sem log em builds sem debug_print e sem forma de o chamador reagir. Confirmado em hardware: uma pinagem errada travava o boot inteiro do device (sem PPP, sem mesh, sem MQTT).
  • setRx()/setTx(): void -> bool, retornam o resultado real do check de status do chip (getStatus() & 0x70) em vez de só logar e confiar no hang para sinalizar erro.
  • config() (as duas overloads): void -> bool, propagam o retorno de setRx(0xFFFFFF) — o chamador agora sabe se o chip confirmou RX de verdade, não só se os comandos SPI foram aceitos.
  • waitForIdle(): corrigido bug latente que ficava mascarado pelo hang — no ramo de timeout fatal (stop=true), o retorno nunca era marcado como falha antes de chamar error().

Compatibilidade

Mudança de assinatura em setRx, setTx e config (2 overloads): void -> bool. Fonte-compatível para quem já chama essas funções como statement solto (radio::config(...);) — descartar um retorno não [[nodiscard]] é sempre válido em C++. sx1276.cpp não foi alterado.