28.5.3 Endpoint Status - Isochronous Type
This register description is only valid when the Endpoint Type (TYPE) bit field
in the Endpoint Control (EP.CTRL) register is written to
‘ISOCHRONOUS’. For the other endpoint types, see
Endpoint Status - Default Type for the correct
description.
The Endpoint Status register is modified by the USB
hardware. The application modifies this register using the RMW register
interface to avoid data hazards. See the Endpoint Registers – Concurrency
and Hazards section for more details. Flag or status registers in
AVR MCUs are usually cleared by writing a ‘1’ and can be
set only by hardware. These status bits in RAM are an exception where you
can write ‘0’ to clear them or ‘1’ to set
them.
| Name: | STATUS |
| Offset: | 0x00 + n*0x08 [n=0..1] |
| Reset: | 0x00 |
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| CRC | UNFOVF | TRNCOMPL | BUSNACK | ||||||
| Access | R/W | R/W | R/W | R/W | |||||
| Reset | x | x | x | x |
Bit 7 – CRC CRC Error Flag
This flag is set for isochronous out endpoints when a CRC error has been detected in an incoming data packet.
Bit 6 – UNFOVF Underflow / Overflow Endpoint Flag
The UNF flag is set when an input endpoint is not ready to send data to the host
in response to an IN token for input endpoints.
The OVF flag is set when an output endpoint is not ready to accept data
from the host following an OUT token for output
endpoints.
Bit 5 – TRNCOMPL Transaction Complete Flag
This flag is set when an IN or OUT
transaction on the endpoint has successfully completed. When setting
this flag, the USB hardware will also set the Transaction Complete
(TRNCOMPL) flag in the Interrupt Flags B (INTFLAGSB) register - unless
the TRNCOMPL Interrupt Disable (TCDSBL) bit in the Endpoint Control
(EPn.CTRL) register is ‘1’.
For multi-packet transfers, TRNCOMPL is not set for each transaction but only when a multi-packet transfer has been completed.
Bit 1 – BUSNACK Data Buffer Not Acknowledge
This flag is set when a packet has been received. When this bit is set,
the USB peripheral will discard incoming data to the data buffer in an
OUT transaction and will not return any data
from the data buffer in an IN transaction. Control,
bulk and interrupt endpoints will return a NAK handshake.
After processing the packet, this flag must be cleared by the application. This bit can be written by the application to force returning a NAK to the host, e.g., during initialization. The setting of BUSNACK does not affect the ACKing of the SETUP packets.
