home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-sparc64 / display7seg.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.9 KB  |  80 lines

  1. /* $Id: display7seg.h,v 1.2 2000/08/02 06:22:35 davem Exp $
  2.  *
  3.  * display7seg - Driver interface for the 7-segment display
  4.  * present on Sun Microsystems CP1400 and CP1500
  5.  *
  6.  * Copyright (c) 2000 Eric Brower <ebrower@usa.net>
  7.  *
  8.  */
  9.  
  10. #ifndef __display7seg_h__
  11. #define __display7seg_h__
  12.  
  13. #define D7S_IOC    'p'
  14.  
  15. #define D7SIOCRD _IOR(D7S_IOC, 0x45, int)    /* Read device state    */
  16. #define D7SIOCWR _IOW(D7S_IOC, 0x46, int)    /* Write device state    */
  17. #define D7SIOCTM _IO (D7S_IOC, 0x47)        /* Translate mode (FLIP)*/
  18.  
  19. /*
  20.  * ioctl flag definitions
  21.  *
  22.  * POINT    - Toggle decimal point    (0=absent 1=present)
  23.  * ALARM    - Toggle alarm LED         (0=green  1=red)
  24.  * FLIP        - Toggle inverted mode     (0=normal 1=flipped) 
  25.  * bits 0-4    - Character displayed    (see definitions below)
  26.  *
  27.  * Display segments are defined as follows, 
  28.  * subject to D7S_FLIP register state:
  29.  *
  30.  *    a
  31.  *   ---
  32.  * f|   |b
  33.  *   -g-
  34.  * e|   |c
  35.  *   ---
  36.  *    d
  37.  */
  38.  
  39. #define D7S_POINT    (1 << 7)    /* Decimal point*/
  40. #define D7S_ALARM    (1 << 6)    /* Alarm LED     */
  41. #define D7S_FLIP    (1 << 5)    /* Flip display */
  42.  
  43. #define D7S_0        0x00        /* Numerals 0-9 */
  44. #define D7S_1        0x01
  45. #define D7S_2        0x02
  46. #define D7S_3        0x03
  47. #define D7S_4        0x04
  48. #define D7S_5        0x05
  49. #define D7S_6        0x06
  50. #define D7S_7        0x07
  51. #define D7S_8        0x08
  52. #define D7S_9        0x09
  53. #define D7S_A        0x0A        /* Letters A-F, H, L, P */
  54. #define D7S_B        0x0B
  55. #define D7S_C        0x0C
  56. #define D7S_D        0x0D
  57. #define D7S_E        0x0E
  58. #define D7S_F        0x0F
  59. #define D7S_H        0x10
  60. #define D7S_E2        0x11
  61. #define D7S_L        0x12
  62. #define D7S_P        0x13
  63. #define D7S_SEGA    0x14        /* Individual segments */
  64. #define D7S_SEGB    0x15
  65. #define D7S_SEGC    0x16
  66. #define D7S_SEGD    0x17
  67. #define D7S_SEGE    0x18
  68. #define D7S_SEGF    0x19
  69. #define D7S_SEGG    0x1A
  70. #define D7S_SEGABFG 0x1B        /* Segment groupings */
  71. #define D7S_SEGCDEG    0x1C
  72. #define D7S_SEGBCEF 0x1D
  73. #define D7S_SEGADG    0x1E
  74. #define D7S_BLANK    0x1F        /* Clear all segments */
  75.  
  76. #define D7S_MIN_VAL    0x0
  77. #define D7S_MAX_VAL    0x1F
  78.  
  79. #endif /* ifndef __display7seg_h__ */
  80.