Commit Graph

23 Commits

Author SHA1 Message Date
Kristian Sloth Lauszus
b9b5eb2c76 Make sure the device is attached before sending the report 2018-06-30 17:06:59 +02:00
Kristian Sloth Lauszus
11a8ffbaf5 Make sure the composite device is attached before setting the kStatus_USB_Success flag 2018-06-30 17:06:59 +02:00
Kristian Sloth Lauszus
e3773fd5c0 Removed some unused code 2018-06-24 19:47:28 +02:00
Kristian Sloth Lauszus
64e5fa7ecb Just read the interruptInPipeBusy flag instead of storing the transfer state in a separate variable and switch the active report back if the HID Send command fails 2018-06-24 18:43:21 +02:00
Kristian Sloth Lauszus
724378cf6c Make sure we do not try to send another report before the old one has finished sending 2018-06-23 17:33:20 +02:00
Kristian Sloth Lauszus
5e97ad1b3c Just compare the active report with the inactive report stored in each interface driver 2018-06-22 17:55:21 +02:00
Kristian Sloth Lauszus
b284e9fa58 Make sure we send out a all zero report once when the a mouse report has been sent 2018-06-07 02:10:27 +02:00
Kristian Sloth Lauszus
1a0da7971a Send out the mouse report continuously if the report is not zeros 2018-06-07 01:56:16 +02:00
Kristian Sloth Lauszus
53a82a5f57 Removed unused variables, as the actions are no longer sent from within the interrupts 2018-06-07 01:50:12 +02:00
Kristian Sloth Lauszus
10985abcdb The UHK now only sends out data when it changes
Fixes #72, fixes #84 and fixes #85
2018-06-07 00:18:40 +02:00
Kristian Sloth Lauszus
e12e219b4e Various fixes and improvements (#96)
* Global variables shared between an interrupt and the main code should be volatile

See: https://www.embedded.com/electronics-blogs/beginner-s-corner/4023801/Introduction-to-the-Volatile-Keyword

* There is no reason to change the active report if it has not changed

* Declare local functions and variables static

This both helps the compiler and the programmer
2018-03-11 19:19:15 +01:00
László Monda
a5ce90779c Merge all the substructures of UsbDeviceCompositeConfigList across different files to a single structure. 2017-12-04 20:41:22 +01:00
László Monda
8cb8654459 Merge the substructures of UsbMouseClass into a single structure. 2017-12-04 19:57:43 +01:00
László Monda
6780c8177c Expose per-interface count values for debugging purposes via USB. 2017-12-04 17:38:31 +01:00
László Monda
f4de0df149 Replace SET_DEBUG_BUFFER_UINT* macros with SetDebugBufferUint* functions for improved type safety and readability. 2017-11-11 03:52:39 +01:00
László Monda
3ac94684e2 Dump mouse related variables via the debug buffer to figure out the cause of occasional mouse freezes. 2017-11-06 18:28:23 +01:00
László Monda
3f52819c0e Move UsbDebugInfo into usb_command_get_debug_info.[ch] and remove external UsbDebugInfo references. 2017-11-05 19:07:12 +01:00
László Monda
00dfd96d55 Instead of scanning the keyboard matrix from the main loop and utilizing busy loops, try to use a PIT interrupt handler to do the same thing, scanning one row per interrupt call without busy loops.
For some reason, this makes the movement of the mouse pointer very slow and makes it jump from time to time, so I ended up adding INTERRUPT_KEY_SCANNER and disabling the timer interrupt.
Also double bufferred the mouse report just like the others. Unfortunately this does not affect this issue.
2017-11-02 01:11:41 +01:00
László Monda
751810ec4c Explicitly add void to the argument list of zero argument functions. 2017-09-28 03:03:11 +02:00
László Monda
237ef3c34a Rename action.h to key_action.h 2017-06-15 19:27:44 +02:00
László Monda
cca1e49d18 Rename the misspelled peripherials directory to peripherals. 2017-04-15 01:00:55 +02:00
László Monda
6e415696d7 Move merge_sensor.[ch], reset_button.[ch] and test_led.[ch] into the newly created peripherials directory. 2017-02-26 02:50:21 +01:00
László Monda
6f6d116351 Move usb_interface_*.[ch] files to the newly created usb_interfaces directory. 2017-02-26 02:45:43 +01:00