Versão atual 13-12-2013.

Dependencies:   EthernetInterface mbed-rtos mbed

Committer:
rebonatto
Date:
Fri Dec 13 11:45:06 2013 +0000
Revision:
1:238ac24e46dd
Parent:
0:65c41a68b49a
Atual 13-12-2013.

Who changed what in which revision?

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