Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
panel.c File Reference
#include <linux/module.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/spinlock.h>
#include <linux/interrupt.h>
#include <linux/miscdevice.h>
#include <linux/slab.h>
#include <linux/ioport.h>
#include <linux/fcntl.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/ctype.h>
#include <linux/parport.h>
#include <linux/list.h>
#include <linux/notifier.h>
#include <linux/reboot.h>
#include <generated/utsrelease.h>
#include <linux/io.h>
#include <linux/uaccess.h>

Go to the source code of this file.

Data Structures

struct  logical_input
 

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define LCD_MINOR   156
 
#define KEYPAD_MINOR   185
 
#define PANEL_VERSION   "0.9.5"
 
#define LCD_MAXBYTES   256 /* max burst write */
 
#define KEYPAD_BUFFER   64
 
#define INPUT_POLL_TIME   (HZ/50)
 
#define KEYPAD_REP_START   (10)
 
#define KEYPAD_REP_DELAY   (2)
 
#define FLASH_LIGHT_TEMPO   (200)
 
#define PNL_PINPUT(a)   ((((unsigned char)(a)) ^ 0x7F) >> 3)
 
#define PNL_PBUSY   0x80 /* inverted input, active low */
 
#define PNL_PACK   0x40 /* direct input, active low */
 
#define PNL_POUTPA   0x20 /* direct input, active high */
 
#define PNL_PSELECD   0x10 /* direct input, active high */
 
#define PNL_PERRORP   0x08 /* direct input, active low */
 
#define PNL_PBIDIR   0x20 /* bi-directional ports */
 
#define PNL_PINTEN   0x10
 
#define PNL_PSELECP   0x08 /* inverted output, active low */
 
#define PNL_PINITP   0x04 /* direct output, active low */
 
#define PNL_PAUTOLF   0x02 /* inverted output, active low */
 
#define PNL_PSTROBE   0x01 /* inverted output */
 
#define PNL_PD0   0x01
 
#define PNL_PD1   0x02
 
#define PNL_PD2   0x04
 
#define PNL_PD3   0x08
 
#define PNL_PD4   0x10
 
#define PNL_PD5   0x20
 
#define PNL_PD6   0x40
 
#define PNL_PD7   0x80
 
#define PIN_NONE   0
 
#define PIN_STROBE   1
 
#define PIN_D0   2
 
#define PIN_D1   3
 
#define PIN_D2   4
 
#define PIN_D3   5
 
#define PIN_D4   6
 
#define PIN_D5   7
 
#define PIN_D6   8
 
#define PIN_D7   9
 
#define PIN_AUTOLF   14
 
#define PIN_INITP   16
 
#define PIN_SELECP   17
 
#define PIN_NOT_SET   127
 
#define LCD_FLAG_S   0x0001
 
#define LCD_FLAG_ID   0x0002
 
#define LCD_FLAG_B   0x0004 /* blink on */
 
#define LCD_FLAG_C   0x0008 /* cursor on */
 
#define LCD_FLAG_D   0x0010 /* display on */
 
#define LCD_FLAG_F   0x0020 /* large font mode */
 
#define LCD_FLAG_N   0x0040 /* 2-rows mode */
 
#define LCD_FLAG_L   0x0080 /* backlight enabled */
 
#define LCD_ESCAPE_LEN   24 /* max chars for LCD escape command */
 
#define LCD_ESCAPE_CHAR   27 /* use char 27 for escape command */
 
#define r_ctr(x)   (parport_read_control((x)->port))
 
#define r_dtr(x)   (parport_read_data((x)->port))
 
#define r_str(x)   (parport_read_status((x)->port))
 
#define w_ctr(x, y)   (parport_write_control((x)->port, (y)))
 
#define w_dtr(x, y)   (parport_write_data((x)->port, (y)))
 
#define BIT_CLR   0
 
#define BIT_SET   1
 
#define BIT_MSK   2
 
#define BIT_STATES   3
 
#define LCD_BIT_E   0
 
