PORTS Forum

Ports and Interfaces => USB => Topic started by: DavidClarke on May 26, 2019, 11:33:50 am

Title: Question - HidD_SetNumInputBuffers
Post by: DavidClarke on May 26, 2019, 11:33:50 am
Hi
I can't see any difference in my program if I set HidD_SetNumInputBuffers = 2 or 512.  The data in is only 17 bytes and I pickup the data very fast.  HidD_SetNumInputBuffers is where you set the max size of the circular receive buffer?  So in my case HidD_SetNumInputBuffers(2) is 2*17?  What is the per buffer byte capacity?

Similar question with the ReadFile ReadBuffer - I have tried 17 to 512 and see no difference.

I am thinking you might say - "If you don't check for inbound data (in reports) very frequently then you need a bigger HidD_SetNumInputBuffers setting.  AND if you need that you might benefit from having a bigger ReadFile ReadBuffer so you can grab more than 1 input report at a time."

If I have, let's say, 8 input reports in the circular buffer and I only call ReadFile with ReadBuffer = to 1 in report (17 bytes in my case) then I will need to call ReadFile 7 more times to empty the circular buffer?  OR call FlushBuffer to empty the buffer??

Is there a default value for the number of Hid NumInput Buffers?  If yes how does one find out what the value is?
Title: Re: Question - HidD_SetNumInputBuffers
Post by: Jan Axelson on May 26, 2019, 11:58:06 am
Yes - if you don't check for Input reports frequently, you may need a bigger HidD_SetNumInputBuffers setting.  AND if you need that, you MUST HAVE a bigger ReadFile ReadBuffer so you can grab more than 1 input report at a time.

Use HidD_GetNumInputBuffers to get the current value.
Title: Re: Question - HidD_SetNumInputBuffers
Post by: DavidClarke on May 26, 2019, 01:11:14 pm
Thanks!