Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Tue Nov 24 14:06:22 2015 +0000
Revision:
137:32dd35a6dbc9
Parent:
136:2da626f30efa
core source of the .bin (09/21/2015) in the field

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 121:ee02790d00b7 1 #include "main_app_functions.h"
klauss 120:770f00554b1e 2 #include "main_app_var_configs.h"
klauss 85:b6f2dc1d0f4f 3
klauss 91:c2a86b1f8aaa 4 int main()
klauss 114:472502b31a12 5 {
klauss 100:09a23fcd3bdf 6 debug_uart3 = true;
klauss 119:ee6a53069455 7
klauss 119:ee6a53069455 8 int header_app_init_ret = header_app_init ();
klauss 117:e9facba9db27 9
klauss 132:05cd37f7e007 10 vz_printf ( "header_app_init %s" , ( header_app_init_ret == 0 ) ? "Ok" : "Failure" );
klauss 99:e80850c51106 11
klauss 132:05cd37f7e007 12 if ( header_app_init_ret == 0 ) vz_printf ("Ready");
klauss 105:a930035b6556 13
klauss 114:472502b31a12 14 debug_uart3 = false;
klauss 105:a930035b6556 15
klauss 132:05cd37f7e007 16 power_source_timer.start ();
klauss 132:05cd37f7e007 17
klauss 136:2da626f30efa 18 bool init_test = true;
klauss 136:2da626f30efa 19 bool end_test = false;
klauss 136:2da626f30efa 20
klauss 136:2da626f30efa 21 bool init_test_mean = true;
klauss 136:2da626f30efa 22 bool end_test_mean = false;
klauss 136:2da626f30efa 23 Timer timer;
klauss 136:2da626f30efa 24
klauss 119:ee6a53069455 25 /*------------------------------------------ main loop ---------------------------------------------------------------*/
klauss 115:a1e1e2e60a2c 26
klauss 119:ee6a53069455 27 while( true )
klauss 136:2da626f30efa 28 {
klauss 136:2da626f30efa 29 if ( main_test_mean )
klauss 136:2da626f30efa 30 {
klauss 136:2da626f30efa 31 const uint16_t u16_COUNT_TIMES = 60000;
klauss 136:2da626f30efa 32
klauss 136:2da626f30efa 33 static uint16_t count = u16_COUNT_TIMES;
klauss 136:2da626f30efa 34
klauss 136:2da626f30efa 35 static uint64_t u_sum = 0;
klauss 136:2da626f30efa 36
klauss 136:2da626f30efa 37 if ( init_test_mean )
klauss 136:2da626f30efa 38 {
klauss 136:2da626f30efa 39 u_sum = 0;
klauss 136:2da626f30efa 40 count = u16_COUNT_TIMES;
klauss 136:2da626f30efa 41
klauss 136:2da626f30efa 42 init_test_mean = false;
klauss 136:2da626f30efa 43
klauss 136:2da626f30efa 44 timer.start ();
klauss 136:2da626f30efa 45 timer.reset ();
klauss 136:2da626f30efa 46 }
klauss 136:2da626f30efa 47 else if ( count )
klauss 136:2da626f30efa 48 {
klauss 136:2da626f30efa 49 count--;
klauss 136:2da626f30efa 50
klauss 136:2da626f30efa 51 timer.stop ();
klauss 136:2da626f30efa 52
klauss 136:2da626f30efa 53 u_sum += timer.read_us ();
klauss 136:2da626f30efa 54
klauss 136:2da626f30efa 55 timer.start ();
klauss 136:2da626f30efa 56 timer.reset ();
klauss 136:2da626f30efa 57
klauss 136:2da626f30efa 58 if ( count == 0 ) end_test_mean = true;
klauss 136:2da626f30efa 59 }
klauss 136:2da626f30efa 60 else if ( end_test_mean )
klauss 136:2da626f30efa 61 {
klauss 136:2da626f30efa 62 vz_printf ( "Elapsed_time_mean : [ %.2lfu ]", double ( u_sum / u16_COUNT_TIMES ) );
klauss 136:2da626f30efa 63
klauss 136:2da626f30efa 64 end_test_mean = false;
klauss 136:2da626f30efa 65 init_test_mean = true;
klauss 136:2da626f30efa 66 main_test_mean = false;
klauss 136:2da626f30efa 67
klauss 136:2da626f30efa 68 timer.stop ();
klauss 136:2da626f30efa 69 }
klauss 136:2da626f30efa 70 }
klauss 136:2da626f30efa 71
klauss 136:2da626f30efa 72 if ( main_test )
klauss 136:2da626f30efa 73 {
klauss 136:2da626f30efa 74 if ( init_test )
klauss 136:2da626f30efa 75 {
klauss 136:2da626f30efa 76 init_test = false;
klauss 136:2da626f30efa 77 end_test = true;
klauss 136:2da626f30efa 78 timer.start ();
klauss 136:2da626f30efa 79 timer.reset ();
klauss 136:2da626f30efa 80 } else if ( end_test )
klauss 136:2da626f30efa 81 {
klauss 136:2da626f30efa 82 timer.stop ();
klauss 136:2da626f30efa 83 int u_elapsed_time = timer.read_us ();
klauss 136:2da626f30efa 84 int m_elapsed_time = timer.read_ms ();
klauss 136:2da626f30efa 85 int s_elapsed_time = timer.read ();
klauss 136:2da626f30efa 86
klauss 136:2da626f30efa 87 vz_printf ( "Elapsed_time : [ %du, %dm, %ds ]", u_elapsed_time, m_elapsed_time, s_elapsed_time );
klauss 136:2da626f30efa 88
klauss 136:2da626f30efa 89 end_test = false;
klauss 136:2da626f30efa 90 init_test = true;
klauss 136:2da626f30efa 91 main_test = false;
klauss 136:2da626f30efa 92 }
klauss 136:2da626f30efa 93 }
klauss 136:2da626f30efa 94
klauss 132:05cd37f7e007 95 prompt_process ( NULL, 0 );
klauss 132:05cd37f7e007 96
klauss 132:05cd37f7e007 97 if ( cm -> was_modified () )
klauss 132:05cd37f7e007 98 {
klauss 132:05cd37f7e007 99 update_config_values ();
klauss 132:05cd37f7e007 100 cm -> set_modified_false ();
klauss 132:05cd37f7e007 101 }
klauss 126:1f90756250fb 102
klauss 126:1f90756250fb 103 if ( show_last_rx )
klauss 126:1f90756250fb 104 {
klauss 127:e7160a463b6c 105 if ( v_call -> size () == 0 ) show_last_rx_pkg_from_cbx ();
klauss 126:1f90756250fb 106 show_last_rx = false;
klauss 126:1f90756250fb 107 }
klauss 126:1f90756250fb 108
klauss 126:1f90756250fb 109 if ( show_last_tx )
klauss 126:1f90756250fb 110 {
klauss 127:e7160a463b6c 111 if ( v_call -> size () == 0 ) show_last_tx_pkg_from_cbx ();
klauss 126:1f90756250fb 112 show_last_tx = false;
klauss 126:1f90756250fb 113 }
klauss 126:1f90756250fb 114
klauss 124:c1b6c893e1c3 115 if ( show_hello_status )
klauss 124:c1b6c893e1c3 116 {
klauss 124:c1b6c893e1c3 117 show_hello_status_function ();
klauss 124:c1b6c893e1c3 118 show_hello_status = false;
klauss 124:c1b6c893e1c3 119 }
klauss 124:c1b6c893e1c3 120
klauss 78:1353744f01e1 121 if( v_cb->size() > max_registered_cbx ) max_registered_cbx = v_cb->size();
klauss 91:c2a86b1f8aaa 122
klauss 120:770f00554b1e 123 if ( sync_timer.read() > 5 )
klauss 119:ee6a53069455 124 {
klauss 78:1353744f01e1 125 sync_timer.reset();
klauss 91:c2a86b1f8aaa 126
klauss 119:ee6a53069455 127 if( debug_cks == true ) { pcks_s = true; }
klauss 91:c2a86b1f8aaa 128
klauss 119:ee6a53069455 129 if( debug_alive == true ) { pshowcb = true; }
klauss 105:a930035b6556 130
klauss 114:472502b31a12 131 if( !( ++count % 15 ) ) {
klauss 91:c2a86b1f8aaa 132 if( eth_status ) {
klauss 119:ee6a53069455 133 try_reconnect_with_eth ();
klauss 78:1353744f01e1 134 }
klauss 78:1353744f01e1 135 }
klauss 100:09a23fcd3bdf 136
klauss 114:472502b31a12 137 //35 sec.
klauss 135:2f4290590e51 138 if( ( count > 7 ) and ( wake_all == false ) and ( not wake_all_disable ) and ( cm -> get_cbx_wake_mode () ) ) {
klauss 81:3656f00ab3db 139 wake_all = true;
klauss 132:05cd37f7e007 140 if( debug_wake == true ) vz_printf ( "Time to wake" );
klauss 78:1353744f01e1 141 }
klauss 119:ee6a53069455 142
klauss 119:ee6a53069455 143 // enable na variavel que exibe lista com estatisticas de pacotes que falharam ao serem enviados via interface eth
klauss 119:ee6a53069455 144 if ( debug_missed ) { missed_send_udp_pkg = true; }
klauss 119:ee6a53069455 145
klauss 114:472502b31a12 146 }
klauss 124:c1b6c893e1c3 147
klauss 124:c1b6c893e1c3 148 if ( show_wake_all_up_status )
klauss 124:c1b6c893e1c3 149 {
klauss 135:2f4290590e51 150 vz_printf ( "wake_all_up status :: %s", ( wake_all ) ? "Enable" : "Disable" );
klauss 124:c1b6c893e1c3 151 show_wake_all_up_status = false;
klauss 124:c1b6c893e1c3 152 }
klauss 119:ee6a53069455 153
klauss 119:ee6a53069455 154 check_clock ();
klauss 114:472502b31a12 155
klauss 119:ee6a53069455 156 if ( r_stats )
klauss 119:ee6a53069455 157 {
klauss 119:ee6a53069455 158 reset_stats ();
klauss 120:770f00554b1e 159 stats = true;
klauss 63:0d95da692bb4 160 r_stats = false;
klauss 63:0d95da692bb4 161 }
klauss 91:c2a86b1f8aaa 162
klauss 119:ee6a53069455 163 if ( stats )
klauss 119:ee6a53069455 164 {
klauss 119:ee6a53069455 165 show_stats ();
klauss 63:0d95da692bb4 166 stats =false;
klauss 63:0d95da692bb4 167 }
klauss 114:472502b31a12 168
klauss 119:ee6a53069455 169 if ( list )
klauss 119:ee6a53069455 170 {
klauss 119:ee6a53069455 171 show_cb_list ( v_cb );
klauss 91:c2a86b1f8aaa 172 list = false;
klauss 114:472502b31a12 173 }
klauss 114:472502b31a12 174
klauss 119:ee6a53069455 175 if ( long_list )
klauss 106:a34fcf9f0e02 176 {
klauss 132:05cd37f7e007 177 show_cb_long_list ( v_cb, show_time, show_invites );
klauss 91:c2a86b1f8aaa 178 long_list = false;
klauss 123:1d395b5a4cad 179 show_time = false;
klauss 132:05cd37f7e007 180 show_invites = false;
klauss 52:12930cef17c4 181 }
klauss 119:ee6a53069455 182
klauss 119:ee6a53069455 183 if ( pshowcb )
klauss 119:ee6a53069455 184 {
klauss 119:ee6a53069455 185 show_cb ( v_cb );
klauss 78:1353744f01e1 186 pshowcb = false;
klauss 48:195c97f12e8e 187 }
klauss 97:8985817e8847 188
klauss 124:c1b6c893e1c3 189 if ( request_clock_now )
klauss 124:c1b6c893e1c3 190 {
klauss 124:c1b6c893e1c3 191 request_clock_to_server ();
klauss 124:c1b6c893e1c3 192 show_current_time = true;
klauss 124:c1b6c893e1c3 193 request_clock_now = false;
klauss 124:c1b6c893e1c3 194 }
klauss 124:c1b6c893e1c3 195
klauss 119:ee6a53069455 196 if ( show_current_time )
klauss 119:ee6a53069455 197 {
klauss 119:ee6a53069455 198 show_clock ();
klauss 119:ee6a53069455 199 show_current_time = false;;
klauss 119:ee6a53069455 200 }
klauss 119:ee6a53069455 201
klauss 120:770f00554b1e 202 if( show_sip ){
klauss 120:770f00554b1e 203 show_cb_sip ( v_cb );
klauss 97:8985817e8847 204 show_sip = false;
klauss 97:8985817e8847 205 }
klauss 91:c2a86b1f8aaa 206
klauss 81:3656f00ab3db 207 if( pflood == true ) flood();
klauss 91:c2a86b1f8aaa 208
klauss 91:c2a86b1f8aaa 209 if( debug_eth ) {
klauss 132:05cd37f7e007 210 vz_printf ("Eth status %s", ( eth_status == 0 ) ? "Connected" : "Disconnected" );
klauss 81:3656f00ab3db 211 debug_eth = false;
klauss 81:3656f00ab3db 212 }
klauss 132:05cd37f7e007 213
klauss 91:c2a86b1f8aaa 214
klauss 120:770f00554b1e 215 // chechando se existe um pacote vindo do cbx pendente
klauss 121:ee02790d00b7 216 if( status != WAITING )
klauss 121:ee02790d00b7 217 {
klauss 126:1f90756250fb 218 process_received_pkg_from_cbx ();
klauss 126:1f90756250fb 219 }
klauss 126:1f90756250fb 220 else if ( test_ts and test_ts_timer.read_ms () > 10 )
klauss 126:1f90756250fb 221 {
klauss 126:1f90756250fb 222 if ( v_cb -> size () not_eq 0 )
klauss 126:1f90756250fb 223 {
klauss 126:1f90756250fb 224 Call_Box * cb = ( Call_Box * ) v_cb -> get_element ( 0 );
klauss 126:1f90756250fb 225 if ( cb not_eq NULL )
klauss 126:1f90756250fb 226 {
klauss 126:1f90756250fb 227 ext = cb -> get_ext ();
klauss 126:1f90756250fb 228 port = cb -> get_port ();
klauss 126:1f90756250fb 229 }
klauss 126:1f90756250fb 230 }
klauss 126:1f90756250fb 231 else
klauss 126:1f90756250fb 232 {
klauss 126:1f90756250fb 233 ext = 5000;
klauss 126:1f90756250fb 234 port = 5000;
klauss 126:1f90756250fb 235 }
klauss 126:1f90756250fb 236
klauss 126:1f90756250fb 237 type = INVITE;
klauss 126:1f90756250fb 238 data = buffer;
klauss 126:1f90756250fb 239
klauss 126:1f90756250fb 240 test_ts_timer.reset ();
klauss 0:4d17cd9c8f9d 241 }
klauss 135:2f4290590e51 242 else if ( simulate )
klauss 135:2f4290590e51 243 {
klauss 135:2f4290590e51 244 simulate = false;
klauss 135:2f4290590e51 245
klauss 135:2f4290590e51 246 data = buffer;
klauss 135:2f4290590e51 247
klauss 135:2f4290590e51 248 data [ SEQ_NUM_PLACE ] = seq_num_to_simulate;
klauss 135:2f4290590e51 249
klauss 135:2f4290590e51 250 ext = ext_to_simulate;
klauss 135:2f4290590e51 251
klauss 135:2f4290590e51 252 port = port_to_simulate;
klauss 135:2f4290590e51 253
klauss 135:2f4290590e51 254 type = num_type_to_simulate;
klauss 135:2f4290590e51 255 }
klauss 91:c2a86b1f8aaa 256
klauss 119:ee6a53069455 257 if( sizes == true )
klauss 119:ee6a53069455 258 {
klauss 120:770f00554b1e 259 show_sizes ();
klauss 119:ee6a53069455 260 sizes = false;
klauss 109:a5b8264ffbbc 261 }
klauss 109:a5b8264ffbbc 262
klauss 120:770f00554b1e 263 // usado pra testes
klauss 112:6ae726539ab9 264 {
klauss 132:05cd37f7e007 265 if ( registra )
klauss 132:05cd37f7e007 266 {
klauss 132:05cd37f7e007 267 int internal_ext = 8000;
klauss 132:05cd37f7e007 268 registra = false;
klauss 135:2f4290590e51 269 for( register uint8_t i = 0; i < u8_MAX_CB_IN_A_BRANCH - 2; i++ ) {
klauss 132:05cd37f7e007 270 v_cb -> add ( new Call_Box ( internal_ext, internal_ext++ ) );
klauss 132:05cd37f7e007 271 }
klauss 132:05cd37f7e007 272 }
klauss 132:05cd37f7e007 273
klauss 132:05cd37f7e007 274 if ( registra4 )
klauss 132:05cd37f7e007 275 {
klauss 132:05cd37f7e007 276 int internal_ext = 8000;
klauss 132:05cd37f7e007 277 registra4 = false;
klauss 132:05cd37f7e007 278 for( register uint8_t i = 0; i < 4; i++ )
klauss 132:05cd37f7e007 279 {
klauss 132:05cd37f7e007 280 v_cb -> add ( new Call_Box ( internal_ext, internal_ext++ ) );
klauss 132:05cd37f7e007 281 }
klauss 132:05cd37f7e007 282 }
klauss 135:2f4290590e51 283
klauss 135:2f4290590e51 284 if ( need_registry_someone )
klauss 135:2f4290590e51 285 {
klauss 135:2f4290590e51 286 need_registry_someone = false;
klauss 135:2f4290590e51 287
klauss 135:2f4290590e51 288 v_cb -> add ( new Call_Box ( ext_to_be_registered, ext_to_be_registered ) );
klauss 135:2f4290590e51 289
klauss 135:2f4290590e51 290 ext_to_be_registered = 0;
klauss 135:2f4290590e51 291 }
klauss 112:6ae726539ab9 292 }
klauss 112:6ae726539ab9 293
klauss 132:05cd37f7e007 294 check_udp_packages_pending ( v_cb );
klauss 120:770f00554b1e 295
klauss 120:770f00554b1e 296 if( dshow_rtp == true )
klauss 109:a5b8264ffbbc 297 {
klauss 120:770f00554b1e 298 show_rtp ();
klauss 120:770f00554b1e 299 dshow_rtp = false;
klauss 120:770f00554b1e 300 }
klauss 117:e9facba9db27 301
klauss 120:770f00554b1e 302 // usado pra test
klauss 120:770f00554b1e 303 if ( frtp )
klauss 120:770f00554b1e 304 {
klauss 120:770f00554b1e 305 fuck_rtp ( v_cb );
klauss 120:770f00554b1e 306 frtp = false;
klauss 109:a5b8264ffbbc 307 }
klauss 109:a5b8264ffbbc 308
klauss 120:770f00554b1e 309 // usado pra test
klauss 109:a5b8264ffbbc 310 if ( rescue_rtp )
klauss 109:a5b8264ffbbc 311 {
klauss 109:a5b8264ffbbc 312 rescue_rtp = false;
klauss 121:ee02790d00b7 313 Call_Box * cb = find_CB( v_cb, rescue_rtp_target );
klauss 109:a5b8264ffbbc 314 if ( cb != NULL )
klauss 109:a5b8264ffbbc 315 {
klauss 109:a5b8264ffbbc 316 cb -> set_rtp_port ( rescue_rtp_value );
klauss 109:a5b8264ffbbc 317 }
klauss 109:a5b8264ffbbc 318 else
klauss 109:a5b8264ffbbc 319 {
klauss 132:05cd37f7e007 320 vz_debug ("rescue rtp fail");
klauss 109:a5b8264ffbbc 321 }
klauss 109:a5b8264ffbbc 322 }
klauss 109:a5b8264ffbbc 323
klauss 109:a5b8264ffbbc 324 if ( print_v_cb )
klauss 109:a5b8264ffbbc 325 {
klauss 120:770f00554b1e 326 v_cb->print_yourself ();
klauss 109:a5b8264ffbbc 327 print_v_cb = false;
klauss 109:a5b8264ffbbc 328 }
klauss 109:a5b8264ffbbc 329
klauss 109:a5b8264ffbbc 330 if ( print_v_call )
klauss 109:a5b8264ffbbc 331 {
klauss 109:a5b8264ffbbc 332 v_call->print_yourself ();
klauss 120:770f00554b1e 333 print_v_call = false;
klauss 109:a5b8264ffbbc 334 }
klauss 109:a5b8264ffbbc 335
klauss 109:a5b8264ffbbc 336 if ( print_cb_var )
klauss 109:a5b8264ffbbc 337 {
klauss 120:770f00554b1e 338 show_cb_content ();
klauss 109:a5b8264ffbbc 339 print_cb_var = false;
klauss 109:a5b8264ffbbc 340 }
klauss 109:a5b8264ffbbc 341
klauss 109:a5b8264ffbbc 342 if ( print_cb_all )
klauss 109:a5b8264ffbbc 343 {
klauss 120:770f00554b1e 344 show_cb_content_all ();
klauss 109:a5b8264ffbbc 345 print_cb_all = false;
klauss 109:a5b8264ffbbc 346 }
klauss 109:a5b8264ffbbc 347
klauss 109:a5b8264ffbbc 348 if ( print_hex_cb_var )
klauss 109:a5b8264ffbbc 349 {
klauss 120:770f00554b1e 350 show_hex_cb_content ();
klauss 109:a5b8264ffbbc 351 print_hex_cb_var = false;
klauss 81:3656f00ab3db 352 }
klauss 106:a34fcf9f0e02 353
klauss 109:a5b8264ffbbc 354 if ( print_hex_cb_all )
klauss 109:a5b8264ffbbc 355 {
klauss 120:770f00554b1e 356 show_hex_cb_content_all ();
klauss 109:a5b8264ffbbc 357 print_hex_cb_all = false;
klauss 109:a5b8264ffbbc 358 }
klauss 106:a34fcf9f0e02 359
klauss 120:770f00554b1e 360 if ( print_sip_var )
klauss 109:a5b8264ffbbc 361 {
klauss 132:05cd37f7e007 362 show_cb_sip ();
klauss 120:770f00554b1e 363 print_sip_var = false;
klauss 120:770f00554b1e 364 }
klauss 109:a5b8264ffbbc 365
klauss 120:770f00554b1e 366 if ( print_sip_all )
klauss 120:770f00554b1e 367 {
klauss 132:05cd37f7e007 368 show_cb_sip_all ();
klauss 120:770f00554b1e 369 print_sip_all = false;
klauss 120:770f00554b1e 370 }
klauss 120:770f00554b1e 371
klauss 120:770f00554b1e 372 if ( print_hex_sip_var )
klauss 120:770f00554b1e 373 {
klauss 132:05cd37f7e007 374 show_cb_hex_sip ();
klauss 120:770f00554b1e 375 print_hex_sip_var = false;
klauss 120:770f00554b1e 376 }
klauss 109:a5b8264ffbbc 377
klauss 109:a5b8264ffbbc 378 if( dcallshow_rtp == true ){
klauss 120:770f00554b1e 379 show_rtp_on_call ();
klauss 109:a5b8264ffbbc 380 dcallshow_rtp = false;
klauss 109:a5b8264ffbbc 381 }
klauss 109:a5b8264ffbbc 382
klauss 109:a5b8264ffbbc 383 if ( print_call_var )
klauss 109:a5b8264ffbbc 384 {
klauss 120:770f00554b1e 385 show_call ();
klauss 109:a5b8264ffbbc 386 print_call_var = false;
klauss 120:770f00554b1e 387
klauss 109:a5b8264ffbbc 388 }
klauss 109:a5b8264ffbbc 389
klauss 109:a5b8264ffbbc 390 if ( print_hex_call_var )
klauss 109:a5b8264ffbbc 391 {
klauss 120:770f00554b1e 392 show_hex_call ();
klauss 109:a5b8264ffbbc 393 print_hex_call_var = false;
klauss 109:a5b8264ffbbc 394 }
klauss 109:a5b8264ffbbc 395
klauss 109:a5b8264ffbbc 396
klauss 109:a5b8264ffbbc 397 if ( print_hex_rtp_var )
klauss 109:a5b8264ffbbc 398 {
klauss 120:770f00554b1e 399 show_cb_rtp ();
klauss 109:a5b8264ffbbc 400 print_hex_rtp_var = false;
klauss 109:a5b8264ffbbc 401 }
klauss 109:a5b8264ffbbc 402
klauss 109:a5b8264ffbbc 403 if ( print_rtp_var )
klauss 109:a5b8264ffbbc 404 {
klauss 120:770f00554b1e 405 show_cb_hex_rtp ();
klauss 109:a5b8264ffbbc 406 print_rtp_var = false;
klauss 81:3656f00ab3db 407 }
klauss 91:c2a86b1f8aaa 408
klauss 120:770f00554b1e 409 if( reset_cks == true )
klauss 120:770f00554b1e 410 {
klauss 120:770f00554b1e 411 reset_stats_cks ();
klauss 120:770f00554b1e 412 pcks_s = true;
klauss 120:770f00554b1e 413 reset_cks = false;
klauss 120:770f00554b1e 414 }
klauss 120:770f00554b1e 415
klauss 91:c2a86b1f8aaa 416 if( pcks_s == true ) {
klauss 120:770f00554b1e 417 show_cb_stats ();
klauss 81:3656f00ab3db 418 pcks_s = false;
klauss 81:3656f00ab3db 419 }
klauss 119:ee6a53069455 420
klauss 132:05cd37f7e007 421 if ( show_wdt_string )
klauss 132:05cd37f7e007 422 {
klauss 132:05cd37f7e007 423 char wdt_msg [ 1024 ];
klauss 132:05cd37f7e007 424 build_wdt_string ( wdt_msg, sizeof ( wdt_msg ) - 1 );
klauss 132:05cd37f7e007 425
klauss 132:05cd37f7e007 426 int siRet = strlen ( wdt_msg );
klauss 132:05cd37f7e007 427
klauss 132:05cd37f7e007 428 vz_printf ( "wdt_msg.length::%d\r\n%s", siRet, wdt_msg );
klauss 132:05cd37f7e007 429
klauss 132:05cd37f7e007 430 show_wdt_string = false;
klauss 132:05cd37f7e007 431 }
klauss 132:05cd37f7e007 432
klauss 120:770f00554b1e 433 if( reset_missed_send_udp_pkg )
klauss 120:770f00554b1e 434 {
klauss 120:770f00554b1e 435 reset_missed_send_udp ();
klauss 120:770f00554b1e 436 missed_send_udp_pkg = true;
klauss 119:ee6a53069455 437 reset_missed_send_udp_pkg = false;
klauss 119:ee6a53069455 438 }
klauss 119:ee6a53069455 439
klauss 124:c1b6c893e1c3 440 if ( missed_send_udp_pkg )
klauss 119:ee6a53069455 441 {
klauss 120:770f00554b1e 442 show_missed_send_udp_pkg ();
klauss 119:ee6a53069455 443 missed_send_udp_pkg = false;
klauss 119:ee6a53069455 444 }
klauss 124:c1b6c893e1c3 445
klauss 121:ee02790d00b7 446 // usado pra test
klauss 126:1f90756250fb 447 if ( flood_bug_pkg ){
klauss 100:09a23fcd3bdf 448 static int id = 0x10;
klauss 100:09a23fcd3bdf 449 if( id < 10 ) id = 0x0b;
klauss 119:ee6a53069455 450 send2callboxes( build_cb_package( 5828, 5123, REGISTRY,
klauss 119:ee6a53069455 451 ( char * )buffer, id++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, write_buffer ) );
klauss 100:09a23fcd3bdf 452 }
klauss 100:09a23fcd3bdf 453
klauss 126:1f90756250fb 454 if ( led_sync_timer.read() > 1 ) {
klauss 78:1353744f01e1 455 led_sync_timer.reset();
klauss 78:1353744f01e1 456 led3 = !led3;
klauss 78:1353744f01e1 457 CAB_LED = !CAB_LED;
klauss 78:1353744f01e1 458 }
klauss 126:1f90756250fb 459
klauss 135:2f4290590e51 460 if ( boolWho_is_your_pair )
klauss 135:2f4290590e51 461 {
klauss 135:2f4290590e51 462 boolWho_is_your_pair = false;
klauss 135:2f4290590e51 463
klauss 135:2f4290590e51 464 Call_Box * cb = find_CB ( v_cb, u16Who_is_your_pair );
klauss 135:2f4290590e51 465
klauss 135:2f4290590e51 466 if ( cb not_eq NULL )
klauss 135:2f4290590e51 467 {
klauss 135:2f4290590e51 468 cb = cb -> get_pair_cbx ();
klauss 135:2f4290590e51 469
klauss 135:2f4290590e51 470 if ( cb not_eq NULL ) vz_printf ( "[%d] pair [%d]", u16Who_is_your_pair, cb -> get_ext () );
klauss 135:2f4290590e51 471
klauss 135:2f4290590e51 472 else vz_printf ( "[%d] pair nao encontrado", u16Who_is_your_pair );
klauss 135:2f4290590e51 473
klauss 135:2f4290590e51 474 } else vz_printf ( "[%d] nao encontrado", u16Who_is_your_pair );
klauss 135:2f4290590e51 475
klauss 135:2f4290590e51 476 u16Who_is_your_pair = 0;
klauss 135:2f4290590e51 477 }
klauss 135:2f4290590e51 478
klauss 135:2f4290590e51 479 switch ( type )
klauss 126:1f90756250fb 480 {
klauss 126:1f90756250fb 481 case DO_NOTHING :{}
klauss 91:c2a86b1f8aaa 482 break;
klauss 91:c2a86b1f8aaa 483
klauss 126:1f90756250fb 484 case CB_BYE :
klauss 126:1f90756250fb 485 {
klauss 132:05cd37f7e007 486 cb_bye_counter ++;
klauss 132:05cd37f7e007 487 Call_Box * cb = find_CB ( v_cb, ext );
klauss 132:05cd37f7e007 488 if ( cb != NULL )
klauss 132:05cd37f7e007 489 {
klauss 132:05cd37f7e007 490 if ( debug_invite or debug_main ) vz_debug ("[%d] Bye pkg - msg_id %d e pkg_id %d", ext, cb -> get_msg_id (), data [ 0 ] );
klauss 92:92df17f538a8 491
klauss 81:3656f00ab3db 492 bool already_removed = true;
klauss 119:ee6a53069455 493
klauss 132:05cd37f7e007 494 if ( cb -> get_status () != cb_idle )
klauss 132:05cd37f7e007 495 {
klauss 119:ee6a53069455 496 already_removed = false;
klauss 119:ee6a53069455 497
klauss 132:05cd37f7e007 498 data [ TIMESLICE_PLACE ] = 0;
klauss 119:ee6a53069455 499
klauss 132:05cd37f7e007 500 send2callboxes ( build_cb_package ( ext, port, CB_BYE,
klauss 132:05cd37f7e007 501 ( char * )data, data [ 0 ] or_eq BIT7, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, write_buffer ) );
klauss 119:ee6a53069455 502
klauss 132:05cd37f7e007 503 ts -> return_timeslice ( cb -> call_end () );
klauss 119:ee6a53069455 504 }
klauss 119:ee6a53069455 505
klauss 132:05cd37f7e007 506 if ( already_removed ) if ( debug_main or debug_invite ) vz_debug ( "[%d] Already removed from inviting queue", ext );
klauss 119:ee6a53069455 507
klauss 119:ee6a53069455 508 already_removed = true;
klauss 119:ee6a53069455 509
klauss 119:ee6a53069455 510 for ( register uint8_t i = 0; i < v_call->size(); i++ )
klauss 119:ee6a53069455 511 {
klauss 0:4d17cd9c8f9d 512 VZ_call * call = (VZ_call *)v_call->get_element( i );
klauss 119:ee6a53069455 513 if( call->get_cb_ext() == ext )
klauss 119:ee6a53069455 514 {
klauss 81:3656f00ab3db 515 already_removed = false;
klauss 119:ee6a53069455 516
klauss 119:ee6a53069455 517 data[ TIMESLICE_PLACE ] = 0;
klauss 91:c2a86b1f8aaa 518
klauss 81:3656f00ab3db 519 v_call->remove_element( i );
klauss 119:ee6a53069455 520
klauss 119:ee6a53069455 521 send2callboxes( build_cb_package( ext, port, CB_BYE,
klauss 126:1f90756250fb 522 ( char * )data, data[ 0 ] or_eq BIT7, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, write_buffer ) );
klauss 117:e9facba9db27 523
klauss 3:cd9148672e25 524 delete( call );
klauss 119:ee6a53069455 525
klauss 135:2f4290590e51 526 ts -> return_timeslice ( cb -> call_end () );
klauss 0:4d17cd9c8f9d 527 }
klauss 0:4d17cd9c8f9d 528 }
klauss 119:ee6a53069455 529
klauss 132:05cd37f7e007 530 if( already_removed ) if( debug_main or debug_invite ) vz_debug ( "[%d] Already removed from vector call", ext );
klauss 82:f55d13babca0 531
klauss 135:2f4290590e51 532 cb -> registry ();
klauss 119:ee6a53069455 533
klauss 132:05cd37f7e007 534 } else if ( debug_invite or debug_main ) vz_debug ("[%d] Bye from who ?", ext );
klauss 91:c2a86b1f8aaa 535 }
klauss 91:c2a86b1f8aaa 536 break;
klauss 91:c2a86b1f8aaa 537
klauss 126:1f90756250fb 538 case INVITE :
klauss 126:1f90756250fb 539 {
klauss 126:1f90756250fb 540 if ( drop_invite_pkg )
klauss 126:1f90756250fb 541 {
klauss 132:05cd37f7e007 542 vz_debug ("[%d] Dropando invite pck - msg id :: %d", ext, data[ 0 ] );
klauss 114:472502b31a12 543 break;
klauss 114:472502b31a12 544 }
klauss 119:ee6a53069455 545
klauss 135:2f4290590e51 546 invite_counter ++;
klauss 119:ee6a53069455 547
klauss 132:05cd37f7e007 548 if ( debug_invite ) vz_debug ("[%d] Invite request", ext );
klauss 119:ee6a53069455 549
klauss 122:480c44b0e205 550 Call_Box * cb = find_CB ( v_cb, ext );
klauss 119:ee6a53069455 551
klauss 135:2f4290590e51 552 if ( cb == NULL ) cb = try_add_new_cbx ( v_cb, ext );
klauss 135:2f4290590e51 553
klauss 135:2f4290590e51 554 if ( cb == NULL ) {
klauss 135:2f4290590e51 555 if ( debug_memory or debug_invite ) vz_debug ("[%d] Invite allocation cb fail", ext );
klauss 135:2f4290590e51 556 } else {
klauss 132:05cd37f7e007 557 cb -> update_invite_counter ();
klauss 132:05cd37f7e007 558
klauss 122:480c44b0e205 559 cb -> invite_retry_count_reset ();
klauss 119:ee6a53069455 560
klauss 122:480c44b0e205 561 cb -> set_msg_id ( data [ 0 ] );
klauss 119:ee6a53069455 562
klauss 122:480c44b0e205 563 if ( cb -> get_status () == cb_idle ) {
klauss 119:ee6a53069455 564 cb -> call_config ();
klauss 132:05cd37f7e007 565 if ( test_ts ) vz_debug ("TST::IDLE");
klauss 119:ee6a53069455 566 } else {
klauss 122:480c44b0e205 567 data [ TIMESLICE_PLACE ] = cb -> get_timeslice ();
klauss 119:ee6a53069455 568
klauss 122:480c44b0e205 569 cb -> set_invite_response_pending ();
klauss 126:1f90756250fb 570
klauss 132:05cd37f7e007 571 if ( test_ts ) vz_debug ("TST::%u ", data [ TIMESLICE_PLACE ]);
klauss 126:1f90756250fb 572
klauss 126:1f90756250fb 573 send2callboxes ( build_cb_package ( ext, port, INVITE,
klauss 119:ee6a53069455 574 ( char * )data, cb->msg_id_update (), CB_BUFFER_SIZE - VZ_HEADER_OFFSET, write_buffer ) );
klauss 92:92df17f538a8 575 }
klauss 119:ee6a53069455 576
klauss 121:ee02790d00b7 577 invite_handler ( v_call, v_cb, ts, cb );
klauss 87:679ee0d594a9 578 }
klauss 91:c2a86b1f8aaa 579 }
klauss 126:1f90756250fb 580
klauss 91:c2a86b1f8aaa 581 break;
klauss 120:770f00554b1e 582
klauss 119:ee6a53069455 583 case REGISTRY : {
klauss 135:2f4290590e51 584 /*
klauss 135:2f4290590e51 585 Colocar um if, de que se o cbx já existia, e tinha dado timeout
klauss 135:2f4290590e51 586 ou por slave ou por mestre, resetar o timer dos 2
klauss 135:2f4290590e51 587 */
klauss 135:2f4290590e51 588 registry_counter ++;
klauss 121:ee02790d00b7 589 Call_Box * cb = find_CB ( v_cb, ext );
klauss 119:ee6a53069455 590
klauss 135:2f4290590e51 591 if ( cb == NULL ) cb = try_add_new_cbx ( v_cb, ext );
klauss 119:ee6a53069455 592
klauss 135:2f4290590e51 593 if ( cb == NULL and debug_memory ) vz_debug ( "[%d] Registry cb allocation fail", ext );
klauss 135:2f4290590e51 594
klauss 126:1f90756250fb 595 int registry_ret = -1;
klauss 126:1f90756250fb 596
klauss 135:2f4290590e51 597 if ( cb not_eq NULL ) registry_ret = cb -> registry ();
klauss 126:1f90756250fb 598
klauss 130:850163037da5 599 if ( ( registry_ret > 0 ) and eth_status ) try_reconnect_with_eth ();
klauss 130:850163037da5 600
klauss 135:2f4290590e51 601 if ( debug_main and registry_ret ) vz_debug ( "[%d %d] Registered", ext, port );
klauss 135:2f4290590e51 602
klauss 130:850163037da5 603 pkg_wdt = RX_CB_IDLE;
klauss 91:c2a86b1f8aaa 604 }
klauss 91:c2a86b1f8aaa 605 break;
klauss 120:770f00554b1e 606
klauss 119:ee6a53069455 607 case BOOT : {
klauss 63:0d95da692bb4 608 boot_counter++;
klauss 99:e80850c51106 609 if( debug_boot == true ){
klauss 132:05cd37f7e007 610 vz_printf ("[%d %d] Boot pkg -- pkg-id %d", ext, port, data[ 0 ] );
klauss 99:e80850c51106 611 }
klauss 119:ee6a53069455 612 send2callboxes( build_cb_package( ext, port, REGISTRY,
klauss 126:1f90756250fb 613 ( char * )data, data[ 0 ] bitor BIT7, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, write_buffer ) );
klauss 117:e9facba9db27 614 }
klauss 117:e9facba9db27 615 break;
klauss 117:e9facba9db27 616
klauss 119:ee6a53069455 617 case FW : {
klauss 132:05cd37f7e007 618 if ( debug_fw_print ) vz_printf ("[%d %d]::FW pkg::", ext, port );
klauss 126:1f90756250fb 619 fw_cbx_pkg ( ext, ( char *) buffer );
klauss 99:e80850c51106 620 }
klauss 99:e80850c51106 621 break;
klauss 91:c2a86b1f8aaa 622
klauss 119:ee6a53069455 623 case BOOTLOADER_CBX : {
klauss 117:e9facba9db27 624 uint16_t bl_cnt2 = 0;
klauss 117:e9facba9db27 625 if (debug_bootloader) {
klauss 117:e9facba9db27 626 pc.printf("\r\npacote CBX->HDR {");
klauss 117:e9facba9db27 627 for (bl_cnt2 = 0;bl_cnt2 < BL_SIZE + 1;bl_cnt2++) {
klauss 117:e9facba9db27 628 if ((bl_cnt2 % 30) == 0) {
klauss 117:e9facba9db27 629 pc.printf("\r\n ");
klauss 117:e9facba9db27 630 pc.printf(hex16(bl_cnt2));
klauss 117:e9facba9db27 631 pc.printf(" : ");
klauss 117:e9facba9db27 632 }
klauss 117:e9facba9db27 633 pc.printf(hex8(data[bl_cnt2]));
klauss 117:e9facba9db27 634 pc.printf(", ");
klauss 117:e9facba9db27 635 }
klauss 117:e9facba9db27 636 pc.printf("\r\n}");
klauss 117:e9facba9db27 637 }
klauss 67:cdedc64d9921 638 bootloader_cbx_counter++;
klauss 117:e9facba9db27 639 bl_send_buffer[0] = (char)(ext >> 8);
klauss 117:e9facba9db27 640 bl_send_buffer[1] = (char)(ext & 0xff);
klauss 117:e9facba9db27 641 for (bl_cnt2 = 0; bl_cnt2 < BL_SIZE; bl_cnt2++) {
klauss 117:e9facba9db27 642 bl_send_buffer[bl_cnt2 + 2] = data[bl_cnt2 + 1];
klauss 117:e9facba9db27 643 }
klauss 117:e9facba9db27 644 if (debug_bootloader) {
klauss 117:e9facba9db27 645 pc.printf("\r\npacote HDR->SRV {");
klauss 117:e9facba9db27 646 for (bl_cnt2 = 0;bl_cnt2 < UDP_BL_SIZE;bl_cnt2++) {
klauss 117:e9facba9db27 647 if ((bl_cnt2 % 30) == 0) {
klauss 117:e9facba9db27 648 pc.printf("\r\n ");
klauss 117:e9facba9db27 649 pc.printf(hex16(bl_cnt2));
klauss 117:e9facba9db27 650 pc.printf(" : ");
klauss 117:e9facba9db27 651 }
klauss 117:e9facba9db27 652 pc.printf(hex8(bl_send_buffer[bl_cnt2]));
klauss 117:e9facba9db27 653 pc.printf(", ");
klauss 117:e9facba9db27 654 }
klauss 117:e9facba9db27 655 pc.printf("\r\n}");
klauss 117:e9facba9db27 656 }
klauss 132:05cd37f7e007 657 int udp_bl_client_ret = udp_bl_client.sendTo ( udp_bl_server, bl_send_buffer, UDP_BL_SIZE );
klauss 132:05cd37f7e007 658 if ( udp_bl_client_ret not_eq UDP_BL_SIZE )
klauss 132:05cd37f7e007 659 {
klauss 132:05cd37f7e007 660 reconnect_bl ();
klauss 132:05cd37f7e007 661 miss_bl_udp_send_pkg ++;
klauss 132:05cd37f7e007 662 if ( debug_reconnect ) vz_printf ( "[%d] Reconnect BL - %d", ext, udp_bl_client_ret );
klauss 132:05cd37f7e007 663 }
klauss 91:c2a86b1f8aaa 664 }
klauss 91:c2a86b1f8aaa 665 break;
klauss 91:c2a86b1f8aaa 666
klauss 119:ee6a53069455 667 case PROMPT : {
klauss 129:d73538fbc017 668 Call_Box * cb = find_CB ( v_cb, ext );
klauss 91:c2a86b1f8aaa 669
klauss 135:2f4290590e51 670 if ( cb == NULL ) cb = try_add_new_cbx ( v_cb, ext );
klauss 91:c2a86b1f8aaa 671
klauss 135:2f4290590e51 672 if( cb != NULL ) cb -> registry ();
klauss 91:c2a86b1f8aaa 673
klauss 126:1f90756250fb 674 if ( ( strncasecmp ( ( const char * )data, "ping", 4 ) == 0 ) or ( strncasecmp ( ( const char * )data, "pong", 4 ) == 0 ) )
klauss 126:1f90756250fb 675 {
klauss 132:05cd37f7e007 676 if( debug_ping ) vz_printf ( "[%d %d] Prompt pkg :: Ping", ext, port );
klauss 126:1f90756250fb 677 }
klauss 126:1f90756250fb 678 else
klauss 126:1f90756250fb 679 {
klauss 78:1353744f01e1 680 prompt_counter++;
klauss 135:2f4290590e51 681
klauss 132:05cd37f7e007 682 vz_printf ( "[%i, %i] Prompt pkg::", ext, port );
klauss 135:2f4290590e51 683
klauss 91:c2a86b1f8aaa 684 for( register uint8_t i = 0; i < 32; i++ ) {
klauss 100:09a23fcd3bdf 685 if( debug_uart3 ) pc.printf("%c", data[ i ] );
klauss 100:09a23fcd3bdf 686 if( i == 15 ) if( debug_uart3 ) pc.printf( "\r\n" );
klauss 78:1353744f01e1 687 }
klauss 100:09a23fcd3bdf 688 if( debug_uart3 ) pc.printf("\n\r> ");
klauss 91:c2a86b1f8aaa 689
klauss 114:472502b31a12 690 if( tcp_session ) {
klauss 119:ee6a53069455 691 char aux[ CB_BUFFER_SIZE + 3 ];
klauss 119:ee6a53069455 692 strncpy( aux, (char * )data, CB_BUFFER_SIZE );
klauss 78:1353744f01e1 693 strcat( aux, "\n\r\0" );
klauss 78:1353744f01e1 694 tcp_client.send_all( ( char *)data, strlen( (char * )data ) );
klauss 78:1353744f01e1 695 tcp_client.send_all( "\r\n> ", strlen( "\r\n> " ) );
klauss 78:1353744f01e1 696 }
klauss 48:195c97f12e8e 697 }
klauss 91:c2a86b1f8aaa 698 }
klauss 91:c2a86b1f8aaa 699 break;
klauss 120:770f00554b1e 700
klauss 119:ee6a53069455 701 case AUDIO : {
klauss 63:0d95da692bb4 702 audio_counter++;
klauss 119:ee6a53069455 703 if ( received_audio_from_cb ) {
klauss 132:05cd37f7e007 704 vz_debug ("[%d] audio pkg", ext );
klauss 119:ee6a53069455 705 }
klauss 119:ee6a53069455 706
klauss 126:1f90756250fb 707 VZ_call * call = find_Call ( v_call, ext );
klauss 126:1f90756250fb 708 if ( call != NULL )
klauss 126:1f90756250fb 709 {
klauss 126:1f90756250fb 710 if ( drop_rtp_from_cbx_pkg )
klauss 126:1f90756250fb 711 {
klauss 114:472502b31a12 712 led2 = !led2;
klauss 114:472502b31a12 713 break;
klauss 119:ee6a53069455 714 } else {
klauss 126:1f90756250fb 715 char * pkg = call -> build_eth_package ( data + 2 );
klauss 126:1f90756250fb 716 call -> send_message ( pkg );
klauss 132:05cd37f7e007 717 call -> cbx_pkg_idle_timer_reset ();
klauss 114:472502b31a12 718 }
klauss 119:ee6a53069455 719 }
klauss 119:ee6a53069455 720
klauss 132:05cd37f7e007 721 Call_Box * cb = find_CB ( v_cb, ext );
klauss 126:1f90756250fb 722 if ( cb != NULL )
klauss 126:1f90756250fb 723 {
klauss 132:05cd37f7e007 724 if ( cb -> get_invite_response () == false )
klauss 126:1f90756250fb 725 {
klauss 126:1f90756250fb 726 cb -> set_invite_response_ok ();
klauss 126:1f90756250fb 727 cb -> invite_retry_count_reset ();
klauss 126:1f90756250fb 728 }
klauss 126:1f90756250fb 729 } else {
klauss 132:05cd37f7e007 730 if ( debug_main ) vz_debug ("[%d] received missed package", ext );
klauss 0:4d17cd9c8f9d 731 }
klauss 91:c2a86b1f8aaa 732 }
klauss 91:c2a86b1f8aaa 733 break;
klauss 114:472502b31a12 734 }// fim switch
klauss 105:a930035b6556 735
klauss 120:770f00554b1e 736 // rajada
klauss 120:770f00554b1e 737 if( invite_retry_timer.read_ms() >= 20 )
klauss 120:770f00554b1e 738 {
klauss 120:770f00554b1e 739 invite_ack_to_cb_handler ( v_cb, v_call );
klauss 112:6ae726539ab9 740
klauss 120:770f00554b1e 741 invite_retry_timer.reset();
klauss 120:770f00554b1e 742 }
klauss 120:770f00554b1e 743
klauss 120:770f00554b1e 744 check_audio_from_ast ( v_cb, v_call );
klauss 99:e80850c51106 745
klauss 120:770f00554b1e 746 wake_up_or_refresh_handler ( v_cb );
klauss 117:e9facba9db27 747
klauss 120:770f00554b1e 748 check_sip_messages_from_ast ( v_cb, v_call );
klauss 119:ee6a53069455 749
klauss 81:3656f00ab3db 750 /* Verifica andamento de ligações para eventualmente encerra-las por timeout */
klauss 119:ee6a53069455 751 call_manager( v_call, v_cb, ts );
klauss 91:c2a86b1f8aaa 752
klauss 81:3656f00ab3db 753 invite_handler( v_call, v_cb, ts, NULL );
klauss 114:472502b31a12 754
klauss 120:770f00554b1e 755 check_for_runaways_ts ( v_cb, ts );
klauss 112:6ae726539ab9 756
klauss 120:770f00554b1e 757 check_for_unwanted_rtp_ports ( v_cb );
klauss 120:770f00554b1e 758
klauss 72:895ca792c647 759 tx_buffer_ring_buffer_handler();
klauss 91:c2a86b1f8aaa 760
klauss 119:ee6a53069455 761 type = DO_NOTHING;
klauss 114:472502b31a12 762
klauss 81:3656f00ab3db 763 if( eth_status == 0 ) eth_wdt = ETH_CONNECT_TIMEOUT;
klauss 114:472502b31a12 764
klauss 91:c2a86b1f8aaa 765 if( wdt_timer.read() >= 1 ) {
klauss 132:05cd37f7e007 766 if ( -1 == wdt_update () ) vz_debug ("Erro!!!!!");
klauss 81:3656f00ab3db 767 wdt_timer.reset();
klauss 114:472502b31a12 768 }
klauss 114:472502b31a12 769
klauss 120:770f00554b1e 770 if( debug_wdt )
klauss 120:770f00554b1e 771 {
klauss 120:770f00554b1e 772 show_wdt_status ();
klauss 132:05cd37f7e007 773 debug_wdt = false;
klauss 114:472502b31a12 774 }
klauss 123:1d395b5a4cad 775
klauss 123:1d395b5a4cad 776 update_all_cb_timer ( v_cb );
klauss 123:1d395b5a4cad 777
klauss 124:c1b6c893e1c3 778 if ( !dont_say_hello_again ) send_hello_to_cbx ();
klauss 124:c1b6c893e1c3 779
klauss 128:3ae1c74773a8 780 /* Verificacao da fonte de alimentacao */
klauss 132:05cd37f7e007 781 if ( power_source_timer.read () > 1 )
klauss 128:3ae1c74773a8 782 {
klauss 132:05cd37f7e007 783 check_power_source ();
klauss 128:3ae1c74773a8 784 }
klauss 132:05cd37f7e007 785
klauss 132:05cd37f7e007 786 %: ifdef MODE_TEST
klauss 132:05cd37f7e007 787 wdt.kick();
klauss 132:05cd37f7e007 788 %: endif
klauss 120:770f00554b1e 789 }// fim while
klauss 120:770f00554b1e 790 }// fim main \o/