Mercurial > louis > kiibohd-controller
annotate Output/pjrcUSB/arm/usb_keyboard.c @ 334:9ac304aa1ab5
Adding initial dfu-upload code and debugging for Bootloader.
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Mon, 27 Apr 2015 00:57:34 -0700 |
parents | 05a09eda53fb |
children | 1beec5f17e64 |
rev | line source |
---|---|
117
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
1 /* Teensyduino Core Library |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
2 * http://www.pjrc.com/teensy/ |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
3 * Copyright (c) 2013 PJRC.COM, LLC. |
285
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
4 * Modifications by Jacob Alexander 2013-2015 |
117
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
5 * |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
6 * Permission is hereby granted, free of charge, to any person obtaining |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
7 * a copy of this software and associated documentation files (the |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
8 * "Software"), to deal in the Software without restriction, including |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
9 * without limitation the rights to use, copy, modify, merge, publish, |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
10 * distribute, sublicense, and/or sell copies of the Software, and to |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
11 * permit persons to whom the Software is furnished to do so, subject to |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
12 * the following conditions: |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
13 * |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
14 * 1. The above copyright notice and this permission notice shall be |
117
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
15 * included in all copies or substantial portions of the Software. |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
16 * |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
17 * 2. If the Software is incorporated into a build system that allows |
117
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
18 * selection among a list of target devices, then similar target |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
19 * devices manufactured by PJRC.COM must be included in the list of |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
20 * target devices and selectable in the same manner. |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
21 * |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
22 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
23 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
24 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
25 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
26 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
27 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
28 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
29 * SOFTWARE. |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
30 */ |
5ffefdf89b37
Adding in USB module updates from Teensyduino 1.18rc2.
Jacob Alexander <haata@kiibohd.com>
parents:
104
diff
changeset
|
31 |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
32 // ----- Includes ----- |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
33 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
34 // Compiler Includes |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
35 #include <string.h> // for memcpy() |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
36 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
37 // Project Includes |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
38 #include <Lib/OutputLib.h> |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
39 #include <print.h> |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
40 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
41 // Local Includes |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
42 #include "usb_dev.h" |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
43 #include "usb_keyboard.h" |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
44 |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
45 |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
46 |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
47 // ----- Defines ----- |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
48 |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
49 // Maximum number of transmit packets to queue so we don't starve other endpoints for memory |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
50 #define TX_PACKET_LIMIT 4 |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
51 |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
52 // When the PC isn't listening, how long do we wait before discarding data? |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
53 #define TX_TIMEOUT_MSEC 50 |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
54 |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
55 #if F_CPU == 96000000 |
334
9ac304aa1ab5
Adding initial dfu-upload code and debugging for Bootloader.
Jacob Alexander <haata@kiibohd.com>
parents:
326
diff
changeset
|
56 #define TX_TIMEOUT (TX_TIMEOUT_MSEC * 596) |
9ac304aa1ab5
Adding initial dfu-upload code and debugging for Bootloader.
Jacob Alexander <haata@kiibohd.com>
parents:
326
diff
changeset
|
57 #elif F_CPU == 72000000 |
9ac304aa1ab5
Adding initial dfu-upload code and debugging for Bootloader.
Jacob Alexander <haata@kiibohd.com>
parents:
326
diff
changeset
|
58 #define TX_TIMEOUT (TX_TIMEOUT_MSEC * 512) // XXX Correct? |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
59 #elif F_CPU == 48000000 |
334
9ac304aa1ab5
Adding initial dfu-upload code and debugging for Bootloader.
Jacob Alexander <haata@kiibohd.com>
parents:
326
diff
changeset
|
60 #define TX_TIMEOUT (TX_TIMEOUT_MSEC * 428) |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
61 #elif F_CPU == 24000000 |
334
9ac304aa1ab5
Adding initial dfu-upload code and debugging for Bootloader.
Jacob Alexander <haata@kiibohd.com>
parents:
326
diff
changeset
|
62 #define TX_TIMEOUT (TX_TIMEOUT_MSEC * 262) |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
63 #endif |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
64 |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
65 |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
66 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
67 // ----- Variables ----- |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
68 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
69 static uint8_t transmit_previous_timeout = 0; |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
70 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
71 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
72 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
73 // ----- Functions ----- |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
74 |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
75 // send the contents of keyboard_keys and keyboard_modifier_keys |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
76 void usb_keyboard_send() |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
77 { |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
78 uint32_t wait_count = 0; |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
79 usb_packet_t *tx_packet; |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
80 |
326
05a09eda53fb
Inital Remote Wakeup Support
Rowan Decker <Smasher816@gmail.com>
parents:
292
diff
changeset
|
81 if (remote_wakeup_enabled) { |
05a09eda53fb
Inital Remote Wakeup Support
Rowan Decker <Smasher816@gmail.com>
parents:
292
diff
changeset
|
82 USB0_CTL |= USB_CTL_RESUME; |
05a09eda53fb
Inital Remote Wakeup Support
Rowan Decker <Smasher816@gmail.com>
parents:
292
diff
changeset
|
83 _delay_ms(5); //wait 1 to 15ms |
05a09eda53fb
Inital Remote Wakeup Support
Rowan Decker <Smasher816@gmail.com>
parents:
292
diff
changeset
|
84 USB0_CTL &= ~USB_CTL_RESUME; |
05a09eda53fb
Inital Remote Wakeup Support
Rowan Decker <Smasher816@gmail.com>
parents:
292
diff
changeset
|
85 _delay_ms(5); |
05a09eda53fb
Inital Remote Wakeup Support
Rowan Decker <Smasher816@gmail.com>
parents:
292
diff
changeset
|
86 } |
05a09eda53fb
Inital Remote Wakeup Support
Rowan Decker <Smasher816@gmail.com>
parents:
292
diff
changeset
|
87 |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
88 // Wait till ready |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
89 while ( 1 ) |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
90 { |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
91 if ( !usb_configuration ) |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
92 { |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
93 erro_print("USB not configured..."); |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
94 return; |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
95 } |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
96 |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
97 if ( USBKeys_Protocol == 0 ) // Boot Mode |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
98 { |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
99 if ( usb_tx_packet_count( NKRO_KEYBOARD_ENDPOINT ) < TX_PACKET_LIMIT ) |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
100 { |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
101 tx_packet = usb_malloc(); |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
102 if ( tx_packet ) |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
103 break; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
104 } |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
105 } |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
106 else if ( USBKeys_Protocol == 1 ) // NKRO Mode |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
107 { |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
108 if ( usb_tx_packet_count( KEYBOARD_ENDPOINT ) < TX_PACKET_LIMIT ) |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
109 { |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
110 tx_packet = usb_malloc(); |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
111 if ( tx_packet ) |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
112 break; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
113 } |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
114 } |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
115 |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
116 if ( ++wait_count > TX_TIMEOUT || transmit_previous_timeout ) |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
117 { |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
118 transmit_previous_timeout = 1; |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
119 warn_print("USB Transmit Timeout..."); |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
120 return; |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
121 } |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
122 yield(); |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
123 } |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
124 |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
125 // Pointer to USB tx packet buffer |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
126 uint8_t *tx_buf = tx_packet->buf; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
127 |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
128 switch ( USBKeys_Protocol ) |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
129 { |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
130 // Send boot keyboard interrupt packet(s) |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
131 case 0: |
285
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
132 // USB Boot Mode debug output |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
133 if ( Output_DebugMode ) |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
134 { |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
135 dbug_msg("Boot USB: "); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
136 printHex_op( USBKeys_Modifiers, 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
137 print(" "); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
138 printHex( 0 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
139 print(" "); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
140 printHex_op( USBKeys_Keys[0], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
141 printHex_op( USBKeys_Keys[1], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
142 printHex_op( USBKeys_Keys[2], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
143 printHex_op( USBKeys_Keys[3], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
144 printHex_op( USBKeys_Keys[4], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
145 printHex_op( USBKeys_Keys[5], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
146 print( NL ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
147 } |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
148 |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
149 // Boot Mode |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
150 *tx_buf++ = USBKeys_Modifiers; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
151 *tx_buf++ = 0; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
152 memcpy( tx_buf, USBKeys_Keys, USB_BOOT_MAX_KEYS ); |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
153 tx_packet->len = 8; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
154 |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
155 // Send USB Packet |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
156 usb_tx( KEYBOARD_ENDPOINT, tx_packet ); |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
157 USBKeys_Changed = USBKeyChangeState_None; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
158 break; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
159 |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
160 // Send NKRO keyboard interrupts packet(s) |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
161 case 1: |
285
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
162 if ( Output_DebugMode ) |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
163 { |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
164 dbug_msg("NKRO USB: "); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
165 } |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
166 |
251
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
167 // Check system control keys |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
168 if ( USBKeys_Changed & USBKeyChangeState_System ) |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
169 { |
285
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
170 if ( Output_DebugMode ) |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
171 { |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
172 print("SysCtrl["); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
173 printHex_op( USBKeys_SysCtrl, 2 ); |
292
e946656696f2
Adding missing NL's for Cons and Sys Control debug
Jacob Alexander <haata@kiibohd.com>
parents:
285
diff
changeset
|
174 print( "] " NL ); |
285
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
175 } |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
176 |
251
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
177 *tx_buf++ = 0x02; // ID |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
178 *tx_buf = USBKeys_SysCtrl; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
179 tx_packet->len = 2; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
180 |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
181 // Send USB Packet |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
182 usb_tx( NKRO_KEYBOARD_ENDPOINT, tx_packet ); |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
183 USBKeys_Changed &= ~USBKeyChangeState_System; // Mark sent |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
184 } |
251
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
185 |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
186 // Check consumer control keys |
251
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
187 if ( USBKeys_Changed & USBKeyChangeState_Consumer ) |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
188 { |
285
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
189 if ( Output_DebugMode ) |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
190 { |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
191 print("ConsCtrl["); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
192 printHex_op( USBKeys_ConsCtrl, 2 ); |
292
e946656696f2
Adding missing NL's for Cons and Sys Control debug
Jacob Alexander <haata@kiibohd.com>
parents:
285
diff
changeset
|
193 print( "] " NL ); |
285
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
194 } |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
195 |
251
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
196 *tx_buf++ = 0x03; // ID |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
197 *tx_buf++ = (uint8_t)(USBKeys_ConsCtrl & 0x00FF); |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
198 *tx_buf = (uint8_t)(USBKeys_ConsCtrl >> 8); |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
199 tx_packet->len = 3; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
200 |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
201 // Send USB Packet |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
202 usb_tx( NKRO_KEYBOARD_ENDPOINT, tx_packet ); |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
203 USBKeys_Changed &= ~USBKeyChangeState_Consumer; // Mark sent |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
204 } |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
205 |
251
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
206 // Standard HID Keyboard |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
207 if ( USBKeys_Changed ) |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
208 { |
285
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
209 // USB NKRO Debug output |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
210 if ( Output_DebugMode ) |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
211 { |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
212 printHex_op( USBKeys_Modifiers, 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
213 print(" "); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
214 for ( uint8_t c = 0; c < 6; c++ ) |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
215 printHex_op( USBKeys_Keys[ c ], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
216 print(" "); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
217 for ( uint8_t c = 6; c < 20; c++ ) |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
218 printHex_op( USBKeys_Keys[ c ], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
219 print(" "); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
220 printHex_op( USBKeys_Keys[20], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
221 print(" "); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
222 for ( uint8_t c = 21; c < 27; c++ ) |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
223 printHex_op( USBKeys_Keys[ c ], 2 ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
224 print( NL ); |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
225 } |
1495b4504a59
Adding outputDebug command
Jacob Alexander <haata@kiibohd.com>
parents:
251
diff
changeset
|
226 |
251
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
227 tx_packet->len = 0; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
228 |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
229 // Modifiers |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
230 *tx_buf++ = 0x01; // ID |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
231 *tx_buf++ = USBKeys_Modifiers; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
232 tx_packet->len += 2; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
233 |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
234 // 4-49 (first 6 bytes) |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
235 memcpy( tx_buf, USBKeys_Keys, 6 ); |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
236 tx_buf += 6; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
237 tx_packet->len += 6; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
238 |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
239 // 51-155 (Middle 14 bytes) |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
240 memcpy( tx_buf, USBKeys_Keys + 6, 14 ); |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
241 tx_buf += 14; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
242 tx_packet->len += 14; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
243 |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
244 // 157-164 (Next byte) |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
245 memcpy( tx_buf, USBKeys_Keys + 20, 1 ); |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
246 tx_buf += 1; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
247 tx_packet->len += 1; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
248 |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
249 // 176-221 (last 6 bytes) |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
250 memcpy( tx_buf, USBKeys_Keys + 21, 6 ); |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
251 tx_packet->len += 6; |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
252 |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
253 // Send USB Packet |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
254 usb_tx( NKRO_KEYBOARD_ENDPOINT, tx_packet ); |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
255 USBKeys_Changed = USBKeyChangeState_None; // Mark sent |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
256 } |
d3ac199593d6
Fixing NKRO on Windows 8.1
Jacob Alexander <haata@kiibohd.com>
parents:
248
diff
changeset
|
257 |
232
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
258 break; |
9a3c9f6f4866
USB NKRO working for ARM!
Jacob Alexander <haata@kiibohd.com>
parents:
224
diff
changeset
|
259 } |
224
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
260 |
138e5ca7f8e4
Preparing ARM for USB NKRO
Jacob Alexander <haata@kiibohd.com>
parents:
118
diff
changeset
|
261 return; |
104
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
262 } |
e84738d174bc
Moving USB to Output in preparation for additional Output types.
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
263 |