Biblioteca para configurar os pinos do EndDevice Loramesh GPIO, solicitando e enviando dados de/para os nós. Foi baseado na seguinte biblioteca do radioenge
Faça o download de todos os arquivos desta raiz e inclua -os em seu projeto. Esta etapa é obrigatória para usá -los com o STM8L Discovery Board e sua "Biblioteca Periférica padrão".
Como o STM8L152C6T6 possui apenas uma interface USART e o módulo Loramesh possui dois, a opção de qual interface será usada será feita através da conexão de hardware. É possível escolher duas maneiras de configurar o USART: usando o padrão Arduino ou usando configurações manuais. O modo padrão de Arduino funciona bem com o módulo Lora Mesh. Para configurações manuais, você pode usar os tipos definidos em "STM8L15X_USART" fornecido por ST.
//Easy way
uint32_t baudrate = 9600 ;
ArduinoSerialCommandsInit ( baudrate );
//Manual
/* USART configured as follow:
- BaudRate = 9600 baud
- Word Length = 8 Bits
- One Stop Bit
- No parity
*/
SerialCommandsInit ( 9600 , USART_WordLength_8b , USART_StopBits_1 , USART_Parity_No );Os principais recursos da biblioteca são baseados nas funções para solicitar e enviar dados usando os pinos conectados a outros módulos de rede.
/* GpioConfig */
GpioConfig ( NODEID , PIN , GPIOMODE , PULL_R_TYPE );
/* GpioWrite */
GpioWrite ( NODEID , PIN , ValueForWrite );
/* GpioRead */
GpioRead ( NODEID , PIN , & ReturnedValue );Configure os pinos do GPIO com os seguintes modos:
/* DIGITAL_IN */
GpioConfig ( NODEID , PIN , DIGITAL_IN , PULL_R_TYPE );
/* DIGITAL_OUT */
GpioConfig ( NODEID , PIN , DIGITAL_OUT , PULL_R_TYPE );
/* ANALOG_IN */
GpioConfig ( NODEID , PIN , ANALOG_IN , PULL_R_TYPE );Configure os resistores de tração com os seguintes tipos
/* PULL_OFF */
GpioConfig ( NODEID , PIN , DIGITAL_IN , PULL_OFF );
/* PULLUP */
GpioConfig ( NODEID , PIN , DIGITAL_OUT , PULLUP );
/* PULLDOWN */
GpioConfig ( NODEID , PIN , ANALOG_IN , PULLDOWN );O retorno da solicitação de dados é dado pelo status a seguir para indicar erro ou não:
/* MESH_OK */
while ( LocalRead ( & localId , & localNet , & localUniqueId ) != MESH_OK );
/* MESH_ERROR */
if ( GpioRead ( NODEID , PIN , & ReturnedValue ) == MESH_ERROR ){
//Invalid value
}O código de exemplo pode ser baixado nesta raiz seguindo as instruções.
Descrição completa da documentação aqui.
Leia este guia.
@vjpamorim | @Radioenge |
|---|
@Marcoaoc |
|---|
Você gosta desta biblioteca? Por favor, estrela este projeto no Github!