/* * essai.c */ #include #include #include #include #include #include #include "core/utils.h" #include "core/sysmetrics.h" #include "serial/serial.h" #include "viz/curses/ecran.h" int verbosity; /* --------------------------------------------------------------- */ int affiche_valeurs(int sfd, int nbloops) { int idx, foo; char ligne[200]; int Idatas[4]; float Fdatas[4]; for (idx=0; idx %d\n", foo); #endif foo = parse4_Ivalues(ligne, 'T', Idatas); #if DEBUG_LEVEL if (foo) fprintf(stderr, "parse I val -> %d\n", foo); #endif values2temperature(Idatas, Fdatas); for (foo=0; foo<3; foo++) { sprintf(ligne, "%4d", Idatas[foo]); minidigit_affstr(stdscr, 3+(12*foo), 4, ligne); aff7segs_float(stdscr, 3+(12*foo), 55, Fdatas[foo]); } } return 0; } /* --------------------------------------------------------------- */ static void finish(int signal) { endwin(); fprintf(stderr, "end of pid %d\n", getpid()); exit(0); } /* --------------------------------------------------------------- */ void help(int k) { puts("options : "); puts("\t-d\tserial device to read."); puts("\t-v\tincrease verbosity."); exit(0); } /* --------------------------------------------------------------- */ int main(int argc, char *argv[]) { int opt, foo; int serial_in; char *device = "/dev/ttyACM0"; while ((opt = getopt(argc, argv, "d:hv")) != -1) { switch (opt) { case 'd': device = optarg; break; case 'h': help(0); break; case 'v': verbosity++; break; default: break; } } serial_in = prepare_UART(device, 9600); if (serial_in < 0) { fprintf(stderr, "%s : open device : error %d on %s\n", argv[0], serial_in, device); exit(1); } initscr(); nonl(); cbreak(); noecho(); keypad(stdscr, TRUE); /* acces aux touches 'curseur' */ fond_ecran(" Demonstrator "); affiche_valeurs(serial_in, 10000); /* * plop, on a fini, il faut restaurer la console */ finish(0); return 0; } /* --------------------------------------------------------------- */