Kolja,
I have similar results, so it seems that the VirtualSerialX demo does
not work. This is going to be a big problem for me, as I have a
paying customer about to sign up for this and even pay the $1,500
license fee. Obviously, I was stupid not to have verified this
before. I just assumed that Dean would not put out a non-functional
demo and as sending data worked then receiving data was also going to
work. Unlike you, after three weeks struggling with LUFA, my level of
gratitude is pretty low and I'm starting to wish I'd never heard of
LUFA and had persevered with the Atmel code. Dean seems to be too
busy with other things at the moment to offer any real help.
Details: There was no AVR Studio project file in Dean's ZIP archive,
so I had to make one up based on the MassStorageX demo. In the
makefile, I changed MCU to atxmega256a3bu and BOARD to A3BU_XPLAINED.
In VirtualSerial.c, function CheckJoystickMovement(), I look at all
three buttons on the XMEGA-A3BU Xplained board and send a more
sensible message ("Button 1" instead of "Joystick Up"). This appeared
to work, but there is no actual functionality associated with received
characters and I stupidly assumed that *everything* worked.
Today, after reading your post, I made a change in the "forever" loop,
right after the comment "Must throw away unused bytes from the
host ...". I now have this:
int16_t rxChar = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
if ( rxChar >= 0 )
CDC_Device_SendByte(&VirtualSerial_CDC_Interface,
(uint8_t)rxChar );
Like you, I have no echo of typed characters. A breakpoint on
CDC_Device_SendByte() never fires. It seems that
CDC_Device_ReceiveByte() never returns a non-negative result.
Graham Davies.
www.ecrostech.com