shell_commands: gnrc_netif: only include LoRA options when LoRA PHY is present
If no LoRA module is used, there is no use in compiling in all the config options for LoRA PHYs. This saves about 1k of .text
This commit is contained in:
parent
57f5080e5b
commit
c31e373214
@ -521,6 +521,11 @@ ifneq (,$(filter sx127%,$(USEMODULE)))
|
||||
USEMODULE += sx127x
|
||||
USEMODULE += netif
|
||||
USEMODULE += lora
|
||||
|
||||
ifneq (,$(filter gnrc,$(USEMODULE)))
|
||||
# Pull in `ifconfig` support for LoRA
|
||||
USEMODULE += gnrc_netif_cmd_lora
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (,$(filter tcs37727,$(USEMODULE)))
|
||||
|
||||
@ -27,6 +27,7 @@ PSEUDOMODULES += gnrc_neterr
|
||||
PSEUDOMODULES += gnrc_netapi_callbacks
|
||||
PSEUDOMODULES += gnrc_netapi_mbox
|
||||
PSEUDOMODULES += gnrc_pktbuf_cmd
|
||||
PSEUDOMODULES += gnrc_netif_cmd_%
|
||||
PSEUDOMODULES += gnrc_netif_dedup
|
||||
PSEUDOMODULES += gnrc_sixloenc
|
||||
PSEUDOMODULES += gnrc_sixlowpan_border_router_default
|
||||
|
||||
@ -160,9 +160,11 @@ static void _set_usage(char *cmd_name)
|
||||
" * \"pan\" - alias for \"nid\"\n"
|
||||
" * \"pan_id\" - alias for \"nid\"\n"
|
||||
" * \"phy_busy\" - set busy mode on-off\n"
|
||||
#ifdef MODULE_GNRC_NETIF_CMD_LORA
|
||||
" * \"bw\" - alias for channel bandwidth\n"
|
||||
" * \"sf\" - alias for spreading factor\n"
|
||||
" * \"cr\" - alias for coding rate\n"
|
||||
#endif
|
||||
" * \"power\" - TX power in dBm\n"
|
||||
" * \"retrans\" - max. number of retransmissions\n"
|
||||
" * \"src_len\" - sets the source address length in byte\n"
|
||||
@ -264,6 +266,7 @@ static void _print_netopt(netopt_t opt)
|
||||
printf("encryption key");
|
||||
break;
|
||||
|
||||
#ifdef MODULE_GNRC_NETIF_CMD_LORA
|
||||
case NETOPT_BANDWIDTH:
|
||||
printf("bandwidth");
|
||||
break;
|
||||
@ -275,7 +278,7 @@ static void _print_netopt(netopt_t opt)
|
||||
case NETOPT_CODING_RATE:
|
||||
printf("coding rate");
|
||||
break;
|
||||
|
||||
#endif
|
||||
case NETOPT_CHECKSUM:
|
||||
printf("checksum");
|
||||
break;
|
||||
@ -300,6 +303,7 @@ static const char *_netopt_state_str[] = {
|
||||
[NETOPT_STATE_STANDBY] = "STANDBY"
|
||||
};
|
||||
|
||||
#ifdef MODULE_GNRC_NETIF_CMD_LORA
|
||||
static const char *_netopt_bandwidth_str[] = {
|
||||
[LORA_BW_125_KHZ] = "125",
|
||||
[LORA_BW_250_KHZ] = "250",
|
||||
@ -312,6 +316,7 @@ static const char *_netopt_coding_rate_str[] = {
|
||||
[LORA_CR_4_7] = "4/7",
|
||||
[LORA_CR_4_8] = "4/8"
|
||||
};
|
||||
#endif
|
||||
|
||||
/* for some lines threshold might just be 0, so we can't use _LINE_THRESHOLD
|
||||
* here */
|
||||
@ -425,6 +430,7 @@ static void _netif_list(kernel_pid_t iface)
|
||||
if (res >= 0) {
|
||||
printf(" NID: 0x%" PRIx16, u16);
|
||||
}
|
||||
#ifdef MODULE_GNRC_NETIF_CMD_LORA
|
||||
res = gnrc_netapi_get(iface, NETOPT_BANDWIDTH, 0, &u8, sizeof(u8));
|
||||
if (res >= 0) {
|
||||
printf(" BW: %skHz ", _netopt_bandwidth_str[u8]);
|
||||
@ -437,6 +443,7 @@ static void _netif_list(kernel_pid_t iface)
|
||||
if (res >= 0) {
|
||||
printf(" CR: %s ", _netopt_coding_rate_str[u8]);
|
||||
}
|
||||
#endif
|
||||
res = gnrc_netapi_get(iface, NETOPT_LINK_CONNECTED, 0, &u8, sizeof(u8));
|
||||
if (res >= 0) {
|
||||
printf(" Link: %s ", (netopt_enable_t)u8 ? "up" : "down" );
|
||||
@ -644,6 +651,7 @@ static int _netif_set_u32(kernel_pid_t iface, netopt_t opt, uint32_t context,
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef MODULE_GNRC_NETIF_CMD_LORA
|
||||
static int _netif_set_bandwidth(kernel_pid_t iface, char *value)
|
||||
{
|
||||
uint8_t bw;
|
||||
@ -702,6 +710,7 @@ static int _netif_set_coding_rate(kernel_pid_t iface, char *value)
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* MODULE_GNRC_NETIF_CMD_LORA */
|
||||
|
||||
static int _netif_set_u16(kernel_pid_t iface, netopt_t opt, uint16_t context,
|
||||
char *u16_str)
|
||||
@ -1009,6 +1018,7 @@ static int _netif_set(char *cmd_name, kernel_pid_t iface, char *key, char *value
|
||||
else if ((strcmp("frequency", key) == 0) || (strcmp("freq", key) == 0)) {
|
||||
return _netif_set_u32(iface, NETOPT_CHANNEL_FREQUENCY, 0, value);
|
||||
}
|
||||
#ifdef MODULE_GNRC_NETIF_CMD_LORA
|
||||
else if ((strcmp("bandwidth", key) == 0) || (strcmp("bw", key) == 0)) {
|
||||
return _netif_set_bandwidth(iface, value);
|
||||
}
|
||||
@ -1018,6 +1028,7 @@ static int _netif_set(char *cmd_name, kernel_pid_t iface, char *key, char *value
|
||||
else if ((strcmp("coding_rate", key) == 0) || (strcmp("cr", key) == 0)) {
|
||||
return _netif_set_coding_rate(iface, value);
|
||||
}
|
||||
#endif
|
||||
else if ((strcmp("channel", key) == 0) || (strcmp("chan", key) == 0)) {
|
||||
return _netif_set_u16(iface, NETOPT_CHANNEL, 0, value);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user