Versão sem FFT e aquisição por DMA. 256 amostras.

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed

Committer:
rebonatto
Date:
Tue Jan 05 11:45:44 2016 +0000
Revision:
0:e57bc370d339
Vers?o est?vel sem calculo de FFT. Aquisi??o por DMA. Usa 256 amostras.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rebonatto 0:e57bc370d339 1 #include "TelnetServer.h"
rebonatto 0:e57bc370d339 2
rebonatto 0:e57bc370d339 3 #include "Settings.h"
rebonatto 0:e57bc370d339 4
rebonatto 0:e57bc370d339 5 char *wrong_args_msg_set = "Wrong number of arguments.\r\n\r\nUsage: setparam <parameter name> <parameter value>\r\n";
rebonatto 0:e57bc370d339 6 char *param_not_found_msg_set = "Parameter not found.\r\n\r\n";
rebonatto 0:e57bc370d339 7 char *bad_argument_set = "The parameter supplied does not have a valid format.\r\n\r\n";
rebonatto 0:e57bc370d339 8
rebonatto 0:e57bc370d339 9 int TelnetServer::SetParamCommand(TCPSocketConnection *conn,char** argv,int argc)
rebonatto 0:e57bc370d339 10 {
rebonatto 0:e57bc370d339 11
rebonatto 0:e57bc370d339 12 if(argc != 3)
rebonatto 0:e57bc370d339 13 {
rebonatto 0:e57bc370d339 14 conn->send(wrong_args_msg_set,strlen(wrong_args_msg_set));
rebonatto 0:e57bc370d339 15 return 0;
rebonatto 0:e57bc370d339 16 }
rebonatto 0:e57bc370d339 17
rebonatto 0:e57bc370d339 18
rebonatto 0:e57bc370d339 19 if(!strcmp(argv[1],"Ipserver"))
rebonatto 0:e57bc370d339 20 {
rebonatto 0:e57bc370d339 21 ip_addr_t addr;
rebonatto 0:e57bc370d339 22 if(ipaddr_aton(argv[2],&addr) != ERR_OK)
rebonatto 0:e57bc370d339 23 {
rebonatto 0:e57bc370d339 24 conn->send(bad_argument_set,strlen(bad_argument_set));
rebonatto 0:e57bc370d339 25 }
rebonatto 0:e57bc370d339 26 else
rebonatto 0:e57bc370d339 27 {
rebonatto 0:e57bc370d339 28 Settings::set_ServerUrl(argv[2]);
rebonatto 0:e57bc370d339 29 Settings::WriteFile();
rebonatto 0:e57bc370d339 30 }
rebonatto 0:e57bc370d339 31 return 0;
rebonatto 0:e57bc370d339 32 }
rebonatto 0:e57bc370d339 33
rebonatto 0:e57bc370d339 34 if(!strcmp(argv[1],"Ipaddress"))
rebonatto 0:e57bc370d339 35 {
rebonatto 0:e57bc370d339 36 ip_addr_t addr;
rebonatto 0:e57bc370d339 37 if(ipaddr_aton(argv[2],&addr) != ERR_OK)
rebonatto 0:e57bc370d339 38 {
rebonatto 0:e57bc370d339 39 conn->send(bad_argument_set,strlen(bad_argument_set));
rebonatto 0:e57bc370d339 40 }
rebonatto 0:e57bc370d339 41 else
rebonatto 0:e57bc370d339 42 {
rebonatto 0:e57bc370d339 43 Settings::set_IpAddress(argv[2]);
rebonatto 0:e57bc370d339 44 Settings::WriteFile();
rebonatto 0:e57bc370d339 45 }
rebonatto 0:e57bc370d339 46 return 0;
rebonatto 0:e57bc370d339 47 }
rebonatto 0:e57bc370d339 48
rebonatto 0:e57bc370d339 49 if(!strcmp(argv[1],"module"))
rebonatto 0:e57bc370d339 50 {
rebonatto 0:e57bc370d339 51 Settings::set_ModuleNumber(atoi(argv[2]));
rebonatto 0:e57bc370d339 52 Settings::WriteFile();
rebonatto 0:e57bc370d339 53 return 0;
rebonatto 0:e57bc370d339 54 }
rebonatto 0:e57bc370d339 55
rebonatto 0:e57bc370d339 56 /* Pega os números das tomadas [0..2]*/
rebonatto 0:e57bc370d339 57 int i;
rebonatto 0:e57bc370d339 58 for(i=0;i<3;i++)
rebonatto 0:e57bc370d339 59 {
rebonatto 0:e57bc370d339 60 char b[12];
rebonatto 0:e57bc370d339 61 sprintf(b,"outlet%d",i);
rebonatto 0:e57bc370d339 62 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 63 {
rebonatto 0:e57bc370d339 64 Settings::set_Outlet(i,atoi(argv[2]));
rebonatto 0:e57bc370d339 65 Settings::WriteFile();
rebonatto 0:e57bc370d339 66 return 0;
rebonatto 0:e57bc370d339 67 }
rebonatto 0:e57bc370d339 68 }
rebonatto 0:e57bc370d339 69 /* Pega os canais, de 0..5 */
rebonatto 0:e57bc370d339 70 for(i=0;i<6;i++)
rebonatto 0:e57bc370d339 71 {
rebonatto 0:e57bc370d339 72 char b[12];
rebonatto 0:e57bc370d339 73 sprintf(b,"gain%d",i);
rebonatto 0:e57bc370d339 74 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 75 {
rebonatto 0:e57bc370d339 76 Settings::set_Gain(i,atof(argv[2]));
rebonatto 0:e57bc370d339 77 Settings::WriteFile();
rebonatto 0:e57bc370d339 78 return 0;
rebonatto 0:e57bc370d339 79 }
rebonatto 0:e57bc370d339 80
rebonatto 0:e57bc370d339 81 sprintf(b,"offset%d",i);
rebonatto 0:e57bc370d339 82 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 83 {
rebonatto 0:e57bc370d339 84 Settings::set_Offset(i,atoi(argv[2]));
rebonatto 0:e57bc370d339 85 Settings::WriteFile();
rebonatto 0:e57bc370d339 86 return 0;
rebonatto 0:e57bc370d339 87 }
rebonatto 0:e57bc370d339 88
rebonatto 0:e57bc370d339 89 sprintf(b,"limit%d",i);
rebonatto 0:e57bc370d339 90 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 91 {
rebonatto 0:e57bc370d339 92 Settings::set_Limit(i,atof(argv[2]));
rebonatto 0:e57bc370d339 93 Settings::WriteFile();
rebonatto 0:e57bc370d339 94 return 0;
rebonatto 0:e57bc370d339 95 }
rebonatto 0:e57bc370d339 96
rebonatto 0:e57bc370d339 97 sprintf(b,"outlet_number%d",i);
rebonatto 0:e57bc370d339 98 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 99 {
rebonatto 0:e57bc370d339 100 Settings::set_OutletNumber(i,atoi(argv[2]));
rebonatto 0:e57bc370d339 101 Settings::WriteFile();
rebonatto 0:e57bc370d339 102 return 0;
rebonatto 0:e57bc370d339 103 }
rebonatto 0:e57bc370d339 104
rebonatto 0:e57bc370d339 105 sprintf(b,"purpose%d",i);
rebonatto 0:e57bc370d339 106 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 107 {
rebonatto 0:e57bc370d339 108 Settings::set_Purpose(i,argv[2][0]);
rebonatto 0:e57bc370d339 109 Settings::WriteFile();
rebonatto 0:e57bc370d339 110 return 0;
rebonatto 0:e57bc370d339 111 }
rebonatto 0:e57bc370d339 112 }
rebonatto 0:e57bc370d339 113
rebonatto 0:e57bc370d339 114 /*
rebonatto 0:e57bc370d339 115 if(!strcmp(argv[1],"Samples"))
rebonatto 0:e57bc370d339 116 {
rebonatto 0:e57bc370d339 117 Settings::set_Samples(atoi(argv[2]));
rebonatto 0:e57bc370d339 118 Settings::WriteFile();
rebonatto 0:e57bc370d339 119 return 0;
rebonatto 0:e57bc370d339 120 }
rebonatto 0:e57bc370d339 121 */
rebonatto 0:e57bc370d339 122 if(!strcmp(argv[1],"EventLimit"))
rebonatto 0:e57bc370d339 123 {
rebonatto 0:e57bc370d339 124 Settings::set_EventLimit(atoi(argv[2]));
rebonatto 0:e57bc370d339 125 Settings::WriteFile();
rebonatto 0:e57bc370d339 126 return 0;
rebonatto 0:e57bc370d339 127 }
rebonatto 0:e57bc370d339 128
rebonatto 0:e57bc370d339 129 if(!strcmp(argv[1],"LogMarksInterval"))
rebonatto 0:e57bc370d339 130 {
rebonatto 0:e57bc370d339 131 int value = atoi(argv[2]);
rebonatto 0:e57bc370d339 132 if ( ! ( value > 0 ) ) {
rebonatto 0:e57bc370d339 133 conn->send(bad_argument_set,strlen(bad_argument_set));
rebonatto 0:e57bc370d339 134 return 0;
rebonatto 0:e57bc370d339 135 }
rebonatto 0:e57bc370d339 136 Settings::set_LogMarksInterval(atoi(argv[2]));
rebonatto 0:e57bc370d339 137 Settings::WriteFile();
rebonatto 0:e57bc370d339 138 return 0;
rebonatto 0:e57bc370d339 139 }
rebonatto 0:e57bc370d339 140
rebonatto 0:e57bc370d339 141 if(!strcmp(argv[1],"LogMarks"))
rebonatto 0:e57bc370d339 142 {
rebonatto 0:e57bc370d339 143 if ( strcmp(argv[2],"true") == 0 ) {
rebonatto 0:e57bc370d339 144 Settings::set_LogMarks(true);
rebonatto 0:e57bc370d339 145 } else {
rebonatto 0:e57bc370d339 146 Settings::set_LogMarks(false);
rebonatto 0:e57bc370d339 147 }
rebonatto 0:e57bc370d339 148 Settings::WriteFile();
rebonatto 0:e57bc370d339 149 return 0;
rebonatto 0:e57bc370d339 150 }
rebonatto 0:e57bc370d339 151
rebonatto 0:e57bc370d339 152 conn->send(param_not_found_msg_set,strlen(param_not_found_msg_set));
rebonatto 0:e57bc370d339 153 return 0;
rebonatto 0:e57bc370d339 154
rebonatto 0:e57bc370d339 155 }