| safe_mode | enable {1}/disable {0} dynamic frame buffer protection. |
/* AT86RF212::[RX_ACTIVE] */ /* TRX_IRQ_RX_START occurs here */ trx_bit_write(SR_RX_PDT_DIS, 1); delay(tPSDU); frame = trx_frame_read(); trx_bit_write(SR_RX_PDT_DIS, 0); /* AT86RF212::[RX_ACTIVE] */
/* AT86RF212::[RX_BUSY] */ /* TRX_IRQ_RX_START occurs here */ trx_bit_write(SR_TRX_CMD, CMD_PLL_ON); delay(tPSDU); /* AT86RF212::PLL_ON */ frame = trx_frame_read(); trx_bit_write(SR_TRX_CMD, CMD_RX_ON); trxstat = trx_bit_read(SR_TRX_STATUS); ASSERT(trxstat==RX_ON); /* AT86RF212::RX_ON */
A frame is classified as valid in the Basic Operating Mode (RX_ON) if it has a valid FCS. In the Extended Operating Mode (RX_AACK_ON) a frame is valid if it matches the address filter and has a valid FCS.
The protection is enabled by writing safe_mode=1 to SR_RX_SAFE_MODE and it holds until the end of a frame buffer read access, indicated by /SEL=HIGH.
/* AT86RF212::[CONFIG] */ trx_bit_write(SR_RX_SAFE_MODE, safe_mode);
/* AT86RF212::[ACTIVE] */ safe_mode = trx_bit_read(SR_RX_SAFE_MODE);
1.5.6