1444 lines
No EOL
61 KiB
Text
1444 lines
No EOL
61 KiB
Text
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒1
|
||
|
||
|
||
1 0000 ;*********************************************************************
|
||
2 0000 ; Functin Library
|
||
3 0000 ; Author : Ansonku
|
||
4 0000 ; EMail : ansonku@holtek.com.tw
|
||
5 0000 ; Date : 2005/01/11
|
||
6 0000 ;*********************************************************************
|
||
7 0000 #include ht82a821R.inc
|
||
|
||
|
||
8 0000 #include const.inc
|
||
|
||
|
||
9 0000 ;=====================================================================
|
||
10 0000 ; Descriptor Label
|
||
11 0000 ;=====================================================================
|
||
12 0000 ;2005/11/01 ClearFeature_Endpoint add Send_Hand_Shake
|
||
13 0000 ;
|
||
14 0000 ;2006/02/16 更改 Sned_Hand_Shake 避免產生不正常 stack
|
||
15 0000 ;2006/02/16 更改 control_read , 加入避免 descriptor 為八的倍數時所會產生的問題
|
||
16 0000 ; 若是descirptor 已回完還收到 in token , 那麼一律回 send_hand_shake
|
||
17 0000 ;
|
||
18 0000 ;
|
||
19 0000 ;
|
||
20 0000 ;
|
||
21 0000
|
||
22 0000
|
||
23 0000
|
||
24 0000
|
||
25 0000
|
||
26 0000 extern control_read_table:NEAR
|
||
27 0000 extern device_desc_table:NEAR
|
||
28 0000 extern config_desc_table:NEAR
|
||
29 0000
|
||
30 0000 extern end_config_desc_table:NEAR
|
||
31 0000 extern hid_report_desc_table:NEAR
|
||
32 0000 extern end_hid_report_desc_table:NEAR
|
||
33 0000
|
||
34 0000 extern USBStringLanguageDescription:NEAR
|
||
35 0000 extern USBStringDescription1:NEAR
|
||
36 0000 extern USBStringDescription2:NEAR
|
||
37 0000 extern USBStringDescription3:NEAR
|
||
38 0000 extern HID_Desc:NEAR
|
||
39 0000
|
||
40 0000 extern config_desc_length:NEAR
|
||
41 0000 extern hid_desc_length:NEAR
|
||
42 0000 extern report_desc_length:NEAR
|
||
43 0000
|
||
44 0000
|
||
45 0000 extern USB_EP0_ISR_END:NEAR
|
||
46 0000
|
||
47 0000 ;=====================================================================
|
||
48 0000 ; External Variable
|
||
49 0000 ;=====================================================================
|
||
50 0000 extern FIFO_Size:byte
|
||
51 0000 extern FIFO_SendLen:byte
|
||
52 0000 extern FIFO_Type:byte
|
||
53 0000 extern FIFO_Request:byte
|
||
54 0000 extern FIFO_wValueL:byte
|
||
55 0000 extern FIFO_wValueH:byte
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒2
|
||
|
||
56 0000 extern FIFO_wIndexL:byte
|
||
57 0000 extern FIFO_wIndexH:byte
|
||
58 0000 extern FIFO_wLengthL:byte
|
||
59 0000 extern FIFO_wLengthH:byte
|
||
60 0000
|
||
61 0000 extern FIFO_Out1:byte
|
||
62 0000 extern FIFO_Out2:byte
|
||
63 0000 extern FIFO_Out3:byte
|
||
64 0000 extern FIFO_Out4:byte
|
||
65 0000 extern FIFO_Out5:byte
|
||
66 0000 extern FIFO_Out6:byte
|
||
67 0000 extern FIFO_Out7:byte
|
||
68 0000 extern FIFO_Out8:byte
|
||
69 0000
|
||
70 0000 extern USB_Interface:byte
|
||
71 0000 extern USB_Interface_Alt:byte
|
||
72 0000 extern USB_Configuration:byte
|
||
73 0000
|
||
74 0000 extern FIFO_ADDR:byte
|
||
75 0000
|
||
76 0000
|
||
77 0000
|
||
78 0000 extern Loop_Counter:byte
|
||
79 0000 extern Data_Count:byte
|
||
80 0000 extern Data_Start:byte
|
||
81 0000
|
||
82 0000
|
||
83 0000 extern nCmdIndex1:byte
|
||
84 0000
|
||
85 0000 extern VolumeH_Save:byte
|
||
86 0000 extern VolumeL_Save:byte
|
||
87 0000 extern bFlag_Audio_Mute:bit
|
||
88 0000 ;modify for Remote Wakeup
|
||
89 0000 extern bRmtWakeup :bit
|
||
90 0000 extern b_wakeup :bit
|
||
91 0000
|
||
92 0000 ;=====================================================================
|
||
93 0000 ; FIFO Status
|
||
94 0000 ;=====================================================================
|
||
95 0000
|
||
96 0000 ;FIFO
|
||
97 0000 extern FIFO_TEMP:byte
|
||
98 0000 extern bFlag_Real_Cmd:bit
|
||
99 0000 extern bFlag_FIFO_Ready:bit
|
||
100 0000 extern bFlag_FIFO_LEN0:bit
|
||
101 0000 extern bFlag_RD_HTable:bit
|
||
102 0000 extern bFlag_wait_control_out:bit
|
||
103 0000 extern bFlag_SET_ADDRESS:bit
|
||
104 0000 extern bFlag_SCMD:bit
|
||
105 0000 extern bFlag_Enum_Ready:bit
|
||
106 0000 extern bFlag_SetConfiguration_Ready:bit
|
||
107 0000 extern bFlag_SetInterface_Ready:bit
|
||
108 0000
|
||
109 0000 extern StageOne:NEAR
|
||
110 0000 extern USB_ISR_END:NEAR
|
||
111 0000 ;********************************************************************
|
||
112 0000 ; USB LIB
|
||
113 0000 ; 1.CHECK FIFOX RD READEY? bFlag_FIFO_Ready = 1:bFlag_FIFO_Ready = 0
|
||
114 0000 ;********************************************************************
|
||
115 0000 FIFO0_RD_CHECK:
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒3
|
||
|
||
116 0000 0722 MOV A,UCC
|
||
117 0001 0D07 OR A,00000111b
|
||
118 0002 0EF8 AND A,11111000b
|
||
119 0003 00A2 MOV UCC,A
|
||
120 0004
|
||
121 0004 0F00 MOV A,00000000b
|
||
122 0005 2800 R JMP FIFO_CHECK
|
||
123 0006 FIFO1_RD_CHECK:
|
||
124 0006 0722 MOV A,UCC
|
||
125 0007 0D07 OR A,00000111b
|
||
126 0008 0EF9 AND A,11111001b
|
||
127 0009 00A2 MOV UCC,A
|
||
128 000A
|
||
129 000A 0F00 MOV A,00000000b
|
||
130 000B 2800 R JMP FIFO_CHECK
|
||
131 000C FIFO2_RD_CHECK:
|
||
132 000C 0722 MOV A,UCC
|
||
133 000D 0D07 OR A,00000111b
|
||
134 000E 0EFA AND A,11111010b
|
||
135 000F 00A2 MOV UCC,A
|
||
136 0010
|
||
137 0010 0F00 MOV A,00000000b
|
||
138 0011 2800 R JMP FIFO_CHECK
|
||
139 0012 FIFO3_RD_CHECK:
|
||
140 0012 0722 MOV A,UCC
|
||
141 0013 0D07 OR A,00000111b
|
||
142 0014 0EFB AND A,11111011b
|
||
143 0015 00A2 MOV UCC,A
|
||
144 0016
|
||
145 0016 0F00 MOV A,00000000b
|
||
146 0017 2800 R JMP FIFO_CHECK
|
||
147 0018 FIFO4_RD_CHECK:
|
||
148 0018 0722 MOV A,UCC
|
||
149 0019 0D07 OR A,00000111b
|
||
150 001A 0EFC AND A,11111100b
|
||
151 001B 00A2 MOV UCC,A
|
||
152 001C
|
||
153 001C 0F00 MOV A,00000000b
|
||
154 001D 2800 R JMP FIFO_CHECK
|
||
155 001E
|
||
156 001E FIFO5_RD_CHECK:
|
||
157 001E 0722 MOV A,UCC
|
||
158 001F 0D07 OR A,00000111b
|
||
159 0020 0EFD AND A,11111101b
|
||
160 0021 00A2 MOV UCC,A
|
||
161 0022
|
||
162 0022 0F00 MOV A,00000000b
|
||
163 0023 2800 R JMP FIFO_CHECK
|
||
164 0024 ;********************************************************************
|
||
165 0024 ; USB LIB
|
||
166 0024 ; 1.CHECK FIFOX WR READEY ? bFlag_FIFO_Ready = 1:bFlag_FIFO_Ready = 0
|
||
167 0024 ;********************************************************************
|
||
168 0024
|
||
169 0024 ;LEN0 ready to write??
|
||
170 0024 LEN0_WR_CHECK:
|
||
171 0024 ;CHECK FIFOX ready to write?
|
||
172 0024 FIFO0_WR_CHECK:
|
||
173 0024 0722 MOV A,UCC
|
||
174 0025 0D07 OR A,00000111b
|
||
175 0026 0EF8 AND A,11111000b
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒4
|
||
|
||
176 0027 00A2 MOV UCC,A
|
||
177 0028
|
||
178 0028 0F02 MOV A,00000010b
|
||
179 0029 2800 R JMP FIFO_CHECK
|
||
180 002A FIFO1_WR_CHECK:
|
||
181 002A 0722 MOV A,UCC
|
||
182 002B 0D07 OR A,00000111b
|
||
183 002C 0EF9 AND A,11111001b
|
||
184 002D 00A2 MOV UCC,A
|
||
185 002E
|
||
186 002E 0F02 MOV A,00000010b
|
||
187 002F 2800 R JMP FIFO_CHECK
|
||
188 0030 FIFO2_WR_CHECK:
|
||
189 0030 0722 MOV A,UCC
|
||
190 0031 0D07 OR A,00000111b
|
||
191 0032 0EFA AND A,11111010b
|
||
192 0033 00A2 MOV UCC,A
|
||
193 0034
|
||
194 0034 0F02 MOV A,00000010b
|
||
195 0035 2800 R JMP FIFO_CHECK
|
||
196 0036 FIFO3_WR_CHECK:
|
||
197 0036 0722 MOV A,UCC
|
||
198 0037 0D07 OR A,00000111b
|
||
199 0038 0EFB AND A,11111011b
|
||
200 0039 00A2 MOV UCC,A
|
||
201 003A
|
||
202 003A 0F02 MOV A,00000010b
|
||
203 003B 2800 R JMP FIFO_CHECK
|
||
204 003C FIFO4_WR_CHECK:
|
||
205 003C 0722 MOV A,UCC
|
||
206 003D 0D07 OR A,00000111b
|
||
207 003E 0EFC AND A,11111100b
|
||
208 003F 00A2 MOV UCC,A
|
||
209 0040
|
||
210 0040 0F02 MOV A,00000010b
|
||
211 0041 2800 R JMP FIFO_CHECK
|
||
212 0042
|
||
213 0042 FIFO5_WR_CHECK:
|
||
214 0042 0722 MOV A,UCC
|
||
215 0043 0D07 OR A,00000111b
|
||
216 0044 0EFD AND A,11111101b
|
||
217 0045 00A2 MOV UCC,A
|
||
218 0046
|
||
219 0046 0F02 MOV A,00000010b
|
||
220 0047 2800 R JMP FIFO_CHECK
|
||
221 0048
|
||
222 0048 FIFO_CHECK:
|
||
223 0048 0001 clr wdt
|
||
224 0049 0080 E MOV FIFO_TEMP,A
|
||
225 004A 0F26 MOV A,USB_MISC
|
||
226 004B 0083 MOV MP1,A
|
||
227 004C 0702 MOV A,R1
|
||
228 004D 0EF8 AND A,11111000b
|
||
229 004E 0500 E OR A,FIFO_TEMP
|
||
230 004F 0082 MOV R1,A
|
||
231 0050 2000 R CALL Delay_3us
|
||
232 0051 3002 SET R1.@MISC_REQ ;set request
|
||
233 0052 2000 R CALL Delay_28us
|
||
234 0053 3000 E SET bFlag_FIFO_Ready
|
||
235 0054 3B02 SNZ R1.@MISC_Ready
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒5
|
||
|
||
236 0055 3400 E CLR bFlag_FIFO_Ready ;if MISC.Ready = 1 -> bFlag_FIFO_Ready = 1
|
||
237 0056 3000 E SET bFlag_FIFO_LEN0
|
||
238 0057 3B82 SNZ R1.@MISC_LEN0
|
||
239 0058 3400 E CLR bFlag_FIFO_LEN0
|
||
240 0059
|
||
241 0059 ;;SZ bFlag_FIFO_Ready
|
||
242 0059 3426 clr MISC.@MISC_REQ
|
||
243 005A 0001 clr wdt
|
||
244 005B 0003 RET
|
||
245 005C
|
||
246 005C
|
||
247 005C ReadLen0:
|
||
248 005C 0F28 MOV A,USB_FIFO0
|
||
249 005D 0083 MOV MP1,A
|
||
250 005E 0702 MOV A,R1
|
||
251 005F 0000 NOP
|
||
252 0060 2800 R JMP Read_FIFO_END
|
||
253 0061 Read_FIFO0:
|
||
254 0061 0F08 MOV A,USB_FIFO0_SIZE
|
||
255 0062 0080 E MOV FIFO_SIZE,A
|
||
256 0063 0F28 MOV A,USB_FIFO0
|
||
257 0064 2800 R JMP Read_FIFO
|
||
258 0065 Read_FIFO1:
|
||
259 0065 0F08 MOV A,USB_FIFO1_SIZE
|
||
260 0066 0080 E MOV FIFO_SIZE,A
|
||
261 0067 0F29 MOV A,USB_FIFO1
|
||
262 0068 2800 R JMP Read_FIFO
|
||
263 0069 Read_FIFO2:
|
||
264 0069 0F08 MOV A,USB_FIFO2_SIZE
|
||
265 006A 0080 E MOV FIFO_SIZE,A
|
||
266 006B 0F2A MOV A,USB_FIFO2
|
||
267 006C 2800 R JMP Read_FIFO
|
||
268 006D Read_FIFO3:
|
||
269 006D 0F08 MOV A,USB_FIFO3_SIZE
|
||
270 006E 0080 E MOV FIFO_SIZE,A
|
||
271 006F 0F2B MOV A,USB_FIFO3
|
||
272 0070 2800 R JMP Read_FIFO
|
||
273 0071 Read_FIFO4:
|
||
274 0071 0F08 MOV A,USB_FIFO4_SIZE
|
||
275 0072 0080 E MOV FIFO_SIZE,A
|
||
276 0073 0F2C MOV A,USB_FIFO4
|
||
277 0074 2800 R JMP Read_FIFO
|
||
278 0075 Read_FIFO5:
|
||
279 0075 0F08 MOV A,USB_FIFO5_SIZE
|
||
280 0076 0080 E MOV FIFO_SIZE,A
|
||
281 0077 0F2D MOV A,USB_FIFO5
|
||
282 0078 2800 R JMP Read_FIFO
|
||
283 0079
|
||
284 0079 Read_FIFO:
|
||
285 0079 3026 SET MISC.@MISC_REQ
|
||
286 007A
|
||
287 007A 0080 E MOV FIFO_TEMP,A ;FIFO_TEMP SAVE FIFOX ADDRESS
|
||
288 007B 1F00 E CLR FIFO_SendLen
|
||
289 007C 0F00 E MOV A,OFFSET FIFO_Type
|
||
290 007D 0081 MOV MP0,A
|
||
291 007E Read_FIFO_Loop:
|
||
292 007E 0700 E MOV A,FIFO_TEMP
|
||
293 007F 0083 MOV MP1,A
|
||
294 0080 0702 MOV A,R1
|
||
295 0081 0080 MOV R0,A
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒6
|
||
|
||
296 0082 1480 E INC FIFO_SendLen
|
||
297 0083 1481 INC MP0
|
||
298 0084 0700 E MOV A,FIFO_SIZE
|
||
299 0085 0400 E XOR A,FIFO_SendLen
|
||
300 0086 3D0A SZ Z ;1=FIFO_SIZE=FIFO_SendLen
|
||
301 0087 2800 R JMP Read_FIFO_End
|
||
302 0088 0F26 MOV A,USB_MISC
|
||
303 0089 0083 MOV MP1,A
|
||
304 008A 2000 R CALL Delay_28us
|
||
305 008B 3F02 SZ R1.@MISC_Ready
|
||
306 008C 2800 R JMP Read_FIFO_LOOP
|
||
307 008D 2800 R JMP Read_FIFO_End
|
||
308 008E
|
||
309 008E Send_Hand_Shake:
|
||
310 008E Send_Hand_Shake_wait:
|
||
311 008E ; protect die loop
|
||
312 008E 2000 R call Check_Real_Cmd
|
||
313 008F 3C00 E sz bFlag_Real_Cmd
|
||
314 0090 ;jmp USB_EP0_ISR_END
|
||
315 0090 0003 ret ;modify by 2006-02-16
|
||
316 0091
|
||
317 0091 2000 R CALL FIFO0_WR_CHECK
|
||
318 0092 3800 E SNZ bFlag_FIFO_Ready ; acai remark 2007-1-23
|
||
319 0093 2800 R JMP Send_Hand_Shake_wait
|
||
320 0094
|
||
321 0094 3026 set MISC.@MISC_REQ
|
||
322 0095 WriteLen0:
|
||
323 0095 Write_FIFO_OK:
|
||
324 0095 Read_FIFO_End:
|
||
325 0095 0F26 MOV A,USB_MISC
|
||
326 0096 0083 MOV MP1,A
|
||
327 0097 0F02 MOV A,(01H SHL @MISC_TX) ;Change TX State
|
||
328 0098 ;CLR INTC0.0
|
||
329 0098 0482 XORM A,R1
|
||
330 0099 2000 R CALL Delay_3us
|
||
331 009A 3402 CLR R1.@MISC_REQ
|
||
332 009B ;SET INTC0.0
|
||
333 009B 0003 RET
|
||
334 009C
|
||
335 009C ;============================================================
|
||
336 009C ;Function:Write FIFOx from FIFO_OUTx
|
||
337 009C ;============================================================
|
||
338 009C Write_FIFO0:
|
||
339 009C 0F28 MOV A,USB_FIFO0
|
||
340 009D 2800 R JMP Write_FIFO
|
||
341 009E Write_FIFO1:
|
||
342 009E 0F29 MOV A,USB_FIFO1
|
||
343 009F 2800 R JMP Write_FIFO
|
||
344 00A0 Write_FIFO2:
|
||
345 00A0 0F2A MOV A,USB_FIFO2
|
||
346 00A1 2800 R JMP Write_FIFO
|
||
347 00A2 Write_FIFO3:
|
||
348 00A2 0F2B MOV A,USB_FIFO3
|
||
349 00A3 2800 R JMP Write_FIFO
|
||
350 00A4 Write_FIFO4:
|
||
351 00A4 0F2C MOV A,USB_FIFO4
|
||
352 00A5 2800 R JMP Write_FIFO
|
||
353 00A6 Write_FIFO5:
|
||
354 00A6 0F2D MOV A,USB_FIFO5
|
||
355 00A7 2800 R JMP Write_FIFO
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒7
|
||
|
||
356 00A8
|
||
357 00A8 Write_FIFO:
|
||
358 00A8 0001 clr wdt
|
||
359 00A9 3026 SET MISC.@MISC_REQ
|
||
360 00AA
|
||
361 00AA 0080 E MOV FIFO_TEMP,A ;FIFO NO Address
|
||
362 00AB 0F00 E MOV A,OFFSET FIFO_OUT1
|
||
363 00AC 0081 MOV MP0,A
|
||
364 00AD Write_FIFO_Loop:
|
||
365 00AD 0001 clr wdt
|
||
366 00AE 0700 E MOV A,FIFO_SendLen
|
||
367 00AF 0C00 XOR A,00H
|
||
368 00B0 3D0A SZ Z
|
||
369 00B1 2800 R JMP Write_FIFO_End
|
||
370 00B2
|
||
371 00B2 0700 E MOV A,FIFO_TEMP
|
||
372 00B3 0083 MOV MP1,A
|
||
373 00B4 0700 MOV A,R0
|
||
374 00B5 0082 MOV R1,A
|
||
375 00B6 1580 E DEC FIFO_SendLen
|
||
376 00B7 0700 E MOV A,FIFO_SendLen
|
||
377 00B8 0C00 XOR A,00H
|
||
378 00B9 3D0A SZ Z
|
||
379 00BA 2800 R JMP Write_FIFO_End ;FIFO_SendLen=0 代表傳完了
|
||
380 00BB 1481 INC MP0
|
||
381 00BC 0F26 MOV A,USB_MISC
|
||
382 00BD 0083 MOV MP1,A
|
||
383 00BE 2000 R call Delay_28us
|
||
384 00BF 3F02 SZ R1.@MISC_Ready
|
||
385 00C0 2800 R JMP Write_FIFO_Loop
|
||
386 00C1 Write_FIFO_End:
|
||
387 00C1 0001 clr wdt
|
||
388 00C2 2800 R JMP Write_FIFO_OK
|
||
389 00C3
|
||
390 00C3
|
||
391 00C3 get_descriptor_length:
|
||
392 00C3 0001 clr wdt
|
||
393 00C4 0700 E MOV A,FIFO_WLENGTHH
|
||
394 00C5 0C00 XOR A,0
|
||
395 00C6 390A SNZ Z
|
||
396 00C7 2800 R JMP use_actual_length
|
||
397 00C8 0700 E MOV A,FIFO_WLENGTHL
|
||
398 00C9 0C00 XOR A,0
|
||
399 00CA 3D0A SZ Z
|
||
400 00CB 2800 R JMP use_actual_length
|
||
401 00CC 0700 E MOV A,FIFO_WLENGTHL
|
||
402 00CD 0200 E SUB A,data_count
|
||
403 00CE 3C0A SZ C ;if(FIFO_LENGTHL>data_count) c=1
|
||
404 00CF 2800 R JMP use_actual_length
|
||
405 00D0 0700 E MOV A,FIFO_WLENGTHL
|
||
406 00D1 0080 E MOV data_count,A
|
||
407 00D2 use_actual_length:
|
||
408 00D2 0003 RET
|
||
409 00D3 ;===============================================================
|
||
410 00D3 ; Function : Control_read
|
||
411 00D3 ; Purpose : Performs the control read operation as
|
||
412 00D3 ; defined by the USB specification
|
||
413 00D3 ; setup-in-in-in-....-out
|
||
414 00D3 ; data_start:must be set to the descriptors info as an offset
|
||
415 00D3 ; from the beginning of the control read table
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒8
|
||
|
||
416 00D3 ; data count holds the
|
||
417 00D3 ; data_count:must beset to the size of the descriptor
|
||
418 00D3 ; bFlag_RD_HTable==1 ==> Must be read Hight Bytes
|
||
419 00D3 ; TBLP :Table Index
|
||
420 00D3 ;===============================================================
|
||
421 00D3 control_read:
|
||
422 00D3 0001 clr wdt
|
||
423 00D4 0700 E MOV A,data_start
|
||
424 00D5 0087 MOV TBLP,A
|
||
425 00D6 control_read_data_stage:
|
||
426 00D6 0001 clr wdt
|
||
427 00D7 0F00 MOV A,00H
|
||
428 00D8 0080 E MOV Loop_Counter,A
|
||
429 00D9 0080 E MOV FIFO_SendLen,A
|
||
430 00DA
|
||
431 00DA
|
||
432 00DA 3EA6 SZ MISC.@MISC_SCMD
|
||
433 00DB 2800 R JMP control_read_status_stage_end
|
||
434 00DC 0001 clr wdt
|
||
435 00DD
|
||
436 00DD 0F00 E MOV A,OFFSET FIFO_TYPE
|
||
437 00DE 0081 MOV MP0,A
|
||
438 00DF
|
||
439 00DF 0700 E MOV A,data_count
|
||
440 00E0 0C00 XOR A,00H
|
||
441 00E1 3D0A SZ Z
|
||
442 00E2 2800 R JMP dma_load_done ;A=00H
|
||
443 00E3
|
||
444 00E3 dma_load_loop:
|
||
445 00E3 0001 clr wdt
|
||
446 00E4 3800 E SNZ bFlag_RD_HTable
|
||
447 00E5 2800 R JMP Read_Low_Bytes
|
||
448 00E6 Read_High_Bytes:
|
||
449 00E6 0001 clr wdt
|
||
450 00E7 3400 E CLR bFlag_RD_HTable
|
||
451 00E8 1D80 TABRDL R0
|
||
452 00E9 1487 INC TBLP
|
||
453 00EA 1480 E INC data_start
|
||
454 00EB 0708 MOV A,TBLH
|
||
455 00EC 0E3F AND A,00111111b
|
||
456 00ED 0080 MOV R0,A
|
||
457 00EE 0C3F XOR A,3FH
|
||
458 00EF 3D0A SZ Z
|
||
459 00F0 2800 R JMP dma_load_loop
|
||
460 00F1
|
||
461 00F1 2800 R JMP Check_Read_Length
|
||
462 00F2
|
||
463 00F2 Read_Low_Bytes:
|
||
464 00F2 0001 clr wdt
|
||
465 00F3 3000 E SET bFlag_RD_HTable
|
||
466 00F4 1D80 TABRDL R0
|
||
467 00F5 0700 MOV A,R0
|
||
468 00F6 Check_Read_Length:
|
||
469 00F6 0001 clr wdt
|
||
470 00F7 1481 INC MP0
|
||
471 00F8 1480 E INC loop_counter
|
||
472 00F9 1480 E INC FIFO_SendLen
|
||
473 00FA 1580 E DEC data_count
|
||
474 00FB 3D0A SZ Z
|
||
475 00FC 2800 R JMP wait_control_read
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒9
|
||
|
||
476 00FD 0700 E MOV A,loop_counter
|
||
477 00FE 0C08 XOR A,EP0_FIFO_SIZE
|
||
478 00FF 390A SNZ Z
|
||
479 0100 2800 R JMP dma_load_loop
|
||
480 0101 2800 R jmp wait_control_read
|
||
481 0102 dma_load_done:
|
||
482 0102 0001 clr wdt
|
||
483 0103 ;SZ MISC.@MISC_SCMD
|
||
484 0103 ;JMP control_read_status_stage_end
|
||
485 0103 2000 R CALL Send_Hand_Shake
|
||
486 0104 2800 R jmp control_read_status_stage_end
|
||
487 0105
|
||
488 0105 wait_control_read:
|
||
489 0105 0001 clr wdt
|
||
490 0106 2000 R call Check_Real_Cmd
|
||
491 0107 3C00 E sz bFlag_Real_Cmd
|
||
492 0108 2800 R jmp control_read_status_stage_end
|
||
493 0109
|
||
494 0109 0001 clr wdt
|
||
495 010A 2000 R CALL FIFO0_WR_CHECK
|
||
496 010B 3800 E SNZ bFlag_FIFO_Ready
|
||
497 010C 2800 R JMP wait_control_read ;wait FIFO0 Ready
|
||
498 010D 2000 R CALL Write_FIFO0
|
||
499 010E control_read_status_stage_end:
|
||
500 010E 0001 clr wdt
|
||
501 010F 0000 NOP
|
||
502 0110 0003 RET
|
||
503 0111
|
||
504 0111
|
||
505 0111 ;-----------------------------------------------------------
|
||
506 0111 ; Check_Real_Cmd : if have new cmd , set bFlag_Real_Cmd else clr bFlag_Real_Cmd
|
||
507 0111 ;-----------------------------------------------------------
|
||
508 0111 Check_Real_Cmd:
|
||
509 0111 0001 clr wdt
|
||
510 0112 3400 E clr bFlag_Real_Cmd
|
||
511 0113 3EA6 SZ MISC.@MISC_SCMD
|
||
512 0114 3000 E set bFlag_Real_Cmd
|
||
513 0115 3FA6 SZ MISC.@MISC_LEN0
|
||
514 0116 3000 E set bFlag_Real_Cmd
|
||
515 0117 0003 RET
|
||
516 0118
|
||
517 0118 ;***************************************************************
|
||
518 0118 ; USB Stage3
|
||
519 0118 ; Process the request
|
||
520 0118 ;***************************************************************
|
||
521 0118 ;Set the device address to the wValue in the SETUP packet at the completion
|
||
522 0118 ;of the current transaction
|
||
523 0118 ;-----------------------------------------------------------
|
||
524 0118 ; Set Address
|
||
525 0118 ;-----------------------------------------------------------
|
||
526 0118 SetAddress:
|
||
527 0118 0001 clr wdt
|
||
528 0119 0700 E MOV A,FIFO_WVALUEL ;save address to FIFO_ADDR
|
||
529 011A 0080 E MOV FIFO_ADDR,A
|
||
530 011B 0080 E MOV FIFO_TEMP,A
|
||
531 011C
|
||
532 011C 0F25 MOV A,USB_SIES
|
||
533 011D 0083 MOV MP1,A
|
||
534 011E 0F01 MOV A,00000001b
|
||
535 011F 0582 ORM A,R1
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒10
|
||
|
||
536 0120 1800 E RLA FIFO_TEMP
|
||
537 0121 0EFE AND A,0FEH
|
||
538 0122 0080 E MOV FIFO_TEMP,A
|
||
539 0123
|
||
540 0123 0F23 MOV A,USB_AWR
|
||
541 0124 0083 MOV MP1,A
|
||
542 0125 0700 E MOV A,FIFO_TEMP
|
||
543 0126 0082 MOV R1,A
|
||
544 0127 0000 NOP
|
||
545 0128
|
||
546 0128 2000 R CALL Send_Hand_Shake ;send a handshake with host
|
||
547 0129
|
||
548 0129 3000 E SET bFlag_Set_Address
|
||
549 012A ;;RET ;for test
|
||
550 012A 2800 E JMP USB_EP0_ISR_END
|
||
551 012B
|
||
552 012B ;-----------------------------------------------------------
|
||
553 012B ; Set Configuration
|
||
554 012B ;-----------------------------------------------------------
|
||
555 012B SetConfiguration:
|
||
556 012B 0001 clr wdt
|
||
557 012C 339C set USVC.7 ;unmute
|
||
558 012D
|
||
559 012D 0700 E MOV A,FIFO_WVALUEL
|
||
560 012E 0080 E MOV USB_Configuration,A
|
||
561 012F 1F24 CLR STALL
|
||
562 0130 ;MOV A,USB_STALL
|
||
563 0130 ;MOV MP1,A
|
||
564 0130 ;CLR R1 ;not stall
|
||
565 0130 3000 E set bFlag_SetConfiguration_Ready
|
||
566 0131 SetConfiguration_wait:
|
||
567 0131 2000 R CALL Send_Hand_Shake
|
||
568 0132 2800 E JMP USB_EP0_ISR_END
|
||
569 0133
|
||
570 0133 ;-----------------------------------------------------------
|
||
571 0133 ; Set Interface
|
||
572 0133 ;-----------------------------------------------------------
|
||
573 0133 SetInterface:
|
||
574 0133 0001 clr wdt
|
||
575 0134 0700 E MOV A,FIFO_WVALUEL
|
||
576 0135 0080 E MOV USB_Interface_Alt,A
|
||
577 0136 0700 E MOV A,FIFO_WINDEXL
|
||
578 0137 0080 E MOV USB_Interface,A
|
||
579 0138 3000 E set bFlag_SetInterface_Ready
|
||
580 0139 3014 set USB_LED_ON
|
||
581 013A SetInterface_wait:
|
||
582 013A 2000 R CALL Send_Hand_Shake
|
||
583 013B 2800 E JMP USB_EP0_ISR_END
|
||
584 013C
|
||
585 013C ;-----------------------------------------------------------
|
||
586 013C ; Get Interface
|
||
587 013C ;-----------------------------------------------------------
|
||
588 013C GetInterface:
|
||
589 013C 0001 clr wdt
|
||
590 013D 0700 E mov A,USB_Interface_Alt
|
||
591 013E 0080 E mov FIFO_OUT1,A
|
||
592 013F
|
||
593 013F 0F01 mov A,01H
|
||
594 0140 0080 E mov FIFO_SendLen,A
|
||
595 0141
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒11
|
||
|
||
596 0141 GetInterface_Loop:
|
||
597 0141 0001 clr wdt
|
||
598 0142 2000 R call Check_Real_Cmd
|
||
599 0143 3C00 E sz bFlag_Real_Cmd
|
||
600 0144 2800 R jmp GetInterface_End
|
||
601 0145 0001 clr wdt
|
||
602 0146 2000 R call FIFO0_WR_CHECK
|
||
603 0147 3800 E SNZ bFlag_FIFO_Ready
|
||
604 0148 2800 R JMP GetInterface_Loop
|
||
605 0149
|
||
606 0149 2000 R CALL Write_FIFO0
|
||
607 014A
|
||
608 014A GetInterface_End:
|
||
609 014A 2800 E JMP USB_EP0_ISR_END
|
||
610 014B
|
||
611 014B ;-----------------------------------------------------------
|
||
612 014B ; Get Status
|
||
613 014B ; For Get Status (DEVICE,INTERFACE,ENDPOINT) , if self-powered and remote wakeup need to modify
|
||
614 014B ; return 2 bytes (00 00)
|
||
615 014B ;-----------------------------------------------------------
|
||
616 014B GetStatus:
|
||
617 014B 0001 clr wdt
|
||
618 014C 0F02 mov a,02H
|
||
619 014D 0080 E mov FIFO_SendLen,a
|
||
620 014E
|
||
621 014E ;Modify for Remote Wakeup
|
||
622 014E 0F02 mov a,02H
|
||
623 014F 3800 E snz bRmtWakeup
|
||
624 0150 ;------------------------
|
||
625 0150 0F00 mov a,00H
|
||
626 0151 0080 E mov FIFO_Out1,a
|
||
627 0152 1F00 E clr FIFO_Out2
|
||
628 0153
|
||
629 0153 GetStatus_Loop:
|
||
630 0153 0001 clr wdt
|
||
631 0154 2000 R call Check_Real_Cmd
|
||
632 0155 3C00 E sz bFlag_Real_Cmd
|
||
633 0156 2800 R jmp GetStatus_End
|
||
634 0157 0001 clr wdt
|
||
635 0158
|
||
636 0158 2000 R call FIFO0_WR_CHECK
|
||
637 0159 3800 E SNZ bFlag_FIFO_Ready
|
||
638 015A 2800 R JMP GetStatus_Loop
|
||
639 015B
|
||
640 015B 2000 R CALL Write_FIFO0
|
||
641 015C
|
||
642 015C GetStatus_End:
|
||
643 015C 2800 E JMP USB_EP0_ISR_END
|
||
644 015D
|
||
645 015D ;-----------------------------------------------------------
|
||
646 015D ; Get Status (Endpoint)
|
||
647 015D ;-----------------------------------------------------------
|
||
648 015D ;-----------------------------------------------------------
|
||
649 015D ; Get Status (Interface)
|
||
650 015D ; return 2 bytes (00 00)
|
||
651 015D ;-----------------------------------------------------------
|
||
652 015D ;Modify for Remote Wakeup
|
||
653 015D GetStatus_Interface:
|
||
654 015D 0001 clr wdt
|
||
655 015E 0F02 mov a,02H
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒12
|
||
|
||
656 015F 0080 E mov FIFO_SendLen,a
|
||
657 0160
|
||
658 0160
|
||
659 0160 0F00 mov a,00H
|
||
660 0161 0080 E mov FIFO_Out1,a
|
||
661 0162 1F00 E clr FIFO_Out2
|
||
662 0163
|
||
663 0163 GetStatus_Inerface_Loop:
|
||
664 0163 0001 clr wdt
|
||
665 0164 2000 R call Check_Real_Cmd
|
||
666 0165 3C00 E sz bFlag_Real_Cmd
|
||
667 0166 2800 R jmp GetStatus_End
|
||
668 0167 0001 clr wdt
|
||
669 0168
|
||
670 0168 2000 R call FIFO0_WR_CHECK
|
||
671 0169 3800 E SNZ bFlag_FIFO_Ready
|
||
672 016A 2800 R JMP GetStatus_Inerface_Loop
|
||
673 016B
|
||
674 016B 2000 R CALL Write_FIFO0
|
||
675 016C
|
||
676 016C GetStatus_Inerface_Loop_End:
|
||
677 016C 2800 E JMP USB_EP0_ISR_END
|
||
678 016D ;-----------------------------------------------------------
|
||
679 016D ; Get Status (Endpoint)
|
||
680 016D ;-----------------------------------------------------------
|
||
681 016D GetStatus_Endpoint:
|
||
682 016D 0001 clr wdt
|
||
683 016E 0F02 mov a,02H
|
||
684 016F 0080 E mov FIFO_SendLen,a
|
||
685 0170
|
||
686 0170 0F7F mov a,07FH
|
||
687 0171 0600 E and a,FIFO_wIndexL
|
||
688 0172
|
||
689 0172 2000 R call GetPipeBit
|
||
690 0173 0080 E mov FIFO_TEMP,a
|
||
691 0174 0724 mov a,STALL
|
||
692 0175 0600 E and a,FIFO_TEMP
|
||
693 0176 0080 E mov FIFO_TEMP,a
|
||
694 0177
|
||
695 0177 1F00 E clr FIFO_Out1
|
||
696 0178 1080 E sz FIFO_TEMP
|
||
697 0179 3000 E set FIFO_Out1.0
|
||
698 017A
|
||
699 017A 1F00 E clr FIFO_Out2
|
||
700 017B
|
||
701 017B 2800 R jmp GetStatus_Loop
|
||
702 017C
|
||
703 017C
|
||
704 017C GetStatus_Endpoint_End:
|
||
705 017C 2800 E JMP USB_EP0_ISR_END
|
||
706 017D ;-----------------------------------------------------------
|
||
707 017D ; Clear Feature : The HT82A822R return ACK without ERROR
|
||
708 017D ; bmRequest: 00 Device
|
||
709 017D ; 02 EndPoint
|
||
710 017D ; bRequest 01 CLEAR_FEATURE
|
||
711 017D ; wValue 0000 clear ENDPOINT0 HALT
|
||
712 017D ; 0001 clear REMOTE_WAKEUP
|
||
713 017D ; wIndex 0000
|
||
714 017D ; wLength 0000
|
||
715 017D ;-----------------------------------------------------------
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒13
|
||
|
||
716 017D ClearFeature:
|
||
717 017D ;;----2007-01-10 for Vista DTM----
|
||
718 017D 0700 E mov a,FIFO_wValueL
|
||
719 017E 0C01 xor a,01H
|
||
720 017F 390A snz z
|
||
721 0180 2800 R JMP SendStall0
|
||
722 0181 ;set b_wakeup
|
||
723 0181 ;clr bRmtWakeup
|
||
724 0181 ;;------------------------------
|
||
725 0181 0001 clr wdt
|
||
726 0182 ;Modify for Remote Wakeup
|
||
727 0182 3000 E set b_wakeup
|
||
728 0183 3400 E clr bRmtWakeup
|
||
729 0184 ;-----------------------
|
||
730 0184 2000 R CALL Send_Hand_Shake
|
||
731 0185 ClearFeature_Loop:
|
||
732 0185 ClearFeature_End:
|
||
733 0185 2800 E JMP USB_EP0_ISR_END
|
||
734 0186 ;-----------------------------------------------------------
|
||
735 0186 ; Clear Feature (Endpoint)
|
||
736 0186 ;-----------------------------------------------------------
|
||
737 0186 ClearFeature_Endpoint:
|
||
738 0186 0001 clr wdt
|
||
739 0187
|
||
740 0187
|
||
741 0187 3800 E snz bFlag_SetConfiguration_Ready
|
||
742 0188 2800 R JMP SendStall0
|
||
743 0189
|
||
744 0189 0F7F mov a,07FH
|
||
745 018A 0600 E and a,FIFO_wIndexL
|
||
746 018B
|
||
747 018B 2000 R call GetPipeBit
|
||
748 018C
|
||
749 018C 0080 E mov FIFO_TEMP,a
|
||
750 018D 0180 E CPL FIFO_TEMP
|
||
751 018E 0724 mov a,STALL
|
||
752 018F 0600 E AND a,FIFO_TEMP
|
||
753 0190 00A4 mov STALL,a
|
||
754 0191
|
||
755 0191 2000 R CALL Send_Hand_Shake
|
||
756 0192
|
||
757 0192
|
||
758 0192 ClearFeature_Endpoint_End:
|
||
759 0192 2800 E JMP USB_EP0_ISR_END
|
||
760 0193
|
||
761 0193 ;-----------------------------------------------------------
|
||
762 0193 ; Set Feature
|
||
763 0193 ;-----------------------------------------------------------
|
||
764 0193 SetFeature:
|
||
765 0193 ;;----2007-01-10 for Vista DTM----
|
||
766 0193 0700 E mov a,FIFO_wValueH
|
||
767 0194 0C00 xor a,00H
|
||
768 0195 3D0A sz z
|
||
769 0196 2800 R JMP SetFeature_1
|
||
770 0197
|
||
771 0197 0700 E mov a,FIFO_wValueH
|
||
772 0198 0A81 sub a,81H ;target-now
|
||
773 0199 380A snz C
|
||
774 019A 2800 R jmp SendStall0 ;<81H
|
||
775 019B ;>=81H
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒14
|
||
|
||
776 019B 0700 E mov a,FIFO_wValueH
|
||
777 019C 0A84 sub a,84H ;target-now
|
||
778 019D 3C0A sz C
|
||
779 019E 2800 R jmp SendStall0 ;>=84H
|
||
780 019F
|
||
781 019F 0700 E mov a,FIFO_wValueL
|
||
782 01A0 0C00 xor a,00H
|
||
783 01A1 390A snz z
|
||
784 01A2 2800 R JMP SendStall0
|
||
785 01A3 2800 R jmp SetFeature_2
|
||
786 01A4
|
||
787 01A4 SetFeature_1:
|
||
788 01A4 0700 E mov a,FIFO_wValueL
|
||
789 01A5 0C01 xor a,01H
|
||
790 01A6 390A snz z
|
||
791 01A7 2800 R JMP SendStall0
|
||
792 01A8
|
||
793 01A8 SetFeature_2:
|
||
794 01A8
|
||
795 01A8 ;;----------------------------------
|
||
796 01A8 ;Modify for Remote Wakeup
|
||
797 01A8 3000 E set b_wakeup
|
||
798 01A9 3000 E set bRmtWakeup
|
||
799 01AA ;-----------------------
|
||
800 01AA 2000 R CALL Send_Hand_Shake
|
||
801 01AB SetFeature_Loop:
|
||
802 01AB SetFeature_End:
|
||
803 01AB 2800 E JMP USB_EP0_ISR_END
|
||
804 01AC ;-----------------------------------------------------------
|
||
805 01AC ; Set Feature (Endpoint)
|
||
806 01AC ;-----------------------------------------------------------
|
||
807 01AC SetFeature_Endpoint:
|
||
808 01AC 0001 clr wdt
|
||
809 01AD 3800 E snz bFlag_SetConfiguration_Ready
|
||
810 01AE 2800 R JMP SendStall0
|
||
811 01AF
|
||
812 01AF 0F7F mov a,07FH
|
||
813 01B0 0600 E and a,FIFO_wIndexL
|
||
814 01B1
|
||
815 01B1 2000 R call GetPipeBit
|
||
816 01B2
|
||
817 01B2 0080 E mov FIFO_TEMP,A
|
||
818 01B3 0724 mov a,STALL
|
||
819 01B4 0500 E or a,FIFO_TEMP
|
||
820 01B5 00A4 mov STALL,a
|
||
821 01B6
|
||
822 01B6 2000 R CALL Send_Hand_Shake
|
||
823 01B7
|
||
824 01B7 SetFeature_Endpoint_End:
|
||
825 01B7 2800 E JMP USB_EP0_ISR_END
|
||
826 01B8 ;-----------------------------------------------------------
|
||
827 01B8 ; Get Descriptor
|
||
828 01B8 ;-----------------------------------------------------------
|
||
829 01B8 GetDescriptor:
|
||
830 01B8 0001 clr wdt
|
||
831 01B9 3400 E CLR bFlag_RD_HTable
|
||
832 01BA 3400 E CLR bFlag_wait_control_out
|
||
833 01BB
|
||
834 01BB 0700 E MOV A,FIFO_WvalueH ;80 06 00 01
|
||
835 01BC 0C01 XOR A,device
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒15
|
||
|
||
836 01BD 3D0A SZ Z
|
||
837 01BE 2800 R JMP GetDeviceDescriptor
|
||
838 01BF
|
||
839 01BF 0700 E MOV A,FIFO_WvalueH ;80 06 00 02
|
||
840 01C0 0C02 XOR A,configuration
|
||
841 01C1 3D0A SZ Z
|
||
842 01C2 2800 R JMP GetConfigurationDescriptor
|
||
843 01C3
|
||
844 01C3 0700 E MOV A,FIFO_WvalueH ;80 06 00 03
|
||
845 01C4 0C03 XOR A,string
|
||
846 01C5 3D0A SZ Z
|
||
847 01C6 2800 R JMP GetStringDescriptor
|
||
848 01C7
|
||
849 01C7
|
||
850 01C7 ;------------------------------------------------------
|
||
851 01C7 ;Then test for HID class Descriptor
|
||
852 01C7 ;------------------------------------------------------
|
||
853 01C7
|
||
854 01C7 0700 E MOV A,FIFO_WvalueH ;81 06 00 22
|
||
855 01C8 0C22 XOR A,report
|
||
856 01C9 3D0A SZ Z
|
||
857 01CA 2800 R JMP GetReportDescriptor
|
||
858 01CB
|
||
859 01CB 0700 E MOV A,FIFO_WvalueH ;81 06 00 21
|
||
860 01CC 0C21 XOR A,HID
|
||
861 01CD 3D0A SZ Z
|
||
862 01CE 2800 R JMP GetHIDDescriptor
|
||
863 01CF
|
||
864 01CF
|
||
865 01CF
|
||
866 01CF 2800 R JMP SendStall0 ;can't parser
|
||
867 01D0
|
||
868 01D0 ;-----------------------------------------------------------
|
||
869 01D0 ; GetConfiguration
|
||
870 01D0 ;-----------------------------------------------------------
|
||
871 01D0 GetConfiguration:
|
||
872 01D0 0001 clr wdt
|
||
873 01D1 0F01 mov a,01H
|
||
874 01D2 0080 E mov FIFO_SendLen,a
|
||
875 01D3
|
||
876 01D3 0700 E mov a,USB_Configuration
|
||
877 01D4 0080 E mov FIFO_OUT1,a
|
||
878 01D5 GetConfiguration_Loop:
|
||
879 01D5 0001 clr wdt
|
||
880 01D6 2000 R call Check_Real_Cmd
|
||
881 01D7 3C00 E sz bFlag_Real_Cmd
|
||
882 01D8 2800 R jmp GetConfiguration_End
|
||
883 01D9 0001 clr wdt
|
||
884 01DA 2000 R call FIFO0_WR_CHECK
|
||
885 01DB 3800 E SNZ bFlag_FIFO_Ready
|
||
886 01DC 2800 R JMP GetConfiguration_Loop
|
||
887 01DD
|
||
888 01DD 2000 R CALL Write_FIFO0
|
||
889 01DE GetConfiguration_End:
|
||
890 01DE 2800 E JMP USB_EP0_ISR_END
|
||
891 01DF
|
||
892 01DF
|
||
893 01DF
|
||
894 01DF ;------------------------------------------------------
|
||
895 01DF ;Report
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒16
|
||
|
||
896 01DF ;------------------------------------------------------
|
||
897 01DF SetReport:
|
||
898 01DF 0001 clr wdt
|
||
899 01E0 0700 E mov a,FIFO_wValueH
|
||
900 01E1 0C02 xor a,set_output_report
|
||
901 01E2 3D0A sz z
|
||
902 01E3 2800 R jmp SetOutputReport
|
||
903 01E4
|
||
904 01E4 2800 E JMP USB_EP0_ISR_END
|
||
905 01E5 SetReport_End:
|
||
906 01E5
|
||
907 01E5 SetOutputReport:
|
||
908 01E5 0001 clr wdt
|
||
909 01E6 ;check interface
|
||
910 01E6 0700 E mov a,FIFO_wIndexL
|
||
911 01E7 0C02 xor a,02H
|
||
912 01E8 390A snz z
|
||
913 01E9 2800 R jmp SendStall0
|
||
914 01EA ;check length
|
||
915 01EA 0700 E mov a,FIFO_wLengthL
|
||
916 01EB 0C08 xor a,08H
|
||
917 01EC 390A snz z
|
||
918 01ED 2800 R jmp SendStall0
|
||
919 01EE
|
||
920 01EE 0F21 mov a,21H
|
||
921 01EF 0080 E mov nCmdIndex1,a
|
||
922 01F0
|
||
923 01F0
|
||
924 01F0 SetOutputReport_End:
|
||
925 01F0 2800 E JMP USB_EP0_ISR_END
|
||
926 01F1 ;------------------------------------------------------
|
||
927 01F1 ;Audio class
|
||
928 01F1 ;------------------------------------------------------
|
||
929 01F1 ;21 01
|
||
930 01F1 SetCur:
|
||
931 01F1 0001 clr wdt
|
||
932 01F2 0700 E MOV A,FIFO_WVALUEH
|
||
933 01F3 0C01 XOR A,MUTE_CONTROL
|
||
934 01F4 3D0A SZ Z
|
||
935 01F5 2800 R JMP MuteControl
|
||
936 01F6
|
||
937 01F6 0700 E MOV A,FIFO_WVALUEH
|
||
938 01F7 0C02 XOR A,VOLUME_CONTROL
|
||
939 01F8 3D0A SZ Z
|
||
940 01F9 2800 R JMP VolumeControl
|
||
941 01FA
|
||
942 01FA 2800 R JMP SendStall0 ;can't parser
|
||
943 01FB
|
||
944 01FB ;21 01 00 01
|
||
945 01FB MuteControl: ;(if have more feature , the state must be modify!!)
|
||
946 01FB 0001 clr wdt
|
||
947 01FC 0F18 mov a,18h
|
||
948 01FD 0080 E mov nCmdIndex1,a
|
||
949 01FE
|
||
950 01FE ;;RET
|
||
951 01FE ;;modify 2005-12-13
|
||
952 01FE 2800 E jmp USB_EP0_ISR_END
|
||
953 01FF ;21 01 00 02
|
||
954 01FF VolumeControl:
|
||
955 01FF 0001 clr wdt
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒17
|
||
|
||
956 0200 0F28 mov a,28h
|
||
957 0201 0080 E mov nCmdIndex1,a
|
||
958 0202 ;;RET
|
||
959 0202 ;;modify 2005-12-13
|
||
960 0202 2800 E jmp USB_EP0_ISR_END
|
||
961 0203
|
||
962 0203 ;return D2 00 = -46 db
|
||
963 0203 ;return BC 00 = -32 db (原本為 E0)
|
||
964 0203 GetMin:
|
||
965 0203 0001 clr wdt
|
||
966 0204 0F00 MOV A,00H
|
||
967 0205 0080 E MOV FIFO_OUT1,A
|
||
968 0206 ;; MOV A,0E0H
|
||
969 0206 0FC8 MOV A,Min_Volume
|
||
970 0207 0080 E MOV FIFO_OUT2,A
|
||
971 0208 0F02 MOV A,02H
|
||
972 0209 0080 E MOV FIFO_SendLen,A
|
||
973 020A GetMin_Loop:
|
||
974 020A 0001 clr wdt
|
||
975 020B 2000 R call Check_Real_Cmd
|
||
976 020C 3C00 E sz bFlag_Real_Cmd
|
||
977 020D 2800 R jmp GetMin_End
|
||
978 020E 0001 clr wdt
|
||
979 020F 2000 R call FIFO0_WR_CHECK
|
||
980 0210 3800 E SNZ bFlag_FIFO_Ready
|
||
981 0211 2800 R JMP GetMin_Loop
|
||
982 0212
|
||
983 0212 2000 R CALL Write_FIFO0
|
||
984 0213 GetMin_End:
|
||
985 0213 ;;RET
|
||
986 0213 ;;2005-12-13 modify
|
||
987 0213 2800 E jmp USB_EP0_ISR_END
|
||
988 0214
|
||
989 0214
|
||
990 0214 ;return 0x0C00
|
||
991 0214 GetMax:
|
||
992 0214 0001 clr wdt
|
||
993 0215 0F00 MOV A,00H
|
||
994 0216 0080 E MOV FIFO_OUT1,A
|
||
995 0217 ;; MOV A,0CH
|
||
996 0217 0F00 MOV A,Max_Volume
|
||
997 0218 0080 E MOV FIFO_OUT2,A
|
||
998 0219 0F02 MOV A,02H
|
||
999 021A 0080 E MOV FIFO_SendLen,A
|
||
1000 021B GetMax_Loop:
|
||
1001 021B 0001 clr wdt
|
||
1002 021C 2000 R call Check_Real_Cmd
|
||
1003 021D 3C00 E sz bFlag_Real_Cmd
|
||
1004 021E 2800 R jmp GetMax_End
|
||
1005 021F 0001 clr wdt
|
||
1006 0220
|
||
1007 0220 2000 R call FIFO0_WR_CHECK
|
||
1008 0221 3800 E SNZ bFlag_FIFO_Ready
|
||
1009 0222 2800 R JMP GetMax_Loop
|
||
1010 0223
|
||
1011 0223
|
||
1012 0223 2000 R CALL Write_FIFO0
|
||
1013 0224 GetMax_End:
|
||
1014 0224 ; RET
|
||
1015 0224 ;;2005-12-13 modify
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒18
|
||
|
||
1016 0224 2800 E jmp USB_EP0_ISR_END
|
||
1017 0225
|
||
1018 0225
|
||
1019 0225
|
||
1020 0225
|
||
1021 0225
|
||
1022 0225 ;return 0x0100 1db
|
||
1023 0225 GetRes:
|
||
1024 0225 0001 clr wdt
|
||
1025 0226 0F00 MOV A,00H
|
||
1026 0227 0080 E MOV FIFO_OUT1,A
|
||
1027 0228 0F01 MOV A,01H
|
||
1028 0229 0080 E MOV FIFO_OUT2,A
|
||
1029 022A 0F02 MOV A,02H
|
||
1030 022B 0080 E MOV FIFO_SendLen,A
|
||
1031 022C GetRes_Loop:
|
||
1032 022C 0001 clr wdt
|
||
1033 022D 2000 R call Check_Real_Cmd
|
||
1034 022E 3C00 E sz bFlag_Real_Cmd
|
||
1035 022F 2800 R jmp GetRes_End
|
||
1036 0230
|
||
1037 0230 2000 R call FIFO0_WR_CHECK
|
||
1038 0231 3800 E SNZ bFlag_FIFO_Ready
|
||
1039 0232 2800 R JMP GetRes_Loop
|
||
1040 0233
|
||
1041 0233 2000 R CALL Write_FIFO0
|
||
1042 0234 GetRes_End:
|
||
1043 0234 ; RET
|
||
1044 0234 ;;2005-12-13 modify
|
||
1045 0234 2800 E jmp USB_EP0_ISR_END
|
||
1046 0235
|
||
1047 0235
|
||
1048 0235 GetCur:
|
||
1049 0235 ;; call Check_Real_Cmd
|
||
1050 0235 ;; sz bFlag_Real_Cmd
|
||
1051 0235 ;; jmp GetCur_End
|
||
1052 0235 ;;
|
||
1053 0235 ;;
|
||
1054 0235 ;; call FIFO0_WR_CHECK
|
||
1055 0235 ;; SNZ bFlag_FIFO_Ready
|
||
1056 0235 ;; JMP GetCur
|
||
1057 0235
|
||
1058 0235 ;;
|
||
1059 0235 ;; MOV A,FIFO_wLengthL
|
||
1060 0235 ;; MOV FIFO_SendLen,A
|
||
1061 0235 ;;
|
||
1062 0235 ;; MOV FIFO_TEMP,A
|
||
1063 0235 ;; MOV A,OFFSET FIFO_OUT1
|
||
1064 0235 ;; MOV MP1,A
|
||
1065 0235 ;;GetCur_Fill0:
|
||
1066 0235 ;; MOV A,00H
|
||
1067 0235 ;; MOV R1,A
|
||
1068 0235 ;; INC MP1
|
||
1069 0235 ;; DEC FIFO_TEMP
|
||
1070 0235 ;; MOV A,00H
|
||
1071 0235 ;; XOR A,FIFO_TEMP
|
||
1072 0235 ;; SNZ Z
|
||
1073 0235 ;; JMP GetCur_Fill0
|
||
1074 0235 ;; CALL Write_FIFO0
|
||
1075 0235 0001 clr wdt
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒19
|
||
|
||
1076 0236 0700 E MOV A,FIFO_wLengthL
|
||
1077 0237 0080 E MOV FIFO_SendLen,A
|
||
1078 0238
|
||
1079 0238 0F01 MOV A,01H
|
||
1080 0239 0400 E XOR A,FIFO_SendLen
|
||
1081 023A 3D0A sz z
|
||
1082 023B 2800 R jmp GetCur_Mute
|
||
1083 023C
|
||
1084 023C 0F02 MOV A,02H
|
||
1085 023D 0400 E XOR A,FIFO_SendLen
|
||
1086 023E 3D0A sz z
|
||
1087 023F 2800 R jmp GetCur_Volume
|
||
1088 0240 2800 R jmp GetCur_End
|
||
1089 0241
|
||
1090 0241 GetCur_Mute:
|
||
1091 0241 0001 clr wdt
|
||
1092 0242 0F00 MOV A,00H
|
||
1093 0243 3C00 E sz bFlag_Audio_Mute
|
||
1094 0244 0F01 MOV A,01H
|
||
1095 0245 0080 E mov FIFO_OUT1,A
|
||
1096 0246 GetCur_Mute_Loop:
|
||
1097 0246 0001 clr wdt
|
||
1098 0247 2000 R call Check_Real_Cmd
|
||
1099 0248 3C00 E sz bFlag_Real_Cmd
|
||
1100 0249 2800 R jmp GetCur_End
|
||
1101 024A
|
||
1102 024A
|
||
1103 024A 2000 R call FIFO0_WR_CHECK
|
||
1104 024B 3800 E SNZ bFlag_FIFO_Ready
|
||
1105 024C 2800 R JMP GetCur_Mute_Loop
|
||
1106 024D
|
||
1107 024D 2000 R call Write_FIFO0
|
||
1108 024E 2800 R jmp GetCur_End
|
||
1109 024F GetCur_Volume:
|
||
1110 024F 0001 clr wdt
|
||
1111 0250 0700 E MOV A,VolumeH_Save
|
||
1112 0251 0080 E mov FIFO_OUT1,A
|
||
1113 0252
|
||
1114 0252 0700 E MOV A,VolumeL_Save
|
||
1115 0253 0080 E mov FIFO_OUT2,A
|
||
1116 0254 GetCur_Volume_Loop:
|
||
1117 0254 0001 clr wdt
|
||
1118 0255 2000 R call Check_Real_Cmd
|
||
1119 0256 3C00 E sz bFlag_Real_Cmd
|
||
1120 0257 2800 R jmp GetCur_End
|
||
1121 0258
|
||
1122 0258
|
||
1123 0258 2000 R call FIFO0_WR_CHECK
|
||
1124 0259 3800 E SNZ bFlag_FIFO_Ready
|
||
1125 025A 2800 R JMP GetCur_Volume_Loop
|
||
1126 025B
|
||
1127 025B 2000 R call Write_FIFO0
|
||
1128 025C 2800 R jmp GetCur_End
|
||
1129 025D GetCur_End:
|
||
1130 025D ; RET
|
||
1131 025D ;;2005-12-13 modify
|
||
1132 025D 2800 E jmp USB_EP0_ISR_END
|
||
1133 025E
|
||
1134 025E ;--------------------------------------------------------------
|
||
1135 025E ; 未完成
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒20
|
||
|
||
1136 025E SetIdle:
|
||
1137 025E 2800 R JMP SendStall0 ;can't parser
|
||
1138 025F
|
||
1139 025F ;==============================================================
|
||
1140 025F ;Standard Get Descriptor routines
|
||
1141 025F ;
|
||
1142 025F ;Return the device descriptor to the host
|
||
1143 025F GetDeviceDescriptor:
|
||
1144 025F 0001 clr wdt
|
||
1145 0260 0F00 E MOV A,LOW device_desc_table
|
||
1146 0261 0087 MOV TBLP,A
|
||
1147 0262 1D80 E TABRDL data_count
|
||
1148 0263 ;modify 2005-12-02
|
||
1149 0263 2000 R CALL Execute
|
||
1150 0264 2800 E jmp USB_EP0_ISR_END
|
||
1151 0265
|
||
1152 0265 GetConfigurationDescriptor:
|
||
1153 0265 0001 clr wdt
|
||
1154 0266 0F00 E MOV A,LOW config_desc_length
|
||
1155 0267 0087 MOV TBLP,A
|
||
1156 0268 1D80 E TABRDL data_count
|
||
1157 0269 0F00 E MOV A,LOW config_desc_table
|
||
1158 026A ;modify 2005-12-02
|
||
1159 026A 2000 R call Execute
|
||
1160 026B 2800 E jmp USB_EP0_ISR_END
|
||
1161 026C ;Not Ready!!!!!!!!!
|
||
1162 026C GetStringDescriptor:
|
||
1163 026C 0001 clr wdt
|
||
1164 026D 0700 E MOV A,FIFO_WVALUEL
|
||
1165 026E 0C00 XOR A,00H
|
||
1166 026F 3D0A SZ Z
|
||
1167 0270 2800 R JMP LanguageString
|
||
1168 0271
|
||
1169 0271 0700 E MOV A,FIFO_WVALUEL
|
||
1170 0272 0C01 XOR A,01H
|
||
1171 0273 3D0A SZ Z
|
||
1172 0274 2800 R JMP ManufacturerString
|
||
1173 0275
|
||
1174 0275 0700 E MOV A,FIFO_WVALUEL
|
||
1175 0276 0C02 XOR A,02H
|
||
1176 0277 3D0A SZ Z
|
||
1177 0278 2800 R JMP ProductString
|
||
1178 0279
|
||
1179 0279 0700 E MOV A,FIFO_WVALUEL
|
||
1180 027A 0C03 XOR A,03H
|
||
1181 027B 3D0A SZ Z
|
||
1182 027C 2800 R JMP SerialNumberString
|
||
1183 027D
|
||
1184 027D
|
||
1185 027D 2800 R JMP SendStall0 ;other no support
|
||
1186 027E
|
||
1187 027E LanguageString:
|
||
1188 027E 0001 clr wdt
|
||
1189 027F 0F00 E MOV A,LOW USBStringLanguageDescription
|
||
1190 0280 0087 MOV TBLP,A
|
||
1191 0281 1D80 E TABRDL data_count
|
||
1192 0282 0F00 E MOV A,LOW USBStringLanguageDescription
|
||
1193 0283 ;modify 2005-12-02
|
||
1194 0283 2000 R call execute
|
||
1195 0284 2800 E jmp USB_EP0_ISR_END
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒21
|
||
|
||
1196 0285 ManufacturerString:
|
||
1197 0285 0001 clr wdt
|
||
1198 0286 0F00 E MOV A,LOW USBStringDescription1
|
||
1199 0287 0087 MOV TBLP,A
|
||
1200 0288 1D80 E TABRDL data_count
|
||
1201 0289 0F00 E MOV A,LOW USBStringDescription1
|
||
1202 028A ;modify 2005-12-02
|
||
1203 028A 2000 R call execute
|
||
1204 028B 2800 E jmp USB_EP0_ISR_END
|
||
1205 028C ProductString:
|
||
1206 028C 0001 clr wdt
|
||
1207 028D 0F00 E MOV A,LOW USBStringDescription2
|
||
1208 028E 0087 MOV TBLP,A
|
||
1209 028F 1D80 E TABRDL data_count
|
||
1210 0290 0F00 E MOV A,LOW USBStringDescription2
|
||
1211 0291 ;modify 2005-12-02
|
||
1212 0291 2000 R call execute
|
||
1213 0292 2800 E jmp USB_EP0_ISR_END
|
||
1214 0293
|
||
1215 0293
|
||
1216 0293 SerialNumberString:
|
||
1217 0293 0001 clr wdt
|
||
1218 0294 0F00 E MOV A,LOW USBStringDescription3
|
||
1219 0295 0087 MOV TBLP,A
|
||
1220 0296 1D80 E TABRDL data_count
|
||
1221 0297 0F00 E MOV A,LOW USBStringDescription3
|
||
1222 0298 ;modify 2005-12-02
|
||
1223 0298 2000 R call execute
|
||
1224 0299
|
||
1225 0299 2800 E jmp USB_EP0_ISR_END
|
||
1226 029A
|
||
1227 029A
|
||
1228 029A
|
||
1229 029A ;--------------------------------------------------
|
||
1230 029A ;HID class Get Descriptor routines
|
||
1231 029A ;return the HID descriptor and enable endpoint one
|
||
1232 029A ;--------------------------------------------------
|
||
1233 029A GetReportDescriptor:
|
||
1234 029A 0001 clr wdt
|
||
1235 029B 0F00 E MOV A,LOW report_desc_length
|
||
1236 029C 0087 MOV TBLP,A
|
||
1237 029D 1D80 E TABRDL data_count ;Report length = Low byte of Report_Size
|
||
1238 029E 0F00 E MOV A,LOW hid_report_desc_table
|
||
1239 029F 2000 R CALL execute ;send descriptor to host
|
||
1240 02A0 ;
|
||
1241 02A0 ;Enumeration is complete!!
|
||
1242 02A0 ;
|
||
1243 02A0 3000 E set bFlag_Enum_Ready ;set Enumeration flag
|
||
1244 02A1 ;modify 2005-12-02
|
||
1245 02A1 2800 E jmp USB_EP0_ISR_END
|
||
1246 02A2
|
||
1247 02A2 GetHIDDescriptor:
|
||
1248 02A2 0001 clr wdt
|
||
1249 02A3 0F00 E MOV A,LOW hid_desc_length
|
||
1250 02A4 0087 MOV TBLP,A
|
||
1251 02A5 1D80 E TABRDL data_count ;Report length = Low byte of Report_Size
|
||
1252 02A6 0F00 E MOV A,LOW HID_Desc
|
||
1253 02A7 ;modify 2005-12-02
|
||
1254 02A7 2000 R CALL execute ;send descriptor to host
|
||
1255 02A8 2800 E jmp USB_EP0_ISR_END
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒22
|
||
|
||
1256 02A9
|
||
1257 02A9 Execute:
|
||
1258 02A9 0001 clr wdt
|
||
1259 02AA 0080 E MOV data_start,A
|
||
1260 02AB 2000 R call get_descriptor_length
|
||
1261 02AC 2000 R call control_read
|
||
1262 02AD 0003 RET
|
||
1263 02AE
|
||
1264 02AE ;===============================================================
|
||
1265 02AE SendStall0:
|
||
1266 02AE 3024 SET STALL.@STALL_STL0
|
||
1267 02AF 2800 E JMP USB_EP0_ISR_END
|
||
1268 02B0 ;return to USB_EP0_ISR
|
||
1269 02B0
|
||
1270 02B0
|
||
1271 02B0
|
||
1272 02B0
|
||
1273 02B0
|
||
1274 02B0
|
||
1275 02B0
|
||
1276 02B0
|
||
1277 02B0
|
||
1278 02B0
|
||
1279 02B0
|
||
1280 02B0
|
||
1281 02B0
|
||
1282 02B0 ;***************************************************************
|
||
1283 02B0 ; Delay Test Function
|
||
1284 02B0 ; Most instructions Timing is one cycles = 0.33333 us
|
||
1285 02B0 ; call , jmp , ret is 2 cycles
|
||
1286 02B0 ;***************************************************************
|
||
1287 02B0
|
||
1288 02B0 Delay_28us:
|
||
1289 02B0 0F1E mov a,1EH
|
||
1290 02B1 Delay_28us_cont:
|
||
1291 02B1 0001 clr wdt
|
||
1292 02B2 1785 sdz acc
|
||
1293 02B3 2800 R jmp Delay_28us_cont
|
||
1294 02B4 Delay_3us:
|
||
1295 02B4 0001 clr wdt
|
||
1296 02B5 0000 NOP
|
||
1297 02B6 0000 NOP
|
||
1298 02B7 0000 NOP
|
||
1299 02B8 0000 NOP
|
||
1300 02B9 0001 clr wdt
|
||
1301 02BA 0003 ret
|
||
1302 02BB
|
||
1303 02BB
|
||
1304 02BB ;----BEGIN (Get pipe bit)
|
||
1305 02BB ;Input : ACC pipe number
|
||
1306 02BB ;Output: ACC pip bit (D0:pipe 0, D1:pipe 1...)
|
||
1307 02BB GetPipeBit:
|
||
1308 02BB 1485 INC ACC
|
||
1309 02BC 0080 E MOV FIFO_TEMP,A
|
||
1310 02BD 0F80 MOV A,80H
|
||
1311 02BE GetPipeBitLoop:
|
||
1312 02BE 0001 clr wdt
|
||
1313 02BF 1885 RL ACC
|
||
1314 02C0 1780 E SDZ FIFO_TEMP
|
||
1315 02C1 2800 R JMP GetPipeBitLoop
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒23
|
||
|
||
1316 02C2 0003 RET
|
||
1317 02C3 ;----END (Get pipe bit)
|
||
1318 02C3
|
||
1319 02C3
|
||
1320 02C3
|
||
1321 02C3
|
||
1322 02C3 Public Control_Read
|
||
1323 02C3 Public FIFO0_RD_CHECK
|
||
1324 02C3 Public FIFO1_RD_CHECK
|
||
1325 02C3 Public FIFO2_RD_CHECK
|
||
1326 02C3 Public FIFO3_RD_CHECK
|
||
1327 02C3 Public FIFO4_RD_CHECK
|
||
1328 02C3 Public FIFO5_RD_CHECK
|
||
1329 02C3 Public FIFO0_WR_CHECK
|
||
1330 02C3 Public FIFO1_WR_CHECK
|
||
1331 02C3 Public FIFO2_WR_CHECK
|
||
1332 02C3 Public FIFO3_WR_CHECK
|
||
1333 02C3 Public FIFO4_WR_CHECK
|
||
1334 02C3 Public FIFO5_WR_CHECK
|
||
1335 02C3 Public Read_FIFO0
|
||
1336 02C3 Public Read_FIFO1
|
||
1337 02C3 Public Read_FIFO2
|
||
1338 02C3 Public Read_FIFO3
|
||
1339 02C3 Public Read_FIFO4
|
||
1340 02C3 Public Read_FIFO5
|
||
1341 02C3 Public Write_FIFO0
|
||
1342 02C3 Public Write_FIFO1
|
||
1343 02C3 Public Write_FIFO2
|
||
1344 02C3 Public Write_FIFO3
|
||
1345 02C3 Public Write_FIFO4
|
||
1346 02C3 Public Write_FIFO5
|
||
1347 02C3 Public Send_Hand_Shake
|
||
1348 02C3 Public get_descriptor_length
|
||
1349 02C3
|
||
1350 02C3
|
||
1351 02C3
|
||
1352 02C3 Public SetAddress
|
||
1353 02C3 Public SetConfiguration
|
||
1354 02C3 Public SetInterface
|
||
1355 02C3 Public GetInterface
|
||
1356 02C3 Public GetDescriptor
|
||
1357 02C3 Public SetIdle
|
||
1358 02C3 Public GetDeviceDescriptor
|
||
1359 02C3 Public GetConfigurationDescriptor
|
||
1360 02C3 Public GetStringDescriptor
|
||
1361 02C3 Public GetStatus
|
||
1362 02C3 ;modify for Remote Wakeup
|
||
1363 02C3 Public GetStatus_Interface
|
||
1364 02C3 ;---------------------------------
|
||
1365 02C3 Public SetFeature
|
||
1366 02C3 Public ClearFeature
|
||
1367 02C3 Public SetFeature_Endpoint
|
||
1368 02C3 Public ClearFeature_Endpoint
|
||
1369 02C3 Public GetStatus_Endpoint
|
||
1370 02C3
|
||
1371 02C3 Public SetReport
|
||
1372 02C3
|
||
1373 02C3 Public Check_Real_Cmd
|
||
1374 02C3
|
||
1375 02C3 Public Execute
|
||
恅璃ㄩFUNCTION.ASM 呏<>晤祒け唳掛 2.86 珜棒24
|
||
|
||
1376 02C3 Public SendStall0
|
||
1377 02C3
|
||
1378 02C3 Public GetConfiguration
|
||
1379 02C3
|
||
1380 02C3 Public Delay_3us
|
||
1381 02C3
|
||
1382 02C3
|
||
1383 02C3 Public SetCur
|
||
1384 02C3 Public GetMin
|
||
1385 02C3 Public GetMax
|
||
1386 02C3 Public GetRes
|
||
1387 02C3 Public GetCur
|
||
1388 02C3 Public GetPipeBit
|
||
|
||
|
||
0 Errors |