What other ways can I signal the host?
There are two other exception types: channel interrupts and data transfer interrupts. In those devices without DMA hardware, the two are indistinguishable. Assign values 0 or 1 to channel.CIRC, or use these macros from eTPUC_common.h.
// Channel control macros #define SetChannelInterrupt() (channel.CIRC = 0) #define SetDataTransferInterrupt() (channel.CIRC = 1)

New: