Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
85:b6f2dc1d0f4f
Parent:
84:b64f0e3b283e
Child:
86:bf7b0d4c3232
--- 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 )",