83Plus:Software:usb8x/BASIC Interface

From WikiTI
Jump to: navigation, search

The OpenLib( and ExecLib commands can be used to access usb8x functions from BASIC programs. Input and output is passed through a list in the Ans variable. On input, the first element of the list holds the function number of the command to execute and the remaining elements hold input values. On output, the first element holds the success/error status (where 0 is success) and the remaining elements may hold output data values. See the information page on individual functions to determine its function number and input/output values.

Note: Versions of usb8x prior to 0.10 require that the input list be seven elements long. Elements that are not part of the defined input are ignored.

Example code to quit unless a USB device is connected:

OpenLib(USBDRV8X
{0
ExecLib
If not(Ans(2
Return

Available Functions

0 IsDeviceConnected Checks if a device is connected
1 KillUSB Uninitializes both USB device and usb8x driver
2 MouseInit Initializes mouse driver
3 MouseDo Get mouse movement/button information
4 GetClass Gets class, subclass, and protocol information from device
5 GetIDs Gets product and vendor IDs from device
6 Version Gets usb8x version information
7 MSDInit Initialize USB mass storage driver
8 ImportVariable Import 8x* file in specified directory from connected USB flash drive as calculator variable in RAM/Flash
9 ExportVariable Export calculator variable in RAM/Flash to connected USB flash drive in specified directory as 8x* file
10 KBDInit Initialize the keyboard driver
11 KBDGetKey Get a key press from the keyboard
12 HostInit Initialize USB device only (for power-only devices)