int main(void) { puts("AT86RF2xx device driver test"); xtimer_init(); for (unsigned i = 0; i < AT86RF2XX_NUM; i++) { const at86rf2xx_params_t *p = &at86rf2xx_params[i]; netdev2_t *dev = (netdev2_t *)(&devs[i]); printf("Initializing AT86RF2xx radio at SPI_%d\n", p->spi); at86rf2xx_setup(&devs[i], (at86rf2xx_params_t*) p); dev->event_callback = _event_cb; dev->driver->init(dev); } _recv_pid = thread_create(stack, sizeof(stack), THREAD_PRIORITY_MAIN - 1, THREAD_CREATE_STACKTEST, _recv_thread, NULL, "recv_thread"); if (_recv_pid <= KERNEL_PID_UNDEF) { puts("Creation of receiver thread failed"); return 1; } /* start the shell */ puts("Initialization successful - starting the shell now"); char line_buf[SHELL_DEFAULT_BUFSIZE]; shell_run(shell_commands, line_buf, SHELL_DEFAULT_BUFSIZE); return 0; }
void openthread_bootstrap(void) { /* init random */ ot_random_init(); /* setup netdev modules */ #ifdef MODULE_AT86RF2XX at86rf2xx_setup(&at86rf2xx_dev, &at86rf2xx_params[0]); netdev_t *netdev = (netdev_t *) &at86rf2xx_dev; #endif openthread_radio_init(netdev, tx_buf, rx_buf); openthread_netdev_init(ot_thread_stack, sizeof(ot_thread_stack), THREAD_PRIORITY_MAIN - 5, "openthread", netdev); }
int main(void) { netdev_t *netdev = (netdev_t *)&at86rf2xx; puts("RIOT emb6 test application"); at86rf2xx_setup(&at86rf2xx, at86rf2xx_params); netdev->driver->init((netdev_t *)&at86rf2xx); emb6_netdev_setup(netdev); emb6_init(&emb6); thread_create(emb6_stack, sizeof(emb6_stack), EMB6_PRIO, THREAD_CREATE_STACKTEST, _emb6_thread, NULL, "emb6"); shell_run(shell_commands, line_buf, SHELL_DEFAULT_BUFSIZE); /* should be never reached */ return 0; }
void auto_init_at86rf2xx(void) { for (unsigned i = 0; i < AT86RF2XX_NUM; i++) { const at86rf2xx_params_t *p = &at86rf2xx_params[i]; int res; DEBUG("Initializing AT86RF2xx radio at SPI_%i\n", p->spi); at86rf2xx_setup(&at86rf2xx_devs[i], (at86rf2xx_params_t*) p); res = gnrc_netdev2_ieee802154_init(&gnrc_adpt[i], (netdev2_ieee802154_t *)&at86rf2xx_devs[i]); if (res < 0) { DEBUG("Error initializing AT86RF2xx radio device!\n"); } else { gnrc_netdev2_init(_at86rf2xx_stacks[i], AT86RF2XX_MAC_STACKSIZE, AT86RF2XX_MAC_PRIO, "at86rf2xx", &gnrc_adpt[i]); } } }
void auto_init_at86rf2xx(void) { for (unsigned i = 0; i < AT86RF2XX_NUM; i++) { const at86rf2xx_params_t *p = &at86rf2xx_params[i]; int res; LOG_DEBUG("[auto_init_netif] initializing at86rf2xx #%u\n", i); at86rf2xx_setup(&at86rf2xx_devs[i], (at86rf2xx_params_t*) p); res = gnrc_netdev2_ieee802154_init(&gnrc_adpt[i], (netdev2_ieee802154_t *)&at86rf2xx_devs[i]); if (res < 0) { LOG_ERROR("[auto_init_netif] error initializing at86rf2xx radio #%u\n", i); } else { gnrc_netdev2_init(_at86rf2xx_stacks[i], AT86RF2XX_MAC_STACKSIZE, AT86RF2XX_MAC_PRIO, "at86rf2xx", &gnrc_adpt[i]); } } }