diff options
author | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2005-05-08 04:32:45 +0000 |
---|---|---|
committer | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2005-05-08 04:32:45 +0000 |
commit | dbf5d92605a9db10e3e3cb154d03a515c5d5c5af (patch) | |
tree | 501d5dda3ce90fe924b893e487d9ef9f0683382b /drv_MatrixOrbital.c | |
parent | a1c471e9fb7cadb68bb182ab2e9715a0aa092386 (diff) | |
download | lcd4linux-dbf5d92605a9db10e3e3cb154d03a515c5d5c5af.tar.gz |
[lcd4linux @ 2005-05-08 04:32:43 by reinelt]
CodingStyle added and applied
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@547 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'drv_MatrixOrbital.c')
-rw-r--r-- | drv_MatrixOrbital.c | 869 |
1 files changed, 446 insertions, 423 deletions
diff --git a/drv_MatrixOrbital.c b/drv_MatrixOrbital.c index d89ec0f..8ea5b24 100644 --- a/drv_MatrixOrbital.c +++ b/drv_MatrixOrbital.c @@ -1,4 +1,4 @@ -/* $Id: drv_MatrixOrbital.c,v 1.38 2005/01/22 12:44:41 reinelt Exp $ +/* $Id: drv_MatrixOrbital.c,v 1.39 2005/05/08 04:32:44 reinelt Exp $ * * new style driver for Matrix Orbital serial display modules * @@ -23,6 +23,9 @@ * * * $Log: drv_MatrixOrbital.c,v $ + * Revision 1.39 2005/05/08 04:32:44 reinelt + * CodingStyle added and applied + * * Revision 1.38 2005/01/22 12:44:41 reinelt * MatrixOrbital backlight micro-fix * @@ -213,7 +216,7 @@ #include "drv_generic_serial.h" -static char Name[]="MatrixOrbital"; +static char Name[] = "MatrixOrbital"; static int Model; static int Protocol; @@ -224,44 +227,44 @@ static int GPOS; typedef struct { - int type; - char *name; - int rows; - int cols; - int gpos; - int protocol; + int type; + char *name; + int rows; + int cols; + int gpos; + int protocol; } MODEL; /* Fixme #1: number of gpo's should be verified */ /* Fixme #2: protocol should be verified */ static MODEL Models[] = { - { 0x01, "LCD0821", 2, 8, 0, 1 }, - { 0x03, "LCD2021", 2, 20, 0, 1 }, - { 0x04, "LCD1641", 4, 16, 0, 1 }, - { 0x05, "LCD2041", 4, 20, 0, 1 }, - { 0x06, "LCD4021", 2, 40, 0, 1 }, - { 0x07, "LCD4041", 4, 40, 0, 1 }, - { 0x08, "LK202-25", 2, 20, 0, 2 }, - { 0x09, "LK204-25", 4, 20, 0, 2 }, - { 0x0a, "LK404-55", 4, 40, 0, 2 }, - { 0x0b, "VFD2021", 2, 20, 0, 1 }, - { 0x0c, "VFD2041", 4, 20, 0, 1 }, - { 0x0d, "VFD4021", 2, 40, 0, 1 }, - { 0x0e, "VK202-25", 2, 20, 0, 1 }, - { 0x0f, "VK204-25", 4, 20, 0, 1 }, - { 0x10, "GLC12232", -1, -1, 0, 1 }, - { 0x13, "GLC24064", -1, -1, 0, 1 }, - { 0x15, "GLK24064-25", -1, -1, 0, 1 }, - { 0x22, "GLK12232-25", -1, -1, 0, 1 }, - { 0x31, "LK404-AT", 4, 40, 0, 2 }, - { 0x32, "VFD1621", 2, 16, 0, 1 }, - { 0x33, "LK402-12", 2, 40, 0, 2 }, - { 0x34, "LK162-12", 2, 16, 0, 2 }, - { 0x35, "LK204-25PC", 4, 20, 0, 2 }, - { 0x36, "LK202-24-USB", 2, 20, 0, 2 }, - { 0x38, "LK204-24-USB", 4, 20, 0, 2 }, - { 0xff, "Unknown", -1, -1, 0, 0 } + {0x01, "LCD0821", 2, 8, 0, 1}, + {0x03, "LCD2021", 2, 20, 0, 1}, + {0x04, "LCD1641", 4, 16, 0, 1}, + {0x05, "LCD2041", 4, 20, 0, 1}, + {0x06, "LCD4021", 2, 40, 0, 1}, + {0x07, "LCD4041", 4, 40, 0, 1}, + {0x08, "LK202-25", 2, 20, 0, 2}, + {0x09, "LK204-25", 4, 20, 0, 2}, + {0x0a, "LK404-55", 4, 40, 0, 2}, + {0x0b, "VFD2021", 2, 20, 0, 1}, + {0x0c, "VFD2041", 4, 20, 0, 1}, + {0x0d, "VFD4021", 2, 40, 0, 1}, + {0x0e, "VK202-25", 2, 20, 0, 1}, + {0x0f, "VK204-25", 4, 20, 0, 1}, + {0x10, "GLC12232", -1, -1, 0, 1}, + {0x13, "GLC24064", -1, -1, 0, 1}, + {0x15, "GLK24064-25", -1, -1, 0, 1}, + {0x22, "GLK12232-25", -1, -1, 0, 1}, + {0x31, "LK404-AT", 4, 40, 0, 2}, + {0x32, "VFD1621", 2, 16, 0, 1}, + {0x33, "LK402-12", 2, 40, 0, 2}, + {0x34, "LK162-12", 2, 16, 0, 2}, + {0x35, "LK204-25PC", 4, 20, 0, 2}, + {0x36, "LK202-24-USB", 2, 20, 0, 2}, + {0x38, "LK204-24-USB", 4, 20, 0, 2}, + {0xff, "Unknown", -1, -1, 0, 0} }; @@ -269,284 +272,304 @@ static MODEL Models[] = { /*** hardware dependant functions ***/ /****************************************/ -static void drv_MO_clear (void) +static void drv_MO_clear(void) { - switch (Protocol) { - case 1: - drv_generic_serial_write ("\014", 1); /* Clear Screen */ - break; - case 2: - drv_generic_serial_write ("\376\130", 2); /* Clear Screen */ - break; - } + switch (Protocol) { + case 1: + drv_generic_serial_write("\014", 1); /* Clear Screen */ + break; + case 2: + drv_generic_serial_write("\376\130", 2); /* Clear Screen */ + break; + } } -static void drv_MO_write (const int row, const int col, const char *data, const int len) +static void drv_MO_write(const int row, const int col, const char *data, const int len) { - char cmd[5]="\376Gyx"; + char cmd[5] = "\376Gyx"; - cmd[2]=(char)col+1; - cmd[3]=(char)row+1; - drv_generic_serial_write(cmd,4); + cmd[2] = (char) col + 1; + cmd[3] = (char) row + 1; + drv_generic_serial_write(cmd, 4); - drv_generic_serial_write (data, len); + drv_generic_serial_write(data, len); } -static void drv_MO_defchar (const int ascii, const unsigned char *matrix) +static void drv_MO_defchar(const int ascii, const unsigned char *matrix) { - int i; - char cmd[11]="\376N"; - - cmd[2]=(char)ascii; - for (i = 0; i < 8; i++) { - cmd[i+3] = matrix[i] & 0x1f; - } - drv_generic_serial_write (cmd, 11); + int i; + char cmd[11] = "\376N"; + + cmd[2] = (char) ascii; + for (i = 0; i < 8; i++) { + cmd[i + 3] = matrix[i] & 0x1f; + } + drv_generic_serial_write(cmd, 11); } -static int drv_MO_contrast (int contrast) +static int drv_MO_contrast(int contrast) { - static unsigned char Contrast=0; - char cmd[3] = "\376Pn"; - - /* -1 is used to query the current contrast */ - if (contrast == -1) return Contrast; - - if (contrast < 0 ) contrast = 0; - if (contrast > 255) contrast = 255; - Contrast = contrast; - - cmd[2] = Contrast; - - drv_generic_serial_write (cmd, 3); - - return Contrast; -} + static unsigned char Contrast = 0; + char cmd[3] = "\376Pn"; + /* -1 is used to query the current contrast */ + if (contrast == -1) + return Contrast; -static int drv_MO_backlight (int backlight) -{ - static unsigned char Backlight=0; - char cmd[3] = "\376Bn"; - - /* -1 is used to query the current backlight */ - if (backlight == -1) return Backlight; - - if (backlight < 0 ) backlight = 0; - if (backlight > 255) backlight = 255; - Backlight = backlight; - - if (backlight <= 0) { - /* backlight off */ - drv_generic_serial_write ("\376F", 2); - } else { - /* backlight on for n minutes */ - cmd[2] = Backlight; - drv_generic_serial_write (cmd, 3); - } - - return Backlight; + if (contrast < 0) + contrast = 0; + if (contrast > 255) + contrast = 255; + Contrast = contrast; + + cmd[2] = Contrast; + + drv_generic_serial_write(cmd, 3); + + return Contrast; } -static int drv_MO_gpo (int num, int val) +static int drv_MO_backlight(int backlight) { - static int GPO[6] = { -1, -1, -1, -1, -1, -1 }; - char cmd[3]="\376"; - - if (num < 1) num = 1; - if (num > 6) num = 6; - - /* -1 is used to query the current GPO */ - if (val == -1) return GPO[num-1]; - - if (val < 0) val = 0; - if (val > 1) val = 1; - GPO[num-1] = val; - - switch (Protocol) { - case 1: - if (num == 1) { - if (val > 0) { - drv_generic_serial_write ("\376W", 2); /* GPO on */ - } else { - drv_generic_serial_write ("\376V", 2); /* GPO off */ - } + static unsigned char Backlight = 0; + char cmd[3] = "\376Bn"; + + /* -1 is used to query the current backlight */ + if (backlight == -1) + return Backlight; + + if (backlight < 0) + backlight = 0; + if (backlight > 255) + backlight = 255; + Backlight = backlight; + + if (backlight <= 0) { + /* backlight off */ + drv_generic_serial_write("\376F", 2); } else { - GPO[num-1] = -1; + /* backlight on for n minutes */ + cmd[2] = Backlight; + drv_generic_serial_write(cmd, 3); } - break; - - case 2: - if (val > 0) { - cmd[1] = 'W'; /* GPO on */ - } else { - cmd[1] = 'V'; /* GPO off */ + + return Backlight; +} + + +static int drv_MO_gpo(int num, int val) +{ + static int GPO[6] = { -1, -1, -1, -1, -1, -1 }; + char cmd[3] = "\376"; + + if (num < 1) + num = 1; + if (num > 6) + num = 6; + + /* -1 is used to query the current GPO */ + if (val == -1) + return GPO[num - 1]; + + if (val < 0) + val = 0; + if (val > 1) + val = 1; + GPO[num - 1] = val; + + switch (Protocol) { + case 1: + if (num == 1) { + if (val > 0) { + drv_generic_serial_write("\376W", 2); /* GPO on */ + } else { + drv_generic_serial_write("\376V", 2); /* GPO off */ + } + } else { + GPO[num - 1] = -1; + } + break; + + case 2: + if (val > 0) { + cmd[1] = 'W'; /* GPO on */ + } else { + cmd[1] = 'V'; /* GPO off */ + } + cmd[2] = (char) num; + drv_generic_serial_write(cmd, 3); + break; } - cmd[2] = (char)num; - drv_generic_serial_write (cmd, 3); - break; - } - - return GPO[num-1]; + + return GPO[num - 1]; } -static int drv_MO_pwm (int num, int val) +static int drv_MO_pwm(int num, int val) { - static int PWM[6] = { -1, -1, -1, -1, -1, -1 }; - char cmd[4]="\376\300"; - - if (num < 1) num = 1; - if (num > 6) num = 6; - - /* -1 is used to query the current PWM */ - if (val == -1) return PWM[num-1]; - - if (val < 0) val = 0; - if (val > 255) val = 255; - PWM[num-1] = val; - - cmd[2] = (char)num; - cmd[3] = (char)val; - drv_generic_serial_write (cmd, 4); - - return val; + static int PWM[6] = { -1, -1, -1, -1, -1, -1 }; + char cmd[4] = "\376\300"; + + if (num < 1) + num = 1; + if (num > 6) + num = 6; + + /* -1 is used to query the current PWM */ + if (val == -1) + return PWM[num - 1]; + + if (val < 0) + val = 0; + if (val > 255) + val = 255; + PWM[num - 1] = val; + + cmd[2] = (char) num; + cmd[3] = (char) val; + drv_generic_serial_write(cmd, 4); + + return val; } -static int drv_MO_rpm (int num) +static int drv_MO_rpm(int num) { - static int RPM[6] = { -1, -1, -1, -1, -1, -1 }; - char cmd[3] = "\376\301"; - char buffer[7]; - - if (num < 1) num = 1; - if (num > 6) num = 6; - - cmd[2] = (char)num; - drv_generic_serial_write (cmd, 3); - - usleep(100000); - drv_generic_serial_read (buffer, 7); - - debug ("rpm: buffer[0]=0x%01x", buffer[0]); - debug ("rpm: buffer[1]=0x%01x", buffer[1]); - debug ("rpm: buffer[2]=0x%01x", buffer[2]); - debug ("rpm: buffer[3]=0x%01x", buffer[3]); - debug ("rpm: buffer[4]=0x%01x", buffer[4]); - debug ("rpm: buffer[5]=0x%01x", buffer[5]); - debug ("rpm: buffer[6]=0x%01x", buffer[6]); - - /* Fixme: RPM calculations??? */ - RPM[num-1] = 42; - - return RPM[num-1]; + static int RPM[6] = { -1, -1, -1, -1, -1, -1 }; + char cmd[3] = "\376\301"; + char buffer[7]; + + if (num < 1) + num = 1; + if (num > 6) + num = 6; + + cmd[2] = (char) num; + drv_generic_serial_write(cmd, 3); + + usleep(100000); + drv_generic_serial_read(buffer, 7); + + debug("rpm: buffer[0]=0x%01x", buffer[0]); + debug("rpm: buffer[1]=0x%01x", buffer[1]); + debug("rpm: buffer[2]=0x%01x", buffer[2]); + debug("rpm: buffer[3]=0x%01x", buffer[3]); + debug("rpm: buffer[4]=0x%01x", buffer[4]); + debug("rpm: buffer[5]=0x%01x", buffer[5]); + debug("rpm: buffer[6]=0x%01x", buffer[6]); + + /* Fixme: RPM calculations??? */ + RPM[num - 1] = 42; + + return RPM[num - 1]; } -static int drv_MO_start (const char *section, const int quiet) +static int drv_MO_start(const char *section, const int quiet) { - int i; - char *model; - char buffer[256]; - - model=cfg_get(section, "Model", NULL); - if (model!=NULL && *model!='\0') { - for (i=0; Models[i].type!=0xff; i++) { - if (strcasecmp(Models[i].name, model)==0) break; - } - if (Models[i].type==0xff) { - error ("%s: %s.Model '%s' is unknown from %s", Name, section, model, cfg_source()); - return -1; + int i; + char *model; + char buffer[256]; + + model = cfg_get(section, "Model", NULL); + if (model != NULL && *model != '\0') { + for (i = 0; Models[i].type != 0xff; i++) { + if (strcasecmp(Models[i].name, model) == 0) + break; + } + if (Models[i].type == 0xff) { + error("%s: %s.Model '%s' is unknown from %s", Name, section, model, cfg_source()); + return -1; + } + Model = i; + info("%s: using model '%s'", Name, Models[Model].name); + } else { + info("%s: no '%s.Model' entry from %s, auto-dedecting", Name, section, cfg_source()); + Model = -1; } - Model=i; - info ("%s: using model '%s'", Name, Models[Model].name); - } else { - info ("%s: no '%s.Model' entry from %s, auto-dedecting", Name, section, cfg_source()); - Model=-1; - } - - - if (drv_generic_serial_open(section, Name, 0)<0) return -1; - - if (Model == -1 || Models[Model].protocol > 1) { - /* read module type */ - drv_generic_serial_write ("\3767", 2); - usleep(1000); - if (drv_generic_serial_read (buffer, 1)==1) { - for (i=0; Models[i].type!=0xff; i++) { - if (Models[i].type == (int)*buffer) break; - } - info ("%s: display reports model '%s' (type 0x%02x)", - Name, Models[i].name, Models[i].type); - - /* auto-dedection */ - if (Model==-1) Model=i; - - /* auto-dedection matches specified model? */ - if (Models[i].type!=0xff && Model!=i) { - error ("%s: %s.Model '%s' from %s does not match dedected Model '%s'", - Name, section, model, cfg_source(), Models[i].name); + + + if (drv_generic_serial_open(section, Name, 0) < 0) return -1; - } - } else { - info ("%s: display detection failed.", Name); + if (Model == -1 || Models[Model].protocol > 1) { + /* read module type */ + drv_generic_serial_write("\3767", 2); + usleep(1000); + if (drv_generic_serial_read(buffer, 1) == 1) { + for (i = 0; Models[i].type != 0xff; i++) { + if (Models[i].type == (int) *buffer) + break; + } + info("%s: display reports model '%s' (type 0x%02x)", Name, Models[i].name, Models[i].type); + + /* auto-dedection */ + if (Model == -1) + Model = i; + + /* auto-dedection matches specified model? */ + if (Models[i].type != 0xff && Model != i) { + error("%s: %s.Model '%s' from %s does not match dedected Model '%s'", Name, section, model, cfg_source(), Models[i].name); + return -1; + } + + } else { + info("%s: display detection failed.", Name); + } } - } - /* initialize global variables */ - DROWS = Models[Model].rows; - DCOLS = Models[Model].cols; - GPOS = Models[Model].gpos; - Protocol = Models[Model].protocol; + /* initialize global variables */ + DROWS = Models[Model].rows; + DCOLS = Models[Model].cols; + GPOS = Models[Model].gpos; + Protocol = Models[Model].protocol; + + if (Protocol > 1) { + /* read serial number */ + drv_generic_serial_write("\3765", 2); + usleep(100000); + if (drv_generic_serial_read(buffer, 2) == 2) { + info("%s: display reports serial number 0x%x", Name, *(short *) buffer); + } + + /* read version number */ + drv_generic_serial_write("\3766", 2); + usleep(100000); + if (drv_generic_serial_read(buffer, 1) == 1) { + info("%s: display reports firmware version 0x%x", Name, *buffer); + } + } - if (Protocol > 1) { - /* read serial number */ - drv_generic_serial_write ("\3765", 2); - usleep(100000); - if (drv_generic_serial_read (buffer, 2)==2) { - info ("%s: display reports serial number 0x%x", Name, *(short*)buffer); + drv_MO_clear(); + + drv_generic_serial_write("\376B", 3); /* backlight on */ + drv_generic_serial_write("\376K", 2); /* cursor off */ + drv_generic_serial_write("\376T", 2); /* blink off */ + drv_generic_serial_write("\376D", 2); /* line wrapping off */ + drv_generic_serial_write("\376R", 2); /* auto scroll off */ + + /* set contrast */ + if (cfg_number(section, "Contrast", 0, 0, 255, &i) > 0) { + drv_MO_contrast(i); } - - /* read version number */ - drv_generic_serial_write ("\3766", 2); - usleep(100000); - if (drv_generic_serial_read (buffer, 1)==1) { - info ("%s: display reports firmware version 0x%x", Name, *buffer); + + /* set backlight */ + if (cfg_number(section, "Backlight", 0, 0, 255, &i) > 0) { + drv_MO_backlight(i); } - } - - drv_MO_clear(); - - drv_generic_serial_write ("\376B", 3); /* backlight on */ - drv_generic_serial_write ("\376K", 2); /* cursor off */ - drv_generic_serial_write ("\376T", 2); /* blink off */ - drv_generic_serial_write ("\376D", 2); /* line wrapping off */ - drv_generic_serial_write ("\376R", 2); /* auto scroll off */ - - /* set contrast */ - if (cfg_number(section, "Contrast", 0, 0, 255, &i)>0) { - drv_MO_contrast(i); - } - - /* set backlight */ - if (cfg_number(section, "Backlight", 0, 0, 255, &i)>0) { - drv_MO_backlight(i); - } - - if (!quiet) { - if (drv_generic_text_greet (Models[Model].name, "MatrixOrbital")) { - sleep (3); - drv_MO_clear(); + + if (!quiet) { + if (drv_generic_text_greet(Models[Model].name, "MatrixOrbital")) { + sleep(3); + drv_MO_clear(); + } } - } - - return 0; + + return 0; } @@ -555,92 +578,92 @@ static int drv_MO_start (const char *section, const int quiet) /****************************************/ -static void plugin_contrast (RESULT *result, const int argc, RESULT *argv[]) +static void plugin_contrast(RESULT * result, const int argc, RESULT * argv[]) { - double contrast; - - switch (argc) { - case 0: - contrast = drv_MO_contrast(-1); - SetResult(&result, R_NUMBER, &contrast); - break; - case 1: - contrast = drv_MO_contrast(R2N(argv[0])); - SetResult(&result, R_NUMBER, &contrast); - break; - default: - error ("%s::contrast(): wrong number of parameters", Name); - SetResult(&result, R_STRING, ""); - } + double contrast; + + switch (argc) { + case 0: + contrast = drv_MO_contrast(-1); + SetResult(&result, R_NUMBER, &contrast); + break; + case 1: + contrast = drv_MO_contrast(R2N(argv[0])); + SetResult(&result, R_NUMBER, &contrast); + break; + default: + error("%s::contrast(): wrong number of parameters", Name); + SetResult(&result, R_STRING, ""); + } } -static void plugin_backlight (RESULT *result, const int argc, RESULT *argv[]) +static void plugin_backlight(RESULT * result, const int argc, RESULT * argv[]) { - double backlight; - - switch (argc) { - case 0: - backlight = drv_MO_backlight(-1); - SetResult(&result, R_NUMBER, &backlight); - break; - case 1: - backlight = drv_MO_backlight(R2N(argv[0])); - SetResult(&result, R_NUMBER, &backlight); - break; - default: - error ("%s::backlight(): wrong number of parameters", Name); - SetResult(&result, R_STRING, ""); - } + double backlight; + + switch (argc) { + case 0: + backlight = drv_MO_backlight(-1); + SetResult(&result, R_NUMBER, &backlight); + break; + case 1: + backlight = drv_MO_backlight(R2N(argv[0])); + SetResult(&result, R_NUMBER, &backlight); + break; + default: + error("%s::backlight(): wrong number of parameters", Name); + SetResult(&result, R_STRING, ""); + } } -static void plugin_gpo (RESULT *result, const int argc, RESULT *argv[]) +static void plugin_gpo(RESULT * result, const int argc, RESULT * argv[]) { - double gpo; - - switch (argc) { - case 1: - gpo = drv_MO_gpo(R2N(argv[0]), -1); - SetResult(&result, R_NUMBER, &gpo); - break; - case 2: - gpo = drv_MO_gpo(R2N(argv[0]), R2N(argv[1])); - SetResult(&result, R_NUMBER, &gpo); - break; - default: - error ("%s:gpo(): wrong number of parameters", Name); - SetResult(&result, R_STRING, ""); - } + double gpo; + + switch (argc) { + case 1: + gpo = drv_MO_gpo(R2N(argv[0]), -1); + SetResult(&result, R_NUMBER, &gpo); + break; + case 2: + gpo = drv_MO_gpo(R2N(argv[0]), R2N(argv[1])); + SetResult(&result, R_NUMBER, &gpo); + break; + default: + error("%s:gpo(): wrong number of parameters", Name); + SetResult(&result, R_STRING, ""); + } } -static void plugin_pwm (RESULT *result, const int argc, RESULT *argv[]) +static void plugin_pwm(RESULT * result, const int argc, RESULT * argv[]) { - double pwm; - - switch (argc) { - case 1: - pwm = drv_MO_pwm(R2N(argv[0]), -1); - SetResult(&result, R_NUMBER, &pwm); - break; - case 2: - pwm = drv_MO_pwm(R2N(argv[0]), R2N(argv[1])); - SetResult(&result, R_NUMBER, &pwm); - break; - default: - error ("%s:pwm(): wrong number of parameters", Name); - SetResult(&result, R_STRING, ""); - } + double pwm; + + switch (argc) { + case 1: + pwm = drv_MO_pwm(R2N(argv[0]), -1); + SetResult(&result, R_NUMBER, &pwm); + break; + case 2: + pwm = drv_MO_pwm(R2N(argv[0]), R2N(argv[1])); + SetResult(&result, R_NUMBER, &pwm); + break; + default: + error("%s:pwm(): wrong number of parameters", Name); + SetResult(&result, R_STRING, ""); + } } -static void plugin_rpm (RESULT *result, RESULT *arg1) +static void plugin_rpm(RESULT * result, RESULT * arg1) { - double rpm; + double rpm; - rpm = drv_MO_rpm(R2N(arg1)); - SetResult(&result, R_NUMBER, &rpm); + rpm = drv_MO_rpm(R2N(arg1)); + SetResult(&result, R_NUMBER, &rpm); } @@ -659,106 +682,106 @@ static void plugin_rpm (RESULT *result, RESULT *arg1) /* list models */ -int drv_MO_list (void) +int drv_MO_list(void) { - int i; - - for (i=0; Models[i].type!=0xff; i++) { - printf ("%s ", Models[i].name); - } - return 0; + int i; + + for (i = 0; Models[i].type != 0xff; i++) { + printf("%s ", Models[i].name); + } + return 0; } /* initialize driver & display */ -int drv_MO_init (const char *section, const int quiet) +int drv_MO_init(const char *section, const int quiet) { - WIDGET_CLASS wc; - int ret; - - /* display preferences */ - XRES=5; /* pixel width of one char */ - YRES=8; /* pixel height of one char */ - CHARS=8; /* number of user-defineable characters */ - CHAR0=0; /* ASCII of first user-defineable char */ - GOTO_COST=4; /* number of bytes a goto command requires */ - - /* real worker functions */ - drv_generic_text_real_write = drv_MO_write; - drv_generic_text_real_defchar = drv_MO_defchar; - - - /* start display */ - if ((ret=drv_MO_start (section, quiet))!=0) - return ret; - - /* initialize generic text driver */ - if ((ret=drv_generic_text_init(section, Name))!=0) - return ret; - - /* initialize generic icon driver */ - if ((ret=drv_generic_text_icon_init())!=0) - return ret; - - /* initialize generic bar driver */ - if ((ret=drv_generic_text_bar_init(0))!=0) - return ret; - - /* add fixed chars to the bar driver */ - drv_generic_text_bar_add_segment ( 0, 0,255, 32); /* ASCII 32 = blank */ - drv_generic_text_bar_add_segment (255,255,255,255); /* ASCII 255 = block */ - - /* register text widget */ - wc=Widget_Text; - wc.draw=drv_generic_text_draw; - widget_register(&wc); - - /* register icon widget */ - wc=Widget_Icon; - wc.draw=drv_generic_text_icon_draw; - widget_register(&wc); - - /* register bar widget */ - wc=Widget_Bar; - wc.draw=drv_generic_text_bar_draw; - widget_register(&wc); - - /* register plugins */ - AddFunction ("LCD::contrast", -1, plugin_contrast); - AddFunction ("LCD::backlight", -1, plugin_backlight); - AddFunction ("LCD::gpo", -1, plugin_gpo); - AddFunction ("LCD::pwm", -1, plugin_pwm); - AddFunction ("LCD::rpm", 1, plugin_rpm); - - return 0; + WIDGET_CLASS wc; + int ret; + + /* display preferences */ + XRES = 5; /* pixel width of one char */ + YRES = 8; /* pixel height of one char */ + CHARS = 8; /* number of user-defineable characters */ + CHAR0 = 0; /* ASCII of first user-defineable char */ + GOTO_COST = 4; /* number of bytes a goto command requires */ + + /* real worker functions */ + drv_generic_text_real_write = drv_MO_write; + drv_generic_text_real_defchar = drv_MO_defchar; + + + /* start display */ + if ((ret = drv_MO_start(section, quiet)) != 0) + return ret; + + /* initialize generic text driver */ + if ((ret = drv_generic_text_init(section, Name)) != 0) + return ret; + + /* initialize generic icon driver */ + if ((ret = drv_generic_text_icon_init()) != 0) + return ret; + + /* initialize generic bar driver */ + if ((ret = drv_generic_text_bar_init(0)) != 0) + return ret; + + /* add fixed chars to the bar driver */ + drv_generic_text_bar_add_segment(0, 0, 255, 32); /* ASCII 32 = blank */ + drv_generic_text_bar_add_segment(255, 255, 255, 255); /* ASCII 255 = block */ + + /* register text widget */ + wc = Widget_Text; + wc.draw = drv_generic_text_draw; + widget_register(&wc); + + /* register icon widget */ + wc = Widget_Icon; + wc.draw = drv_generic_text_icon_draw; + widget_register(&wc); + + /* register bar widget */ + wc = Widget_Bar; + wc.draw = drv_generic_text_bar_draw; + widget_register(&wc); + + /* register plugins */ + AddFunction("LCD::contrast", -1, plugin_contrast); + AddFunction("LCD::backlight", -1, plugin_backlight); + AddFunction("LCD::gpo", -1, plugin_gpo); + AddFunction("LCD::pwm", -1, plugin_pwm); + AddFunction("LCD::rpm", 1, plugin_rpm); + + return 0; } /* close driver & display */ -int drv_MO_quit (const int quiet) { - - info("%s: shutting down.", Name); - - drv_generic_text_quit(); - - /* clear display */ - drv_MO_clear(); - - /* say goodbye... */ - if (!quiet) { - drv_generic_text_greet ("goodbye!", NULL); - } - - drv_generic_serial_close(); - - return (0); +int drv_MO_quit(const int quiet) +{ + + info("%s: shutting down.", Name); + + drv_generic_text_quit(); + + /* clear display */ + drv_MO_clear(); + + /* say goodbye... */ + if (!quiet) { + drv_generic_text_greet("goodbye!", NULL); + } + + drv_generic_serial_close(); + + return (0); } DRIVER drv_MatrixOrbital = { - name: Name, - list: drv_MO_list, - init: drv_MO_init, - quit: drv_MO_quit, + name:Name, + list:drv_MO_list, + init:drv_MO_init, + quit:drv_MO_quit, }; - |