When using this feature, the TRX_PIN_IRQ is reconfigured to indicate the status of the frame buffer. There are unread data in the frame buffer, if the level of pin TRX_PIN_IRQ is LOW. If the level of pin TRX_PIN_IRQ changes to HIGH, it indicates that there are no more unread data in the frame buffer.
The MCU can now wait until the level of pin TRX_PIN_IRQ changes back to LOW and proceed with reading until either the level changes to HIGH or the number of bytes indicated in the PHR field is read. The latency of the frame buffer empty indicator is t13. After finishing the frame upload with setting /SEL=HIGH, TRX_PIN_IRQ will change automatically its mode back to IRQ functionality and all other pending interrupts, which have occurred meanwhile, will be signalled.
| bl_ctrl | enable {1}/disable {0} the frame buffer empty indicator. |
/* AT86RF212::[CONFIG] */ trx_bit_write(SR_RX_BL_CTRL, bl_ctrl);
/* AT86RF212::[ACTIVE] */ bl_ctrl = trx_bit_read(SR_RX_BL_CTRL);
/* AT86RF212::[RX_ACTIVE] && AT86RF212::[RX_BUSY] */ /* TRX_IRQ_RX_START occurs here */ /* AT86RF212::[PIN_IRQ == LOW] */ frame = trx_frame_read_blm(); /* AT86RF212::[PIN_IRQ == HIGH] && AT86RF212::[PIN_IRQ == LOW] */ frame = trx_frame_read_blm(); /* TRX_IRQ_TRX_END occurs here */
1.5.6