# HG changeset patch # User Michiel Broek # Date 1403546013 -7200 # Node ID 6dba71439cd80269a31a55e47058e896c753fd14 # Parent 4a26aaa34fa1114ad6cc990889a33c3e27e6a1d4 Added first part of out own protocol diff -r 4a26aaa34fa1 -r 6dba71439cd8 thermferm/server.c --- a/thermferm/server.c Sun Jun 22 22:11:33 2014 +0200 +++ b/thermferm/server.c Mon Jun 23 19:53:33 2014 +0200 @@ -119,6 +119,9 @@ int i, rc, rlen; socklen_t fromlen; float newtemp; +#ifdef HAVE_WIRINGPI_H + int j; +#endif // if (debug) { // char *hostname = inet_ntoa(peeraddr_in.sin_addr); @@ -147,7 +150,26 @@ /* * Process commands from the client */ - if (strncmp(buf, "ack", 3) == 0) { + if (strncmp(buf, "HELP", 4) == 0) { + srv_send((char *)"100 Help text follows"); + srv_send((char *)"Recognized commands:"); + srv_send((char *)""); + srv_send((char *)"LCD Get LCD screen (allways 4 rows of 20 characters)"); + srv_send((char *)"."); + } else if (strncmp(buf, "LCD", 3) == 0) { +#ifdef HAVE_WIRINGPI_H + srv_send((char *)"201 information follows"); + for (j = 0; j < 4; j++) { + sprintf(obuf, " "); + for (i = 0; i < 20; i++) + obuf[i] = lcdbuf[lcdHandle][i][j]; + srv_send(obuf); + } + srv_send((char *)"."); +#else + srv_send((char *)"403 LCD not available"); +#endif + } else if (strncmp(buf, "ack", 3) == 0) { srv_send((char *)"ack"); } else if (strncmp(buf, "lcd", 3) == 0) { sprintf(obuf, "[\" \", \" \", \" \", \" \"]");