#define LCD_BIT_RS   1
 
#define LCD_BIT_RW   2
 
#define LCD_BIT_BL   3
 
#define LCD_BIT_CL   4
 
#define LCD_BIT_DA   5
 
#define LCD_BITS   6
 
#define LCD_PORT_C   0
 
#define LCD_PORT_D   1
 
#define LCD_PORTS   2
 
#define LCD_PROTO_PARALLEL   0
 
#define LCD_PROTO_SERIAL   1
 
#define LCD_PROTO_TI_DA8XX_LCD   2
 
#define LCD_CHARSET_NORMAL   0
 
#define LCD_CHARSET_KS0074   1
 
#define LCD_TYPE_NONE   0
 
#define LCD_TYPE_OLD   1
 
#define LCD_TYPE_KS0074   2
 
#define LCD_TYPE_HANTRONIX   3
 
#define LCD_TYPE_NEXCOM   4
 
#define LCD_TYPE_CUSTOM   5
 
#define KEYPAD_TYPE_NONE   0
 
#define KEYPAD_TYPE_OLD   1
 
#define KEYPAD_TYPE_NEW   2
 
#define KEYPAD_TYPE_NEXCOM   3
 
#define PANEL_PROFILE_CUSTOM   0
 
#define PANEL_PROFILE_OLD   1
 
#define PANEL_PROFILE_NEW   2
 
#define PANEL_PROFILE_HANTRONIX   3
 
#define PANEL_PROFILE_NEXCOM   4
 
#define PANEL_PROFILE_LARGE   5
 
#define DEFAULT_PROFILE   PANEL_PROFILE_LARGE
 
#define DEFAULT_PARPORT   0
 
#define DEFAULT_LCD   LCD_TYPE_OLD
 
#define DEFAULT_KEYPAD   KEYPAD_TYPE_OLD
 
#define DEFAULT_LCD_WIDTH   40
 
#define DEFAULT_LCD_BWIDTH   40
 
#define DEFAULT_LCD_HWIDTH   64
 
#define DEFAULT_LCD_HEIGHT   2
 
#define DEFAULT_LCD_PROTO   LCD_PROTO_PARALLEL
 
#define DEFAULT_LCD_PIN_E   PIN_AUTOLF
 
#define DEFAULT_LCD_PIN_RS   PIN_SELECP
 
#define DEFAULT_LCD_PIN_RW   PIN_INITP
 
#define DEFAULT_LCD_PIN_SCL   PIN_STROBE
 
#define DEFAULT_LCD_PIN_SDA   PIN_D0
 
#define DEFAULT_LCD_PIN_BL   PIN_NOT_SET
 
#define DEFAULT_LCD_CHARSET   LCD_CHARSET_NORMAL
 

Typedefs

typedef __u64 pmask_t
 

Enumerations

enum  input_type { INPUT_TYPE_STD, INPUT_TYPE_KBD }
 
enum  input_state { INPUT_ST_LOW, INPUT_ST_RISING, INPUT_ST_HIGH, INPUT_ST_FALLING }
 

