83Plus:Software:usb8x/Asm Interface

From WikiTI
Revision as of 19:34, 15 July 2006 by Dan Englender (Talk | contribs)

Jump to: navigation, search

Many usb8x functions can be by other programs/applications through usb8x's assembly language U_CALL interface. Macros are provded in usb8x.inc to simplify the process. The macros require a 32-byte RAM buffer to be defined as USBDriverCall. The U_CALL system must be initialized by the application as follows:

U_CALL_INIT CallBackRoutine

Where CallBackRoutine is a subroutine that will be called when data arrives on the USB port.


After the U_CALL system has been initialized with U_CALL_INIT, use the U_CALL macro to call usb8x entry points. Entry points are:

AutoSetup Automatically sets up USB device
ConfigureDevice Chooses a device configuration
DriverInit Initialize the USB driver
FindDescriptor Finds a specific descriptor in a list
FindPipe Finds a pipe matching characteristics
GetClass Returns the class and subclass for the current device
GetIDs Returns product and vender IDs for current device
GetVersion Returns the current driver version
HostInit Initialize a USB device
HostKill Uninitialize a USB device
IsDeviceConnected Tests if a device is connected to the USB port
LogCustom Adds an entry to current log file
MouseGetKey Returns mouse movement and button presses
MouseInit Initializes mouse driver
PipeInfo Gets direction, type, and packet size for a pipe
ReadDescriptor Reads a descriptor from the device
ReqData Request data from an incoming pipe
SendControlData Sends data to the control pipe
SendData Send data to the device
SetupInPipe Sets up an incoming pipe
SetupLog Starts logger
SetupOutPipe Sets up an outgoing pipe
StopLog Stops logger
WaitTimerB Precise delay