![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
Diff: main.cpp
- Revision:
- 33:735fd60e96d8
- Parent:
- 32:43041f5e27c4
- Child:
- 34:f19d9735428e
--- a/main.cpp Thu Sep 25 19:46:37 2014 +0000 +++ b/main.cpp Tue Sep 30 11:37:31 2014 +0000 @@ -4,10 +4,10 @@ #include "UART3Interrupt.h" #include "parallelcpld.h" #include "prompt.h" - #include "debug.h" #include "utils.h" #include "flood.h" +#include "eth.h" volatile uint8_t status = 0x00; @@ -25,8 +25,9 @@ } Timer t; - Timer flood_timer; t.start(); + Timer udp_timer; + static bool listen_udp = false; /* representa ramal do call box */ int ext = 0; @@ -84,11 +85,13 @@ } reset_leds(); init_fsystem(); + wdt.Configure( 40.0 ); debug_msg( " Ready " ); + udp_timer.start(); while( true ){ prompt_process(); - + wdt.kick(); if (pcks_s == 1){ pc.printf("\n\r PKG_CSK OK: %d", pkg_cksok); pc.printf("\n\r PKG_CSK ERR: %d\n\r", pkg_ckserr); @@ -141,9 +144,9 @@ for( register uint8_t i = 0; i < v_cb->size(); i++ ){ Call_Box * cb = ( Call_Box * )v_cb->get_element( i ); if( debug_alive ){ - debug_msg(" Type :: %d -- Ext :: %d -- TimeSlice :: %d -- remain_timeslices :: %d :: v_call->size() :: %d :: Status :: %d :: SIP Status %d", type , cb->get_ext(), cb->get_timeslice(), ts->remain_timeslices(), v_call->size(), cb->status, cb->sip->status ); } + debug_msg(" Type :: %d -- Ext :: %d -- TimeSlice :: %d -- remain_timeslices :: %d :: v_call->size() :: %d :: Status :: %d :: SIP Status %d", type , cb->get_ext(), cb->get_timeslice(), ts->remain_timeslices(), v_call->size(), cb->status, cb->sip->status ); } - + } if( debug_alive == 1 ){ if( debug_main ) debug_msg("Status - alive "); //uint32_t errper = 100*(pkg_ckserr/(pkg_ckserr + pkg_cksok)); @@ -155,16 +158,21 @@ if( debug_cks ) debug_msg("PKG_CSK OK: %d :: PKG_CSK ERR: %d", pkg_cksok, pkg_ckserr ); + //<><><><><><><><><><> simulando cbx if( count == 4 ){ Call_Box * cb = new Call_Box( 854, 0x1011 ); + cb->registry(); v_cb->add( cb ); + debug_msg("sent"); } count++; if( count == 41 ){ Call_Box * cb = new Call_Box( 854, 0x1011 ); + cb->registry(); v_cb->add( cb ); + debug_msg("sent"); } } //---------------------- @@ -392,6 +400,23 @@ }else { if (flag == 1) { flag = 0; } } + + int length; + if( udp_timer.read() > 1 && !listen_udp ){ + data = (uint8_t *)listen_eth_udp( (char *)buffer, &length ); + if( length ){ + listen_udp = true; + debug_msg(""); + }else udp_timer.reset(); + } + if( listen_udp ){ + data = (uint8_t *)listen_eth_udp( (char *)buffer, &length ); + if( udp_timer.read() > 30 ){ + listen_udp = false; + udp_timer.reset(); + } + } + type = __DO_NOTHING__; } } \ No newline at end of file