GET_HEXASC_STR
Este bloco tem por função converter os parameros de configuração do LoRa que foram gravados na base de setup em uma string ascii, a ser utilizada na aplicação.
Modo OTAA: dev_eui, app_eui, app_key
Modo ABP: dev_addr, NwkSKey, AppSKey
Bloco
GET_HEXASC_STR
+---------------+
USINT ----|STR_ID |
| |
USINT ----|SIZE |
| |
STRING ----|STR_OUT ------ |----
+---------------+
Parâmetros
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
STR_ID |
Entrada |
USINT |
0 |
Identificador da string a ser obtida |
|
SIZE |
Entrada |
USINT |
0 |
Tamanho do buffer a ser lido |
|
STR_OUT |
Entrada/Saída |
STRING |
Retorna string especificada por STR_ID |
STR_ID e SIZE
** Modo OTAA ** |
||
STR_ID |
SIZE |
Parametro |
4 |
8 |
Le o valor do dev_eui |
5 |
8 |
Le o valor do app_eui |
6 |
16 |
Le o valor do app_key |
** Modo APB ** |
||
STR_ID |
SIZE |
Parametro |
4 |
4 |
Le o valor do dev_addr |
5 |
16 |
Le o valor do NwkSKey |
6 |
16 |
Le o valor do AppSKey |
Exemplo
Código ST
// Lê o modo de operação lora programado na base
LORA_MODE := HILS.GET_SYSVAR(137);
// Obtem do firmware os parametros de configuracao do lora
IF (LORA_MODE = 3) THEN // OTAA
GET_HEXASC_STR(4, 8, DEV_EUI_ADDR); // Le o valor do dev_eui
GET_HEXASC_STR(5, 8, APP_EUI_NWKS); // Le o valor da app_eui
GET_HEXASC_STR(6, 16, APP_APPS_KEY); // Le o valor da app_key
LORA_MODE := 1;
ELSIF (LORA_MODE = 4) THEN //ABP
GET_HEXASC_STR(4, 4, DEV_EUI_ADDR); // Le o valor do dev_addr
GET_HEXASC_STR(5, 16, APP_EUI_NWKS); // Le o valor da NwkSKey
GET_HEXASC_STR(6, 16, APP_APPS_KEY); // Le o valor da AppSKey
LORA_MODE := 2;
ELSE
// SINALIZA CONDIÇÃO DE ERRO
END_IF;