Kristian Sloth Lauszus
8c7eb079ec
Re-added code from 994e2f6b79
2018-06-30 23:03:50 +02:00
Kristian Sloth Lauszus
7606f311c8
Fix coding style
2018-06-30 22:38:23 +02:00
Kristian Sloth Lauszus
6c895988de
Merge branch 'Lauszus-dev' into dev
...
# Conflicts:
# right/src/usb_interfaces/usb_interface_basic_keyboard.c
# right/src/usb_interfaces/usb_interface_media_keyboard.c
# right/src/usb_interfaces/usb_interface_mouse.c
# right/src/usb_interfaces/usb_interface_system_keyboard.c
# right/src/usb_report_updater.c
2018-06-30 22:23:32 +02:00
Eric Tang
f16a004583
Revert "Default to kStatus_USB_Success"
...
This reverts commit 6eceb6ad30 .
2018-06-30 13:06:23 -07:00
Kristian Sloth Lauszus
b6f59563c7
Revert cancelling a transfer, as the USB endpoint is still locked up
2018-06-30 18:25:03 +02:00
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
217259ba63
Cancel the ongoing transfer if it is still in progress
2018-06-30 17:06:58 +02:00
Eric Tang
d3dfc9bd2c
Revert "Simplify logic"
...
This reverts commit 994e2f6b79 .
2018-06-29 23:01:31 -07:00
Eric Tang
69411e53e9
Rename usbMouseAction to UsbMouseAction
2018-06-29 17:23:15 -07:00
Eric Tang
4214f3e0b6
Use a semaphore to control the rate at which reports are updated
2018-06-29 13:08:24 -07:00
Eric Tang
6eceb6ad30
Default to kStatus_USB_Success
2018-06-29 12:54:06 -07:00
Eric Tang
994e2f6b79
Simplify logic
2018-06-29 12:43:59 -07:00
Eric Tang
baa5e8f037
Remove redundant guard clauses
2018-06-29 12:37:53 -07:00
Kristian Sloth Lauszus
8c02f3db53
Merge branch 'master' into dev
...
# Conflicts:
# right/src/usb_interfaces/usb_interface_basic_keyboard.c
# right/src/usb_interfaces/usb_interface_basic_keyboard.h
# right/src/usb_interfaces/usb_interface_media_keyboard.c
# right/src/usb_interfaces/usb_interface_media_keyboard.h
# right/src/usb_interfaces/usb_interface_mouse.c
# right/src/usb_interfaces/usb_interface_mouse.h
# right/src/usb_interfaces/usb_interface_system_keyboard.c
# right/src/usb_interfaces/usb_interface_system_keyboard.h
# right/src/usb_report_updater.c
2018-06-27 10:12:40 +02:00
Eric Tang
2877773cac
Revert "The UHK now only sends out data when it changes"
2018-06-26 17:59:57 -07: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
0911e67bf6
Fix the coding style of usb_interface_basic_keyboard.c
2018-02-11 22:28:12 +01:00
Kristian Sloth Lauszus
1af28a79db
Detect Caps Lock state and set the LED accordingly ( #91 )
...
Fixes #65
2018-02-11 12:45:46 +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
745e8e1cf0
Merge the substructures of UsbSystemKeyboardClass into a single structure.
2017-12-04 19:50:39 +01:00
László Monda
5341109845
Merge the substructures of UsbMediaKeyboardClass into a single structure.
2017-12-04 19:41:51 +01:00
László Monda
ff0e5b0aa3
Merge the structs of UsbBasicKeyboardClass into a single structure.
2017-12-04 19:33:53 +01:00
László Monda
c4e79d8ed2
Merge the all the structures of UsbGenericHidClass into a single structure.
2017-12-04 19:16:04 +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
729e0be0ad
Make scrolling utilize mouse_kinetic_state_t, just like mouse movements. Fix scrolling issue by making distance float. Add new debug functions for ints and float.
2017-11-28 02:01:26 +01:00
László Monda
d2ef63184b
Move updateUsbReports() from main.c to usb_report_updater.c and delete main.h
2017-11-17 01:21:30 +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
569493cbfa
Add UsbDebugInfo to aid future debugging via USB.
2017-10-28 17:12:52 +02:00
László Monda
6bdd320ed8
Reorder USB interfaces all across the codebase in the following order: generic HID, basic keyboard, media keyboard, system keyboard, mouse.
2017-10-26 00:52:20 +02:00
László Monda
4295793fb9
Add ATTR_* macros in the newly created attributes.h and use them wherever possible for improved readability.
2017-10-04 22:26:48 +02:00
László Monda
4666b24c69
Change UsbMouseReport back to extern that I screwed up in ecf1ad2468
2017-09-28 14:13:24 +02: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
ecf1ad2468
Don't use the extern keyword for functions because it's redundant.
2017-09-28 02:37:55 +02:00
László Monda
e6b5b3b3a5
Read the hardware configuration area and the user configuration area of the EEPROM into the RAM and try to apply it.
2017-09-14 09:55:29 +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
62a3f6b3a4
Add system keyboard interface and add sleep, power and wake keys.
2017-03-06 01:58:02 +01:00