/*********************************************** * * ************************************************/ #include #include #include #include #include #include "lv.h" #define T1 60. #define T2 65. #define T3 70. int stato[N_CHAMBERS][2]; main(argc, argv) int argc; char **argv; { LV_MBOX *mod; int evid; float datv[N_CHAMBERS][2]; int i; int cycle; int hra[6]; int giorno, mese, anno, ora, minuti, secondi; int nerr, nread; evid = sem_link_cr("lv_mbox", argv[0]); /* create module for sy127 informations */ if((mod = (LV_MBOX *)modlink("lv_mod", 0)) == (LV_MBOX *)-1){ printf(" cannot open data module \n"); sem_unl_del(evid, "lv_mbox", argv[0]); exit(0); } sem_wait(evid, argv[0]); nread = mod->nread_t; nerr = mod->nerr_t; for(i = 0; i < 6; i++) hra[i] = mod->t_tim[i]; for( i = 0; i < N_CHAMBERS; i++) { stato[i][0] = mod->st[i][0]; stato[i][1] = mod->st[i][1]; /* strcpy(ch_name[i], mod->name[i]); */ datv[i][0] = mod->t[i][0]; datv[i][1] = mod->t[i][1]; } sem_free(evid, argv[0]); data_ora( &anno, &mese, &giorno, &ora, &minuti, &secondi); printf("Present time: %2d-%2d-%4d %2d:%2d:%2d\n", giorno, mese, anno, ora, minuti, secondi); printf("last update %2d-%2d-%4d %2d:%2d:%2d", hra[2], hra[1], hra[0], hra[3], hra[4], hra[5]); printf(" ( nread %6d, err %4d )\n\n", nread, nerr); printf(" TEMPERATURE PROBES \n\n"); printf(" i Chamber Probe 1 Probe 2 \n"); printf(" Name T(C) T(C) \n\n"); for( i = 0; i < N_CHAMBERS; i++) { printf(" %2d %4s ", 1 + i, ch_name[ i ]); if (stato [i][0]) printf("%4.0f ", datv[i][0]); else printf(" "); if (stato [i][1]) printf("%4.0f ", datv[i][1]); else printf(" "); printf(" "); if ( datv[i][0] > T1 || datv[i][1] > T1 ) printf("! "); if ( datv[i][0] > T2 || datv[i][1] > T2 ) printf("! "); if ( datv[i][0] > T3 || datv[i][1] > T3 ) printf("! "); printf("\n"); } sem_unl_del(evid, "lv_mbox", argv[0]); munlink(mod); }