Difference between revisions of "83Plus:Software:usb8x/Asm Interface"
From WikiTI
(asm entry points) |
(Added remaining entry points) |
||
| Line 1: | Line 1: | ||
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: | 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 | U_CALL_INIT CallBackRoutine | ||
| − | Where | + | Where CallBackRoutine is a subroutine that will be called when data arrives on the USB port. |
| Line 7: | Line 7: | ||
{| border="1" cellpadding="2" cellspacing="0" | {| border="1" cellpadding="2" cellspacing="0" | ||
| + | |- | ||
| + | |[[/AutoSetup|AutoSetup]] || Automatically sets up USB device | ||
| + | |- | ||
| + | |[[/ConfigureDevice|ConfigureDevice]] || Chooses a device configuration | ||
|- | |- | ||
|[[/DriverInit|DriverInit]] || Initialize the USB driver | |[[/DriverInit|DriverInit]] || Initialize the USB driver | ||
| + | |- | ||
| + | |[[/FindDescriptor|FindDescriptor]] || Finds a specific descriptor in a list | ||
| + | |- | ||
| + | |[[/FindPipe|FindPipe]] || Finds a pipe matching characteristics | ||
| + | |- | ||
| + | |[[/GetClass|GetClass]] || Returns the class and subclass for the current device | ||
| + | |- | ||
| + | |[[/GetIDs|GetIDs]] || Returns product and vender IDs for current device | ||
| + | |- | ||
| + | |[[/GetVersion|GetVersion]] || Returns the current driver version | ||
|- | |- | ||
|[[/HostInit|HostInit]] || Initialize a USB device | |[[/HostInit|HostInit]] || Initialize a USB device | ||
|- | |- | ||
|[[/HostKill|HostKill]] || Uninitialize a USB device | |[[/HostKill|HostKill]] || Uninitialize a USB device | ||
| + | |- | ||
| + | |[[/IsDeviceConnected|IsDeviceConnected]] || Tests if a device is connected to the USB port | ||
| + | |- | ||
| + | |[[/LogCustom|LogCustom]] || Adds an entry to current log file | ||
| + | |- | ||
| + | |[[/MouseGetKey|MouseGetKey]] || Returns mouse movement and button presses | ||
| + | |- | ||
| + | |[[/MouseInit|MouseInit]] || Initializes mouse driver | ||
| + | |- | ||
| + | |[[/PipeInfo|PipeInfo]] || Gets direction, type, and packet size for a pipe | ||
| + | |- | ||
| + | |[[/ReadDescriptor|ReadDescriptor]] || Reads a descriptor from the device | ||
| + | |- | ||
| + | |[[/ReqData|ReqData]] || Request data from an incoming pipe | ||
| + | |- | ||
| + | |[[/SendControlData|SendControlData]] || Sends data to the control pipe | ||
| + | |- | ||
| + | |[[/SendData|SendData]] || Send data to the device | ||
| + | |- | ||
| + | |[[/SetupInPipe|SetupInPipe]] || Sets up an incoming pipe | ||
| + | |- | ||
| + | |[[/SetupLog|SetupLog]] || Starts logger | ||
| + | |- | ||
| + | |[[/SetupOutPipe|SetupOutPipe]] || Sets up an outgoing pipe | ||
| + | |- | ||
| + | |[[/StopLog|StopLog]] || Stops logger | ||
| + | |- | ||
| + | |[[/WaitTimerB|WaitTimerB]] || Precise delay | ||
|} | |} | ||
Revision as of 19:34, 15 July 2006
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 |