USB 7-Segment Numeric Display
Manufactured by Delcom Engineering

Device Information
------------------
USB VENDOR_ID	0x0fc5
USB PRODUCT_ID	0x1227
Both the 6 character and 8 character displays have PRODUCT_ID,
and according to Delcom Engineering no queryable information
can be obtained from the device to tell them apart.

Device Modes
------------
By default, the driver assumes the display is only 6 characters
The mode for 6 characters is:
	MSB 0x06; LSB 0x3f
For the 8 character display:
	MSB 0x08; LSB 0xff
The device can accept "text" either in raw, hex, or ascii textmode.
raw controls each segment manually,
hex expects a value between 0-15 per character,
ascii expects a value between '0'-'9' and 'A'-'F'.
The default is ascii.

Device Operation
----------------
1.	Turn on the device:
	echo 1 > /sys/bus/usb/.../powered
2.	Set the device's mode:
	echo $mode_msb > /sys/bus/usb/.../mode_msb
	echo $mode_lsb > /sys/bus/usb/.../mode_lsb
3.	Set the textmode:
	echo $textmode > /sys/bus/usb/.../textmode
4.	set the text (for example):
	echo "123ABC" > /sys/bus/usb/.../text (ascii)
	echo "A1B2" > /sys/bus/usb/.../text (ascii)
	echo -ne "\x01\x02\x03" > /sys/bus/usb/.../text (hex)
5.	Set the decimal places.
	The device has either 6 or 8 decimal points.
	to set the nth decimal place calculate 10 ** n
	and echo it in to /sys/bus/usb/.../decimals
	To set multiple decimals points sum up each power.
	For example, to set the 0th and 3rd decimal place
	echo 1001 > /sys/bus/usb/.../decimals


