User's Guide

– –
– –
88 89
EEXFLAG - Extended Exception Flags
Volatile Address = 0xCD - 0xCF
These volatile registers contain flags for various events. Similar to the
EXCEPT register, they provide a separate bit for each exception.
When an exception occurs, the associated bit is set in this register. If the
corresponding bit in the EEXMASK is set and EXMASK is zero, the EX
status line is set. Reading an EEXFLAG register does not clear the register.
Writing to an EEXFLAG register causes the register to be set to the
BIT_AND(current_value, new_value). This provides a way of clearing bits
that have been serviced without clearing a bit that has been set since the
flag register was read. This prevents a loss of notification of an exception.
Register bits can only be cleared, not set, from the write command though
some flags are also cleared internally.
Flag EX_TXDONE is set when a data packet has been transmitted. If the
packet was sent with acknowledgement enabled, this flag indicates that
the acknowledgment has also been received. It is cleared by writing a zero
bit to EX_TXDONE in the register.
Flag EX_RXWAIT is 1 when there are buffered incoming data bytes which
have not been sent to the UART. It is cleared by reading or discarding all
data bytes.
Flag EX_UNENCRYPT is 1 when a received packet is not encrypted. This
can only occur when SECOPT:EN_UNC=1.
Flag EX_SEQDEC is 1 when a received encrypted packet has a smaller
sequence number than the previously received packet. Possible causes
are an attempt to replay a previous message by an attacker, receiving a
message from a different transmitter or restarting the transmitter.
Figure 98: HumPRO
TM
Series Transceiver Extended Exception Code Registers
HumPRO
TM
Series Extended Exception Flags Registers
Name
Volatile
Address
Description
EEXMASK2 0xCD Byte 2 of the extended exception flags
EEXMASK1 0xCE Byte 1 of the extended exception flags
EEXMASK0 0xCF LSB of the extended exception flags
HumPRO
TM
Series Transceiver Extended Exception Codes
Bit Exception Name Description
EEXFLAG0 (0xCF)
0 EX_BUFOVFL Internal UART buffer overflowed.
1 EX_RFOVFL Internal RF packet buffer overflowed.
2 EX_WRITEREGFAILED Attempted write to register failed.
3 EX_NOACK
Acknowledgement packet not received after
maximum number of retries.
4 EX_BADCRC Bad CRC detected on incoming packet.
5 EX_BADHEADER Bad CRC detected in packet header.
6 EX_BADSEQID Sequence ID was incorrect in ACK packet.
7 EX_BADFRAMETYPE Unsupported frame type specified.
EEXFLAG1 (0xCE)
0 EX_TXDONE A data packet has been transmitted.
1 EX_RXWAIT Received data bytes are waiting to be read.
2 EX_UNENCRYPT
Received packet was not encrypted. This can
only occur when SECOPT: EN_UNENC=1.
3 EX_SEQDEC
Received encrypted packet sequence number is
less than previous
4 EX_SEQSKIP
Received encrypted sequence number is more
than one higher the previous sequence number
5 - 7 Reserved
EEXFLAG2 (0xCD)
0 - 7 Reserved
Figure 99: HumPRO
TM
Series Transceiver Extended Exception Codes
Flag EX_SEQSKIP is 1 when a received encrypted packet has a sequence
number that is more than one higher than the previously received packet.
Possible causes are an attempt to replay a previous message by an
attacker, receiving a message from a different transmitter or restarting the
transmitter.