Versão atual 13-12-2013.

Dependencies:   EthernetInterface mbed-rtos mbed

Committer:
rebonatto
Date:
Fri Dec 13 11:42:59 2013 +0000
Revision:
0:65c41a68b49a
Versao atual 13-12-2013.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rebonatto 0:65c41a68b49a 1 #include "TelnetServer.h"
rebonatto 0:65c41a68b49a 2
rebonatto 0:65c41a68b49a 3 #include "Settings.h"
rebonatto 0:65c41a68b49a 4
rebonatto 0:65c41a68b49a 5 char *wrong_args_msg_get = "Wrong number of arguments.\r\n\r\nUsage: getparam <parameter name>\r\n";
rebonatto 0:65c41a68b49a 6 char *param_not_found_msg_get = "Parameter not found.\r\n\r\n";
rebonatto 0:65c41a68b49a 7
rebonatto 0:65c41a68b49a 8
rebonatto 0:65c41a68b49a 9 int TelnetServer::GetParamCommand(TCPSocketConnection *conn,char** argv,int argc)
rebonatto 0:65c41a68b49a 10 {
rebonatto 0:65c41a68b49a 11
rebonatto 0:65c41a68b49a 12 if(argc != 2)
rebonatto 0:65c41a68b49a 13 {
rebonatto 0:65c41a68b49a 14 conn->send(wrong_args_msg_get,strlen(wrong_args_msg_get));
rebonatto 0:65c41a68b49a 15 return 0;
rebonatto 0:65c41a68b49a 16 }
rebonatto 0:65c41a68b49a 17
rebonatto 0:65c41a68b49a 18 printf("Getting parameter\n");
rebonatto 0:65c41a68b49a 19
rebonatto 0:65c41a68b49a 20 if(!strcmp(argv[1],"ipserver"))
rebonatto 0:65c41a68b49a 21 {
rebonatto 0:65c41a68b49a 22 conn->send("\r\nipserver=",strlen("\r\nipserver="));
rebonatto 0:65c41a68b49a 23 conn->send(Settings::get_ServerUrl(),strlen(Settings::get_ServerUrl()));
rebonatto 0:65c41a68b49a 24 conn->send("\r\n",strlen("\r\n"));
rebonatto 0:65c41a68b49a 25 return 0;
rebonatto 0:65c41a68b49a 26 }
rebonatto 0:65c41a68b49a 27
rebonatto 0:65c41a68b49a 28 if(!strcmp(argv[1],"module"))
rebonatto 0:65c41a68b49a 29 {
rebonatto 0:65c41a68b49a 30 char b[12];
rebonatto 0:65c41a68b49a 31 conn->send("\r\nmodule=",strlen("\r\nmodule="));
rebonatto 0:65c41a68b49a 32 sprintf(b,"%d\r\n",Settings::get_ModuleNumber());
rebonatto 0:65c41a68b49a 33 conn->send(b,strlen(b));
rebonatto 0:65c41a68b49a 34 return 0;
rebonatto 0:65c41a68b49a 35 }
rebonatto 0:65c41a68b49a 36
rebonatto 0:65c41a68b49a 37 int i;
rebonatto 0:65c41a68b49a 38 for(i=0;i<Settings::get_MaxOutlets();i++)
rebonatto 0:65c41a68b49a 39 {
rebonatto 0:65c41a68b49a 40 char b[12];
rebonatto 0:65c41a68b49a 41 sprintf(b,"outlet%d",i);
rebonatto 0:65c41a68b49a 42 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 43 {
rebonatto 0:65c41a68b49a 44 sprintf(b,"\r\noutlet%d=%d\r\n",i,Settings::get_Outlet(i));
rebonatto 0:65c41a68b49a 45 conn->send(b,strlen(b));
rebonatto 0:65c41a68b49a 46 return 0;
rebonatto 0:65c41a68b49a 47 }
rebonatto 0:65c41a68b49a 48 }
rebonatto 0:65c41a68b49a 49 for(i=0;i<Settings::get_MaxChannels();i++)
rebonatto 0:65c41a68b49a 50 {
rebonatto 0:65c41a68b49a 51 char b[12];
rebonatto 0:65c41a68b49a 52 sprintf(b,"gain%d",i);
rebonatto 0:65c41a68b49a 53 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 54 {
rebonatto 0:65c41a68b49a 55 sprintf(b,"\r\ngain%d=%f\r\n",i,Settings::get_Gain(i));
rebonatto 0:65c41a68b49a 56 printf("Getting gain\n");
rebonatto 0:65c41a68b49a 57 conn->send(b,strlen(b));
rebonatto 0:65c41a68b49a 58 return 0;
rebonatto 0:65c41a68b49a 59 }
rebonatto 0:65c41a68b49a 60
rebonatto 0:65c41a68b49a 61 sprintf(b,"offset%d",i);
rebonatto 0:65c41a68b49a 62 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 63 {
rebonatto 0:65c41a68b49a 64 sprintf(b,"\r\noffset%d=%d\r\n",i,Settings::get_Offset(i));
rebonatto 0:65c41a68b49a 65 conn->send(b,strlen(b));
rebonatto 0:65c41a68b49a 66 return 0;
rebonatto 0:65c41a68b49a 67 }
rebonatto 0:65c41a68b49a 68
rebonatto 0:65c41a68b49a 69 sprintf(b,"limit%d",i);
rebonatto 0:65c41a68b49a 70 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 71 {
rebonatto 0:65c41a68b49a 72 sprintf(b,"\r\nlimit%d=%f\r\n",i,Settings::get_Limit(i));
rebonatto 0:65c41a68b49a 73 conn->send(b,strlen(b));
rebonatto 0:65c41a68b49a 74 return 0;
rebonatto 0:65c41a68b49a 75 }
rebonatto 0:65c41a68b49a 76
rebonatto 0:65c41a68b49a 77 sprintf(b,"outlet_number%d",i);
rebonatto 0:65c41a68b49a 78 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 79 {
rebonatto 0:65c41a68b49a 80 sprintf(b,"\r\noutlet_number%d=%d\r\n",i,Settings::get_OutletNumber(i));
rebonatto 0:65c41a68b49a 81 conn->send(b,strlen(b));
rebonatto 0:65c41a68b49a 82 return 0;
rebonatto 0:65c41a68b49a 83 }
rebonatto 0:65c41a68b49a 84
rebonatto 0:65c41a68b49a 85 sprintf(b,"purpose%d",i);
rebonatto 0:65c41a68b49a 86 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 87 {
rebonatto 0:65c41a68b49a 88 sprintf(b,"\r\npurpose%d=%c\r\n",i,Settings::get_Purpose(i));
rebonatto 0:65c41a68b49a 89 conn->send(b,strlen(b));
rebonatto 0:65c41a68b49a 90 return 0;
rebonatto 0:65c41a68b49a 91 }
rebonatto 0:65c41a68b49a 92 }
rebonatto 0:65c41a68b49a 93
rebonatto 0:65c41a68b49a 94 conn->send(param_not_found_msg_get,strlen(param_not_found_msg_get));
rebonatto 0:65c41a68b49a 95 return 0;
rebonatto 0:65c41a68b49a 96
rebonatto 0:65c41a68b49a 97 }