I'm currently trying to connect a PS1 controller to my laptop through Bluetooth. My current setup is an Arduino Uno interfacing with the PS1 controller, which I managed to do using this guide. After reading the state of the controller, the Arduino then sends a HID report to a HC-05 module running RN-42 firmware. The setup is working correctly, I've managed to connect the controller to my laptop running Windows 10 and successfully used it to play games.
My question has to do with how to determine when should the Arduino send the HID reports to the computer through the Bluetooth module. So far I've programmed the Arduino to send a new report with a frequency of 60 Hz without problems, but when I try to increase it to 120 Hz, for example, suddenly there is a very noticeable delay.
Is the frequency of the reports something that has to be configured in Windows, or should the circuit wait for some kind of request from the computer to send a report as an answer?