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_get = "Wrong number of arguments.\r\n\r\nUsage: getparam <parameter name>\r\n";
rebonatto 0:e57bc370d339 6 char *param_not_found_msg_get = "Parameter not found.\r\n\r\n";
rebonatto 0:e57bc370d339 7
rebonatto 0:e57bc370d339 8 int TelnetServer::GetParamCommand(TCPSocketConnection *conn,char** argv,int argc)
rebonatto 0:e57bc370d339 9 {
rebonatto 0:e57bc370d339 10
rebonatto 0:e57bc370d339 11 if(argc != 2)
rebonatto 0:e57bc370d339 12 {
rebonatto 0:e57bc370d339 13 conn->send(wrong_args_msg_get,strlen(wrong_args_msg_get));
rebonatto 0:e57bc370d339 14 return 0;
rebonatto 0:e57bc370d339 15 }
rebonatto 0:e57bc370d339 16
rebonatto 0:e57bc370d339 17 printf("Getting parameter %s\n", argv[1]);
rebonatto 0:e57bc370d339 18
rebonatto 0:e57bc370d339 19 if(!strcmp(argv[1],"Ipserver"))
rebonatto 0:e57bc370d339 20 {
rebonatto 0:e57bc370d339 21 conn->send("\r\nIpserver=",strlen("\r\nIpserver="));
rebonatto 0:e57bc370d339 22 conn->send(Settings::get_ServerUrl(),strlen(Settings::get_ServerUrl()));
rebonatto 0:e57bc370d339 23 conn->send("\r\n",strlen("\r\n"));
rebonatto 0:e57bc370d339 24 return 0;
rebonatto 0:e57bc370d339 25 }
rebonatto 0:e57bc370d339 26
rebonatto 0:e57bc370d339 27 if(!strcmp(argv[1],"Ipaddress"))
rebonatto 0:e57bc370d339 28 {
rebonatto 0:e57bc370d339 29 conn->send("\r\nIpaddress=",strlen("\r\nIpaddress="));
rebonatto 0:e57bc370d339 30 conn->send(Settings::get_IpAddress(),strlen(Settings::get_IpAddress()));
rebonatto 0:e57bc370d339 31 conn->send("\r\n",strlen("\r\n"));
rebonatto 0:e57bc370d339 32 return 0;
rebonatto 0:e57bc370d339 33 }
rebonatto 0:e57bc370d339 34
rebonatto 0:e57bc370d339 35 if(!strcmp(argv[1],"module"))
rebonatto 0:e57bc370d339 36 {
rebonatto 0:e57bc370d339 37 char b[12];
rebonatto 0:e57bc370d339 38 conn->send("\r\nmodule=",strlen("\r\nmodule="));
rebonatto 0:e57bc370d339 39 sprintf(b,"%d\r\n",Settings::get_ModuleNumber());
rebonatto 0:e57bc370d339 40 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 41 return 0;
rebonatto 0:e57bc370d339 42 }
rebonatto 0:e57bc370d339 43
rebonatto 0:e57bc370d339 44 /* Pega os numeros das tomadas [0..2]*/
rebonatto 0:e57bc370d339 45 int i;
rebonatto 0:e57bc370d339 46 for(i=0;i<NUMBER_OF_OUTLETS;i++)
rebonatto 0:e57bc370d339 47 {
rebonatto 0:e57bc370d339 48 char b[12];
rebonatto 0:e57bc370d339 49 sprintf(b,"outlet%d",i);
rebonatto 0:e57bc370d339 50 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 51 {
rebonatto 0:e57bc370d339 52 sprintf(b,"\r\noutlet%d=%d\r\n",i,Settings::get_Outlet(i));
rebonatto 0:e57bc370d339 53 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 54 return 0;
rebonatto 0:e57bc370d339 55 }
rebonatto 0:e57bc370d339 56 }
rebonatto 0:e57bc370d339 57 /* pega os dados dos canais [0..5] */
rebonatto 0:e57bc370d339 58 for(i=0;i<NUMBER_OF_CHANNELS;i++)
rebonatto 0:e57bc370d339 59 {
rebonatto 0:e57bc370d339 60 char b[12];
rebonatto 0:e57bc370d339 61 sprintf(b,"gain%d",i);
rebonatto 0:e57bc370d339 62 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 63 {
rebonatto 0:e57bc370d339 64 sprintf(b,"\r\ngain%d=%f\r\n",i,Settings::get_Gain(i));
rebonatto 0:e57bc370d339 65 printf("Getting gain\n");
rebonatto 0:e57bc370d339 66 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 67 return 0;
rebonatto 0:e57bc370d339 68 }
rebonatto 0:e57bc370d339 69
rebonatto 0:e57bc370d339 70 sprintf(b,"offset%d",i);
rebonatto 0:e57bc370d339 71 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 72 {
rebonatto 0:e57bc370d339 73 sprintf(b,"\r\noffset%d=%d\r\n",i,Settings::get_Offset(i));
rebonatto 0:e57bc370d339 74 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 75 return 0;
rebonatto 0:e57bc370d339 76 }
rebonatto 0:e57bc370d339 77
rebonatto 0:e57bc370d339 78 sprintf(b,"limit%d",i);
rebonatto 0:e57bc370d339 79 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 80 {
rebonatto 0:e57bc370d339 81 sprintf(b,"\r\nlimit%d=%f\r\n",i,Settings::get_Limit(i));
rebonatto 0:e57bc370d339 82 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 83 return 0;
rebonatto 0:e57bc370d339 84 }
rebonatto 0:e57bc370d339 85
rebonatto 0:e57bc370d339 86 sprintf(b,"outlet_number%d",i);
rebonatto 0:e57bc370d339 87 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 88 {
rebonatto 0:e57bc370d339 89 sprintf(b,"\r\noutlet_number%d=%d\r\n",i,Settings::get_OutletNumber(i));
rebonatto 0:e57bc370d339 90 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 91 return 0;
rebonatto 0:e57bc370d339 92 }
rebonatto 0:e57bc370d339 93
rebonatto 0:e57bc370d339 94 sprintf(b,"purpose%d",i);
rebonatto 0:e57bc370d339 95 if(!strcmp(argv[1],b))
rebonatto 0:e57bc370d339 96 {
rebonatto 0:e57bc370d339 97 sprintf(b,"\r\npurpose%d=%c\r\n",i,Settings::get_Purpose(i));
rebonatto 0:e57bc370d339 98 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 99 return 0;
rebonatto 0:e57bc370d339 100 }
rebonatto 0:e57bc370d339 101 }
rebonatto 0:e57bc370d339 102
rebonatto 0:e57bc370d339 103 /*
rebonatto 0:e57bc370d339 104 if(!strcmp(argv[1],"Samples"))
rebonatto 0:e57bc370d339 105 {
rebonatto 0:e57bc370d339 106 char b[12];
rebonatto 0:e57bc370d339 107 conn->send("\r\nSamples=",strlen("\r\nSamples="));
rebonatto 0:e57bc370d339 108 sprintf(b,"%d\r\n",NUMBER_OF_SAMPLES);
rebonatto 0:e57bc370d339 109 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 110 return 0;
rebonatto 0:e57bc370d339 111 }
rebonatto 0:e57bc370d339 112 */
rebonatto 0:e57bc370d339 113 if(!strcmp(argv[1],"EventLimit"))
rebonatto 0:e57bc370d339 114 {
rebonatto 0:e57bc370d339 115 char b[12];
rebonatto 0:e57bc370d339 116 conn->send("\r\nEventLimit=",strlen("\r\nEventLimit="));
rebonatto 0:e57bc370d339 117 sprintf(b,"%d\r\n",Settings::get_EventLimit());
rebonatto 0:e57bc370d339 118 conn->send(b,strlen(b));
rebonatto 0:e57bc370d339 119 return 0;
rebonatto 0:e57bc370d339 120 }
rebonatto 0:e57bc370d339 121
rebonatto 0:e57bc370d339 122 conn->send(param_not_found_msg_get,strlen(param_not_found_msg_get));
rebonatto 0:e57bc370d339 123 return 0;
rebonatto 0:e57bc370d339 124
rebonatto 0:e57bc370d339 125 }