Functions

 LIST_HEAD (logical_inputs)
 
 MODULE_DESCRIPTION ("Generic parallel port LCD/Keypad driver")
 
 module_param (parport, int, 0000)
 
 MODULE_PARM_DESC (parport,"Parallel port index (0=lpt1, 1=lpt2, ...)")
 
 module_param (lcd_height, int, 0000)
 
 MODULE_PARM_DESC (lcd_height,"Number of lines on the LCD")
 
 module_param (lcd_width, int, 0000)
 
 MODULE_PARM_DESC (lcd_width,"Number of columns on the LCD")
 
 module_param (lcd_bwidth, int, 0000)
 
 MODULE_PARM_DESC (lcd_bwidth,"Internal LCD line width (40)")
 
 module_param (lcd_hwidth, int, 0000)
 
 MODULE_PARM_DESC (lcd_hwidth,"LCD line hardware address (64)")
 
 module_param (lcd_enabled, int, 0000)
 
 MODULE_PARM_DESC (lcd_enabled,"Deprecated option, use lcd_type instead")
 
 module_param (keypad_enabled, int, 0000)
 
 MODULE_PARM_DESC (keypad_enabled,"Deprecated option, use keypad_type instead")
 
 module_param (lcd_type, int, 0000)
 
 MODULE_PARM_DESC (lcd_type,"LCD type: 0=none, 1=old //, 2=serial ks0074, ""3=hantronix //, 4=nexcom //, 5=compiled-in")
 
 module_param (lcd_proto, int, 0000)
 
 MODULE_PARM_DESC (lcd_proto,"LCD communication: 0=parallel (//), 1=serial,""2=TI LCD Interface")
 
 module_param (lcd_charset, int, 0000)
 
 MODULE_PARM_DESC (lcd_charset,"LCD character set: 0=standard, 1=KS0074")
 
 module_param (keypad_type, int, 0000)
 
 MODULE_PARM_DESC (keypad_type,"Keypad type: 0=none, 1=old 6 keys, 2=new 6+1 keys, ""3=nexcom 4 keys")
 
 module_param (profile, int, 0000)
 
 MODULE_PARM_DESC (profile,"1=16x2 old kp; 2=serial 16x2, new kp; 3=16x2 hantronix; ""4=16x2 nexcom; default=40x2, old kp")
 
 module_param (lcd_e_pin, int, 0000)
 
 MODULE_PARM_DESC (lcd_e_pin,"# of the // port pin connected to LCD 'E' signal, ""with polarity (-17..17)")
 
 module_param (lcd_rs_pin, int, 0000)
 
 MODULE_PARM_DESC (lcd_rs_pin,"# of the // port pin connected to LCD 'RS' signal, ""with polarity (-17..17)")
 
 module_param (lcd_rw_pin, int, 0000)
 
 MODULE_PARM_DESC (lcd_rw_pin,"# of the // port pin connected to LCD 'RW' signal, ""with polarity (-17..17)")
 
 module_param (lcd_bl_pin, int, 0000)
 
 MODULE_PARM_DESC (lcd_bl_pin,"# of the // port pin connected to LCD backlight, ""with polarity (-17..17)")
 
 module_param (lcd_da_pin, int, 0000)
 
 MODULE_PARM_DESC (lcd_da_pin,"# of the // port pin connected to serial LCD 'SDA' ""signal, with polarity (-17..17)")
 
 module_param (lcd_cl_pin, int, 0000)
 
 MODULE_PARM_DESC (lcd_cl_pin,"# of the // port pin connected to serial LCD 'SCL' ""signal, with polarity (-17..17)")
 
void pin_to_bits (int pin, unsigned char *d_val, unsigned char *c_val)
 
void panel_lcd_print (char *s)
 
void lcd_init (void)
 
int panel_init (void)
 
 module_init (panel_init_module)
 
 module_exit (panel_cleanup_module)
 
 MODULE_AUTHOR ("Willy Tarreau")
 
 MODULE_LICENSE ("GPL")
 

Variables

char old_keypad_profile [][4][9]
 
char new_keypad_profile [][4][9]
 
char nexcom_keypad_profile [][4][9]
 

Macro Definition Documentation

#define BIT_CLR   0

Definition at line 237 of file panel.c.

#define BIT_MSK   2

Definition at line 239 of file panel.c.

#define BIT_SET   1

Definition at line 238 of file panel.c.

#define BIT_STATES   3

Definition at line 240 of file panel.c.

#define DEFAULT_KEYPAD   KEYPAD_TYPE_OLD

Definition at line 308 of file panel.c.

#define DEFAULT_LCD   LCD_TYPE_OLD

Definition at line 307 of file panel.c.

#define DEFAULT_LCD_BWIDTH   40

Definition at line 310 of file panel.c.

#define DEFAULT_LCD_CHARSET   LCD_CHARSET_NORMAL

Definition at line 321 of file panel.c.

#define DEFAULT_LCD_HEIGHT   2

