This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

HID Demo Throughput



I am creating a HID application that sends a HID report at a periodic interval.  The period is adjustable from 10ms to 30ms, and the report is generated by the MSP430 itself (i.e. it doesn't require a serial port to send the data).

What I am seeing is that when I set the period to 10ms, the bluetooth OTA traces have gaps in them.  I may see 5-10 messages in a row that are on the periodic 10ms tick, and then it goes silent for 20-30ms and then sends a couple of the queued messages quickly (i.e. within 1-2ms of each other).

This pattern repeats many times and is easy to reproduce.

To generate the 10ms pattern, I am using:

BTPS_AddFunctionToScheduler(hidTxLoop, NULL, 10);

This should create a new task in the scheduler that executes every 10ms.  The task populates a 10-byte HID report and calls HID_Data_Write().

The question I have is, why is my data not coming out at a reliable 10ms pacing?  Is the Bluetopia stack blocking for a long period of time, or is the scheduler tick not very accurate, or something else?

The only other task I have is the IdleFunction() one that came with the demo, and I adjusted it to run on a 10ms tick as well so there shouldn't be much else competing for resources on the system.

I'll start profiling the tasks using the LED GPIOs to see if I can determine whether the tasks are being run at the specified tick interval or not.  I thought I'd ask the question here first to see if anyone had ideas.

Thanks!