Commandd line options + RGB
This commit is contained in:
parent
557a642a8d
commit
8e40673d84
68
grove_lcd.c
68
grove_lcd.c
@ -84,31 +84,69 @@ void set_backlight(int r, int g, int b) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
int l1p = 1;
|
int l1_x = 1;
|
||||||
int l2p = 1;
|
char *l1_message = NULL;
|
||||||
int option;
|
int l2_x = 1;
|
||||||
|
char *l2_message = NULL;
|
||||||
|
int r = 1;
|
||||||
|
int g = 0;
|
||||||
|
int b = 0;
|
||||||
|
|
||||||
while ((option = getopt (argc, argv, "l1:l2:")) != -1) {
|
static struct option long_options[] = {
|
||||||
switch (option) {
|
{"x1", required_argument, 0, 'x'},
|
||||||
case '1':
|
{"m1", required_argument, 0, 'm'},
|
||||||
l1p = atoi(optarg);
|
{"x2", required_argument, 0, 'X'},
|
||||||
|
{"m2", required_argument, 0, 'M'},
|
||||||
|
{"r", required_argument, 0, 'r'},
|
||||||
|
{"g", required_argument, 0, 'g'},
|
||||||
|
{"b", required_argument, 0, 'b'},
|
||||||
|
{0, 0, 0, 0} // Terminating entry
|
||||||
|
};
|
||||||
|
|
||||||
|
int option_index = 0;
|
||||||
|
int c;
|
||||||
|
|
||||||
|
while ((c = getopt_long(argc, argv, "x:m:X:M:r:g:b:", long_options, &option_index)) != -1) {
|
||||||
|
switch (c) {
|
||||||
|
case 'x':
|
||||||
|
l1_x = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
case '2':
|
case 'm':
|
||||||
l2p = atoi(optarg);
|
l1_message = optarg;
|
||||||
|
break;
|
||||||
|
case 'X':
|
||||||
|
l2_x = atoi(optarg);
|
||||||
|
break;
|
||||||
|
case 'M':
|
||||||
|
l2_message = optarg;
|
||||||
|
break;
|
||||||
|
case 'r':
|
||||||
|
r = atoi(optarg);
|
||||||
|
break;
|
||||||
|
case 'g':
|
||||||
|
g = atoi(optarg);
|
||||||
|
break;
|
||||||
|
case 'b':
|
||||||
|
b = atoi(optarg);
|
||||||
|
break;
|
||||||
|
case '?': //unregnoniced inputs or missing args
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "Usage: %s -l1 <value> -l2 <value>\n", argv[0]);
|
fprintf(stderr, "Usage: %s --x1 <value> --x1_message <value>\n", argv[0]);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("l1p = %d, l2p = %d\n", l1p, l2p);
|
|
||||||
|
|
||||||
int file;
|
int file;
|
||||||
set_backlight(1, 0, 0);
|
set_backlight(r, g, b);
|
||||||
file = i2c_init(MPC9808_BUS, DISPLAY_TEXT_ADDR);
|
file = i2c_init(MPC9808_BUS, DISPLAY_TEXT_ADDR);
|
||||||
init_display(file);
|
init_display(file);
|
||||||
write_to_display_xy(file, l1p, 1, "Mercantec");
|
if (l1_message != 0) {
|
||||||
write_to_display_xy(file, l2p, 2, "Mercantec");
|
write_to_display_xy(file, l1_x, 1, l1_message);
|
||||||
|
}
|
||||||
|
if (l2_message != 0) {
|
||||||
|
write_to_display_xy(file, l2_x, 2, l2_message);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user