I reversed part of LUFA. Possible, RXSTPI alone can’t be routed. Now I catch (UEINTX & (1<<RXSTPI)) first time. routines now is
ISR(USB_COM_vect, ISR_BLOCK)
{
// Endpoint events
if (UEINTX & (1<<RXSTPI)) {
LED_ON;
tmpreg2 = UEINTX; // show it in main loop over UART
}
waitTXR;UDR1 = '*';
}
and second
ISR(USB_GEN_vect, ISR_BLOCK)
{
// Hardware Interface
tmpreg1 = UDINT;
if (UDINT & (1<<EORSTI)) {
UDINT &= ~(1<<EORSTI);
UDINT &= ~(1<<SUSPI);
UDIEN &= ~(1<<SUSPE);
UDIEN |= 1<<WAKEUPE;
init_EP(0, 0, 0); // re-init EP0
UEIENX |= 1<<RXSTPE;
}
if (UDINT & (1<<WAKEUPI)) {
PLLCSR |= 1<<PLLE;
while (!(PLLCSR & (1<<PLOCK))); // wait PLL LOCK
USBCON &= ~(1<<FRZCLK);
UDINT &= ~(1<<WAKEUPI);
UDIEN &= ~(1<<WAKEUPE);
UDIEN |= 1<<SUSPE;
}
}
UART ‘debug’ types:
18 49***