Пример #1
0
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;
    }

}
Пример #2
0
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]);
        }
    }
}