All other register values (channel, power, ...) of the radio transceiver will not be affected by this procedure.
The state machine reset is identical to the procedure described in PHY_FORCE_[ACTIVE]__TRX_OFF.
After the reset, the Awake Interrupt is enabled. After writing CMD_TRX_OFF, the Awake Interrupt will indicate that the radio transceiver has reached the state TRX_OFF. If desired a radio transceiver identification process can be initiated as described in section Identification.
/* AT86RF231::P_ON */ delay(tTR1); trx_pinset_reset(0); trx_pinset_slptr(0); delay(t10); trx_pinset_reset(1); trx_reg_write(RG_IRQ_MASK, TRX_IRQ_AWAKE_END); trx_bit_write(SR_TRX_CMD, CMD_TRX_OFF); delay(tTR17); /* AT86RF231::TRX_OFF */ state = trx_bit_read(SR_TRX_STATUS); ASSERT(state==TRX_OFF);
Because the interrupt TRX_IRQ_AWAKE_END is disabled after reset, it needs to be explicitely enabled by writing the RG_IRQ_MASK register.
/* AT86RF231::[ACTIVE] */ trx_pinset_reset(0); trx_pinset_slptr(0); delay(t10); trx_pinset_reset(1); trx_reg_write(RG_IRQ_MASK, TRX_IRQ_AWAKE_END); delay(tTR13); /* AT86RF231::TRX_OFF */ state = trx_bit_read(SR_TRX_STATUS); ASSERT(state==TRX_OFF);
1.5.2