aboutsummaryrefslogtreecommitdiff
path: root/Documentation/usb/misc_usbsevseg.rst
blob: 6274aee083ed054200138acce608987d90b21e29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
=============================
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