Definition at line 312 of file panel.c.

#define DEFAULT_LCD_HWIDTH   64

Definition at line 311 of file panel.c.

#define DEFAULT_LCD_PIN_BL   PIN_NOT_SET

Definition at line 320 of file panel.c.

#define DEFAULT_LCD_PIN_E   PIN_AUTOLF

Definition at line 315 of file panel.c.

#define DEFAULT_LCD_PIN_RS   PIN_SELECP

Definition at line 316 of file panel.c.

#define DEFAULT_LCD_PIN_RW   PIN_INITP

Definition at line 317 of file panel.c.

#define DEFAULT_LCD_PIN_SCL   PIN_STROBE

Definition at line 318 of file panel.c.

#define DEFAULT_LCD_PIN_SDA   PIN_D0

Definition at line 319 of file panel.c.

#define DEFAULT_LCD_PROTO   LCD_PROTO_PARALLEL

Definition at line 313 of file panel.c.

#define DEFAULT_LCD_WIDTH   40

Definition at line 309 of file panel.c.

#define DEFAULT_PARPORT   0

Definition at line 306 of file panel.c.

#define DEFAULT_PROFILE   PANEL_PROFILE_LARGE

Definition at line 305 of file panel.c.

#define FLASH_LIGHT_TEMPO   (200)

Definition at line 81 of file panel.c.

#define INPUT_POLL_TIME   (HZ/50)

Definition at line 74 of file panel.c.

#define KEYPAD_BUFFER   64

Definition at line 71 of file panel.c.

#define KEYPAD_MINOR   185

Definition at line 65 of file panel.c.

#define KEYPAD_REP_DELAY   (2)

Definition at line 78 of file panel.c.

#define KEYPAD_REP_START   (10)

Definition at line 76 of file panel.c.

#define KEYPAD_TYPE_NEW   2

Definition at line 289 of file panel.c.

#define KEYPAD_TYPE_NEXCOM   3

Definition at line 290 of file panel.c.

#define KEYPAD_TYPE_NONE   0

Definition at line 287 of file panel.c.

#define KEYPAD_TYPE_OLD   1

Definition at line 288 of file panel.c.

#define LCD_BIT_BL   3

Definition at line 247 of file panel.c.

#define LCD_BIT_CL   4

Definition at line 248 of file panel.c.

#define LCD_BIT_DA   5

Definition at line 249 of file panel.c.

#define LCD_BIT_E   0

Definition at line 244 of file panel.c.

#define LCD_BIT_RS   1

Definition at line 245 of file panel.c.

#define LCD_BIT_RW   2

Definition at line 246 of file panel.c.

#define LCD_BITS   6

Definition at line 250 of file panel.c.

#define LCD_CHARSET_KS0074   1

Definition at line 272 of file panel.c.

#define LCD_CHARSET_NORMAL   0

Definition at line 271 of file panel.c.

#define LCD_ESCAPE_CHAR   27 /* use char 27 for escape command */

Definition at line 134 of file panel.c.

#define LCD_ESCAPE_LEN   24 /* max chars for LCD escape command */

Definition at line 133 of file panel.c.

#define LCD_FLAG_B   0x0004 /* blink on */

Definition at line 126 of file panel.c.

#define LCD_FLAG_C   0x0008 /* cursor on */

Definition at line 127 of file panel.c.

#define LCD_FLAG_D   0x0010 /* display on */

Definition at line 128 of file panel.c.

#define LCD_FLAG_F   0x0020 /* large font mode */

Definition at line 129 of file panel.c.

#define LCD_FLAG_ID   0x0002

Definition at line 125 of file panel.c.

#define LCD_FLAG_L   0x0080 /* backlight enabled */

Definition at line 131 of file panel.c.

#define LCD_FLAG_N   0x0040 /* 2-rows mode */

Definition at line 130 of file panel.c.

#define LCD_FLAG_S   0x0001

Definition at line 124 of file panel.c.

#define LCD_MAXBYTES   256 /* max burst write */

