static int _init(netdev2_t *netdev) { cc2538_rf_t *dev = (cc2538_rf_t *) netdev; _dev = netdev; uint16_t pan = cc2538_get_pan(); uint16_t chan = cc2538_get_chan(); uint16_t addr_short = cc2538_get_addr_short(); uint64_t addr_long = cc2538_get_addr_long(); /* Initialise netdev2_ieee802154_t struct */ netdev2_ieee802154_set((netdev2_ieee802154_t *)netdev, NETOPT_NID, &pan, sizeof(pan)); netdev2_ieee802154_set((netdev2_ieee802154_t *)netdev, NETOPT_CHANNEL, &chan, sizeof(chan)); netdev2_ieee802154_set((netdev2_ieee802154_t *)netdev, NETOPT_ADDRESS, &addr_short, sizeof(addr_short)); netdev2_ieee802154_set((netdev2_ieee802154_t *)netdev, NETOPT_ADDRESS_LONG, &addr_long, sizeof(addr_long)); cc2538_set_state(dev, NETOPT_STATE_IDLE); /* set default protocol */ #ifdef MODULE_GNRC_SIXLOWPAN dev->netdev.proto = GNRC_NETTYPE_SIXLOWPAN; #elif MODULE_GNRC dev->netdev.proto = GNRC_NETTYPE_UNDEF; #endif #ifdef MODULE_NETSTATS_L2 memset(&netdev->stats, 0, sizeof(netstats_t)); #endif return 0; }
static int _init(netdev_t *netdev) { cc2538_rf_t *dev = (cc2538_rf_t *) netdev; _dev = netdev; uint16_t pan = cc2538_get_pan(); uint16_t chan = cc2538_get_chan(); uint16_t addr_short = cc2538_get_addr_short(); uint64_t addr_long = cc2538_get_addr_long(); netdev_ieee802154_reset(&dev->netdev); /* Initialise netdev_ieee802154_t struct */ netdev_ieee802154_set(&dev->netdev, NETOPT_NID, &pan, sizeof(pan)); netdev_ieee802154_set(&dev->netdev, NETOPT_CHANNEL, &chan, sizeof(chan)); netdev_ieee802154_set(&dev->netdev, NETOPT_ADDRESS, &addr_short, sizeof(addr_short)); netdev_ieee802154_set(&dev->netdev, NETOPT_ADDRESS_LONG, &addr_long, sizeof(addr_long)); cc2538_set_state(dev, NETOPT_STATE_IDLE); #ifdef MODULE_NETSTATS_L2 memset(&netdev->stats, 0, sizeof(netstats_t)); #endif return 0; }