рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рд▓реЗрд╡рд▓ рдкрд░ рд╢реБрд░реВ рдХрд┐рдпрд╛
рдЧрдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХрдиреЗрдХреНрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЬреАрд░реЛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рддреИрдпрд╛рд░ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕реНрддрд░ рдиреЗ рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд┐рдПред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ:
рдмрд╕ / usb / рдкреНрд░реЛрдЯреЛрдХреЙрд▓ .
usb_new_device
рд╕реЗ
usb_new_device
рдлрд╝рдВрдХреНрд╢рди
usb_new_device
рд╣реИред
рдЕрдм рдбрд┐рд╡рд╛рдЗрд╕ рдереЛрдбрд╝рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдпрд╣ рдЕрднреА рддрдХ рдмрд╕ рдкрд░ рдПрдХ рдкрддрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЕрднреА рддрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмрд╕ рд╕реЗ рдХреЗрд╡рд▓ 100 рдПрдордП рдмрд┐рдЬрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рднреА рдЙрдкрдХрд░рдг рдЬреЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдХрд╣рд╛рдиреА рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд╡рд░реНрдгрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИред рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рд╢реНрди рд╣реИ
GET_DESCRIPTOR
рдХрдорд╛рдВрдб рдХреЛ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛;
рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдЯрд╛рдЗрдк рдХреЛ рдХрдорд╛рдВрдб рдореЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде
рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реАрд░рд┐рдпрд▓
рдирдВрдмрд░ , рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓рдВрдмрд╛рдИ рдХреЗ рдмреАрдЪ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдВрдЯреНрд░реЛрд▓ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдореЗрдВ 8 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХреБрдЫ рдХрдорд╛рдВрдбреНрд╕ рдореЗрдВ рдХреБрдЫ рдлрд╝реАрд▓реНрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рдЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдпреВрдПрд╕рдмреА рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдзреНрдпрд╛рдп 9 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ, рдпрд╣рд╛рдВ рдореИрдВ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрддрд░ рдХреЗ рджреЛ рдХрд╛рд░реНрдп рд╣реИрдВ: рдкрд╣рд▓рд╛, рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ; рджреВрд╕рд░реЗ, рдЙрд╕рд╕реЗ рдкреВрдЫреЗрдВ, рдЙрдкрдпреБрдХреНрдд рдбреНрд░рд╛рдЗрд╡рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ - рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ - рдФрд░ рдирдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред
рдкрд╣рд▓рд╛ рдХрджрдо
usb_new_device
рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╢реВрдиреНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкрд░ рдПрдХ рдЪреИрдирд▓ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
usb_new_device
рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛрдб рдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рднрд░ рджрд┐рдпрд╛, рдпрд╣ рдХреЗрд╡рд▓ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ: рд╕рдВрдЦреНрдпрд╛ - рд╢реВрдиреНрдп - рдФрд░ рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░ред рдирд┐рдпрдВрддреНрд░рдг рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдХрд╛ рдЖрдХрд╛рд░ 8 рд╕реЗ 64 рдмрд╛рдЗрдЯреНрд╕ рддрдХ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рдкрд╣рд▓реЗ 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдмреАрдЪ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдУрдкрди рдЪреИрдирд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдЪрдХреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рдкреИрдХреЗрдЯ рдХреЛ рд▓реЗрдирджреЗрди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ; рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдг рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдХрд╛ рдЖрдХрд╛рд░ рдХрдо рд╕реЗ рдХрдо 8 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ; рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ 8 рдмрд╛рдЗрдЯреНрд╕ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░ рдХрд╛ рд╕рд╣реА рдореВрд▓реНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкреИрдХреЗрдЯ рдХреЗ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, 8 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдХрдо рдирд╣реАрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рдИрдПрдЪрд╕реАрдЖрдИ рдЕрдиреБрдХрд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рд╛рдИрд╕реНрдкреАрдб рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 64 рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЪреВрдВрдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╢реВрдиреНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓ 64 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдореМрдЬреВрдж рд╣реИред
рдЬрдм рддрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдмрд╕ рдкрд░ рдПрдХ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдпрд╣ рд╢реВрдиреНрдп рдкрддреЗ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд░реАрд╕реЗрдЯ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ - рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдЕрднреА рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреЛрдиреЛрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдХ рд╢реВрдиреНрдп рдкрддреЗ рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЯ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рдмрд╕ рдореЗрдВ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЬрд╛рдПрдЧреАред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдЪреИрдирд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж
usb_new_device
рдХрд░рддреА рд╣реИ, рд╡рд╣ рдкрд╣рд▓реЗ
usb_new_device
рдкрддреЗ рдХреЗ рдкрддреЗ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдФрд░
SET_ADDRESS
рдХрдорд╛рдВрдб рднреЗрдЬрдирд╛ рд╣реИред рдЗрдирдкреБрдЯ рдкрд░,
SET_ADDRESS
рдХрдорд╛рдВрдб
SET_ADDRESS
рдПрдХ рдкрддрд╛ рд╣реИ; рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИред
SET_ADDRESS
рдХрдорд╛рдВрдб рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж,
SET_ADDRESS
рдкреНрд░рдХреНрд░рд┐рдпрд╛
usb_set_address_callback
ред рдпрджрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдиреЗ рдХрдорд╛рдВрдб рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛ рдпрд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЬрд╡рд╛рдм рджрд┐рдпрд╛, рддреЛ рд╣рдм рд╕реНрддрд░ рдкрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдмрд╕ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдпрджрд┐ рдХрдорд╛рдВрдб рд╕рдлрд▓ рд╣реИ, рддреЛ
usb_set_address_callback
рд╣реЛрд╕реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рд╕рдорд░реНрдерди рд╕реНрддрд░ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрддрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ;
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЬрд┐рди рдХрд╛рд░рдгреЛрдВ рдХрд╛ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЙрдирдореЗрдВ рдмрджрд▓рд╛рд╡ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдмрд╕ рдкрд░ рд╢реВрдиреНрдп рдкрддрд╛ рд╡реНрдпрд╕реНрдд рд╣реЛрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдмрд╛рдж рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ; рдЗрд╕рдХреЗ рд▓рд┐рдП
usb_test_pending_port
рдХреЙрд▓ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдЬрдм рд╣реЛрд╕реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрддреЗ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдорд░реНрдерди рдХреЛрдб
usb_after_set_address
рдХреЙрд▓
usb_after_set_address
ред рдЕрдм рдмрд╕ рдкрд░ рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд╕рд╛рдордВрдЬрд╕реНрдп рд╣реИ, рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде,
usb_after_set_address
рдХреЛ рдкреНрд░рд╢реНрди рднреЗрдЬрддрд╛ рд╣реИ, рдЬреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рдкрд╣рд▓реЗ 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣рд╛ рд╣реИ - рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдЯрд╛рдЗрдк 1, рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдирдВрдмрд░ 0. рдЗрди 8 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕реЗ рдЕрдВрддрд┐рдо рдкреИрдХреЗрдЯ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╢реВрдиреНрдп рд╕реЗрдЯрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ - рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдВрддрд┐рдо рдкреВрд░реНрдг рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИрдВрдбрд▓рд░
usb_get_descr8_callback
рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░ рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдЗрд╕реЗ рд╣реЛрд╕реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдкреБрд╖реНрдЯрд┐ рдХреЗ рдмрд╛рдж,
usb_after_set_endpoint_size
рд▓рд┐рдП рдПрдХ рдХреЙрд▓
usb_after_set_endpoint_size
, рдЬрд╣рд╛рдВ рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд┐рд╡рд░рдгрдХ рдХреЗ рд▓рд┐рдП
GET_DESCRIPTOR
рдкреНрд░рд╢реНрди рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдм рдбреЗрдЯрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░
рдпрд╣ рдЖрдВрдХрдбрд╝рд╛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдбрдВрдк рджрд┐рдЦрд╛рддрд╛ рд╣реИ: рд╢реАрд░реНрд╖ рдкрд░ - рдЖрднрд╛рд╕реА рд╣рдм рдЖрд░рдПрдордПрдЪ, рдиреАрдЪреЗ - рдХреБрдЫ рдорд╛рдЙрд╕ред рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ
рдЫреЛрдЯреЗ-рдПрдВрдбрд┐рдпрди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рд╣реЛрддреЗ рд╣реИрдВ:
- рдХрд┐рд╕реА рднреА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рд╣реИ, рджреВрд╕рд░рд╛ рдЗрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдЯрд╛рдЗрдк 1 рд╣реИ;
- USB рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕рдВрд╕реНрдХрд░рдг рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдВрдЧрдд рд╣реИ, рдмреАрд╕реАрдбреА рдореЗрдВ ,
110h
- рд╕рдВрд╕реНрдХрд░рдг 1.1, 200h
- рд╕рдВрд╕реНрдХрд░рдг 2.0; - рд╡рд░реНрдЧ, рдЙрдкрд╡рд░реНрдЧ, рдФрд░ рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ ; рдЕрдХреНрд╕рд░ рд╢реВрдиреНрдп рд╣реЛрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕реНрддрд░ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЕрдЧрд▓реЗ рд╣реЛрдЧрд╛;
- рд╢реВрдиреНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░;
- рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╡реЗрдВрдбрд░ рдЖрдИрдбреА рдФрд░ рдкреНрд░реЛрдбрдХреНрдЯ рдЖрдИрдбреА - USB рдЗрдВрдкреНрд▓реАрдореЗрдВрдЯрд░реНрд╕ рдлреЛрд░рдо рдПрд╕реЛрд╕рд┐рдПрд╢рди USB рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рджреЛ-рдмрд╛рдЗрдЯ рд╡рд┐рдХреНрд░реЗрддрд╛ рдЖрдИрдбреА рджреЗрддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдПрдХ рднреА рдирд╣реАрдВ, рдирд┐рд░реНрдорд╛рддрд╛ рдЕрдкрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджреЛ-рдмрд╛рдЗрдЯ рдЙрддреНрдкрд╛рдж рдЖрдИрдбреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗрдВрдбрд░ рдЖрдИрдбреА
8087h
рдЗрдВрдЯреЗрд▓ 8087h
рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ; - рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг - рдПрдХ рдордирдорд╛рдирд╛ рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдирд┐рд░реНрдорд╛рддрд╛ рдиреЗ рдпрд╣рд╛рдВ рд▓рд┐рдЦрд╛ рд╣реИ:
- рддрд╛рд░ рдХреЗ рддреАрди рд╕рдВрдХреЗрдд, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рджреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рдВрде рд╣реИрдВ, рдХреНрд░рдорд╢рдГ рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдЙрддреНрдкрд╛рдж рдХреА рд╡рд┐рд╡рд░рдг рд▓рд╛рдЗрдиреЗрдВ, рдЕрдВрддрд┐рдо рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рд╣реИред рддрд╛рд░ рдЦреБрдж рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ 3 рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ;
- рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдирдиреНрдп рдореЛрдб рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмреАрдЪ рдХреБрдЫ рднреА рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдпреВрдПрд╕рдмреА рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмреАрдЪ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдПред USB рд╡рд┐рдирд┐рд░реНрджреЗрд╢, рдХреБрдЫ рд╣рдж рддрдХ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдореЙрдбреЗрдо рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗрддрд╛ рд╣реИ рдЬреЛ 128 рдХреЗрдмреАрдкреАрдПрд╕ рдореЗрдВ рдПрдХ рдЪреИрдирд▓ рдпрд╛ 64 рдХреЗрдмреАрдкреАрдПрд╕ рдкрд░ рджреЛ рд╕реНрд╡рддрдВрддреНрд░ рдЪреИрдирд▓ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрднреА рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░рд╣реЗрдЧрд╛ рдФрд░ рдХреЗрд╡рд▓ рд╡рд┐рд╡рд░рдг рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред
KolibriOS рд╣рдореЗрд╢рд╛ рдкрд╣рд▓рд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪреБрдирддрд╛ рд╣реИред
usb_get_descr_callback
рдлрд╝рдВрдХреНрд╢рди, рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ,
GET_DESCRIPTOR
рдХрдорд╛рдВрдб рдХреЛ рдкрд╣рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдкрд░ рднреЗрдЬрддрд╛ рд╣реИ - рдЯрд╛рдЗрдк 2, рдирдВрдмрд░ 0ред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░, рдбрд┐рд╡рд╛рдЗрд╕ рдХрдИ рдЕрдиреНрдп рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рд╡рд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдбреЗрдЯрд╛ рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ рд╣реА рдирд┐рд╣рд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдиреБрд░реЛрдз рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИ: рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ,
usb_get_descr_callback
рдлрд╝рдВрдХреНрд╢рди 8 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ,
usb_know_length_callback
рдлрд╝рдВрдХреНрд╢рди рд░реАрдб рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдХреБрд▓ рдЖрдХрд╛рд░ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рд╡рд░рдгрдХ
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╣рдм рдЖрд░рдПрдордПрдЪ рд╣реИ, рдпрд╣ рдЖрдВрдХрдбрд╝рд╛ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде, рдбрд┐рд╡рд╛рдЗрд╕ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рднреА
рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИ; рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд╕рднреА рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ред рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдмрджреНрдз рдбреЗрдЯрд╛ рдореЗрдВ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд┐рдб рдбрд┐рд╡рд╛рдЗрд╕ рдЬреИрд╕реЗ рдЪреВрд╣реЛрдВ рдФрд░ рдХреАрдмреЛрд░реНрдб рдПрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдФрд░ рдПрдХ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рдмреАрдЪ рдПрдХ рдПрдЪрдЖрдИрдбреА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ; рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ рдирд┐рдореНрди рдбреЗрдЯрд╛ рд╣реЛрддреЗ рд╣реИрдВ:
- рдЖрдХрд╛рд░ рдФрд░ рдкреНрд░рдХрд╛рд░, рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде; рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдЯрд╛рдЗрдк 2 рд╣реИ;
- рд╕рднреА рд╕рдВрдмрджреНрдз рдбреЗрдЯрд╛ рдХрд╛ рдХреБрд▓ рдЖрдХрд╛рд░, рдЖрд░рдПрдордПрдЪ рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдпрд╣ 9 + 9 + 7 = 19h рд╣реИ;
- рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛;
- рд╡рд░реНрдгрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЕрдиреБрд░реВрдк
SET_CONFIGURATION
рдХрдорд╛рдВрдб рдХрд╛ рдмрд╛рдЗрдЯ рдкреИрд░рд╛рдореАрдЯрд░; - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рд╡рд░рдг рд▓рд╛рдЗрди рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ, рдЖрдорддреМрд░ рдкрд░ рдЕрдиреБрдкрд╕реНрдерд┐рдд - 0 рдкрд░ рд╕реЗрдЯ;
- рдмрд╛рдЗрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ - рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рдФрд░ 5 рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдЖрд░рдХреНрд╖рд┐рдд рд╣реИрдВ, 5 рд╡реАрдВ рдмрд┐рдЯ рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рдмрд╛рд╣рд░реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдиреАрдВрдж рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдЬрд╛рдЧрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ, 6 рдмрд┐рдЯ - рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдпреВрдПрд╕рдмреА рдмрд╕ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдкрдиреА рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рд╣реИ;
- рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрдзрд┐рдХрддрдо рдмрд╕ рд╢рдХреНрддрд┐ 1 рдпреВрдирд┐рдЯ = 2 рдПрдордП рд╣реИ, 50 рдХрд╛ рдорд╛рди 100 рдПрдордП рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рд╡рд░рдгрдХ:
- рдЖрдХрд╛рд░ рдФрд░ рдкреНрд░рдХрд╛рд░, рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде; рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдЯрд╛рдЗрдк 4 рд╣реИ;
- рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЛрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ред рдХреБрдЫ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрдИ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡реЗрдмрдХреИрдо рд╣реИ: рдЪрд┐рддреНрд░ рдФрд░ рдХреЛрдбреЗрдХ рдХреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рджрд░ рдореЗрдВ рдХрд╛рдлреА рднрд┐рдиреНрдирддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЛрдб рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЛ рдЖрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рдорд╛рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдлрд╝реАрд▓реНрдб рд╕рдорд╛рди рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореЛрдб рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрдВрдЯрд░рдлреЗрд╕ рд╢реВрдиреНрдп рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдбреНрд░рд╛рдЗрд╡рд░ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдореЛрдб рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
SET_INTERFACE
рдХрдорд╛рдВрдб рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ; - рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛;
- рд╡рд░реНрдЧ, рдЙрдкрд╡рд░реНрдЧ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ред
0FFh
рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╡рд░реНрдЧреЛрдВ рдХреЛ USB рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдордВрдЪ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдХреНрд╖рд╛ 9 рдореЗрдВ рд╣рдм рд╢рд╛рдорд┐рд▓ рд╣реИрдВред 0FFh
рд╡рд░реНрдЧ 0FFh
рдЙрдкрдпреЛрдЧ рдЙрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд░реНрдЧ рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ; - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рд╡рд░рдг рд▓рд╛рдЗрди рдЗрдВрдбреЗрдХреНрд╕, рдЖрдорддреМрд░ рдкрд░ рдЕрдиреБрдкрд╕реНрдерд┐рдд - 0 рдкрд░ рд╕реЗрдЯред
рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдЪреИрдирд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ:
- рдЖрдХрд╛рд░ рдФрд░ рдкреНрд░рдХрд╛рд░, рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде; рдПрдВрдбрдкреЙрдЗрдВрдЯ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдЯрд╛рдЗрдк 5 рд╣реИ;
- рджрд┐рд╢рд╛ - рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ - рдФрд░ рд╕рдВрдЦреНрдпрд╛ - 4 рдХрдо рд╕реЗ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ - рдЕрдВрдд рдмрд┐рдВрджреБ рдХреА; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
81h
рдЕрд░реНрде рдмрд┐рдВрджреБ рд╕рдВрдЦреНрдпрд╛ 1 рд╣реИ, рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рд╣реЛрд╕реНрдЯ рддрдХ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдирд╛; - рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкреНрд░рдХрд╛рд░: 0 = рдирд┐рдпрдВрддреНрд░рдг, 1 = рд╕рдордХрд╛рд▓рд┐рдХ, 2 = рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпрд╛рдБ, 3 = рд░реБрдХрд╛рд╡рдЯ; рд╕рдордХрд╛рд▓рд┐рдХ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдПрдХ рд╣реА рдмрд╛рдЗрдЯ рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдЗрд╕ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░ рдХреЗ 11 рдмрд┐рдЯреНрд╕, рдкреНрд▓рд╕ рд╣рд╛рдИрд╕реНрдкреАрдб рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ 2 рдмрд┐рдЯреНрд╕, рдЬреЛ рдкреНрд░рддрд┐ рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдо рдореЗрдВ рд▓реЗрдирджреЗрди рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ;
- рд╕рдордХрд╛рд▓рд┐рдХ рдмрд┐рдВрджреБрдУрдВ рдФрд░ рд░реБрдХрд╛рд╡рдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рдорддрджрд╛рди рдЕрдВрддрд░рд╛рд▓ред рд╡реНрдпрд╡рдзрд╛рди рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЛрд╕реНрдкреАрд╕реНрдкреАрдб / рдлреБрд▓рд╕реНрдкреАрдб рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмреАрдЪ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рд╛рдИрд╕реНрдкреАрдб рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░рд╛рд▓ 2 рдорд╛рди -1 рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдо рд╣реЛрддрд╛ рд╣реИред рдЖрд░рдПрдордПрдЪ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдореЗрдВ 2 11/8 рдорд┐рд▓реАрд╕реЗрдХрдВрдб = 0.256 рд╕реЗрдХрдВрдб рдорд┐рд▓рддреЗ рд╣реИрдВред рд╕рдордХрд╛рд▓рд┐рдХ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░рд╛рд▓ рдЧрддрд┐ рдХреЗ рдЕрдиреБрд░реВрдк рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ 2 рдореВрд▓реНрдп -1 рд╣реИ : рдлреБрд▓рд╕реНрдкреАрдб рдХреЗ рд▓рд┐рдП рдорд┐рд▓реАрд╕реЗрдХрдВрдб, рд╣рд╛рдИрд╕реНрдкреАрдб рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдоред
usb_set_config_callback
рдлрд╝рдВрдХреНрд╢рди, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рдкреВрд░рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реЗ рд▓рд┐рдП рдЧрдП рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде
SET_CONFIGURATION
рдХрдорд╛рдВрдб
SET_CONFIGURATION
; рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИред рдХрдорд╛рдВрдб рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдмрд╛рдж, рдбрд┐рд╡рд╛рдЗрд╕ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдВрддрд┐рдо,
usb_got_config_callback
, рдкреНрд░рд╛рдкреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕
GET_DESCRIPTOR
рдХрдорд╛рдВрдб рдХреЗ рдмреАрдЪ рдХреБрд▓ рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ рдХреЛ рдмрджрд▓рдХрд░ рдзреЛрдЦрд╛ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ; рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ; рд╢реВрдиреНрдп рдореЛрдб рд╡рд╛рд▓реЗ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП, рдбрд┐рд╡рд╛рдЗрд╕ рдХреНрд▓рд╛рд╕ рджреНрд╡рд╛рд░рд╛ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ
AddDevice
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдФрд░ рдЙрдирдХреЗ рдЕрдВрджрд░ рд╡рд╛рдВрдЫрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреНрд░рд╛рдЗрд╡рд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдореИрдВ рдмрд╛рдж рдХреЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореМрдЬреВрджрд╛ KolibriOS рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рднреА рд▓реЗрдЦ
рднрд╛рдЧ 1: рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рднрд╛рдЧ 2: рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВрднрд╛рдЧ 3: рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рдХреЛрдбрднрд╛рдЧ 4: рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░рднрд╛рдЧ 5: рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рд╕реНрддрд░
рднрд╛рдЧ 6: рд╣рдм рдбреНрд░рд╛рдЗрд╡рд░