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_set = "Wrong number of arguments.\r\n\r\nUsage: setparam <parameter name> <parameter value>\r\n";
rebonatto 0:65c41a68b49a 6 char *param_not_found_msg_set = "Parameter not found.\r\n\r\n";
rebonatto 0:65c41a68b49a 7 char *bad_argument_set = "The parameter supplied does not have a valid format.\r\n\r\n";
rebonatto 0:65c41a68b49a 8
rebonatto 0:65c41a68b49a 9 int TelnetServer::SetParamCommand(TCPSocketConnection *conn,char** argv,int argc)
rebonatto 0:65c41a68b49a 10 {
rebonatto 0:65c41a68b49a 11
rebonatto 0:65c41a68b49a 12 if(argc != 3)
rebonatto 0:65c41a68b49a 13 {
rebonatto 0:65c41a68b49a 14 conn->send(wrong_args_msg_set,strlen(wrong_args_msg_set));
rebonatto 0:65c41a68b49a 15 return 0;
rebonatto 0:65c41a68b49a 16 }
rebonatto 0:65c41a68b49a 17
rebonatto 0:65c41a68b49a 18
rebonatto 0:65c41a68b49a 19 if(!strcmp(argv[1],"ipserver"))
rebonatto 0:65c41a68b49a 20 {
rebonatto 0:65c41a68b49a 21 ip_addr_t addr;
rebonatto 0:65c41a68b49a 22 if(ipaddr_aton(argv[2],&addr) != ERR_OK)
rebonatto 0:65c41a68b49a 23 {
rebonatto 0:65c41a68b49a 24 conn->send(bad_argument_set,strlen(bad_argument_set));
rebonatto 0:65c41a68b49a 25 }
rebonatto 0:65c41a68b49a 26 else
rebonatto 0:65c41a68b49a 27 {
rebonatto 0:65c41a68b49a 28 Settings::set_IpAddress(argv[2]);
rebonatto 0:65c41a68b49a 29 Settings::WriteFile();
rebonatto 0:65c41a68b49a 30 }
rebonatto 0:65c41a68b49a 31 return 0;
rebonatto 0:65c41a68b49a 32 }
rebonatto 0:65c41a68b49a 33
rebonatto 0:65c41a68b49a 34 if(!strcmp(argv[1],"module"))
rebonatto 0:65c41a68b49a 35 {
rebonatto 0:65c41a68b49a 36 Settings::set_ModuleNumber(atoi(argv[2]));
rebonatto 0:65c41a68b49a 37 Settings::WriteFile();
rebonatto 0:65c41a68b49a 38 return 0;
rebonatto 0:65c41a68b49a 39 }
rebonatto 0:65c41a68b49a 40
rebonatto 0:65c41a68b49a 41 int i;
rebonatto 0:65c41a68b49a 42 for(i=0;i<3;i++)
rebonatto 0:65c41a68b49a 43 {
rebonatto 0:65c41a68b49a 44 char b[12];
rebonatto 0:65c41a68b49a 45 sprintf(b,"outlet%d",i);
rebonatto 0:65c41a68b49a 46 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 47 {
rebonatto 0:65c41a68b49a 48 Settings::set_Outlet(i,atoi(argv[2]));
rebonatto 0:65c41a68b49a 49 Settings::WriteFile();
rebonatto 0:65c41a68b49a 50 return 0;
rebonatto 0:65c41a68b49a 51 }
rebonatto 0:65c41a68b49a 52 }
rebonatto 0:65c41a68b49a 53 for(i=0;i<6;i++)
rebonatto 0:65c41a68b49a 54 {
rebonatto 0:65c41a68b49a 55 char b[12];
rebonatto 0:65c41a68b49a 56 sprintf(b,"gain%d",i);
rebonatto 0:65c41a68b49a 57 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 58 {
rebonatto 0:65c41a68b49a 59 Settings::set_Gain(i,atof(argv[2]));
rebonatto 0:65c41a68b49a 60 Settings::WriteFile();
rebonatto 0:65c41a68b49a 61 return 0;
rebonatto 0:65c41a68b49a 62 }
rebonatto 0:65c41a68b49a 63
rebonatto 0:65c41a68b49a 64 sprintf(b,"offset%d",i);
rebonatto 0:65c41a68b49a 65 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 66 {
rebonatto 0:65c41a68b49a 67 Settings::set_Offset(i,atoi(argv[2]));
rebonatto 0:65c41a68b49a 68 Settings::WriteFile();
rebonatto 0:65c41a68b49a 69 return 0;
rebonatto 0:65c41a68b49a 70 }
rebonatto 0:65c41a68b49a 71
rebonatto 0:65c41a68b49a 72 sprintf(b,"limit%d",i);
rebonatto 0:65c41a68b49a 73 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 74 {
rebonatto 0:65c41a68b49a 75 Settings::set_Limit(i,atof(argv[2]));
rebonatto 0:65c41a68b49a 76 Settings::WriteFile();
rebonatto 0:65c41a68b49a 77 return 0;
rebonatto 0:65c41a68b49a 78 }
rebonatto 0:65c41a68b49a 79
rebonatto 0:65c41a68b49a 80 sprintf(b,"outlet_number%d",i);
rebonatto 0:65c41a68b49a 81 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 82 {
rebonatto 0:65c41a68b49a 83 Settings::set_OutletNumber(i,atoi(argv[2]));
rebonatto 0:65c41a68b49a 84 Settings::WriteFile();
rebonatto 0:65c41a68b49a 85 return 0;
rebonatto 0:65c41a68b49a 86 }
rebonatto 0:65c41a68b49a 87
rebonatto 0:65c41a68b49a 88 sprintf(b,"purpose%d",i);
rebonatto 0:65c41a68b49a 89 if(!strcmp(argv[1],b))
rebonatto 0:65c41a68b49a 90 {
rebonatto 0:65c41a68b49a 91 Settings::set_Purpose(i,argv[2][0]);
rebonatto 0:65c41a68b49a 92 Settings::WriteFile();
rebonatto 0:65c41a68b49a 93 return 0;
rebonatto 0:65c41a68b49a 94 }
rebonatto 0:65c41a68b49a 95 }
rebonatto 0:65c41a68b49a 96
rebonatto 0:65c41a68b49a 97 conn->send(param_not_found_msg_set,strlen(param_not_found_msg_set));
rebonatto 0:65c41a68b49a 98 return 0;
rebonatto 0:65c41a68b49a 99
rebonatto 0:65c41a68b49a 100 }