auto_init: adapt autoinitialization of at86rf2xx

This commit is contained in:
Martine Lenders 2016-01-25 00:09:47 +01:00
parent 5bfc9e43fb
commit 16e1110c5f

View File

@ -20,7 +20,8 @@
#ifdef MODULE_AT86RF2XX #ifdef MODULE_AT86RF2XX
#include "board.h" #include "board.h"
#include "net/gnrc/nomac.h" #include "net/gnrc/netdev2.h"
#include "net/gnrc/netdev2/ieee802154.h"
#include "net/gnrc.h" #include "net/gnrc.h"
#include "at86rf2xx.h" #include "at86rf2xx.h"
@ -36,32 +37,38 @@
#define AT86RF2XX_MAC_STACKSIZE (THREAD_STACKSIZE_DEFAULT) #define AT86RF2XX_MAC_STACKSIZE (THREAD_STACKSIZE_DEFAULT)
#define AT86RF2XX_MAC_PRIO (THREAD_PRIORITY_MAIN - 4) #define AT86RF2XX_MAC_PRIO (THREAD_PRIORITY_MAIN - 4)
#define AT86RF2XX_NUM (sizeof(at86rf2xx_params)/sizeof(at86rf2xx_params[0])) #define AT86RF2XX_NUM (sizeof(at86rf2xx_params) / sizeof(at86rf2xx_params[0]))
static at86rf2xx_t at86rf2xx_devs[AT86RF2XX_NUM]; static at86rf2xx_t at86rf2xx_devs[AT86RF2XX_NUM];
static char _nomac_stacks[AT86RF2XX_MAC_STACKSIZE][AT86RF2XX_NUM]; static gnrc_netdev2_t gnrc_adpt[AT86RF2XX_NUM];
static char _at86rf2xx_stacks[AT86RF2XX_MAC_STACKSIZE][AT86RF2XX_NUM];
void auto_init_at86rf2xx(void) void auto_init_at86rf2xx(void)
{ {
for (unsigned i = 0; i < AT86RF2XX_NUM; i++) { for (unsigned i = 0; i < AT86RF2XX_NUM; i++) {
const at86rf2xx_params_t *p = &at86rf2xx_params[i]; const at86rf2xx_params_t *p = &at86rf2xx_params[i];
int res;
DEBUG("Initializing AT86RF2xx radio at SPI_%i\n", p->spi); DEBUG("Initializing AT86RF2xx radio at SPI_%i\n", p->spi);
int res = at86rf2xx_init(&at86rf2xx_devs[i], at86rf2xx_setup(&at86rf2xx_devs[i],
p->spi, p->spi,
p->spi_speed, p->spi_speed,
p->cs_pin, p->cs_pin,
p->int_pin, p->int_pin,
p->sleep_pin, p->sleep_pin,
p->reset_pin); p->reset_pin);
res = gnrc_netdev2_ieee802154_init(&gnrc_adpt[i],
(netdev2_ieee802154_t *)&at86rf2xx_devs[i]);
if (res < 0) { if (res < 0) {
DEBUG("Error initializing AT86RF2xx radio device!\n"); DEBUG("Error initializing AT86RF2xx radio device!\n");
} }
else { else {
gnrc_nomac_init(_nomac_stacks[i], gnrc_netdev2_init(_at86rf2xx_stacks[i],
AT86RF2XX_MAC_STACKSIZE, AT86RF2XX_MAC_PRIO, AT86RF2XX_MAC_STACKSIZE,
"at86rfxx", (gnrc_netdev_t *)&at86rf2xx_devs[i]); AT86RF2XX_MAC_PRIO,
"at86rf2xx",
&gnrc_adpt[i]);
} }
} }
} }