Merge pull request #13356 from benemorius/pr/at86reset
drivers/at86rf2xx: reset hardware before reading any register
This commit is contained in:
commit
6f97012237
@ -92,8 +92,6 @@ void at86rf2xx_reset(at86rf2xx_t *dev)
|
|||||||
eui64_t addr_long;
|
eui64_t addr_long;
|
||||||
network_uint16_t addr_short;
|
network_uint16_t addr_short;
|
||||||
|
|
||||||
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 */
|
||||||
|
|||||||
@ -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:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user