83Plus:Software:usb8x/Asm Interface
Many usb8x functions can be used 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 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. If U_CALL_INIT returns carry, usb8x is not loaded on the calculator.
After the U_CALL system has been initialized with U_CALL_INIT, use the U_CALL macro to call usb8x entry points.
High Level Entry Points
These are the entry points you're most likely interested in using if you want to create a program using usb8x to access a specific device (e.g. a mouse).
| DriverInit | Initialize the USB driver |
| DriverKill | Uninitialize the USB driver |
| HostKill | Uninitialize a USB device |
| IsDeviceConnected | Tests if a device is connected to the USB port |
| MouseGetKey | Returns mouse movement and button presses |
| MouseInit | Initializes mouse driver |
| WaitTimerB | Precise delay |
Low Level Entry Points
These are the entry points you're most likely interested in using if you want to create a device driver for a new device.
| AutoSetup | Automatically sets up USB device |
| ConfigureDevice | Chooses a device configuration |
| DriverInit | Initialize the USB driver |
| DriverKill | Uninitialize 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 |
| 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 |