Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
config_manager.cpp
00001 %: include "config_manager.h" 00002 00003 extern Serial pc; 00004 00005 ConfigManager::ConfigManager ( void ) 00006 { 00007 int siRet = fget_ip ( chHeader_ip, sizeof ( chHeader_ip ) ); 00008 00009 if ( siRet < 0 ) 00010 { 00011 strncpy ( chHeader_ip, MY_IP, sizeof ( chHeader_ip ) - 1 ); 00012 set_header_ip ( MY_IP ); 00013 } 00014 00015 siRet = fget_server_ip ( chServer_ip, sizeof ( chServer_ip ) ); 00016 00017 if ( siRet < 0 ) 00018 { 00019 strncpy ( chServer_ip, SERVER_IP, sizeof ( chServer_ip ) - 1 ); 00020 set_server_ip ( SERVER_IP ); 00021 } 00022 00023 siRet = fget_mask ( chNet_mask, sizeof ( chNet_mask ) ); 00024 00025 if ( siRet < 0 ) 00026 { 00027 strncpy ( chNet_mask, MY_MSK, sizeof ( chNet_mask ) - 1 ); 00028 set_net_mask ( MY_MSK ); 00029 } 00030 00031 siRet = fget_gateway ( chGateway, sizeof ( chGateway ) ); 00032 00033 if ( siRet < 0 ) 00034 { 00035 strncpy ( chGateway, MY_GTW, sizeof ( chGateway ) - 1 ); 00036 set_gateway ( MY_GTW ); 00037 } 00038 00039 siRet = fget_fw_ip ( chFw_server_ip, sizeof ( chFw_server_ip ) ); 00040 00041 if ( siRet < 0 ) 00042 { 00043 strncpy ( chFw_server_ip, FW_SERVER_IP, sizeof ( chFw_server_ip ) - 1 ); 00044 set_fw_server_ip ( FW_SERVER_IP ); 00045 } 00046 00047 siRet = fget_header_ext (); 00048 00049 if ( siRet < 0 ) 00050 { 00051 u16Ext = u16_MY_EXT; 00052 set_header_ext ( u16_MY_EXT ); 00053 } 00054 else 00055 { 00056 u16Ext = ( uint16_t ) siRet; 00057 } 00058 00059 siRet = fget_header_sip_port (); 00060 00061 if ( siRet < 0 ) 00062 { 00063 u16Port = u16_MY_PORT; 00064 set_header_sip_port ( u16_MY_PORT ); 00065 } 00066 else 00067 { 00068 u16Port = ( uint16_t ) siRet; 00069 } 00070 00071 siRet = fget_server_ext (); 00072 00073 if ( siRet < 0 ) 00074 { 00075 u16Server_ext = u16_PEER_EXT; 00076 set_server_ext ( u16_PEER_EXT ); 00077 } 00078 else 00079 { 00080 u16Server_ext = ( uint16_t ) siRet; 00081 } 00082 00083 siRet = fget_server_port (); 00084 00085 if ( siRet < 0 ) 00086 { 00087 u16Server_port = u16_SERVER_PORT; 00088 set_server_port ( u16_SERVER_PORT ); 00089 } 00090 else 00091 { 00092 u16Server_port = ( uint16_t ) siRet; 00093 } 00094 00095 siRet = fget_fw_port (); 00096 00097 if ( siRet < 0 ) 00098 { 00099 u16Fw_server_port = u16_FW_SERVER_PORT; 00100 set_fw_server_port ( u16_FW_SERVER_PORT ); 00101 } 00102 else 00103 { 00104 u16Fw_server_port = ( uint16_t ) siRet; 00105 } 00106 00107 siRet = fget_max_ext (); 00108 00109 if ( siRet < 0 ) 00110 { 00111 u16Max_ext = u16_MAX_EXT; 00112 set_max_ext ( u16_MAX_EXT ); 00113 } 00114 else 00115 { 00116 u16Max_ext = ( uint16_t ) siRet; 00117 } 00118 00119 siRet = fget_min_ext (); 00120 00121 if ( siRet < 0 ) 00122 { 00123 u16Min_ext = u16_MIN_EXT; 00124 set_min_ext ( u16_MIN_EXT ); 00125 } 00126 else 00127 { 00128 u16Min_ext = ( uint16_t ) siRet; 00129 } 00130 00131 siRet = fget_shift_port (); 00132 00133 if ( siRet < 0 ) 00134 { 00135 u16Shift_port = u16_SHIFT_PORT; 00136 set_shift_port ( u16_SHIFT_PORT ); 00137 } 00138 else 00139 { 00140 u16Shift_port = ( uint16_t ) siRet; 00141 } 00142 00143 siRet = fget_acceptable_delay (); 00144 00145 if ( siRet < 0 ) 00146 { 00147 u8Acceptable_delay = u8_ACCEPTABLE_DELAY; 00148 fset_acceptable_delay ( u8_ACCEPTABLE_DELAY ); 00149 } 00150 else 00151 { 00152 u8Acceptable_delay = ( uint8_t ) siRet; 00153 } 00154 00155 00156 siRet = fget_tcp_port_listener (); 00157 00158 if ( siRet < 0 ) 00159 { 00160 u16Tcp_port_listener = u16_TCP_PORT_LISTENER; 00161 set_tcp_port_listener ( u16_TCP_PORT_LISTENER ); 00162 } 00163 else 00164 { 00165 u16Tcp_port_listener = ( uint16_t ) siRet; 00166 } 00167 00168 siRet = fget_udp_port_listener (); 00169 00170 if ( siRet < 0 ) 00171 { 00172 u16Udp_port_listener = u16_UDP_PORT_LISTENER; 00173 set_udp_port_listener ( u16_UDP_PORT_LISTENER ); 00174 } 00175 else 00176 { 00177 u16Udp_port_listener = ( uint16_t ) siRet; 00178 } 00179 00180 strcpy ( this -> chClock_erver_ip, this -> chServer_ip ); 00181 00182 boolCallBoxDetachMode = fget_cbx_detach_mode ( &siRet ); 00183 00184 if ( siRet < 0 ) 00185 { 00186 boolCallBoxDetachMode = false; 00187 set_cbx_detach_mode ( false ); 00188 } 00189 00190 boolCallBoxWakeMode = fget_cbx_wake_mode ( &siRet ); 00191 00192 if ( siRet < 0 ) 00193 { 00194 boolCallBoxWakeMode = true; 00195 set_cbx_wake_mode ( true ); 00196 } 00197 00198 siRet = fget_cbx_mode (); 00199 00200 if ( siRet < 0 ) 00201 { 00202 u8CallBoxMode = u8_CUSTOM_MODE; 00203 fset_cbx_mode ( u8_CUSTOM_MODE ); 00204 } 00205 else 00206 { 00207 u8CallBoxMode = ( uint8_t ) siRet; 00208 00209 if ( u8CallBoxMode == u8_FIBRA_MODE ) 00210 { 00211 boolCallBoxWakeMode = true; 00212 boolCallBoxDetachMode = false; 00213 } 00214 else if ( u8CallBoxMode == u8_RADIO_MODE ) 00215 { 00216 boolCallBoxWakeMode = false; 00217 boolCallBoxDetachMode = true; 00218 } 00219 } 00220 00221 set_modified_false (); 00222 } 00223 00224 ConfigManager::~ConfigManager ( void ) {} 00225 00226 void ConfigManager::restore_defaults_settings ( void ) 00227 { 00228 set_fw_server_ip ( FW_SERVER_IP ); 00229 set_fw_server_port ( u16_FW_SERVER_PORT ); 00230 set_gateway ( MY_GTW ); 00231 set_header_ext ( u16_MY_EXT ); 00232 set_header_ip ( MY_IP ); 00233 set_header_sip_port ( u16_MY_PORT ); 00234 set_max_ext ( u16_MAX_EXT ); 00235 set_min_ext ( u16_MIN_EXT ); 00236 set_net_mask ( MY_MSK ); 00237 set_server_ext ( u16_PEER_EXT ); 00238 set_server_ip ( SERVER_IP ); 00239 set_server_port ( u16_SERVER_PORT ); 00240 set_shift_port ( u16_SHIFT_PORT ); 00241 set_tcp_port_listener ( u16_TCP_PORT_LISTENER ); 00242 set_udp_port_listener ( u16_UDP_PORT_LISTENER ); 00243 00244 set_modified_true (); 00245 } 00246 00247 00248 00249 char * ConfigManager::get_header_ip ( char * buffer ) 00250 { 00251 strcpy ( buffer, chHeader_ip ); 00252 return ( buffer ); 00253 } 00254 00255 char * ConfigManager::get_server_ip ( char * buffer ) 00256 { 00257 strcpy ( buffer, chServer_ip ); 00258 return ( buffer ); 00259 } 00260 00261 char * ConfigManager::get_clock_server_ip ( char * buffer ) 00262 { 00263 return ( get_server_ip ( buffer ) ); 00264 } 00265 00266 char * ConfigManager::get_net_mask ( char * buffer ) 00267 { 00268 strcpy ( buffer, chNet_mask ); 00269 return ( buffer ); 00270 } 00271 00272 char * ConfigManager::get_gateway ( char * buffer ) 00273 { 00274 strcpy ( buffer, chGateway ); 00275 return ( buffer ); 00276 } 00277 00278 char * ConfigManager::get_fw_server_ip ( char * buffer ) 00279 { 00280 strcpy ( buffer, chFw_server_ip ); 00281 return ( buffer ); 00282 } 00283 uint8_t ConfigManager::get_acceptable_delay ( void ) { return u8Acceptable_delay; } 00284 00285 uint16_t ConfigManager::get_ext ( void ) { return ( u16Ext ); } 00286 00287 uint16_t ConfigManager::get_port ( void ) { return ( u16Port ); } 00288 00289 uint16_t ConfigManager::get_server_ext ( void ) { return ( u16Server_ext ); } 00290 00291 uint16_t ConfigManager::get_server_port ( void ) { return ( u16Server_port ); } 00292 00293 uint16_t ConfigManager::get_fw_server_port ( void ) { return ( u16Fw_server_port ); } 00294 00295 uint16_t ConfigManager::get_max_ext ( void ) { return ( u16Max_ext ); } 00296 00297 uint16_t ConfigManager::get_min_ext ( void ) { return ( u16Min_ext ); } 00298 00299 uint16_t ConfigManager::get_shift_port ( void ) { return ( u16Shift_port ); } 00300 00301 uint16_t ConfigManager::get_udp_port_listener ( void ) { return ( u16Udp_port_listener ); } 00302 00303 uint16_t ConfigManager::get_tcp_port_listener ( void ) { return ( u16Tcp_port_listener ); } 00304 00305 bool ConfigManager::was_modified ( void ) { return boolModified; } 00306 00307 bool ConfigManager::get_cbx_detach_mode ( void ) { return boolCallBoxDetachMode; } 00308 00309 bool ConfigManager::get_cbx_wake_mode ( void ) { return boolCallBoxWakeMode; } 00310 00311 uint8_t ConfigManager::get_cbx_mode ( void ) { return u8CallBoxMode; } 00312 00313 void ConfigManager::set_header_ip ( const char * new_Header_ip ) 00314 { 00315 fset_header_ip ( new_Header_ip ); 00316 strcpy ( chHeader_ip, new_Header_ip ); 00317 set_modified_true (); 00318 boolHeader_ip_was_modified = true; 00319 } 00320 00321 void ConfigManager::set_server_ip ( const char * new_Server_ip ) 00322 { 00323 fset_server_ip ( new_Server_ip ); 00324 strcpy ( chServer_ip, new_Server_ip ); 00325 set_modified_true (); 00326 boolServer_ip_was_modified = true; 00327 } 00328 00329 void ConfigManager::set_net_mask ( const char * new_Net_mask ) 00330 { 00331 fset_mask ( new_Net_mask ); 00332 strcpy ( chNet_mask, new_Net_mask ); 00333 set_modified_true (); 00334 boolNet_mask_was_modified = true; 00335 } 00336 00337 void ConfigManager::set_gateway ( const char * new_Gateway ) 00338 { 00339 fset_gateway ( new_Gateway ); 00340 strcpy ( chGateway, new_Gateway ); 00341 set_modified_true (); 00342 boolGateway_was_modified = true; 00343 } 00344 00345 void ConfigManager::set_fw_server_ip ( const char * new_Fw_server_ip ) 00346 { 00347 fset_fw_ip ( new_Fw_server_ip ); 00348 strcpy ( chFw_server_ip, new_Fw_server_ip ); 00349 set_modified_true (); 00350 boolFw_server_ip_was_modified = true; 00351 } 00352 00353 void ConfigManager::set_header_ext ( const uint16_t new_Ext ) 00354 { 00355 fset_header_ext ( new_Ext ); 00356 u16Ext = new_Ext; 00357 set_modified_true (); 00358 boolHeader_ext_was_modified = true; 00359 } 00360 00361 void ConfigManager::set_header_sip_port ( const uint16_t new_Port ) 00362 { 00363 fset_header_sip_port ( new_Port ); 00364 u16Port = new_Port; 00365 set_modified_true (); 00366 boolHeader_sip_port_was_modified = true; 00367 } 00368 00369 void ConfigManager::set_server_ext ( const uint16_t new_Server_ext ) 00370 { 00371 fset_server_ext ( new_Server_ext ); 00372 u16Server_ext = new_Server_ext; 00373 set_modified_true (); 00374 boolServer_ext_was_modified = true; 00375 } 00376 00377 void ConfigManager::set_server_port ( const uint16_t new_Server_port ) 00378 { 00379 fset_server_port ( new_Server_port ); 00380 u16Server_port = new_Server_port; 00381 set_modified_true (); 00382 boolServer_port_was_modified = true; 00383 } 00384 00385 void ConfigManager::set_fw_server_port ( const uint16_t new_Fw_server_port ) 00386 { 00387 fset_fw_port ( new_Fw_server_port ); 00388 u16Fw_server_port = new_Fw_server_port; 00389 set_modified_true (); 00390 boolFw_server_port_was_modified = true; 00391 } 00392 00393 void ConfigManager::set_max_ext ( const uint16_t new_Max_ext ) 00394 { 00395 fset_max_ext ( new_Max_ext ); 00396 u16Max_ext = new_Max_ext; 00397 set_modified_true (); 00398 boolMax_ext_was_modified = true; 00399 } 00400 00401 void ConfigManager::set_min_ext ( const uint16_t new_Min_ext ) 00402 { 00403 fset_min_ext ( new_Min_ext ); 00404 u16Min_ext = new_Min_ext; 00405 set_modified_true (); 00406 boolMin_ext_was_modified = true; 00407 } 00408 00409 void ConfigManager::set_shift_port ( const uint16_t new_Shift_port ) 00410 { 00411 fset_shift_port ( new_Shift_port ); 00412 u16Shift_port = new_Shift_port; 00413 set_modified_true (); 00414 boolShift_port_was_modified = true; 00415 } 00416 00417 void ConfigManager::set_acceptable_delay ( const uint8_t new_acceptable_delay ) 00418 { 00419 u8Acceptable_delay = new_acceptable_delay; 00420 fset_acceptable_delay ( new_acceptable_delay ); 00421 } 00422 00423 00424 void ConfigManager::set_udp_port_listener ( const uint16_t new_udp_port_listener ) 00425 { 00426 u16Udp_port_listener = new_udp_port_listener; 00427 } 00428 00429 void ConfigManager::set_tcp_port_listener ( const uint16_t new_tcp_port_listener ) 00430 { 00431 u16Tcp_port_listener = new_tcp_port_listener; 00432 } 00433 00434 void ConfigManager::set_cbx_detach_mode ( const bool new_cbx_detach_mode ) 00435 { 00436 boolCallBoxDetachMode = new_cbx_detach_mode; 00437 fset_cbx_detach_mode ( new_cbx_detach_mode ); 00438 cbx_custom_mode_check (); 00439 } 00440 00441 void ConfigManager::set_cbx_wake_mode ( const bool new_cbx_wake_mode ) 00442 { 00443 boolCallBoxWakeMode = new_cbx_wake_mode; 00444 fset_cbx_wake_mode ( new_cbx_wake_mode ); 00445 cbx_custom_mode_check (); 00446 } 00447 00448 void ConfigManager::set_cbx_mode ( const uint8_t new_cbx_mode ) 00449 { 00450 u8CallBoxMode = new_cbx_mode; 00451 fset_cbx_mode ( new_cbx_mode ); 00452 00453 if ( u8CallBoxMode == u8_FIBRA_MODE ) 00454 { 00455 boolCallBoxWakeMode = true; 00456 boolCallBoxDetachMode = false; 00457 } 00458 else if ( u8CallBoxMode == u8_RADIO_MODE ) 00459 { 00460 boolCallBoxWakeMode = false; 00461 boolCallBoxDetachMode = true; 00462 } 00463 } 00464 00465 void ConfigManager::set_modified_true ( void ) { boolModified = true; } 00466 00467 void ConfigManager::set_modified_false ( void ) 00468 { 00469 boolModified = false; 00470 boolHeader_ip_was_modified = false; 00471 boolServer_ip_was_modified = false; 00472 boolNet_mask_was_modified = false; 00473 boolGateway_was_modified = false; 00474 boolFw_server_ip_was_modified = false; 00475 boolHeader_ext_was_modified = false; 00476 boolHeader_sip_port_was_modified = false; 00477 boolServer_ext_was_modified = false; 00478 boolServer_port_was_modified = false; 00479 boolFw_server_port_was_modified = false; 00480 boolMax_ext_was_modified = false; 00481 boolMin_ext_was_modified = false; 00482 boolShift_port_was_modified = false; 00483 } 00484 00485 bool ConfigManager::header_ip_was_modified ( void ) { return boolHeader_ip_was_modified; } 00486 bool ConfigManager::server_ip_was_modified ( void ) { return boolServer_ip_was_modified; } 00487 bool ConfigManager::net_mask_was_modified ( void ) { return boolNet_mask_was_modified; } 00488 bool ConfigManager::gateway_was_modified ( void ) { return boolGateway_was_modified; } 00489 bool ConfigManager::fw_server_ip_was_modified ( void ) { return boolFw_server_ip_was_modified; } 00490 bool ConfigManager::header_ext_was_modified ( void ) { return boolHeader_ext_was_modified; } 00491 bool ConfigManager::header_sip_port_was_modified ( void ) { return boolHeader_sip_port_was_modified; } 00492 bool ConfigManager::server_ext_was_modified ( void ) { return boolServer_ext_was_modified; } 00493 bool ConfigManager::server_port_was_modified ( void ) { return boolServer_port_was_modified; } 00494 bool ConfigManager::fw_server_port_was_modified ( void ) { return boolFw_server_port_was_modified; } 00495 bool ConfigManager::max_ext_was_modified ( void ) { return boolMax_ext_was_modified; } 00496 bool ConfigManager::min_ext_was_modified ( void ) { return boolMin_ext_was_modified; } 00497 bool ConfigManager::shift_port_was_modified ( void ) { return boolShift_port_was_modified; } 00498 00499 void ConfigManager::cbx_custom_mode_check ( void ) 00500 { 00501 uint8_t value = 0; 00502 if ( ( boolCallBoxWakeMode == true ) and ( boolCallBoxDetachMode == false ) ) value = ( u8_FIBRA_MODE ); 00503 00504 else if ( ( boolCallBoxWakeMode == false ) and ( boolCallBoxDetachMode == true ) ) value = ( u8_RADIO_MODE ); 00505 00506 else { value = u8_CUSTOM_MODE; } 00507 00508 u8CallBoxMode = value; 00509 fset_cbx_mode ( value ); 00510 }
Generated on Tue Jul 12 2022 16:25:03 by
