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 = 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 = gnrc_nomac_init(nomac_stack, sizeof(nomac_stack), PRIO, "at86rf2xx", (gnrc_netdev_t *)(&dev)); if (iface <= KERNEL_PID_UNDEF) { puts("Error initializing MAC layer"); return; } }
void auto_init_at86rf2xx(void) { for (int i = 0; i < AT86RF2XX_NUM; i++) { DEBUG("Initializing AT86RF2xx radio at SPI_%i\n", i); const at86rf2xx_params_t *p = &at86rf2xx_params[i]; int res = at86rf2xx_init(&at86rf2xx_devs[i], p->spi, p->spi_speed, p->cs_pin, p->int_pin, p->sleep_pin, p->reset_pin); if (res < 0) { DEBUG("Error initializing AT86RF2xx radio device!\n"); } else { gnrc_nomac_init(_nomac_stacks[i], AT86RF2XX_MAC_STACKSIZE, AT86RF2XX_MAC_PRIO, "at86rfxx", (gnrc_netdev_t *)&at86rf2xx_devs[i]); } } }