Use Cases:
| mskirqs | The mask value, which is written to RG_IRQ_MASK. An IRQ is signalled on TRX_PIN_IRQ, if the apropriate bit in this register is set to 1. | |
| mskmode | IRQ mask mode. {0} : Only IRQs are enabled by mskirqs will be shown in RG_IRQ_STATUS. {1} : All IRQs will be shown in RG_IRQ_STATUS. |
| mskirqs | mskmode | Description |
|---|---|---|
| 0 | 0 | IRQ is suppressed entirely and none of interrupt causes is shown in RG_IRQ_STATUS |
| 0 | 1 | IRQ is suppressed entirely but all interrupt causes are shown in RG_IRQ_STATUS |
| [IC] | 0 | All by [IC] enabled IRQs are signalled on TRX_PIN_IRQ and are also shown in RG_IRQ_STATUS |
| [IC] | 1 | All by [IC] enabled IRQs are signalled on TRX_PIN_IRQ and all IRQ causes are shown in RG_IRQ_STATUS |
/* AT86RF231::[ACTIVE] */ trx_reg_write(RG_IRQ_MASK, mskirqs); trx_bit_write(SR_IRQ_MASK_MODE, mskmode);
| irqpol | Polarity of the IRQ {0} : IRQ is active high {1} : IRQ is active low |
/* AT86RF231::TRX_OFF */ irqmsk = trx_reg_read(RG_IRQ_MASK); trx_reg_write(RG_IRQ_MASK, 0); dummy = trx_reg_read(RG_IRQ_STATUS); trx_bit_write(SR_IRQ_POLARITY, irqpol); trx_reg_write(RG_IRQ_MASK, irqmsk);
| cause | This return parameter contains a flag value, indicating the interrupt root cause. |
/* AT86RF231::[ACTIVE] */ /* TRX_IRQ_[*] occurs here */ /* MCU::ISR */ cause = trx_reg_read(RG_IRQ_STATUS); proc_irq(cause);
1.5.2