Skip to content

Portabiliade codigo ii#2

Open
millennium42 wants to merge 3 commits intoMainfrom
portabiliade-codigo-ii
Open

Portabiliade codigo ii#2
millennium42 wants to merge 3 commits intoMainfrom
portabiliade-codigo-ii

Conversation

@millennium42
Copy link
Copy Markdown
Member

Agora aceita Mais de um robô múltiplo

millennium42 and others added 3 commits July 12, 2025 19:43
Migrada a biblioteca de comunicação NRF24L01+ de C para C++ para uma melhor organização do código e compatibilidade.

**Principais Mudanças:**
* Renomeados todos os arquivos `.c` para `.cpp` e `.h` para `.hpp`.
* Adicionadas especificações de linkagem `extern "C"` nos arquivos de cabeçalho para compatibilidade de funções estilo C.
* Caminhos de inclusão atualizados para refletir as novas extensões `.hpp`.
* `README.md` atualizado para documentar o uso em C++ e a nova estrutura de arquivos.
* Feitos pequenos ajustes idiomáticos de C++ (ex: uso de `nullptr`).### Port: Migração de C para C++ para a Biblioteca NRF24L01+

Migrada a biblioteca de comunicação NRF24L01+ de C para C++ para uma melhor organização do código e compatibilidade.

**Principais Mudanças:**
* Renomeados todos os arquivos `.c` para `.cpp` e `.h` para `.hpp`.
* Adicionadas especificações de linkagem `extern "C"` nos arquivos de cabeçalho para compatibilidade de funções estilo C.
* Caminhos de inclusão atualizados para refletir as novas extensões `.hpp`.
* Feitos pequenos ajustes idiomáticos de C++ (ex: uso de `nullptr`).
Esta atualização introduz uma nova arquitetura para a biblioteca de comunicação, permitindo o gerenciamento de múltiplos módulos NRF24L01+ por STM32.

Principais alterações:
- **NRF24_HAL**: Convertido para a classe `NRF24_Hardware` para encapsular a configuração de hardware de cada NRF (SPI, pinos CE/CSN).
- **NRF24_CORE**: Convertido para a classe `NRF24_Driver` para gerenciar as operações de um NRF individual usando a nova `NRF24_Hardware`.
- **COMM**: Convertido para a classe `CommManager` (ou `Comm`) para orquestrar a comunicação multi-NRF (gerenciando múltiplos `NRF24_Driver` para RX e TX).
- **NRF24_DEF**: Atualizado para refletir que as definições de pinos agora são passadas para as classes.
- **Exemplos (RECEIVER/TRANSMITTER)**: Adaptados para utilizar a nova classe `CommManager` e suportar a topologia multi-NRF (robôs com 2 NRFs, torre com 6 NRFs).
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