Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
Diff: main.cpp
- Revision:
- 85:b6f2dc1d0f4f
- Parent:
- 84:b64f0e3b283e
- Child:
- 86:bf7b0d4c3232
diff -r b64f0e3b283e -r b6f2dc1d0f4f main.cpp --- a/main.cpp Fri Jan 02 19:17:19 2015 +0000 +++ b/main.cpp Sun Jan 04 13:56:08 2015 +0000 @@ -14,6 +14,8 @@ #include "prompt.h" #include "configs.h" +volatile u16_t bleuba = 0; + int main(){ init_wdt(); @@ -222,6 +224,7 @@ if( long_list ){ //FIXME implementar um algoritmo que me mostre o timeout de cada cbx do lado da linha, desse. + /* uint8_t missed_cb = ( ( max_ext - min_ext ) + 1 ) - v_cb->size(); if( ( max_ext % 2 ) == 0 ) missed_cb++; @@ -255,7 +258,8 @@ strcat( str, aux ); send_msg( "%s", str ); } - list = false; + */ + long_list = false; } if( pshowcb == true ){ @@ -397,18 +401,21 @@ } if( main_test == true ){ + /* static int next_value = 5010; Call_Box * cb = new Call_Box( next_value, next_value++ ); v_cb->add( cb ); cb->cb_set_status( cb_on_call ); cb->set_timeslice( ts->get_timeslice() ); - + */ // cb = new Call_Box( 5011, 5011 ); // v_cb->add( cb ); - + send_msg("CB_New (%u) -- CB_Delete (%u)", cb_new_counter, cb_delete_counter ); + send_msg("SIP_New (%u) -- SIP_Delete (%u)", sip_new_counter, sip_delete_counter ); + send_msg("RTP_New (%u) -- RTP_Delete (%u)", rtp_new_counter, rtp_delete_counter ); main_test = false; send_msg("Missed_Pkg :: %d ::", missed_pkg ); - + send_msg("Received ETH Pkg ( bleuba ) %d", bleuba ); } if( reset_cks == true ){ @@ -495,7 +502,6 @@ } } - if( already_removed ) if( debug_main || debug_invite ) debug_msg( "Already removed from inviting queue" ); cb->registry(); @@ -511,7 +517,7 @@ cb = new Call_Box( ext, port ); v_cb->add( cb ); } - cb->registry(); + //cb->registry(); cb->set_msg_id( data[ 0 ] ); invite_handler( v_call, v_cb, ts, cb ); }break; @@ -522,6 +528,7 @@ if( cb == NULL ){ if( debug_main ) debug_msg("Adding Cbx :: %d", ext ); cb = new Call_Box( ext, port ); + v_cb->add( cb ); if( debug_main ) debug_msg("Added CBx -- %d", ext ); } @@ -700,19 +707,21 @@ int read = udp_wdt_client.receiveFrom( udp_wdt_server, wake_msg, sizeof( wake_msg ) ); if( read > 0 ){ + eth_pkg_received++; + if( !( strncmp( wake_msg, "alive", 5 ) ) ){ // Just ckeck but not set 'alive?' // Ckecking and set 'alive' bool question_alive = ( wake_msg[ 5 ] == '?' ); - snprintf( wake_msg, 48,"wdt:%u,%u,%u,%c:", uptime, invite_counter, external_wdt, ( wdt.WatchdogCausedReset() ) ? '1' : '0' ); + snprintf( wake_msg, 48,"wdt:%u,%u,%u,%c,%u:", uptime, invite_counter, external_wdt, ( wdt.WatchdogCausedReset() ) ? '1' : '0', cb_new_counter ); wake_msg[ 48 - 1 ] = 0; int sent = 0; sent = udp_wdt_client.sendTo( udp_wdt_server, wake_msg, strlen( wake_msg ) ); if( wdt_show ) send_msg( "Sent %d bytes in response", sent ); - if( !question_alive ) { + if( (!question_alive) && ( cb_new_counter <= 46 ) && ( cb_new_counter >= 2 ) ) { external_wdt = EXTERN_WDT_IDLE; } }else if( !( strncmp( wake_msg, "reset", 5 ) ) ){ @@ -741,6 +750,9 @@ } if( debug_wdt ){ + send_msg("Received ETH Pkg ( bleuba ) %d", bleuba ); + bleuba = 0; + debug_wdt = false; if( eth_status == 0 ){ send_msg( "Wdt last reset: %s - status_eth :: Connected - Extern Wdt idle for :: %3d sec ( %3d ) - Rx from CBx idle for :: %3d sec ( %3d )",