83Plus:Software:usb8x/Asm Interface/AutoSetup

From WikiTI
Jump to: navigation, search

Synopsis

Name: AutoSetup

Minimum usb8x version: 0.05

Sets up the attached USB device.

Inputs

  • DE: Address of callback routine
  • HL: Address of temporary buffer for descriptors

Outputs

  • NC: Success

Destroys

  • AF, BC, DE, HL

Notes

AutoSetup completes the following tasks:

  • Checks for an attached device
  • Calls HostInit
  • Sets configuration
  • Sets up pipes

AutoSetup may fail in some circumstances, including devices with multiple configurations and/or interfaces. If you are using the U_CALL system, you don't need to set the callback address when calling AutoSetup. The address you set via U_CALL_INIT will be used instead.

Example

       ld     hl,DriverBuf
       U_CALL DriverInit
       ld     hl,DescriptorBuf
       U_CALL AutoSetup
       jp     c,Error
;Device is now ready to use
;Use GetClass or GetIDs to make sure you have the right device