[lcd4linux @ 2005-05-12 14:55:47 by reinelt]

plugins for serdisplib driver

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@551 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
This commit is contained in:
reinelt
2005-05-12 14:55:47 +00:00
parent 7c70fa7d7d
commit 22b2fbf2b4
2 changed files with 114 additions and 6 deletions
+112 -5
View File
@@ -1,4 +1,4 @@
/* $Id: drv_serdisplib.c,v 1.3 2005/05/12 05:52:43 reinelt Exp $
/* $Id: drv_serdisplib.c,v 1.4 2005/05/12 14:55:47 reinelt Exp $
*
* driver for serdisplib displays
*
@@ -23,6 +23,9 @@
*
*
* $Log: drv_serdisplib.c,v $
* Revision 1.4 2005/05/12 14:55:47 reinelt
* plugins for serdisplib driver
*
* Revision 1.3 2005/05/12 05:52:43 reinelt
* serdisplib GET_VERSION_MAJOR macro
*
@@ -101,10 +104,64 @@ static void drv_SD_blit(const int row, const int col, const int height, const in
}
static int drv_SD_contrast(int contrast)
{
if (contrast < 0)
contrast = 0;
if (contrast > MAX_CONTRASTSTEP)
contrast = MAX_CONTRASTSTEP;
serdisp_feature(dd, FEATURE_CONTRAST, contrast);
return contrast;
}
static int drv_SD_backlight(int backlight)
{
if (backlight < FEATURE_NO)
backlight = FEATURE_NO;
if (backlight > FEATURE_YES)
backlight = FEATURE_YES;
serdisp_feature(dd, FEATURE_BACKLIGHT, backlight);
return backlight;
}
static int drv_SD_reverse(int reverse)
{
if (reverse < FEATURE_NO)
reverse = FEATURE_NO;
if (reverse > FEATURE_YES)
reverse = FEATURE_YES;
serdisp_feature(dd, FEATURE_REVERSE, reverse);
return reverse;
}
static int drv_SD_rotate(int rotate)
{
if (rotate < 0)
rotate = 0;
if (rotate > 3)
rotate = 3;
serdisp_feature(dd, FEATURE_ROTATE, rotate);
return rotate;
}
static int drv_SD_start(const char *section)
{
long version;
char *port, *model, *options, *s;
int contrast, backlight, reverse, rotate;
version = serdisp_getversioncode();
info("%s: header version %d.%d", Name, SERDISP_VERSION_MAJOR, SERDISP_VERSION_MINOR);
@@ -167,6 +224,22 @@ static int drv_SD_start(const char *section)
/* clear display */
serdisp_clear(dd);
if (cfg_number(section, "Contrast", 0, 0, MAX_CONTRASTSTEP, &contrast) > 0) {
drv_SD_contrast(contrast);
}
if (cfg_number(section, "BACKLIGHT", 0, 0, 1, &backlight) > 0) {
drv_SD_backlight(backlight);
}
if (cfg_number(section, "REVERSE", 0, 0, 1, &reverse) > 0) {
drv_SD_reverse(reverse);
}
if (cfg_number(section, "ROTATE", 0, 0, 3, &rotate) > 0) {
drv_SD_rotate(rotate);
}
return 0;
}
@@ -175,8 +248,40 @@ static int drv_SD_start(const char *section)
/*** plugins ***/
/****************************************/
/* none at the moment... */
/* Fixme: SD_FEATURE's */
static void plugin_contrast(RESULT * result, RESULT * arg1)
{
double contrast;
contrast = drv_SD_contrast(R2N(arg1));
SetResult(&result, R_NUMBER, &contrast);
}
static void plugin_backlight(RESULT * result, RESULT * arg1)
{
double backlight;
backlight = drv_SD_backlight(R2N(arg1));
SetResult(&result, R_NUMBER, &backlight);
}
static void plugin_reverse(RESULT * result, RESULT * arg1)
{
double reverse;
reverse = drv_SD_reverse(R2N(arg1));
SetResult(&result, R_NUMBER, &reverse);
}
static void plugin_rotate(RESULT * result, RESULT * arg1)
{
double rotate;
rotate = drv_SD_rotate(R2N(arg1));
SetResult(&result, R_NUMBER, &rotate);
}
/****************************************/
@@ -244,8 +349,10 @@ int drv_SD_init(const char *section, const int quiet)
widget_register(&wc);
/* register plugins */
/* none at the moment... */
/* Fixme: SD_FEATURE's */
AddFunction("LCD::contrast", 1, plugin_contrast);
AddFunction("LCD::backlight", 1, plugin_backlight);
AddFunction("LCD::reverse", 1, plugin_reverse);
AddFunction("LCD::rotate", 1, plugin_rotate);
return 0;
}
+2 -1
View File
@@ -2,6 +2,7 @@
# -kr Use Kernighan & Ritchie coding style.
# -l150 Set maximum line length for non-comment lines to 150.
# -pmt Preserve access and modification times on output files.
indent -kr -l150 *.c *.h
indent -kr -l150 -pmt *.c *.h