VZTECH / Mbed 2 deprecated main_src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers config_manager.cpp Source File

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 }