mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 ecefae6db0
			
		
	
	
		ecefae6db0
		
	
	
	
	
		
			
			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>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			52 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
 |