Definition at line 69 of file panel.c.

#define LCD_MINOR   156

Definition at line 64 of file panel.c.

#define LCD_PORT_C   0

Definition at line 255 of file panel.c.

#define LCD_PORT_D   1

Definition at line 256 of file panel.c.

#define LCD_PORTS   2

Definition at line 257 of file panel.c.

#define LCD_PROTO_PARALLEL   0

Definition at line 264 of file panel.c.

#define LCD_PROTO_SERIAL   1

Definition at line 265 of file panel.c.

#define LCD_PROTO_TI_DA8XX_LCD   2

Definition at line 266 of file panel.c.

#define LCD_TYPE_CUSTOM   5

Definition at line 282 of file panel.c.

#define LCD_TYPE_HANTRONIX   3

Definition at line 280 of file panel.c.

#define LCD_TYPE_KS0074   2

Definition at line 279 of file panel.c.

#define LCD_TYPE_NEXCOM   4

Definition at line 281 of file panel.c.

#define LCD_TYPE_NONE   0

Definition at line 277 of file panel.c.

#define LCD_TYPE_OLD   1

Definition at line 278 of file panel.c.

#define PANEL_PROFILE_CUSTOM   0

Definition at line 295 of file panel.c.

#define PANEL_PROFILE_HANTRONIX   3

Definition at line 298 of file panel.c.

#define PANEL_PROFILE_LARGE   5

Definition at line 300 of file panel.c.

#define PANEL_PROFILE_NEW   2

Definition at line 297 of file panel.c.

#define PANEL_PROFILE_NEXCOM   4

Definition at line 299 of file panel.c.

#define PANEL_PROFILE_OLD   1

Definition at line 296 of file panel.c.

#define PANEL_VERSION   "0.9.5"

Definition at line 67 of file panel.c.

#define PIN_AUTOLF   14

Definition at line 119 of file panel.c.

#define PIN_D0   2

Definition at line 111 of file panel.c.

#define PIN_D1   3

Definition at line 112 of file panel.c.

#define PIN_D2   4

Definition at line 113 of file panel.c.

#define PIN_D3   5

Definition at line 114 of file panel.c.

#define PIN_D4   6

Definition at line 115 of file panel.c.

#define PIN_D5   7

Definition at line 116 of file panel.c.

#define PIN_D6   8

Definition at line 117 of file panel.c.

#define PIN_D7   9

Definition at line 118 of file panel.c.

#define PIN_INITP   16

Definition at line 120 of file panel.c.

#define PIN_NONE   0

Definition at line 109 of file panel.c.

#define PIN_NOT_SET   127

Definition at line 122 of file panel.c.

#define PIN_SELECP   17

Definition at line 121 of file panel.c.

#define PIN_STROBE   1

Definition at line 110 of file panel.c.

#define PNL_PACK   0x40 /* direct input, active low */

Definition at line 87 of file panel.c.

#define PNL_PAUTOLF   0x02 /* inverted output, active low */

Definition at line 97 of file panel.c.

#define PNL_PBIDIR   0x20 /* bi-directional ports */

Definition at line 92 of file panel.c.

#define PNL_PBUSY   0x80 /* inverted input, active low */

Definition at line 86 of file panel.c.

#define PNL_PD0   0x01

Definition at line 100 of file panel.c.

#define PNL_PD1   0x02

Definition at line 101 of file panel.c.

#define PNL_PD2   0x04

Definition at line 102 of file panel.c.

#define PNL_PD3   0x08

Definition at line 103 of file panel.c.

#define PNL_PD4   0x10

Definition at line 104 of file panel.c.

#define PNL_PD5   0x20

Definition at line 105 of file panel.c.

#define PNL_PD6   0x40

Definition at line 106 of file panel.c.

#define PNL_PD7   0x80

Definition at line 107 of file panel.c.

#define PNL_PERRORP   0x08 /* direct input, active low */

Definition at line 90 of file panel.c.

#define PNL_PINITP   0x04 /* direct output, active low */

