Harrison Metzger | eb86be5 | 2008-08-14 11:29:32 -0500 | [diff] [blame] | 1 | USB 7-Segment Numeric Display |
| 2 | Manufactured by Delcom Engineering |
| 3 | |
| 4 | Device Information |
| 5 | ------------------ |
| 6 | USB VENDOR_ID 0x0fc5 |
| 7 | USB PRODUCT_ID 0x1227 |
| 8 | Both the 6 character and 8 character displays have PRODUCT_ID, |
| 9 | and according to Delcom Engineering no queryable information |
| 10 | can be obtained from the device to tell them apart. |
| 11 | |
| 12 | Device Modes |
| 13 | ------------ |
| 14 | By default, the driver assumes the display is only 6 characters |
| 15 | The mode for 6 characters is: |
| 16 | MSB 0x06; LSB 0x3f |
| 17 | For the 8 character display: |
| 18 | MSB 0x08; LSB 0xff |
| 19 | The device can accept "text" either in raw, hex, or ascii textmode. |
| 20 | raw controls each segment manually, |
| 21 | hex expects a value between 0-15 per character, |
| 22 | ascii expects a value between '0'-'9' and 'A'-'F'. |
| 23 | The default is ascii. |
| 24 | |
| 25 | Device Operation |
| 26 | ---------------- |
| 27 | 1. Turn on the device: |
| 28 | echo 1 > /sys/bus/usb/.../powered |
| 29 | 2. Set the device's mode: |
| 30 | echo $mode_msb > /sys/bus/usb/.../mode_msb |
| 31 | echo $mode_lsb > /sys/bus/usb/.../mode_lsb |
| 32 | 3. Set the textmode: |
| 33 | echo $textmode > /sys/bus/usb/.../textmode |
| 34 | 4. set the text (for example): |
| 35 | echo "123ABC" > /sys/bus/usb/.../text (ascii) |
| 36 | echo "A1B2" > /sys/bus/usb/.../text (ascii) |
| 37 | echo -ne "\x01\x02\x03" > /sys/bus/usb/.../text (hex) |
| 38 | 5. Set the decimal places. |
| 39 | The device has either 6 or 8 decimal points. |
| 40 | to set the nth decimal place calculate 10 ** n |
| 41 | and echo it in to /sys/bus/usb/.../decimals |
| 42 | To set multiple decimals points sum up each power. |
| 43 | For example, to set the 0th and 3rd decimal place |
| 44 | echo 1001 > /sys/bus/usb/.../decimals |
| 45 | |
| 46 | |