mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
examples/gnrc_networking: move udp command to shell commands
The `udp` command is a valuable debugging tool that is also useful outside of the gnrc_networking example. To enable easy sending of udp messages in other applications during development, move the `udp` command to the shell module and introduce the `gnrc_udp_cmd` pseudo-module to enable it.
This commit is contained in:
parent
4f905bfa8c
commit
da7d3779bf
@ -13,17 +13,14 @@ USEMODULE += gnrc_netdev_default
|
|||||||
USEMODULE += auto_init_gnrc_netif
|
USEMODULE += auto_init_gnrc_netif
|
||||||
# Activate ICMPv6 error messages
|
# Activate ICMPv6 error messages
|
||||||
USEMODULE += gnrc_icmpv6_error
|
USEMODULE += gnrc_icmpv6_error
|
||||||
# Specify the mandatory networking modules for IPv6 and UDP
|
# Specify the mandatory networking module for a IPv6 routing node
|
||||||
USEMODULE += gnrc_ipv6_router_default
|
USEMODULE += gnrc_ipv6_router_default
|
||||||
USEMODULE += gnrc_udp
|
|
||||||
# Add a routing protocol
|
# Add a routing protocol
|
||||||
USEMODULE += gnrc_rpl
|
USEMODULE += gnrc_rpl
|
||||||
USEMODULE += auto_init_gnrc_rpl
|
USEMODULE += auto_init_gnrc_rpl
|
||||||
# This application dumps received packets to STDIO using the pktdump module
|
|
||||||
USEMODULE += gnrc_pktdump
|
|
||||||
# Additional networking modules that can be dropped if not needed
|
# Additional networking modules that can be dropped if not needed
|
||||||
USEMODULE += gnrc_icmpv6_echo
|
USEMODULE += gnrc_icmpv6_echo
|
||||||
USEMODULE += netutils
|
USEMODULE += gnrc_udp_cmd
|
||||||
# Add also the shell, some shell commands
|
# Add also the shell, some shell commands
|
||||||
USEMODULE += shell
|
USEMODULE += shell
|
||||||
USEMODULE += shell_commands
|
USEMODULE += shell_commands
|
||||||
|
@ -26,13 +26,6 @@
|
|||||||
#define MAIN_QUEUE_SIZE (8)
|
#define MAIN_QUEUE_SIZE (8)
|
||||||
static msg_t _main_msg_queue[MAIN_QUEUE_SIZE];
|
static msg_t _main_msg_queue[MAIN_QUEUE_SIZE];
|
||||||
|
|
||||||
extern int udp_cmd(int argc, char **argv);
|
|
||||||
|
|
||||||
static const shell_command_t shell_commands[] = {
|
|
||||||
{ "udp", "send data over UDP and listen on UDP ports", udp_cmd },
|
|
||||||
{ NULL, NULL, NULL }
|
|
||||||
};
|
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
/* we need a message queue for the thread running the shell in order to
|
/* we need a message queue for the thread running the shell in order to
|
||||||
@ -43,7 +36,7 @@ int main(void)
|
|||||||
/* start shell */
|
/* start shell */
|
||||||
puts("All up, running the shell now");
|
puts("All up, running the shell now");
|
||||||
char line_buf[SHELL_DEFAULT_BUFSIZE];
|
char line_buf[SHELL_DEFAULT_BUFSIZE];
|
||||||
shell_run(shell_commands, line_buf, SHELL_DEFAULT_BUFSIZE);
|
shell_run(NULL, line_buf, SHELL_DEFAULT_BUFSIZE);
|
||||||
|
|
||||||
/* should be never reached */
|
/* should be never reached */
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -66,6 +66,7 @@ PSEUDOMODULES += gnrc_sixlowpan_frag_sfr_stats
|
|||||||
PSEUDOMODULES += gnrc_sixlowpan_iphc_nhc
|
PSEUDOMODULES += gnrc_sixlowpan_iphc_nhc
|
||||||
PSEUDOMODULES += gnrc_sixlowpan_nd_border_router
|
PSEUDOMODULES += gnrc_sixlowpan_nd_border_router
|
||||||
PSEUDOMODULES += gnrc_sixlowpan_router_default
|
PSEUDOMODULES += gnrc_sixlowpan_router_default
|
||||||
|
PSEUDOMODULES += gnrc_udp_cmd
|
||||||
PSEUDOMODULES += gnrc_sock_async
|
PSEUDOMODULES += gnrc_sock_async
|
||||||
PSEUDOMODULES += gnrc_sock_check_reuse
|
PSEUDOMODULES += gnrc_sock_check_reuse
|
||||||
PSEUDOMODULES += gnrc_txtsnd
|
PSEUDOMODULES += gnrc_txtsnd
|
||||||
|
@ -260,6 +260,10 @@ ifneq (,$(filter shell_commands,$(USEMODULE)))
|
|||||||
USEMODULE += netutils
|
USEMODULE += netutils
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(gnrc_udp_cmd,$(USEMODULE)))
|
||||||
|
USEMODULE += netutils
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter nimble_netif,$(USEMODULE)))
|
ifneq (,$(filter nimble_netif,$(USEMODULE)))
|
||||||
USEMODULE += nimble_scanner
|
USEMODULE += nimble_scanner
|
||||||
USEMODULE += nimble_scanlist
|
USEMODULE += nimble_scanlist
|
||||||
|
@ -366,6 +366,11 @@ ifneq (,$(filter gnrc_udp,$(USEMODULE)))
|
|||||||
USEMODULE += udp
|
USEMODULE += udp
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(filter gnrc_udp_cmd,$(USEMODULE)))
|
||||||
|
USEMODULE += gnrc_udp
|
||||||
|
USEMODULE += gnrc_pktdump
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter gnrc_tcp,$(USEMODULE)))
|
ifneq (,$(filter gnrc_tcp,$(USEMODULE)))
|
||||||
DEFAULT_MODULE += auto_init_gnrc_tcp
|
DEFAULT_MODULE += auto_init_gnrc_tcp
|
||||||
USEMODULE += gnrc_nettype_tcp
|
USEMODULE += gnrc_nettype_tcp
|
||||||
|
@ -35,6 +35,9 @@ endif
|
|||||||
ifneq (,$(filter gnrc_netif,$(USEMODULE)))
|
ifneq (,$(filter gnrc_netif,$(USEMODULE)))
|
||||||
SRC += sc_gnrc_netif.c
|
SRC += sc_gnrc_netif.c
|
||||||
endif
|
endif
|
||||||
|
ifneq (,$(filter gnrc_udp_cmd,$(USEMODULE)))
|
||||||
|
SRC += sc_gnrc_udp.c
|
||||||
|
endif
|
||||||
ifneq (,$(filter netstats_neighbor,$(USEMODULE)))
|
ifneq (,$(filter netstats_neighbor,$(USEMODULE)))
|
||||||
SRC += sc_netstats_nb.c
|
SRC += sc_netstats_nb.c
|
||||||
endif
|
endif
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup examples
|
* @ingroup sys_shell_commands
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @file
|
||||||
@ -41,7 +41,7 @@ static gnrc_netreg_entry_t server =
|
|||||||
GNRC_NETREG_ENTRY_INIT_PID(GNRC_NETREG_DEMUX_CTX_ALL,
|
GNRC_NETREG_ENTRY_INIT_PID(GNRC_NETREG_DEMUX_CTX_ALL,
|
||||||
KERNEL_PID_UNDEF);
|
KERNEL_PID_UNDEF);
|
||||||
|
|
||||||
static void send(char *addr_str, char *port_str, char *data, unsigned int num,
|
static void send(char *addr_str, const char *port_str, const void *data, size_t num,
|
||||||
unsigned int delay)
|
unsigned int delay)
|
||||||
{
|
{
|
||||||
netif_t *netif;
|
netif_t *netif;
|
||||||
@ -149,7 +149,7 @@ static void stop_server(void)
|
|||||||
puts("Success: stopped UDP server");
|
puts("Success: stopped UDP server");
|
||||||
}
|
}
|
||||||
|
|
||||||
int udp_cmd(int argc, char **argv)
|
int _gnrc_udp_cmd(int argc, char **argv)
|
||||||
{
|
{
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
printf("usage: %s [send|server]\n", argv[0]);
|
printf("usage: %s [send|server]\n", argv[0]);
|
@ -203,6 +203,10 @@ extern int _cryptoauth(int argc, char **argv);
|
|||||||
extern int _bootloader_handler(int argc, char **argv);
|
extern int _bootloader_handler(int argc, char **argv);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef MODULE_GNRC_UDP_CMD
|
||||||
|
extern int _gnrc_udp_cmd(int argc, char **argv);
|
||||||
|
#endif
|
||||||
|
|
||||||
const shell_command_t _shell_command_list[] = {
|
const shell_command_t _shell_command_list[] = {
|
||||||
{"reboot", "Reboot the node", _reboot_handler},
|
{"reboot", "Reboot the node", _reboot_handler},
|
||||||
{"version", "Prints current RIOT_VERSION", _version_handler},
|
{"version", "Prints current RIOT_VERSION", _version_handler},
|
||||||
@ -296,6 +300,9 @@ const shell_command_t _shell_command_list[] = {
|
|||||||
#ifdef MODULE_GNRC_SIXLOWPAN_FRAG_STATS
|
#ifdef MODULE_GNRC_SIXLOWPAN_FRAG_STATS
|
||||||
{"6lo_frag", "6LoWPAN fragment statistics", _gnrc_6lo_frag_stats },
|
{"6lo_frag", "6LoWPAN fragment statistics", _gnrc_6lo_frag_stats },
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef MODULE_GNRC_UDP_CMD
|
||||||
|
{ "udp", "send data over UDP and listen on UDP ports", _gnrc_udp_cmd },
|
||||||
|
#endif
|
||||||
#ifdef MODULE_SAUL_REG
|
#ifdef MODULE_SAUL_REG
|
||||||
{"saul", "interact with sensors and actuators using SAUL", _saul },
|
{"saul", "interact with sensors and actuators using SAUL", _saul },
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user