void mrf24j40_reset(mrf24j40_t *dev) { eui64_t addr_long; mrf24j40_init(dev); netdev_ieee802154_reset(&dev->netdev); /* get an 8-byte unique ID to use as hardware address */ luid_get(addr_long.uint8, IEEE802154_LONG_ADDRESS_LEN); addr_long.uint8[0] &= ~(0x01); addr_long.uint8[0] |= (0x02); /* set short and long address */ mrf24j40_set_addr_long(dev, ntohll(addr_long.uint64.u64)); mrf24j40_set_addr_short(dev, ntohs(addr_long.uint16[0].u16)); /* set default PAN id */ mrf24j40_set_pan(dev, IEEE802154_DEFAULT_PANID); mrf24j40_set_chan(dev, IEEE802154_DEFAULT_CHANNEL); /* configure Immediate Sleep and Wake-Up mode */ mrf24j40_reg_write_short(dev, MRF24J40_REG_WAKECON, MRF24J40_WAKECON_IMMWAKE); /* set default options */ mrf24j40_set_option(dev, IEEE802154_FCF_PAN_COMP, true); mrf24j40_set_option(dev, NETDEV_IEEE802154_SRC_MODE_LONG, true); mrf24j40_set_option(dev, NETDEV_IEEE802154_ACK_REQ, true); mrf24j40_set_option(dev, MRF24J40_OPT_CSMA, true); /* go into RX state */ mrf24j40_reset_tasks(dev); dev->state = 0; mrf24j40_set_state(dev, MRF24J40_PSEUDO_STATE_IDLE); DEBUG("mrf24j40_reset(): reset complete.\n"); }
void init_zigbee(u8 _channel, u16 pan_id, u16 short_address) { mrf24j40_setup_io(); mrf24j40_init(); //mrf24j40_set_pan_id(pan_id); //mrf24j40_set_short_address(short_address); //mrf24j40_set_channel(_channel); }
void init_zigbee(u8 _channel, u16 pan_id, u16 short_address) { mrf24j40_setup_io(); mrf24j40_init(); // RB : 30-08-2013 - Uncommented following lines mrf24j40_set_pan_id(pan_id); mrf24j40_set_short_address(short_address); mrf24j40_set_channel(_channel); }