Definition at line 96 of file panel.c.

#define PNL_PINPUT (   a)    ((((unsigned char)(a)) ^ 0x7F) >> 3)

Definition at line 84 of file panel.c.

#define PNL_PINTEN   0x10

Definition at line 94 of file panel.c.

#define PNL_POUTPA   0x20 /* direct input, active high */

Definition at line 88 of file panel.c.

#define PNL_PSELECD   0x10 /* direct input, active high */

Definition at line 89 of file panel.c.

#define PNL_PSELECP   0x08 /* inverted output, active low */

Definition at line 95 of file panel.c.

#define PNL_PSTROBE   0x01 /* inverted output */

Definition at line 98 of file panel.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 37 of file panel.c.

#define r_ctr (   x)    (parport_read_control((x)->port))

Definition at line 137 of file panel.c.

#define r_dtr (   x)    (parport_read_data((x)->port))

Definition at line 138 of file panel.c.

#define r_str (   x)    (parport_read_status((x)->port))

Definition at line 139 of file panel.c.

#define w_ctr (   x,
  y 
)    (parport_write_control((x)->port, (y)))

Definition at line 140 of file panel.c.

#define w_dtr (   x,
  y 
)    (parport_write_data((x)->port, (y)))

Definition at line 141 of file panel.c.

Typedef Documentation

typedef __u64 pmask_t

Definition at line 149 of file panel.c.

Enumeration Type Documentation

Enumerator:
INPUT_ST_LOW 
INPUT_ST_RISING 
INPUT_ST_HIGH 
INPUT_ST_FALLING 

Definition at line 156 of file panel.c.

enum input_type
Enumerator:
INPUT_TYPE_STD 
INPUT_TYPE_KBD 

Definition at line 151 of file panel.c.

Function Documentation

void lcd_init ( void  )

Definition at line 1382 of file panel.c.

