10 static bool _twr_at_lora_param_format_and_test(
twr_atci_param_t *param, uint8_t length);
17 bool twr_at_lora_deveui_read(
void)
28 if (!_twr_at_lora_param_format_and_test(param, 16))
38 bool twr_at_lora_devaddr_read(
void)
55 bool twr_at_lora_nwkskey_read(
void)
66 if (!_twr_at_lora_param_format_and_test(param, 32))
76 bool twr_at_lora_appkey_read(
void)
87 if (!_twr_at_lora_param_format_and_test(param, 32))
97 bool twr_at_lora_appeui_read(
void)
108 if (!_twr_at_lora_param_format_and_test(param, 16))
118 bool twr_at_lora_appskey_read(
void)
129 if (!_twr_at_lora_param_format_and_test(param, 32))
139 bool twr_at_lora_band_read(
void)
150 uint8_t band = atoi(param->txt);
162 bool twr_at_lora_mode_read(
void)
173 uint8_t mode = atoi(param->txt);
185 bool twr_at_lora_join(
void)
192 bool twr_at_lora_frmcnt(
void)
199 bool twr_at_lora_reboot(
void)
206 bool twr_at_lora_freset(
void)
213 bool twr_at_lora_link_check(
void)
228 bool twr_at_lora_rfq(
void)
235 bool twr_at_lora_nwk_read(
void)
246 uint8_t nwk_public = atoi(param->txt);
258 bool twr_at_lora_adr_read(
void)
269 uint8_t adr = atoi(param->txt);
281 bool twr_at_lora_dr_read(
void)
292 uint8_t dr = atoi(param->txt);
304 bool twr_at_lora_repu_read(
void)
315 uint8_t repeat = atoi(param->txt);
317 if (repeat < 1 || repeat > 15)
327 bool twr_at_lora_repc_read(
void)
338 uint8_t repeat = atoi(param->txt);
340 if (repeat < 1 || repeat > 8)
350 bool twr_at_lora_ver_read(
void)
361 uint8_t debug = atoi(param->txt);
368 static bool _twr_at_lora_param_format_and_test(
twr_atci_param_t *param, uint8_t length)
372 for (uint32_t i = 0; param->txt[i] !=
'\0'; i++) {
373 if (param->txt[i] >=
'a' && param->txt[i] <=
'z') {
374 param->txt[i] = param->txt[i] - 32;
379 for (uint32_t i = 0; i < strlen(param->txt); i++)
381 while (param->txt[i] ==
' ')
383 for (uint32_t q = 0; q < strlen(param->txt); q++)
385 param->txt[i + q] = param->txt[i + q + 1];
391 param->length = strlen(param->txt);
393 if (param->length != length)
399 for (
size_t i = 0; i < strlen(param->txt); i++)
401 if ((param->txt[i] >=
'0' && param->txt[i] <=
'9') || (param->txt[i] >=
'A' && param->txt[i] <=
'F'))
size_t twr_atci_printfln(const char *format,...)
Prinf message and add CR LF.
void twr_cmwx1zzabz_set_adaptive_datarate(twr_cmwx1zzabz_t *self, bool enable)
Set the configuration adaptive data rate.
bool twr_cmwx1zzabz_link_check(twr_cmwx1zzabz_t *self)
Request send of link check packet.
void twr_cmwx1zzabz_set_appeui(twr_cmwx1zzabz_t *self, char *appeui)
Set APPEUI.
void twr_cmwx1zzabz_get_deveui(twr_cmwx1zzabz_t *self, char *deveui)
Get DEVEUI.
uint8_t twr_cmwx1zzabz_get_nwk_public(twr_cmwx1zzabz_t *self)
Get the configuration if public networks are enabled.
void twr_cmwx1zzabz_set_nwkskey(twr_cmwx1zzabz_t *self, char *nwkskey)
Set NWKSKEY.
void twr_cmwx1zzabz_get_appkey(twr_cmwx1zzabz_t *self, char *appkey)
Get APPKEY.
uint8_t twr_cmwx1zzabz_get_datarate(twr_cmwx1zzabz_t *self)
Get the configuration of datarate.
void twr_cmwx1zzabz_set_debug(twr_cmwx1zzabz_t *self, bool debug)
Set debugging flag which prints modem communication to twr_log.
void twr_cmwx1zzabz_get_nwkskey(twr_cmwx1zzabz_t *self, char *nwkskey)
Set NWKSKEY.
void twr_cmwx1zzabz_set_band(twr_cmwx1zzabz_t *self, twr_cmwx1zzabz_config_band_t band)
Set BAND.
void twr_cmwx1zzabz_set_repeat_unconfirmed(twr_cmwx1zzabz_t *self, uint8_t repeat)
Set number of transmissions of unconfirmed message.
bool twr_cmwx1zzabz_frame_counter(twr_cmwx1zzabz_t *self)
Request frame counter value.
twr_cmwx1zzabz_config_mode_t
LoRa mode ABP/OTAA.
void twr_cmwx1zzabz_set_devaddr(twr_cmwx1zzabz_t *self, char *devaddr)
Set DEVADDR.
void twr_cmwx1zzabz_join(twr_cmwx1zzabz_t *self)
Start LoRa OTAA join procedure.
char * twr_cmwx1zzabz_get_fw_version(twr_cmwx1zzabz_t *self)
Get firmware version string.
twr_cmwx1zzabz_config_band_t twr_cmwx1zzabz_get_band(twr_cmwx1zzabz_t *self)
Get BAND.
void twr_cmwx1zzabz_get_devaddr(twr_cmwx1zzabz_t *self, char *devaddr)
Get DEVADDR.
bool twr_cmwx1zzabz_rfq(twr_cmwx1zzabz_t *self)
Request RF quality of the last received packet (JOIN, LNPARAM, confirmed message)
void twr_cmwx1zzabz_get_appskey(twr_cmwx1zzabz_t *self, char *appskey)
Get APPSKEY.
void twr_cmwx1zzabz_set_nwk_public(twr_cmwx1zzabz_t *self, uint8_t public)
Set the configuration enabling public networks.
void twr_cmwx1zzabz_set_deveui(twr_cmwx1zzabz_t *self, char *deveui)
Set DEVEUI.
twr_cmwx1zzabz_config_band_t
Frequency modes and standards.
uint8_t twr_cmwx1zzabz_get_repeat_confirmed(twr_cmwx1zzabz_t *self)
Get number of transmissions of confirmed message.
bool twr_cmwx1zzabz_custom_at(twr_cmwx1zzabz_t *self, char *at_command)
Send custom AT command to LoRa Module.
uint8_t twr_cmwx1zzabz_get_repeat_unconfirmed(twr_cmwx1zzabz_t *self)
Get number of transmissions of unconfirmed message.
void twr_cmwx1zzabz_set_datarate(twr_cmwx1zzabz_t *self, uint8_t datarate)
Set the configuration of datarate.
void twr_cmwx1zzabz_set_appkey(twr_cmwx1zzabz_t *self, char *appkey)
Set APPKEY.
void twr_cmwx1zzabz_set_appskey(twr_cmwx1zzabz_t *self, char *appskey)
Set APPSKEY.
twr_cmwx1zzabz_config_mode_t twr_cmwx1zzabz_get_mode(twr_cmwx1zzabz_t *self)
Get ABP/OTAA mode.
void twr_cmwx1zzabz_get_appeui(twr_cmwx1zzabz_t *self, char *appeui)
Get APPEUI.
bool twr_cmwx1zzabz_get_adaptive_datarate(twr_cmwx1zzabz_t *self)
Get the configuration if adaptive data rate are enabled.
bool twr_cmwx1zzabz_factory_reset(twr_cmwx1zzabz_t *self)
Send factory reset command to LoRa Module.
struct twr_cmwx1zzabz_t twr_cmwx1zzabz_t
CMWX1ZZABZ instance.
void twr_cmwx1zzabz_set_mode(twr_cmwx1zzabz_t *self, twr_cmwx1zzabz_config_mode_t mode)
Set ABP/OTAA mode.
void twr_cmwx1zzabz_set_repeat_confirmed(twr_cmwx1zzabz_t *self, uint8_t repeat)
Set number of transmissions of confirmed message.