mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
![Mauro Carvalho Chehab](/assets/img/avatar_default.png)
While there are a mix of things here, most of the stuff were written from Kernel developer's PoV. So, add them to the driver-api book. A follow up for this patch would be to move documents from there that are specific to sysadmins, adding them to the admin-guide. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Acked-by: Johan Hovold <johan@kernel.org> Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
51 lines
1.5 KiB
ReStructuredText
51 lines
1.5 KiB
ReStructuredText
=============================
|
|
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
|