1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2026-01-01 01:41:18 +01:00

Merge pull request #13362 from benpicco/at86rf2xx-luid_get

drivers/at86rf2xx: use luid_get_eui64() / luid_get_short()
This commit is contained in:
Alexandre Abadie 2020-02-13 15:33:41 +01:00 committed by GitHub
commit a055a6c579
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -90,6 +90,7 @@ static void at86rf2xx_enable_smart_idle(at86rf2xx_t *dev)
void at86rf2xx_reset(at86rf2xx_t *dev)
{
eui64_t addr_long;
network_uint16_t addr_short;
at86rf2xx_hardware_reset(dev);
@ -100,14 +101,13 @@ void at86rf2xx_reset(at86rf2xx_t *dev)
at86rf2xx_set_state(dev, AT86RF2XX_STATE_FORCE_TRX_OFF);
}
/* get an 8-byte unique ID to use as hardware address */
luid_get(addr_long.uint8, IEEE802154_LONG_ADDRESS_LEN);
/* make sure we mark the address as non-multicast and not globally unique */
addr_long.uint8[0] &= ~(0x01);
addr_long.uint8[0] |= (0x02);
/* generate EUI-64 and short address */
luid_get_eui64(&addr_long);
luid_get_short(&addr_short);
/* set short and long address */
at86rf2xx_set_addr_long(dev, &addr_long);
at86rf2xx_set_addr_short(dev, &addr_long.uint16[ARRAY_SIZE(addr_long.uint16) - 1]);
at86rf2xx_set_addr_short(dev, &addr_short);
/* set default channel */
at86rf2xx_set_chan(dev, AT86RF2XX_DEFAULT_CHANNEL);