![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Versão atual 13-12-2013.
Dependencies: EthernetInterface mbed-rtos mbed
Codes/TelnetCommands/telnet_setparam.cpp@0:65c41a68b49a, 2013-12-13 (annotated)
- 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?
User | Revision | Line number | New 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 | } |