From 2187b5caa9c21a11823917f871bdff98790f8cee Mon Sep 17 00:00:00 2001 From: haukepetersen Date: Wed, 29 Apr 2015 22:12:45 +0200 Subject: [PATCH] tests/driver_at86rf2xx: adjusted netif auto init --- tests/driver_at86rf2xx/Makefile | 2 +- .../auto_init_ng_netif/Makefile | 1 + .../auto_init_ng_netif/netif_app.c | 91 +++++++++++++++++++ tests/driver_at86rf2xx/main.c | 59 +----------- 4 files changed, 95 insertions(+), 58 deletions(-) create mode 100644 tests/driver_at86rf2xx/auto_init_ng_netif/Makefile create mode 100644 tests/driver_at86rf2xx/auto_init_ng_netif/netif_app.c diff --git a/tests/driver_at86rf2xx/Makefile b/tests/driver_at86rf2xx/Makefile index 096cb934e..170e7dfd1 100644 --- a/tests/driver_at86rf2xx/Makefile +++ b/tests/driver_at86rf2xx/Makefile @@ -39,7 +39,7 @@ ifneq (,$(DRIVER)) else USEMODULE += ng_at86rf231 # default to ng_at86rf231 endif -USEMODULE += ng_netbase +USEMODULE += ng_netif USEMODULE += ng_nomac USEMODULE += ng_pktdump USEMODULE += uart0 diff --git a/tests/driver_at86rf2xx/auto_init_ng_netif/Makefile b/tests/driver_at86rf2xx/auto_init_ng_netif/Makefile new file mode 100644 index 000000000..48422e909 --- /dev/null +++ b/tests/driver_at86rf2xx/auto_init_ng_netif/Makefile @@ -0,0 +1 @@ +include $(RIOTBASE)/Makefile.base diff --git a/tests/driver_at86rf2xx/auto_init_ng_netif/netif_app.c b/tests/driver_at86rf2xx/auto_init_ng_netif/netif_app.c new file mode 100644 index 000000000..c22194775 --- /dev/null +++ b/tests/driver_at86rf2xx/auto_init_ng_netif/netif_app.c @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2015 Freie Universität Berlin + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup tests + * @{ + * + * @file + * @brief Test application for AT86RF2xx network device driver + * + * @author Hauke Petersen + * + * @} + */ + +#include + +#include "kernel.h" +#include "ng_at86rf2xx.h" +#include "net/ng_nomac.h" +#include "net/ng_netbase.h" + +/* make sure the SPI port and the needed GPIO pins are defined */ +#ifndef ATRF_SPI +#error "SPI not defined" +#endif +#ifndef ATRF_CS +#error "Chip select pin not defined" +#endif +#ifndef ATRF_INT +#error "Interrupt pin not defined" +#endif +#ifndef ATRF_SLEEP +#error "Sleep pin not defined" +#endif +#ifndef ATRF_RESET +#error "Reset pin not defined" +#endif +#ifndef ATRF_SPI_SPEED +#define ATRF_SPI_SPEED (SPI_SPEED_5MHZ) +#endif + +/** + * @brief MAC layer stack configuration + * @{ + */ +#define STACKSIZE (KERNEL_CONF_STACKSIZE_MAIN) +#define PRIO (0) +/** @} */ + +/** + * @brief Allocate the AT86RF2xx device descriptor + */ +static ng_at86rf2xx_t dev; + +/** + * @brief Stack for the nomac thread + */ +static char nomac_stack[STACKSIZE]; + + +void auto_init_ng_netif(void) +{ + kernel_pid_t iface; + int res; + + /* initialize the AT86RF2xx device */ + printf("Initializing the AT86RF2xx radio at SPI_%i... \n", ATRF_SPI); + res = ng_at86rf2xx_init(&dev, ATRF_SPI, ATRF_SPI_SPEED, + ATRF_CS, ATRF_INT, + ATRF_SLEEP, ATRF_RESET); + if (res < 0) { + puts("Error initializing AT86RF2xx radio device"); + return; + } + + /* start MAC layer */ + puts("Starting the NOMAC layer on top of the driver"); + iface = ng_nomac_init(nomac_stack, sizeof(nomac_stack), PRIO, "at86rf2xx", + (ng_netdev_t *)(&dev)); + if (iface <= KERNEL_PID_UNDEF) { + puts("Error initializing MAC layer"); + return; + } + +} diff --git a/tests/driver_at86rf2xx/main.c b/tests/driver_at86rf2xx/main.c index 6be3c879b..008b70c23 100644 --- a/tests/driver_at86rf2xx/main.c +++ b/tests/driver_at86rf2xx/main.c @@ -20,52 +20,19 @@ #include -#include "board.h" -#include "kernel.h" + #include "shell.h" #include "shell_commands.h" #include "posix_io.h" #include "board_uart0.h" -#include "ng_at86rf2xx.h" -#include "net/ng_netbase.h" -#include "net/ng_nomac.h" #include "net/ng_pktdump.h" - -/* make sure the SPI port and the needed GPIO pins are defined */ -#ifndef ATRF_SPI -#error "SPI not defined" -#endif -#ifndef ATRF_CS -#error "Chip select pin not defined" -#endif -#ifndef ATRF_INT -#error "Interrupt pin not defined" -#endif -#ifndef ATRF_SLEEP -#error "Sleep pin not defined" -#endif -#ifndef ATRF_RESET -#error "Reset pin not defined" -#endif -#ifndef ATRF_SPI_SPEED -#define ATRF_SPI_SPEED (SPI_SPEED_5MHZ) -#endif +#include "net/ng_netbase.h" /** * @brief Buffer size used by the shell */ #define SHELL_BUFSIZE (64U) -/** - * @brief Allocate the AT86RF2xx device descriptor - */ -static ng_at86rf2xx_t dev; - -/** - * @brief Stack for the nomac thread - */ -static char nomac_stack[KERNEL_CONF_STACKSIZE_MAIN]; - /** * @brief Read chars from STDIO */ @@ -89,13 +56,10 @@ void shell_put(int c) */ int main(void) { - kernel_pid_t iface; - int res; shell_t shell; ng_netreg_entry_t dump; puts("AT86RF2xx device driver test"); - printf("Initializing the radio at SPI_%i... \n", ATRF_SPI); /* register the pktdump thread */ puts("Register the packet dump thread for NG_NETTYPE_UNDEF packets"); @@ -103,25 +67,6 @@ int main(void) dump.demux_ctx = NG_NETREG_DEMUX_CTX_ALL; ng_netreg_register(NG_NETTYPE_UNDEF, &dump); - /* initialize the AT86RF2xx device */ - puts("Initialize the AT86RF2xx radio device"); - res = ng_at86rf2xx_init(&dev, ATRF_SPI, ATRF_SPI_SPEED, - ATRF_CS, ATRF_INT, - ATRF_SLEEP, ATRF_RESET); - if (res < 0) { - puts("Error initializing AT86RF2xx radio device"); - return -1; - } - - /* start MAC layer */ - puts("Starting the NOMAC layer on top of the driver"); - iface = ng_nomac_init(nomac_stack, sizeof(nomac_stack), PRIORITY_MAIN - 3, - "at86rf2xx", (ng_netdev_t *)&dev); - if (iface <= KERNEL_PID_UNDEF) { - puts("Error initializing MAC layer"); - return -1; - } - /* start the shell */ puts("Initialization successful - starting the shell now"); (void) posix_open(uart0_handler_pid, 0);