mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-18 12:52:44 +01:00
tests/driver_xbee: adjusted to interface auto_init
This commit is contained in:
parent
43f8a04c41
commit
8e0d4ab463
@ -17,7 +17,7 @@ ifneq (,$(filter nucleo-f091,$(BOARD)))
|
||||
endif
|
||||
|
||||
USEMODULE += xbee
|
||||
USEMODULE += ng_netbase
|
||||
USEMODULE += ng_netif
|
||||
USEMODULE += ng_nomac
|
||||
USEMODULE += ng_pktdump
|
||||
USEMODULE += shell
|
||||
|
1
tests/driver_xbee/auto_init_ng_netif/Makefile
Normal file
1
tests/driver_xbee/auto_init_ng_netif/Makefile
Normal file
@ -0,0 +1 @@
|
||||
include $(RIOTBASE)/Makefile.base
|
77
tests/driver_xbee/auto_init_ng_netif/netif_app.c
Normal file
77
tests/driver_xbee/auto_init_ng_netif/netif_app.c
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* 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 Xbee device initialization
|
||||
*
|
||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
||||
*
|
||||
* @}
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "kernel.h"
|
||||
#include "xbee.h"
|
||||
#include "net/ng_nomac.h"
|
||||
#include "net/ng_netbase.h"
|
||||
|
||||
/* make sure an UART to device is defined in the Makefile */
|
||||
#ifndef XBEE_UART
|
||||
#error "XBEE_UART not defined"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief This is the default baudrate the Xbee modules are programmed to
|
||||
* when you buy them
|
||||
*/
|
||||
#define XBEE_BAUDRATE (9600U)
|
||||
|
||||
/**
|
||||
* @brief MAC layer stack configuration
|
||||
* @{
|
||||
*/
|
||||
#define STACKSIZE (KERNEL_CONF_STACKSIZE_DEFAULT)
|
||||
#define PRIO (0)
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @brief The Xbee device descriptor
|
||||
*/
|
||||
static xbee_t dev;
|
||||
|
||||
/**
|
||||
* @brief Stack for the nomac thread
|
||||
*/
|
||||
static char nomac_stack[STACKSIZE];
|
||||
|
||||
|
||||
void auto_init_ng_netif(void)
|
||||
{
|
||||
int res;
|
||||
kernel_pid_t iface;
|
||||
|
||||
/* setup Xbee device */
|
||||
printf("Initializing the Xbee S1 device UART_%i... \n", XBEE_UART);
|
||||
res = xbee_init(&dev, XBEE_UART, XBEE_BAUDRATE, GPIO_NUMOF, GPIO_NUMOF);
|
||||
if (res < 0) {
|
||||
puts("Error initializing xbee device driver");
|
||||
return;
|
||||
}
|
||||
/* start MAC layer */
|
||||
iface = ng_nomac_init(nomac_stack, sizeof(nomac_stack), PRIO, "xbee",
|
||||
(ng_netdev_t *)(&dev));
|
||||
if (iface <= KERNEL_PID_UNDEF) {
|
||||
puts("Error initializing MAC layer");
|
||||
return;
|
||||
}
|
||||
}
|
@ -20,41 +20,16 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "board.h"
|
||||
#include "kernel.h"
|
||||
#include "shell.h"
|
||||
#include "shell_commands.h"
|
||||
#include "xbee.h"
|
||||
#include "net/ng_netbase.h"
|
||||
#include "net/ng_nomac.h"
|
||||
#include "net/ng_pktdump.h"
|
||||
|
||||
/* make sure an UART to device is defined in the Makefile */
|
||||
#ifndef XBEE_UART
|
||||
#error "XBEE_UART not defined"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief This is the default baudrate the Xbee modules are programmed to
|
||||
* when you buy them
|
||||
*/
|
||||
#define XBEE_BAUDRATE (9600U)
|
||||
|
||||
/**
|
||||
* @brief Buffer size used by the shell
|
||||
*/
|
||||
#define SHELL_BUFSIZE (64U)
|
||||
|
||||
/**
|
||||
* @brief The Xbee device descriptor
|
||||
*/
|
||||
static xbee_t dev;
|
||||
|
||||
/**
|
||||
* @brief Stack for the nomac thread
|
||||
*/
|
||||
static char nomac_stack[KERNEL_CONF_STACKSIZE_DEFAULT];
|
||||
|
||||
/**
|
||||
* @brief Read chars from STDIO
|
||||
*/
|
||||
@ -76,16 +51,10 @@ void shell_put(int c)
|
||||
*/
|
||||
int main(void)
|
||||
{
|
||||
kernel_pid_t iface;
|
||||
int res;
|
||||
shell_t shell;
|
||||
ng_netreg_entry_t dump;
|
||||
|
||||
puts("Xbee S1 device driver test");
|
||||
printf("Initializing the Xbee S1 device UART_%i... \n", XBEE_UART);
|
||||
|
||||
/* initialize network module(s) */
|
||||
ng_netif_init();
|
||||
|
||||
/* initialize and register pktdump */
|
||||
dump.pid = ng_pktdump_getpid();
|
||||
@ -96,20 +65,6 @@ int main(void)
|
||||
dump.demux_ctx = NG_NETREG_DEMUX_CTX_ALL;
|
||||
ng_netreg_register(NG_NETTYPE_UNDEF, &dump);
|
||||
|
||||
/* setup Xbee device */
|
||||
res = xbee_init(&dev, XBEE_UART, XBEE_BAUDRATE, GPIO_NUMOF, GPIO_NUMOF);
|
||||
if (res < 0) {
|
||||
puts("Error initializing xbee device driver");
|
||||
return -1;
|
||||
}
|
||||
/* start MAC layer */
|
||||
iface = ng_nomac_init(nomac_stack, sizeof(nomac_stack), PRIORITY_MAIN - 3,
|
||||
"xbee_l2", (ng_netdev_t *)&dev);
|
||||
if (iface <= KERNEL_PID_UNDEF) {
|
||||
puts("Error initializing MAC layer");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* start the shell */
|
||||
puts("Initialization OK, starting shell now");
|
||||
shell_init(&shell, NULL, SHELL_BUFSIZE, shell_read, shell_put);
|
||||
|
Loading…
Reference in New Issue
Block a user