update documentation for picolcd driver; cleanup of picolcd driver

This commit is contained in:
marschap
2008-10-08 16:40:50 +00:00
parent 150c0747a2
commit 57e96d8d4a
6 changed files with 415 additions and 333 deletions
+26 -33
View File
@@ -34,17 +34,15 @@
#include <usb.h>
/* 12 keys plus a 0 placeholder */
#define KEYPAD_MAX 13
#define KEYPAD_LIGHTS 8
#define picoLCD_VENDOR 0x04d8
#define picoLCD_DEVICE 0x0002
#define KEYPAD_MAX 13
#define KEYPAD_LIGHTS 8
#define KEYPAD_LABEL_MAX 25
#define IN_REPORT_KEY_STATE 0x11
#define IN_REPORT_IR_DATA 0x21
#define OUT_REPORT_CMD 0x94
#define OUT_REPORT_DATA 0x95
#define OUT_REPORT_CMD 0x94
#define OUT_REPORT_DATA 0x95
#define PICOLCD_MAX_DATA_LEN 24
@@ -53,33 +51,30 @@
#define DEFAULT_LENGTH_JIFFY 2048
typedef struct _lcd_packet lcd_packet;
struct _lcd_packet {
typedef struct _lcd_packet {
unsigned char data[255];
unsigned int type;
};
} lcd_packet;
typedef struct _picolcd_device picolcd_device ;
struct _picolcd_device {
char *device_name; /* Device name */
char *description; /* Device description */
unsigned char initseq[PICOLCD_MAX_DATA_LEN]; /* init sequence */
char *keymap[KEYPAD_MAX]; /* key pad button names */
typedef struct _picolcd_device {
char *device_name; /* Device name */
char *description; /* Device description */
unsigned char initseq[PICOLCD_MAX_DATA_LEN]; /* init sequence */
char *keymap[KEYPAD_MAX]; /* key pad button names */
unsigned int vendor_id; /* vendor id for detection */
unsigned int device_id; /* device id for detection */
int bklight_max; /* maximum backlight value */
int bklight_max; /* maximum backlight value */
int bklight_min; /* minimum backlight value */
int contrast_max; /* contrast maximum value */
int contrast_max; /* contrast maximum value */
int contrast_min; /* minimum contrast value */
int width; /* width of lcd screen */
int height; /* height of lcd screen */
int width; /* width of lcd screen */
int height; /* height of lcd screen */
/* Pointer to function that writes data to the LCD format */
void (*write)(usb_dev_handle *lcd, const int row, const int col, const unsigned char *data);
void (*write)(usb_dev_handle *lcd, const int row, const int col, const unsigned char *data);
/* Pointer to function that defines a custom character */
void (*cchar) (Driver *drvthis, int n, unsigned char *dat);
};
} picolcd_device;
MODULE_EXPORT int picoLCD_init(Driver *drvthis);
MODULE_EXPORT void picoLCD_close(Driver *drvthis);
@@ -95,18 +90,16 @@ MODULE_EXPORT char *picoLCD_get_key(Driver *drvthis);
MODULE_EXPORT void picoLCD_vbar(Driver *drvthis, int x, int y, int len, int promille, int options);
MODULE_EXPORT void picoLCD_hbar(Driver *drvthis, int x, int y, int len, int promille, int options);
MODULE_EXPORT void picoLCD_num(Driver *drvthis, int x, int num);
MODULE_EXPORT int picoLCD_icon(Driver *drvthis, int x, int y, int icon);
MODULE_EXPORT int picoLCD_icon(Driver *drvthis, int x, int y, int icon);
MODULE_EXPORT void picoLCD_cursor(Driver *drvthis, int x, int y, int type);
MODULE_EXPORT int picoLCD_set_contrast(Driver *drvthis, int promille);
MODULE_EXPORT void picoLCD_set_brightness (Driver *drvthis, int state, int promille);
MODULE_EXPORT int picoLCD_get_contrast(Driver *drvthis);
MODULE_EXPORT void picoLCD_set_contrast(Driver *drvthis, int promille);
//MODULE_EXPORT int picoLCD_get_brightness(Driver *drvthis, int state);
MODULE_EXPORT void picoLCD_set_brightness(Driver *drvthis, int state, int promille);
MODULE_EXPORT void picoLCD_backlight(Driver *drvthis, int promille);
//MODULE_EXPORT void picoLCD_output(Driver *drvthis, int state);
MODULE_EXPORT char *picoLCD_get_info(Driver *drvthis);
//MODULE_EXPORT void picoLCD_output(Driver *drvthis, int state);
//MODULE_EXPORT int picoLCD_get_contrast(Driver *drvthis);
//MODULE_EXPORT int picoLCD_get_brightness (Driver *drvthis, int state);
#endif