Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Tue Nov 24 14:06:22 2015 +0000
Revision:
137:32dd35a6dbc9
Parent:
135:2f4290590e51
core source of the .bin (09/21/2015) in the field

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 132:05cd37f7e007 1 %: ifndef __CONFIG_MANAGER_H__
klauss 132:05cd37f7e007 2 %: define __CONFIG_MANAGER_H__
klauss 132:05cd37f7e007 3
klauss 132:05cd37f7e007 4 %: include <stdint.h>
klauss 132:05cd37f7e007 5 %: include <string.h>
klauss 132:05cd37f7e007 6 %: include "file_system_manager.h"
klauss 132:05cd37f7e007 7
klauss 132:05cd37f7e007 8 /**
klauss 132:05cd37f7e007 9 * Classe que representa lógicamente os valores das variáveis de
klauss 132:05cd37f7e007 10 * ambiente usadas pela Cabeceira, estas variáveis são arquivadas
klauss 132:05cd37f7e007 11 * em arquivos e carregadas durante o boot.
klauss 132:05cd37f7e007 12 *
klauss 132:05cd37f7e007 13 * Header IP 192.168.120.171
klauss 132:05cd37f7e007 14 * Header ext 820
klauss 132:05cd37f7e007 15 * Header port 5062
klauss 132:05cd37f7e007 16 * Server IP 192.168.120.120
klauss 132:05cd37f7e007 17 * Server ext 723
klauss 132:05cd37f7e007 18 * Server port 5075
klauss 132:05cd37f7e007 19 * Mascara de rede 255.255.255.0
klauss 132:05cd37f7e007 20 * Gateway IP 192.168.120.1
klauss 132:05cd37f7e007 21 * FW Server IP 192.168.120.120
klauss 132:05cd37f7e007 22 * FW Server Port 6667
klauss 132:05cd37f7e007 23 * Max Ext 6000
klauss 132:05cd37f7e007 24 * Min Ext 5000
klauss 132:05cd37f7e007 25 * Shift Port 3000
klauss 132:05cd37f7e007 26 */
klauss 132:05cd37f7e007 27
klauss 132:05cd37f7e007 28 const uint16_t u16_SHIFT_PORT = 3000;
klauss 132:05cd37f7e007 29 ///< Deslocamento padrão de porta, usado na forma <ext recebido + SHIFT_PORT>
klauss 132:05cd37f7e007 30
klauss 132:05cd37f7e007 31 const char MY_IP[] = "192.168.120.171";
klauss 132:05cd37f7e007 32 ///< Representa o IP default da Header.
klauss 132:05cd37f7e007 33 //#define __MY_IP__ "192.168.2.20?" // Colinas
klauss 132:05cd37f7e007 34 //#define __MY_IP__ "192.168.1.200" // Colinas
klauss 132:05cd37f7e007 35
klauss 132:05cd37f7e007 36 const char SERVER_IP[] = "192.168.120.120";
klauss 132:05cd37f7e007 37 ///< Indica o IP defaut do servidor para onde a Header ira encaminhar pedidos de ligação.
klauss 132:05cd37f7e007 38 //#define __SERVER_IP__ "192.168.30.25" // Colinas
klauss 132:05cd37f7e007 39
klauss 132:05cd37f7e007 40 const uint16_t u16_MIN_EXT = 1;
klauss 132:05cd37f7e007 41 ///< Define o valor minimo de ramal que sera processado.
klauss 132:05cd37f7e007 42
klauss 132:05cd37f7e007 43 const uint16_t u16_MAX_EXT = 5999;
klauss 132:05cd37f7e007 44 ///< Define o valor máximo de ramal que sera processado.
klauss 132:05cd37f7e007 45
klauss 132:05cd37f7e007 46 const uint16_t u16_MY_EXT = 820;
klauss 132:05cd37f7e007 47 ///< Indica o ramal default da Header.
klauss 132:05cd37f7e007 48
klauss 132:05cd37f7e007 49 const uint16_t u16_MY_PORT = 5062;
klauss 132:05cd37f7e007 50 ///< Representa a porta default da Header.
klauss 132:05cd37f7e007 51
klauss 132:05cd37f7e007 52 const uint16_t u16_PEER_EXT = 913;
klauss 132:05cd37f7e007 53 ///< Estabelece o ramal default para onde a Header ira direcionar os pedidos de ligações.
klauss 132:05cd37f7e007 54 //#define __PEER_EXT__ 812 // VZ Producao
klauss 132:05cd37f7e007 55 //#define __PEER_EXT__ 813 // VZ Desenvolvimento
klauss 132:05cd37f7e007 56
klauss 132:05cd37f7e007 57 const uint16_t u16_SERVER_PORT = 5075;
klauss 132:05cd37f7e007 58 ///< Indica a porta default do server para onde os pacotes eth serão enviados na negociação SIP.
klauss 132:05cd37f7e007 59 //#define __SERVER_PORT__ 5060 // Colinas
klauss 132:05cd37f7e007 60
klauss 132:05cd37f7e007 61 const char MY_MSK[] = "255.255.255.0";
klauss 132:05cd37f7e007 62 ///< Indica a mascara de rede onde a Header se encontra.
klauss 132:05cd37f7e007 63 //#define __MY_GTW__ "192.168.2.254" // Colinas
klauss 132:05cd37f7e007 64
klauss 132:05cd37f7e007 65 const char MY_GTW[] = "192.168.120.1"; // vz
klauss 132:05cd37f7e007 66 ///< Indica o IP do Gateway de rede
klauss 132:05cd37f7e007 67
klauss 132:05cd37f7e007 68 const uint16_t u16_UDP_PORT_LISTENER = 11406;
klauss 132:05cd37f7e007 69 ///< Porta UDP na qual a Header espera por eventuais mensagens.
klauss 132:05cd37f7e007 70
klauss 132:05cd37f7e007 71 const uint16_t u16_TCP_PORT_LISTENER = 7879;
klauss 132:05cd37f7e007 72 ///< Porta TCP na qual a Header espera por eventuais mensagens.
klauss 132:05cd37f7e007 73
klauss 132:05cd37f7e007 74 const uint16_t u16_UDP_BOOTLOADER_PORT = 9891;
klauss 132:05cd37f7e007 75 ///< Porta UDP para tratativas do procedimento de gravação dos CBx.
klauss 132:05cd37f7e007 76
klauss 132:05cd37f7e007 77 const char FW_SERVER_IP[] = "192.168.120.144";
klauss 132:05cd37f7e007 78 ///< Estabelece o IP default para onde os dados de telemetria são enviados.
klauss 132:05cd37f7e007 79 const uint16_t u16_FW_SERVER_PORT = 9192;
klauss 132:05cd37f7e007 80 ///< Estabelece a porta default do servidor para onde os dados de telemetria são enviados
klauss 132:05cd37f7e007 81
klauss 132:05cd37f7e007 82 const uint8_t u8_IP_LENGTH = 46;
klauss 132:05cd37f7e007 83
klauss 133:3d136f5ffd66 84 const uint8_t u8_ACCEPTABLE_DELAY = 240;
klauss 133:3d136f5ffd66 85
klauss 135:2f4290590e51 86 const uint8_t u8_FIBRA_MODE = 0x46; // ascii F
klauss 135:2f4290590e51 87
klauss 135:2f4290590e51 88 const uint8_t u8_RADIO_MODE = 0x52; // ascii R
klauss 135:2f4290590e51 89
klauss 135:2f4290590e51 90 const uint8_t u8_CUSTOM_MODE = 0x43; // ascii C
klauss 135:2f4290590e51 91
klauss 132:05cd37f7e007 92 class ConfigManager
klauss 132:05cd37f7e007 93 {
klauss 132:05cd37f7e007 94 private :
klauss 132:05cd37f7e007 95 char chHeader_ip[ u8_IP_LENGTH ];
klauss 132:05cd37f7e007 96 uint16_t u16Ext;
klauss 132:05cd37f7e007 97 uint16_t u16Port;
klauss 132:05cd37f7e007 98 char chServer_ip[ u8_IP_LENGTH ];
klauss 132:05cd37f7e007 99 uint16_t u16Server_ext;
klauss 132:05cd37f7e007 100 uint16_t u16Server_port;
klauss 132:05cd37f7e007 101 char chNet_mask[ u8_IP_LENGTH ];
klauss 132:05cd37f7e007 102 char chGateway[ u8_IP_LENGTH ];
klauss 132:05cd37f7e007 103 char chFw_server_ip[ u8_IP_LENGTH ];
klauss 132:05cd37f7e007 104 uint16_t u16Fw_server_port;
klauss 132:05cd37f7e007 105 uint16_t u16Max_ext;
klauss 132:05cd37f7e007 106 uint16_t u16Min_ext;
klauss 132:05cd37f7e007 107 uint16_t u16Shift_port;
klauss 132:05cd37f7e007 108 uint16_t u16Udp_port_listener;
klauss 132:05cd37f7e007 109 uint16_t u16Tcp_port_listener;
klauss 132:05cd37f7e007 110 bool boolModified;
klauss 132:05cd37f7e007 111 bool boolHeader_ip_was_modified;
klauss 132:05cd37f7e007 112 bool boolServer_ip_was_modified;
klauss 132:05cd37f7e007 113 bool boolNet_mask_was_modified;
klauss 132:05cd37f7e007 114 bool boolGateway_was_modified;
klauss 132:05cd37f7e007 115 bool boolFw_server_ip_was_modified;
klauss 132:05cd37f7e007 116 bool boolHeader_ext_was_modified;
klauss 132:05cd37f7e007 117 bool boolHeader_sip_port_was_modified;
klauss 132:05cd37f7e007 118 bool boolServer_ext_was_modified;
klauss 132:05cd37f7e007 119 bool boolServer_port_was_modified;
klauss 132:05cd37f7e007 120 bool boolFw_server_port_was_modified;
klauss 132:05cd37f7e007 121 bool boolMax_ext_was_modified;
klauss 132:05cd37f7e007 122 bool boolMin_ext_was_modified;
klauss 132:05cd37f7e007 123 bool boolShift_port_was_modified;
klauss 135:2f4290590e51 124 bool boolCallBoxDetachMode;
klauss 135:2f4290590e51 125 bool boolCallBoxWakeMode;
klauss 135:2f4290590e51 126 uint8_t u8CallBoxMode;
klauss 132:05cd37f7e007 127 char chClock_erver_ip [ u8_IP_LENGTH ];
klauss 133:3d136f5ffd66 128 uint8_t u8Acceptable_delay;
klauss 132:05cd37f7e007 129
klauss 135:2f4290590e51 130 void cbx_custom_mode_check ( void );
klauss 132:05cd37f7e007 131
klauss 132:05cd37f7e007 132 public :
klauss 132:05cd37f7e007 133 ConfigManager ( void );
klauss 132:05cd37f7e007 134 ~ConfigManager ( void );
klauss 132:05cd37f7e007 135
klauss 132:05cd37f7e007 136 char * get_header_ip ( char * buffer );
klauss 132:05cd37f7e007 137 char * get_server_ip ( char * buffer );
klauss 132:05cd37f7e007 138 char * get_net_mask ( char * buffer );
klauss 132:05cd37f7e007 139 char * get_gateway ( char * buffer );
klauss 132:05cd37f7e007 140 char * get_fw_server_ip ( char * buffer );
klauss 132:05cd37f7e007 141 char * get_clock_server_ip ( char * buffer );
klauss 132:05cd37f7e007 142
klauss 133:3d136f5ffd66 143 uint8_t get_acceptable_delay ( void );
klauss 132:05cd37f7e007 144 uint16_t get_ext ( void );
klauss 132:05cd37f7e007 145 uint16_t get_port ( void );
klauss 132:05cd37f7e007 146 uint16_t get_server_ext ( void );
klauss 132:05cd37f7e007 147 uint16_t get_server_port ( void );
klauss 132:05cd37f7e007 148 uint16_t get_fw_server_port ( void );
klauss 132:05cd37f7e007 149 uint16_t get_max_ext ( void );
klauss 132:05cd37f7e007 150 uint16_t get_min_ext ( void );
klauss 132:05cd37f7e007 151 uint16_t get_shift_port ( void );
klauss 132:05cd37f7e007 152 uint16_t get_udp_port_listener ( void );
klauss 132:05cd37f7e007 153 uint16_t get_tcp_port_listener ( void );
klauss 132:05cd37f7e007 154 bool was_modified ( void );
klauss 132:05cd37f7e007 155
klauss 132:05cd37f7e007 156 bool header_ip_was_modified ( void );
klauss 132:05cd37f7e007 157 bool server_ip_was_modified ( void );
klauss 132:05cd37f7e007 158 bool net_mask_was_modified ( void );
klauss 132:05cd37f7e007 159 bool gateway_was_modified ( void );
klauss 132:05cd37f7e007 160 bool fw_server_ip_was_modified ( void );
klauss 132:05cd37f7e007 161 bool header_ext_was_modified ( void );
klauss 132:05cd37f7e007 162 bool header_sip_port_was_modified ( void );
klauss 132:05cd37f7e007 163 bool server_ext_was_modified ( void );
klauss 132:05cd37f7e007 164 bool server_port_was_modified ( void );
klauss 132:05cd37f7e007 165 bool fw_server_port_was_modified ( void );
klauss 132:05cd37f7e007 166 bool max_ext_was_modified ( void );
klauss 132:05cd37f7e007 167 bool min_ext_was_modified ( void );
klauss 132:05cd37f7e007 168 bool shift_port_was_modified ( void );
klauss 135:2f4290590e51 169 bool get_cbx_detach_mode ( void );
klauss 135:2f4290590e51 170 bool get_cbx_wake_mode ( void );
klauss 135:2f4290590e51 171 uint8_t get_cbx_mode ( void );
klauss 132:05cd37f7e007 172
klauss 132:05cd37f7e007 173 void set_header_ip ( const char * new_header_ip );
klauss 132:05cd37f7e007 174 void set_server_ip ( const char * new_server_ip );
klauss 132:05cd37f7e007 175 void set_net_mask ( const char * new_net_mask );
klauss 132:05cd37f7e007 176 void set_gateway ( const char * new_gateway );
klauss 132:05cd37f7e007 177 void set_fw_server_ip ( const char * new_fw_server_ip );
klauss 132:05cd37f7e007 178 void set_header_ext ( const uint16_t new_ext );
klauss 132:05cd37f7e007 179 void set_header_sip_port ( const uint16_t new_port );
klauss 132:05cd37f7e007 180 void set_server_ext ( const uint16_t new_server_ext );
klauss 132:05cd37f7e007 181 void set_server_port ( const uint16_t new_server_port );
klauss 132:05cd37f7e007 182 void set_fw_server_port ( const uint16_t new_fw_server_port );
klauss 132:05cd37f7e007 183 void set_max_ext ( const uint16_t new_max_ext );
klauss 132:05cd37f7e007 184 void set_min_ext ( const uint16_t new_min_ext );
klauss 132:05cd37f7e007 185 void set_shift_port ( const uint16_t new_shift_port );
klauss 132:05cd37f7e007 186 void set_udp_port_listener ( const uint16_t new_udp_port_listener );
klauss 132:05cd37f7e007 187 void set_tcp_port_listener ( const uint16_t new_tcp_port_listener );
klauss 132:05cd37f7e007 188 void set_modified_true ( void );
klauss 132:05cd37f7e007 189 void set_modified_false ( void );
klauss 133:3d136f5ffd66 190 void set_acceptable_delay ( const uint8_t new_acceptable_delay );
klauss 135:2f4290590e51 191 void set_cbx_detach_mode ( const bool new_cbx_detach_mode );
klauss 135:2f4290590e51 192 void set_cbx_wake_mode ( const bool new_cbx_wake_mode );
klauss 135:2f4290590e51 193 void set_cbx_mode ( const uint8_t new_cbx_mode );
klauss 132:05cd37f7e007 194
klauss 132:05cd37f7e007 195 void restore_defaults_settings ( void );
klauss 132:05cd37f7e007 196 };
klauss 132:05cd37f7e007 197
klauss 132:05cd37f7e007 198 %: endif