drivers/at86rf2xx: reset hardware before reading version register

This commit is contained in:
Thomas Stilwell 2020-02-12 19:05:07 -06:00
parent 3141e91380
commit 751b0332da
2 changed files with 4 additions and 2 deletions

View File

@ -91,8 +91,6 @@ void at86rf2xx_reset(at86rf2xx_t *dev)
{ {
eui64_t addr_long; eui64_t addr_long;
at86rf2xx_hardware_reset(dev);
netdev_ieee802154_reset(&dev->netdev); netdev_ieee802154_reset(&dev->netdev);
/* Reset state machine to ensure a known state */ /* Reset state machine to ensure a known state */

View File

@ -98,6 +98,9 @@ static int _init(netdev_t *netdev)
spi_release(dev->params.spi); spi_release(dev->params.spi);
#endif #endif
/* reset hardware into a defined state */
at86rf2xx_hardware_reset(dev);
/* test if the device is responding */ /* test if the device is responding */
if (at86rf2xx_reg_read(dev, AT86RF2XX_REG__PART_NUM) != AT86RF2XX_PARTNUM) { if (at86rf2xx_reg_read(dev, AT86RF2XX_REG__PART_NUM) != AT86RF2XX_PARTNUM) {
DEBUG("[at86rf2xx] error: unable to read correct part number\n"); DEBUG("[at86rf2xx] error: unable to read correct part number\n");
@ -274,6 +277,7 @@ static int _set_state(at86rf2xx_t *dev, netopt_state_t state)
} }
break; break;
case NETOPT_STATE_RESET: case NETOPT_STATE_RESET:
at86rf2xx_hardware_reset(dev);
at86rf2xx_reset(dev); at86rf2xx_reset(dev);
break; break;
default: default: