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 /*
rebonatto 0:e57bc370d339 2 * Settings.h
rebonatto 0:e57bc370d339 3 *
rebonatto 0:e57bc370d339 4 * Created on:
rebonatto 0:e57bc370d339 5 * Author:
rebonatto 0:e57bc370d339 6 */
rebonatto 0:e57bc370d339 7
rebonatto 0:e57bc370d339 8 #ifndef SETTINGS_H
rebonatto 0:e57bc370d339 9 #define SETTINGS_H
rebonatto 0:e57bc370d339 10
rebonatto 0:e57bc370d339 11 #include <stdio.h>
rebonatto 0:e57bc370d339 12 #include <string.h>
rebonatto 0:e57bc370d339 13 #include <ctype.h>
rebonatto 0:e57bc370d339 14
rebonatto 0:e57bc370d339 15 #include "mbed.h"
rebonatto 0:e57bc370d339 16 #include "EthernetInterface.h"
rebonatto 0:e57bc370d339 17
rebonatto 0:e57bc370d339 18 #include "Split.h"
rebonatto 0:e57bc370d339 19
rebonatto 0:e57bc370d339 20 #define FILENAME "/local/pmed.txt"
rebonatto 0:e57bc370d339 21 #define FILENAMERESET "/local/foi.txt"
rebonatto 0:e57bc370d339 22 #define FREQBASE 60U
rebonatto 0:e57bc370d339 23 #define NUMBER_OF_CHANNELS 6U
rebonatto 0:e57bc370d339 24 #define NUMBER_OF_OUTLETS 3U
rebonatto 0:e57bc370d339 25 #define NUMBER_OF_HARMONICS 12U
rebonatto 0:e57bc370d339 26 #define NUMBER_OF_SAMPLES 256U
rebonatto 0:e57bc370d339 27 #define LENGTH_MAIL_BOX 10U
rebonatto 0:e57bc370d339 28 #define MAXTRIES 10U
rebonatto 0:e57bc370d339 29
rebonatto 0:e57bc370d339 30 class Settings
rebonatto 0:e57bc370d339 31 {
rebonatto 0:e57bc370d339 32
rebonatto 0:e57bc370d339 33 //server URL
rebonatto 0:e57bc370d339 34 static char* m_serverurl;
rebonatto 0:e57bc370d339 35 //module number
rebonatto 0:e57bc370d339 36 static int m_module_number;
rebonatto 0:e57bc370d339 37 //ip address
rebonatto 0:e57bc370d339 38 static char* m_ipaddress;
rebonatto 0:e57bc370d339 39 //netmask
rebonatto 0:e57bc370d339 40 static char* m_netmask;
rebonatto 0:e57bc370d339 41 //gateway
rebonatto 0:e57bc370d339 42 static char* m_gateway;
rebonatto 0:e57bc370d339 43 //dhcp
rebonatto 0:e57bc370d339 44 static int m_dhcp;
rebonatto 0:e57bc370d339 45
rebonatto 0:e57bc370d339 46 //read RFID
rebonatto 0:e57bc370d339 47 static int m_ReadRfid;
rebonatto 0:e57bc370d339 48
rebonatto 0:e57bc370d339 49 //gain x6(float)
rebonatto 0:e57bc370d339 50 static float m_gain[NUMBER_OF_CHANNELS];
rebonatto 0:e57bc370d339 51 //offset x6(int)
rebonatto 0:e57bc370d339 52 static int m_offset[NUMBER_OF_CHANNELS];
rebonatto 0:e57bc370d339 53 //limit x6(float)
rebonatto 0:e57bc370d339 54 static float m_limit[NUMBER_OF_CHANNELS];
rebonatto 0:e57bc370d339 55 //outlet x6 (int)
rebonatto 0:e57bc370d339 56 static int m_outlet_number[NUMBER_OF_CHANNELS];
rebonatto 0:e57bc370d339 57 //purpose x6(char)
rebonatto 0:e57bc370d339 58 static char m_purpose[NUMBER_OF_CHANNELS];
rebonatto 0:e57bc370d339 59
rebonatto 0:e57bc370d339 60 //outlet x3(int)
rebonatto 0:e57bc370d339 61 static int m_outlet[NUMBER_OF_OUTLETS];
rebonatto 0:e57bc370d339 62
rebonatto 0:e57bc370d339 63 //MaxChannels
rebonatto 0:e57bc370d339 64 //static int m_MaxChannels;
rebonatto 0:e57bc370d339 65 //MaxOutlets
rebonatto 0:e57bc370d339 66 //static int m_MaxOutlets;
rebonatto 0:e57bc370d339 67 //Samples
rebonatto 0:e57bc370d339 68 //static int m_Samples;
rebonatto 0:e57bc370d339 69 //FreqBase
rebonatto 0:e57bc370d339 70 //static int m_FreqBase;
rebonatto 0:e57bc370d339 71
rebonatto 0:e57bc370d339 72 //MaxHarmonics
rebonatto 0:e57bc370d339 73 static int m_MaxHarmonics;
rebonatto 0:e57bc370d339 74
rebonatto 0:e57bc370d339 75 //EventLimit
rebonatto 0:e57bc370d339 76 static int m_EventLimit;
rebonatto 0:e57bc370d339 77
rebonatto 0:e57bc370d339 78 //MailBoxLength
rebonatto 0:e57bc370d339 79 static int m_MBoxLength;
rebonatto 0:e57bc370d339 80
rebonatto 0:e57bc370d339 81 //NumberNeighbors
rebonatto 0:e57bc370d339 82 //static int m_NumNeighbors;
rebonatto 0:e57bc370d339 83
rebonatto 0:e57bc370d339 84 //Neighbors x3(char [16])
rebonatto 0:e57bc370d339 85 //static char *m_Neighbor[NEIGHBORS];
rebonatto 0:e57bc370d339 86
rebonatto 0:e57bc370d339 87 //PortTCP
rebonatto 0:e57bc370d339 88 //static int m_PortTCP;
rebonatto 0:e57bc370d339 89
rebonatto 0:e57bc370d339 90 //Socket to receive requests
rebonatto 0:e57bc370d339 91 //static TCPSocketServer m_ServerSocket;
rebonatto 0:e57bc370d339 92
rebonatto 0:e57bc370d339 93 //Socket to send requests
rebonatto 0:e57bc370d339 94 //static TCPSocketConnection m_Socket[NEIGHBORS];
rebonatto 0:e57bc370d339 95
rebonatto 0:e57bc370d339 96 //Maximum number of try connect and send
rebonatto 0:e57bc370d339 97 //static int m_MaxTries;
rebonatto 0:e57bc370d339 98
rebonatto 0:e57bc370d339 99 //Delay time (ms) between 2 tries
rebonatto 0:e57bc370d339 100 static int m_DelayTry;
rebonatto 0:e57bc370d339 101
rebonatto 0:e57bc370d339 102 //Delay time (ms) after Send (post)
rebonatto 0:e57bc370d339 103 static int m_DelaySend;
rebonatto 0:e57bc370d339 104
rebonatto 0:e57bc370d339 105 // Control the marks behavior in log file
rebonatto 0:e57bc370d339 106 static bool m_logMarks;
rebonatto 0:e57bc370d339 107 static int m_logMarksInterval;
rebonatto 0:e57bc370d339 108
rebonatto 0:e57bc370d339 109 public:
rebonatto 0:e57bc370d339 110
rebonatto 0:e57bc370d339 111 Settings();
rebonatto 0:e57bc370d339 112
rebonatto 0:e57bc370d339 113 static char* get_ServerUrl() { return m_serverurl; }
rebonatto 0:e57bc370d339 114 static void set_ServerUrl(char *value)
rebonatto 0:e57bc370d339 115 {
rebonatto 0:e57bc370d339 116 if(m_serverurl!=NULL) delete m_serverurl;
rebonatto 0:e57bc370d339 117 int sz = strlen(value)+1;
rebonatto 0:e57bc370d339 118 m_serverurl = new char[sz];
rebonatto 0:e57bc370d339 119 strcpy(m_serverurl,value);
rebonatto 0:e57bc370d339 120 }
rebonatto 0:e57bc370d339 121 static char* get_IpAddress() { return m_ipaddress; }
rebonatto 0:e57bc370d339 122 static void set_IpAddress(char *value)
rebonatto 0:e57bc370d339 123 {
rebonatto 0:e57bc370d339 124 if(m_ipaddress!=NULL) delete m_ipaddress;
rebonatto 0:e57bc370d339 125 int sz = strlen(value)+1;
rebonatto 0:e57bc370d339 126 m_ipaddress = new char[sz];
rebonatto 0:e57bc370d339 127 strcpy(m_ipaddress,value);
rebonatto 0:e57bc370d339 128 }
rebonatto 0:e57bc370d339 129 static char* get_Netmask() { return m_netmask; }
rebonatto 0:e57bc370d339 130 static void set_Netmask(char *value)
rebonatto 0:e57bc370d339 131 {
rebonatto 0:e57bc370d339 132 if(m_netmask!=NULL) delete m_netmask;
rebonatto 0:e57bc370d339 133 int sz = strlen(value)+1;
rebonatto 0:e57bc370d339 134 m_netmask = new char[sz];
rebonatto 0:e57bc370d339 135 strcpy(m_netmask,value);
rebonatto 0:e57bc370d339 136 }
rebonatto 0:e57bc370d339 137
rebonatto 0:e57bc370d339 138 static char* get_Gateway() { return m_gateway; }
rebonatto 0:e57bc370d339 139 static void set_Gateway(char *value)
rebonatto 0:e57bc370d339 140 {
rebonatto 0:e57bc370d339 141 if(m_gateway!=NULL) delete m_gateway;
rebonatto 0:e57bc370d339 142 int sz = strlen(value)+1;
rebonatto 0:e57bc370d339 143 m_gateway = new char[sz];
rebonatto 0:e57bc370d339 144 strcpy(m_gateway,value);
rebonatto 0:e57bc370d339 145 }
rebonatto 0:e57bc370d339 146 static int get_Dhcp() { return m_dhcp; }
rebonatto 0:e57bc370d339 147 static void set_Dhcp(int value) { m_dhcp = value; }
rebonatto 0:e57bc370d339 148
rebonatto 0:e57bc370d339 149 static int get_ReadRfid() { return m_ReadRfid; }
rebonatto 0:e57bc370d339 150 static void set_ReadRfid(int value) { m_ReadRfid = value; }
rebonatto 0:e57bc370d339 151
rebonatto 0:e57bc370d339 152 static int get_ModuleNumber() { return m_module_number; }
rebonatto 0:e57bc370d339 153 static void set_ModuleNumber(int value) { m_module_number = value; }
rebonatto 0:e57bc370d339 154
rebonatto 0:e57bc370d339 155 static float get_Gain(int i) { return m_gain[i]; }
rebonatto 0:e57bc370d339 156 static void set_Gain(int i, float value) { m_gain[i] = value; }
rebonatto 0:e57bc370d339 157 static int get_Offset(int i) { return m_offset[i]; }
rebonatto 0:e57bc370d339 158 static void set_Offset(int i, int value) { m_offset[i] = value; }
rebonatto 0:e57bc370d339 159 static float get_Limit(int i) { return m_limit[i]; }
rebonatto 0:e57bc370d339 160 static void set_Limit(int i, float value) { m_limit[i] = value; }
rebonatto 0:e57bc370d339 161 static int get_OutletNumber(int i) { return m_outlet_number[i]; }
rebonatto 0:e57bc370d339 162 static void set_OutletNumber(int i, int value) { m_outlet_number[i] = value; }
rebonatto 0:e57bc370d339 163 static char get_Purpose(int i) { return m_purpose[i]; }
rebonatto 0:e57bc370d339 164 static void set_Purpose(int i, char value) { m_purpose[i] = value; }
rebonatto 0:e57bc370d339 165
rebonatto 0:e57bc370d339 166 static int get_Outlet(int i) { return m_outlet[i]; }
rebonatto 0:e57bc370d339 167 static void set_Outlet(int i, int value) { m_outlet[i] = value; }
rebonatto 0:e57bc370d339 168
rebonatto 0:e57bc370d339 169 // static int get_MaxChannels() { return m_MaxChannels; }
rebonatto 0:e57bc370d339 170 // static void set_MaxChannels(int value) { m_MaxChannels = value; }
rebonatto 0:e57bc370d339 171 // static int get_MaxOutlets() { return m_MaxOutlets; }
rebonatto 0:e57bc370d339 172 // static void set_MaxOutlets(int value) { m_MaxOutlets = value; }
rebonatto 0:e57bc370d339 173 // static int get_FreqBase() { return m_FreqBase; }
rebonatto 0:e57bc370d339 174 // static void set_FreqBase(int value) { m_FreqBase = value; }
rebonatto 0:e57bc370d339 175 // static int get_Samples() { return m_Samples; }
rebonatto 0:e57bc370d339 176 // static void set_Samples(int value) { m_Samples = value; }
rebonatto 0:e57bc370d339 177
rebonatto 0:e57bc370d339 178 static int get_MaxHarmonics() { return m_MaxHarmonics; }
rebonatto 0:e57bc370d339 179 static void set_MaxHarmonics(int value) { m_MaxHarmonics = value; }
rebonatto 0:e57bc370d339 180 static int get_EventLimit() { return m_EventLimit; }
rebonatto 0:e57bc370d339 181 static void set_EventLimit(int value) { m_EventLimit = value; }
rebonatto 0:e57bc370d339 182 static int get_MBoxLength() { return m_MBoxLength; }
rebonatto 0:e57bc370d339 183 static void set_MBoxLength(int value) { m_MBoxLength = value; }
rebonatto 0:e57bc370d339 184
rebonatto 0:e57bc370d339 185 // static int get_NumNeighbors() { return m_NumNeighbors; }
rebonatto 0:e57bc370d339 186 // static void set_NumNeighbors(int value) { m_NumNeighbors = value; }
rebonatto 0:e57bc370d339 187 // static char* get_Neighbor(int i) { return m_Neighbor[i]; }
rebonatto 0:e57bc370d339 188 // static void set_Neighbor(int i, char *value)
rebonatto 0:e57bc370d339 189 // for(...)
rebonatto 0:e57bc370d339 190 // {
rebonatto 0:e57bc370d339 191 // if(m_Neighbor[i]!=NULL) delete m_Neighbor[i];
rebonatto 0:e57bc370d339 192 // int sz = strlen(value)+1;
rebonatto 0:e57bc370d339 193 // m_Neighbor[i] = new char[sz];
rebonatto 0:e57bc370d339 194 // strcpy(m_Neighbor[i],value);
rebonatto 0:e57bc370d339 195 // }
rebonatto 0:e57bc370d339 196 // static int get_PortTCP() { return m_PortTCP; }
rebonatto 0:e57bc370d339 197 // static void set_PortTCP(int value) { m_PortTCP = value; }
rebonatto 0:e57bc370d339 198 // static TCPSocketServer& get_ServerSocket() { return m_ServerSocket; }
rebonatto 0:e57bc370d339 199 // static void set_ServerSocket(TCPSocketServer value) { m_ServerSocket = value; }
rebonatto 0:e57bc370d339 200 // static TCPSocketConnection& get_Socket(int i) { return m_Socket[i]; }
rebonatto 0:e57bc370d339 201 // static void set_Socket(int i, TCPSocketConnection value) { m_Socket[i] = value; }
rebonatto 0:e57bc370d339 202 // static int get_MaxTries() { return m_MaxTries; }
rebonatto 0:e57bc370d339 203 // static void set_MaxTries(int value) { m_MaxTries = value; }
rebonatto 0:e57bc370d339 204
rebonatto 0:e57bc370d339 205 static int get_DelayTry() { return m_DelayTry; }
rebonatto 0:e57bc370d339 206 static void set_DelayTry(int value) { m_DelayTry = value; }
rebonatto 0:e57bc370d339 207
rebonatto 0:e57bc370d339 208 static int get_DelaySend() { return m_DelaySend; }
rebonatto 0:e57bc370d339 209 static void set_DelaySend(int value) { m_DelaySend = value; }
rebonatto 0:e57bc370d339 210
rebonatto 0:e57bc370d339 211 // Control the marks behavior in log file
rebonatto 0:e57bc370d339 212 static bool get_LogMarks() { return m_logMarks; }
rebonatto 0:e57bc370d339 213 static void set_LogMarks(bool value) { m_logMarks = value; }
rebonatto 0:e57bc370d339 214 static int get_LogMarksInterval() { return m_logMarksInterval; }
rebonatto 0:e57bc370d339 215 static void set_LogMarksInterval(int value) { m_logMarksInterval = value; }
rebonatto 0:e57bc370d339 216
rebonatto 0:e57bc370d339 217 static void ReadFile(); //Read the config file and places the values in the internal variables
rebonatto 0:e57bc370d339 218 static void LoadDefaults();
rebonatto 0:e57bc370d339 219 static void WriteFile();
rebonatto 0:e57bc370d339 220 static void ShowValues();
rebonatto 0:e57bc370d339 221
rebonatto 0:e57bc370d339 222 };
rebonatto 0:e57bc370d339 223
rebonatto 0:e57bc370d339 224 #endif //#ifndef SETTINGS