thermferm/server.c

changeset 68
6dba71439cd8
parent 66
805f1d285acd
child 70
920eface3ec5
equal deleted inserted replaced
67:4a26aaa34fa1 68:6dba71439cd8
117 { 117 {
118 char *inp, *p, *q, buf[SS_BUFSIZE], obuf[SS_BUFSIZE]; 118 char *inp, *p, *q, buf[SS_BUFSIZE], obuf[SS_BUFSIZE];
119 int i, rc, rlen; 119 int i, rc, rlen;
120 socklen_t fromlen; 120 socklen_t fromlen;
121 float newtemp; 121 float newtemp;
122 #ifdef HAVE_WIRINGPI_H
123 int j;
124 #endif
122 125
123 // if (debug) { 126 // if (debug) {
124 // char *hostname = inet_ntoa(peeraddr_in.sin_addr); 127 // char *hostname = inet_ntoa(peeraddr_in.sin_addr);
125 // syslog(LOG_NOTICE, "Start new client connection from %s port %u", hostname, ntohs(peeraddr_in.sin_port)); 128 // syslog(LOG_NOTICE, "Start new client connection from %s port %u", hostname, ntohs(peeraddr_in.sin_port));
126 // fprintf(stdout, "Start new client connection from %s port %u\n", hostname, ntohs(peeraddr_in.sin_port)); 129 // fprintf(stdout, "Start new client connection from %s port %u\n", hostname, ntohs(peeraddr_in.sin_port));
145 } 148 }
146 149
147 /* 150 /*
148 * Process commands from the client 151 * Process commands from the client
149 */ 152 */
150 if (strncmp(buf, "ack", 3) == 0) { 153 if (strncmp(buf, "HELP", 4) == 0) {
154 srv_send((char *)"100 Help text follows");
155 srv_send((char *)"Recognized commands:");
156 srv_send((char *)"");
157 srv_send((char *)"LCD Get LCD screen (allways 4 rows of 20 characters)");
158 srv_send((char *)".");
159 } else if (strncmp(buf, "LCD", 3) == 0) {
160 #ifdef HAVE_WIRINGPI_H
161 srv_send((char *)"201 information follows");
162 for (j = 0; j < 4; j++) {
163 sprintf(obuf, " ");
164 for (i = 0; i < 20; i++)
165 obuf[i] = lcdbuf[lcdHandle][i][j];
166 srv_send(obuf);
167 }
168 srv_send((char *)".");
169 #else
170 srv_send((char *)"403 LCD not available");
171 #endif
172 } else if (strncmp(buf, "ack", 3) == 0) {
151 srv_send((char *)"ack"); 173 srv_send((char *)"ack");
152 } else if (strncmp(buf, "lcd", 3) == 0) { 174 } else if (strncmp(buf, "lcd", 3) == 0) {
153 sprintf(obuf, "[\" \", \" \", \" \", \" \"]"); 175 sprintf(obuf, "[\" \", \" \", \" \", \" \"]");
154 #ifdef HAVE_WIRINGPI_H 176 #ifdef HAVE_WIRINGPI_H
155 for (i = 0; i < 20; i++) { 177 for (i = 0; i < 20; i++) {

mercurial