Esta biblioteca, na verdade é um fork da biblioteca da Radioenge, porém foram adicionados as principais configurações do módulo RD42C de modo que o desenvolvedor tenha maior autonomia em suas aplicações, ao invés de usar um aplicativo e configurar manualmente.
Autor: Gustavo Cereza;
Corrigido por: Marco Chiodi;
Testado e revisado por: Gabriel Tabaroski.
Compatibilidade
A biblioteca foi pensada para Arduino (Atmega328p) e para ESP32, pode funcionar em outras placas mas é bom tomar cuidado com a tensão da comunicação UART. No caso do ESP32, se o LoRa for alimentado com 5v, é interessante por um conversor lógico 3v3 para 5v ou por um divisor de tensão no TX do módulo.
Sobre o LoRaMESH
Basciamente o LoRa Mesh é um rádio que utiliza a modulação LoRa porém tem a capacidade de criar uma rede, onde é gerenciada por um único master e vários slaves, podendo chegar até 2047 slaves dentro da mesma rede. Além disso, cada dispositivo tem a capacidade de repassar o pacote um para o outro até que chegue ao destinatário.
A função que configura a classe já vem preenchida por padrão e quando a gravação é bem sucedida tem um retorno verdadeiro, caso contrário retorna falso. Porém nessa configuração você deve se atentar tensão da comunicação UART, caso não saiba do que estou falando, acesse o primeiro link do Readme.
A função que defini o ID retorna verdadeiro caso a configuração seja execultada e gravada no módulo ou falso quando a gravação não é bem sucedida. O ID deve ser um valor de 0 a 2047 e cada módulo deve ter o ID diferente do outro. É muito importante que ao definir o ID o tipo deve ser 'uint16_t', caso seja algum outro tipo, faça a conversão da melhor maneira possível.
bool setnetworkId(uint16_t id);
Definir Senha
Para definir uma senha é necessário que seja um valor numérico de 0 a 4294967295 e com o tipo 'uint32_t'. A função também retorna um valor verdairo após validar a definição da senha, porém o feedback da senha está limitado a 65535.
bool setpassword(uint32_t password);
Configurar as GPIO's
O LoRa mesh da Radioenge tem 7 GPIO's disponíveis para uso, sendo duas são para entrada ADC e as demais para aplicações digitais. Neste caso, a gravação não tem feedback e apenas retorna verdadeiro caso as configurações definida pelo usuário esteja dentro das regras.