LIST_HEAD ( logical_inputs  )
MODULE_AUTHOR ( "Willy Tarreau"  )
MODULE_DESCRIPTION ( "Generic parallel port LCD/Keypad driver )
module_exit ( panel_cleanup_module  )
module_init ( panel_init_module  )
MODULE_LICENSE ( "GPL"  )
module_param ( parport  ,
int  ,
0000   
)
module_param ( lcd_height  ,
int  ,
0000   
)
module_param ( lcd_width  ,
int  ,
0000   
)
module_param ( lcd_bwidth  ,
int  ,
0000   
)
module_param ( lcd_hwidth  ,
int  ,
0000   
)
module_param ( lcd_enabled  ,
int  ,
0000   
)
module_param ( keypad_enabled  ,
int  ,
0000   
)
module_param ( lcd_type  ,
int  ,
0000   
)
module_param ( lcd_proto  ,
int  ,
0000   
)
module_param ( lcd_charset  ,
int  ,
0000   
)
module_param ( keypad_type  ,
int  ,
0000   
)
module_param ( profile  ,
int  ,
0000   
)
module_param ( lcd_e_pin  ,
int  ,
0000   
)
module_param ( lcd_rs_pin  ,
int  ,
0000   
)
module_param ( lcd_rw_pin  ,
int  ,
0000   
)
module_param ( lcd_bl_pin  ,
int  ,
0000   
)
module_param ( lcd_da_pin  ,
int  ,
0000   
)
module_param ( lcd_cl_pin  ,
int  ,
0000   
)
MODULE_PARM_DESC ( parport  ,
"Parallel port index (0=lpt1, 1=lpt2, ...)"   
)
MODULE_PARM_DESC ( lcd_height  ,
"Number of lines on the LCD  
)
MODULE_PARM_DESC ( lcd_width  ,
"Number of columns on the LCD  
)
MODULE_PARM_DESC ( lcd_bwidth  ,
"Internal LCD line width (40)"   
)
MODULE_PARM_DESC ( lcd_hwidth  ,
"LCD line hardware address (64)"   
)
MODULE_PARM_DESC ( lcd_enabled  ,
"Deprecated  option,
use lcd_type instead"   
)
MODULE_PARM_DESC ( keypad_enabled  ,
"Deprecated  option,
use keypad_type instead"   
)
MODULE_PARM_DESC ( lcd_type  ,
"LCD type:  0 = none,
= old //,
= serial ks0074,
""  3 = hantronix //,
= nexcom // 
)
MODULE_PARM_DESC ( lcd_proto  ,
"LCD communication:  0 = parallel (//),
= serial 
)
MODULE_PARM_DESC ( lcd_charset  ,
"LCD character set:  0 = standard 
)
MODULE_PARM_DESC ( keypad_type  ,
"Keypad type:  0 = none,
= old 6 keys,
= new 6+1 keys 
)
MODULE_PARM_DESC ( profile  ,
1 = 16x2 old kp; 2=serial 16x2,
new kp;  3 = 16x2 hantronix; ""4=16x2 nexcom; default=40x2,
old kp"   
)
MODULE_PARM_DESC ( lcd_e_pin  ,
"# of the // port pin connected to LCD 'E signal,
""with polarity(-17..17)"   
)
MODULE_PARM_DESC ( lcd_rs_pin  ,
"# of the // port pin connected to LCD 'RS signal,
""with polarity(-17..17)"   
)
MODULE_PARM_DESC ( lcd_rw_pin  ,
"# of the // port pin connected to LCD 'RW signal,
""with polarity(-17..17)"   
)
MODULE_PARM_DESC ( lcd_bl_pin  ,
"# of the // port pin connected to LCD  backlight,
""with polarity(-17..17)"   
)
MODULE_PARM_DESC ( lcd_da_pin  ,
"# of the // port pin connected to serial LCD 'SDA' ""  signal,
with polarity(-17..17)"   
)
MODULE_PARM_DESC ( lcd_cl_pin  ,
"# of the // port pin connected to serial LCD 'SCL' ""  signal,
with polarity(-17..17)"   
)
int panel_init ( void  )

Definition at line 2181 of file panel.c.

void panel_lcd_print ( char s)

Definition at line 1375 of file panel.c.

void pin_to_bits ( int  pin,
unsigned char d_val,
unsigned char c_val 
)

Definition at line 672 of file panel.c.

Variable Documentation

unsigned char bl

Definition at line 609 of file panel.c.

unsigned char cl

Definition at line 610 of file panel.c.

unsigned char da

Definition at line 611 of file panel.c.

unsigned char e

Definition at line 606 of file panel.c.

char new_keypad_profile[][4][9]
Initial value:
= {
{"S0", "Left\n", "Left\n", ""},
{"S1", "Down\n", "Down\n", ""},
{"S2", "Up\n", "Up\n", ""},
{"S3", "Right\n", "Right\n", ""},
{"S4s5", "", "Esc\n", "Esc\n"},
{"s4S5", "", "Ret\n", "Ret\n"},
{"S4S5", "Help\n", "", ""},
{"", "", "", ""}
}

Definition at line 580 of file panel.c.

char nexcom_keypad_profile[][4][9]
Initial value:
= {
{"a-p-e-", "Down\n", "Down\n", ""},
{"a-p-E-", "Ret\n", "Ret\n", ""},
{"a-P-E-", "Esc\n", "Esc\n", ""},
{"a-P-e-", "Up\n", "Up\n", ""},
{"", "", "", ""}
}

Definition at line 593 of file panel.c.

char old_keypad_profile[][4][9]
Initial value:
= {
{"S0", "Left\n", "Left\n", ""},
{"S1", "Down\n", "Down\n", ""},
{"S2", "Up\n", "Up\n", ""},
{"S3", "Right\n", "Right\n", ""},
{"S4", "Esc\n", "Esc\n", ""},
{"S5", "Ret\n", "Ret\n", ""},
{"", "", "", ""}
}

Definition at line 569 of file panel.c.

unsigned char rs

Definition at line 607 of file panel.c.

unsigned char rw

Definition at line 608 of file panel.c.