This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Expanding In/Out Reports on Keil USB HID example code

I'm implementing an HID class device and have based my program on the HID USB program supplied by Keil. I'm new to USB but am a fairly experienced programmer otherwise.

I have got a basic program working fine bit with single byte input and output reports. I've tested the functionality using a client called SimpleHIDWrite.exe

I need to expand both in and out reports to 8 bytes each to communicate with the host. Has anybody successfully modified this example program or does anyone have any advice on how to do it properly?

My guess is that I need to edit the report descriptor and also set up the inreport and outreport as arrays. Is there anything I need to watch out for?

My target is the LPC2141.

Any advice or information would be much appreciated!

Thanks,
Gareth.

Parents
  • Hi Tsuneo,

    Following my success earlier today I have sorted out the information requests from the host - everything seems to be working very nicely!

    I'm about to start work on sending reports when information changes ...
    In your example snippet you show a dedicated task. I assume that it is okay to place this task pretty much anywhere?

    I was going to create a task (which repeats, say every 50ms) for monitoring variable changes and place this in the main part of the application program separate from the USB parts. I assume it's okay to do this? It looks like the use of the semaphore which is set every IN request allows for 'remote' processing of the EP1.

    I plan to implement this tomorrow.
    Any comments you might have would be very welcome!

    Thanks,
    Gareth.

Reply
  • Hi Tsuneo,

    Following my success earlier today I have sorted out the information requests from the host - everything seems to be working very nicely!

    I'm about to start work on sending reports when information changes ...
    In your example snippet you show a dedicated task. I assume that it is okay to place this task pretty much anywhere?

    I was going to create a task (which repeats, say every 50ms) for monitoring variable changes and place this in the main part of the application program separate from the USB parts. I assume it's okay to do this? It looks like the use of the semaphore which is set every IN request allows for 'remote' processing of the EP1.

    I plan to implement this tomorrow.
    Any comments you might have would be very welcome!

    Thanks,
    Gareth.

Children