26
int main(int argc,char *argv[]){
29
if(argc==1) returnValue=monitor();
31
if(strcmp(argv[1],"-c")==0) option='c';
32
if(strcmp(argv[1],"-h")==0) option='h';
33
if(strcmp(argv[1],"-i")==0) option='i';
35
case 'c': returnValue=config();break;
36
case 'h': help();break;
37
case 'i': about();break;
44
char mode[4],buffer[81];
45
int openPort,bytesRead;
46
configuration current;
48
FPconfigFile=fopen("umon.conf","r");
49
if(FPconfigFile==NULL){
50
fprintf(stderr,"\nCould not open configuration File.\n");
51
fprintf(stderr,"ERROR %i: %s\n\n",errno,strerror(errno));
54
fscanf(FPconfigFile,"[PORT] %c\n",¤t.port);
55
if(current.port!='s' && current.port!='u'){
56
fprintf(stderr,"\nInvalid port type in configuration File.\n\n");
59
fscanf(FPconfigFile,"[PORT_NR] %hi\n",¤t.port_nr);
60
fscanf(FPconfigFile,"[BAUDRATE] %i\n",¤t.baudrate);
61
fscanf(FPconfigFile,"[DATABITS] %c\n",¤t.databits);
62
fscanf(FPconfigFile,"[PARITY] %c\n",¤t.parity);
63
fscanf(FPconfigFile,"[STOPBITS] %c\n",¤t.stopbits);
64
fscanf(FPconfigFile,"[DELAY] %i\n",¤t.delay);
66
if(current.port=='s') openPort=current.port_nr;
67
else openPort=16+current.port_nr;
68
mode[0]=current.databits;
69
mode[1]=current.parity;
70
mode[2]=current.stopbits;
72
if(RS232_OpenComport(openPort,current.baudrate,mode)){
73
fprintf(stderr,"\nSerial port could not be opened.\n\n");
77
usleep(current.delay*1000);
78
bytesRead=RS232_PollComport(openPort,(unsigned char *)buffer,80);
79
if(bytesRead==0) puts("no data...");
85
RS232_CloseComport(openPort);
92
FPconfigFile=fopen("umon.conf","w");
93
if(FPconfigFile==NULL){
94
fprintf(stderr,"\nCould not create configuration file.\n");
95
fprintf(stderr,"ERROR %i: %s\n\n",errno,strerror(errno));
98
printf("Serial or USB port (s/u): ");
99
scanf("%c",&new.port);
100
fprintf(FPconfigFile,"[PORT] %c\n",new.port);
101
printf("Portnumber: ");
102
_flu;scanf("%hi",&new.port_nr);
103
fprintf(FPconfigFile,"[PORT_NR] %i\n",new.port_nr);
104
printf("Baudrate: ");
105
_flu;scanf("%i",&new.baudrate);
106
fprintf(FPconfigFile,"[BAUDRATE] %i\n",new.baudrate);
107
printf("Databits: ");
108
_flu;scanf("%c",&new.databits);
109
fprintf(FPconfigFile,"[DATABITS] %c\n",new.databits);
110
printf("Parity (N/O/E): ");
111
_flu;scanf("%c",&new.parity);
112
fprintf(FPconfigFile,"[PARITY] %c\n",new.parity);
113
printf("Stopbits: ");
114
_flu;scanf("%c",&new.stopbits);
115
fprintf(FPconfigFile,"[STOPBITS] %c\n",new.stopbits);
116
printf("Delay [ms]: ");
117
scanf("%i",&new.delay);
118
fprintf(FPconfigFile,"[DELAY] %i\n",new.delay);
119
if(fclose(FPconfigFile)==EOF){
120
fprintf(stderr,"\nCould not save configuration file.\n");
121
fprintf(stderr,"ERROR %i: %s\n\n",errno,strerror(errno));
124
printf("\nConfiguration file saved successfully.\n\n");