![](/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: prompt.cpp
- Revision:
- 135:2f4290590e51
- Parent:
- 134:395678c651d8
- Child:
- 136:2da626f30efa
--- a/prompt.cpp Tue Sep 01 19:34:34 2015 +0000 +++ b/prompt.cpp Thu Sep 10 20:11:35 2015 +0000 @@ -19,7 +19,6 @@ char last_cmd[ DEBUGBUFSIZE ]; char tmp_cmd[ DEBUGBUFSIZE ] = "help"; char last_debug_buf[ DEBUGBUFSIZE ] = "help"; -char eth_buffer[ PROMPT_ETH_BUFFER_SIZE ]; char eth_udp_buffer[ PROMPT_ETH_BUFFER_SIZE ]; char gp_buff[ DEBUGBUFSIZE ]; uint8_t prompt_write_buffer [ CB_BUFFER_SIZE ]; @@ -39,7 +38,7 @@ if ( id_msg < 0x11 ) id_msg = 0x11; if( flood_timeout.read() > 60 ) { - pflood = 0; + pflood = false; flood_timeout.stop(); flood_timeout.reset(); } @@ -189,7 +188,7 @@ tflood.start(); tflood.reset(); floodcount =0; - pflood = 1; + pflood = true; flood_timeout.start(); delayed_flood = false; if( debug_uart3 ) pc.printf("\n\rFlood ON\n\r" ); @@ -230,7 +229,7 @@ udp_query_send_msg( debug_buf ); } - for( register uint16_t i = 0; i < PROMPT_ETH_BUFFER_SIZE; i++ ) eth_buffer[ i ] = 0; + for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0; debug_buf = __debug_buf__; @@ -249,2342 +248,2665 @@ char * command_process ( char * debug_buf, size_t bufptr ) -{ +{ bool miss_match = true; - { - static unsigned int promptcb_last_ext = 0; - static unsigned int promptcb_last_port = 0; - static char promptcb_last_cmd [ 300 ]; - + static unsigned int promptcb_last_ext = 0; + static unsigned int promptcb_last_port = 0; + static char promptcb_last_cmd [ 300 ]; + + // removendo espacos em branco no inicio da string + uint16_t shift_blank_spaces = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) { + if ( debug_buf [ i ] == 0x20 ) shift_blank_spaces++; + + if ( debug_buf [ i ] != 0x20 ) break; + } + debug_buf += shift_blank_spaces; - // removendo espacos em branco no inicio da string - uint16_t shift_blank_spaces = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) { - if ( debug_buf [ i ] == 0x20 ) shift_blank_spaces++; - - if ( debug_buf [ i ] != 0x20 ) break; - } - debug_buf += shift_blank_spaces; - + strcpy( tmp_cmd, debug_buf ); + if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "." ) ) { + miss_match = false; + strcpy( debug_buf, last_cmd ); + strcpy( tmp_cmd, debug_buf ); + } else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "+" ) ) { + miss_match = false; + strcpy( debug_buf, "flood on" ); + strcpy( tmp_cmd, debug_buf ); + } else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "-" ) ) { + miss_match = false; + strcpy( debug_buf, "flood off" ); strcpy( tmp_cmd, debug_buf ); - if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "." ) ) { - miss_match = false; - strcpy( debug_buf, last_cmd ); - strcpy( tmp_cmd, debug_buf ); - } else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "+" ) ) { - miss_match = false; - strcpy( debug_buf, "flood on" ); - strcpy( tmp_cmd, debug_buf ); - } else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "-" ) ) { - miss_match = false; - strcpy( debug_buf, "flood off" ); - strcpy( tmp_cmd, debug_buf ); - } else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "++ ", 3 ) ) { - miss_match = false; - delayed_flood = true; - int ext = atoi( debug_buf + 3 ); - sprintf( debug_buf, "pcb %i flood on", ext ); - } else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "-- ", 3 ) ) { - miss_match = false; - int ext = atoi( debug_buf + 3 ); - if( debug_uart3 ) pc.printf("\n\rFlood OFF\n\r" ); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Flood OFF\n\r" ); - } - pflood = 0; - tflood.stop(); - flood_timeout.reset(); - sprintf( debug_buf, "pcb %i flood off", ext ); - } - - //tratamento dos enters - if( !bufptr ) { - miss_match = false; - } else if( bufptr == 1 ) { - if( debug_buf[ 0 ] == 0x0D || debug_buf[ 0 ] == 0x0D ) miss_match = false; + } else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "++ ", 3 ) ) { + miss_match = false; + delayed_flood = true; + int ext = atoi( debug_buf + 3 ); + sprintf( debug_buf, "pcb %i flood on", ext ); + } else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "-- ", 3 ) ) { + miss_match = false; + int ext = atoi( debug_buf + 3 ); + if( debug_uart3 ) pc.printf("\n\rFlood OFF\n\r" ); + if( from_eth ) { + snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Flood OFF\n\r" ); } + pflood = false; + tflood.stop(); + flood_timeout.reset(); + sprintf( debug_buf, "pcb %i flood off", ext ); + } - if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "show_configs" ) ) { - miss_match = false; - if( debug_uart3 ) pc.printf("\n\r" ); - files('s'); - } + //tratamento dos enters + if( !bufptr ) { + miss_match = false; + } else if( bufptr == 1 ) { + if( debug_buf [ 0 ] == '\r' || debug_buf [ 0 ] == '\n' ) miss_match = false; + } + + if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "show_configs" ) ) + { + miss_match = false; + + if( debug_uart3 ) pc.printf("\n\r" ); + + files('s'); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rx" ) ) { + miss_match = false; + show_last_rx = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "tx" ) ) { + miss_match = false; + show_last_tx = true; + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rx" ) ) { - miss_match = false; - show_last_rx = true; - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "stats" ) ) { + miss_match = false; + stats = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "reset_stats" ) ) { + miss_match = false; + r_stats = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rtp" ) ) + { + miss_match = false; + dshow_rtp = true; + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "tx" ) ) { - miss_match = false; - show_last_tx = true; + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "callrtp" ) ) { + miss_match = false; + dcallshow_rtp = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "format" ) ) { + miss_match = false; + + if( from_eth ) { + vz_printf ( "Not Allowed" ); + } else { + if ( debug_uart3 ) pc.printf("\n\rFormatando o sistema de arquivos... espere o sistema reiniciar\n\r" ); + files('e'); + files('w'); + __disable_irq(); + NVIC_SystemReset(); } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "stats" ) ) { - miss_match = false; - stats = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "reset_stats" ) ) { - miss_match = false; - r_stats = true; - } + // nao apresentou comportamento esperado + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ipset ", 6 ) ) + { + miss_match = false; + cm -> set_header_ip ( debug_buf + 6 ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "extset ", 7 ) ) + { + miss_match = false; + cm -> set_header_ext ( atoi ( debug_buf + 7 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "serextset ", 10 ) ) + { + miss_match = false; + cm -> set_server_ext ( atoi ( debug_buf + 10 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "shift_port ", 11 ) ) + { + miss_match = false; + cm -> set_shift_port( atoi ( debug_buf + 11 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "maskset ", 8 ) ) + { + miss_match = false; + cm -> set_net_mask ( debug_buf + 8 ); + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rtp" ) ) { - miss_match = false; - dshow_rtp = true; - } + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "gatewayset ", 11 ) ) + { + miss_match = false; + cm -> set_gateway ( debug_buf + 11 ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "msipport ",9 ) ) + { + miss_match = false; + cm -> set_header_sip_port ( atoi ( debug_buf + 9 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "serverip ",9 ) ) + { + miss_match = false; + cm -> set_server_ip ( debug_buf + 9 ); + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "callrtp" ) ) { - miss_match = false; - dcallshow_rtp = true; - } + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "maxext ", 7 ) ) + { + miss_match = false; + cm -> set_max_ext ( atoi ( debug_buf + 7 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "minext ", 7 ) ) + { + miss_match = false; + cm -> set_min_ext ( atoi ( debug_buf + 7 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ssport ", 7 ) ) + { + miss_match = false; + cm -> set_server_port ( atoi ( debug_buf + 7 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "fw_ip ", 6 ) ) + { + miss_match = false; + cm -> set_fw_server_ip ( debug_buf + 6 ); + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "format" ) ) { - miss_match = false; - - if( from_eth ) { - char msg[ 32 ]; - snprintf( msg, 32, "Not Allowed\n\r" ); - - if( tcp_session && !udp_query ) { - tcp_client.send_all( msg, strlen( msg ) ); - } else if( udp_query ) { - udp_query_send_msg( msg ); - } - } else { - if ( debug_uart3 ) pc.printf("\n\rFormatando o sistema de arquivos... espere o sistema reiniciar\n\r" ); - files('e'); - files('w'); - __disable_irq(); - NVIC_SystemReset(); - } - } + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "fw_port ", 8 ) ) + { + miss_match = false; + cm -> set_fw_server_port ( atoi ( debug_buf + 8 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "set_acceptable_delay ", 21 ) ) + { + miss_match = false; + cm -> set_acceptable_delay ( atoi ( debug_buf + 21 ) ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "set_cbx_detach_mode ", 20 ) ) + { + miss_match = false; + + bool new_cbx_detach_mode; + + char * tmp = NULL; + + if ( ( tmp = strstr ( ( debug_buf + 20 ), "true" ) ) != NULL ) new_cbx_detach_mode = true; + + else if ( ( tmp = strstr ( ( debug_buf + 20 ), "false" ) ) != NULL ) new_cbx_detach_mode = false; + + if ( tmp != NULL ) cm -> set_cbx_detach_mode ( new_cbx_detach_mode ); + + else vz_printf ("Usage: set_cbx_detach_mode < true | false >"); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "set_cbx_wake_mode ", 18 ) ) + { + miss_match = false; + + bool new_cbx_wake_mode; + + char * tmp = NULL; + + if ( ( tmp = strstr ( ( debug_buf + 18 ), "true" ) ) != NULL ) new_cbx_wake_mode = true; + + else if ( ( tmp = strstr ( ( debug_buf + 18 ), "false" ) ) != NULL ) new_cbx_wake_mode = false; + + if ( tmp != NULL ) cm -> set_cbx_wake_mode ( new_cbx_wake_mode ); + + else vz_printf ("Usage: set_cbx_wake_mode < true | false >"); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "set_cbx_mode ", 13 ) ) + { + miss_match = false; + + int tmp = 0; + + uint8_t new_cbx_mode = 0; + + char * ref = debug_buf + 13; + + while ( *ref == 0x20 ) ref++; + + if ( ( tmp = strcasecmp ( ref, "fibra" ) ) == 0 ) new_cbx_mode = u8_FIBRA_MODE; + + else if ( ( tmp = strcasecmp ( ref, "radio" ) ) == 0 ) new_cbx_mode = u8_RADIO_MODE; + + else if ( ( tmp = strcasecmp ( ref, "custom" ) ) == 0 ) new_cbx_mode = u8_CUSTOM_MODE; + + if ( tmp == 0 ) cm -> set_cbx_mode ( new_cbx_mode ); + + else vz_printf ( "Usage: set_cbx_wake_mode < fibra | radio | custom >" ); + } + - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ipset ", 6 ) ) - { - miss_match = false; - cm -> set_header_ip ( debug_buf + 6 ); - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "extset ", 7 ) ) - { - miss_match = false; - cm -> set_header_ext ( atoi ( debug_buf + 7 ) ); - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dconfig" ) ) + { + miss_match = false; + cm -> restore_defaults_settings (); + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "serextset ", 10 ) ) - { - miss_match = false; - cm -> set_server_ext ( atoi ( debug_buf + 10 ) ); - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "shift_port ", 11 ) ) - { - miss_match = false; - cm -> set_shift_port( atoi ( debug_buf + 11 ) ); - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "reset" ) ) + { + miss_match = false; + + if ( tcp_session and from_eth ) tcp_client.close (); + + vz_printf ( "Job is done" ); + + __disable_irq (); + + NVIC_SystemReset (); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "test" ) ) + { + miss_match = false; + char msg[] = "This is another test"; + vz_printf ("-->%s<--", msg ); + vz_printf ("-->%d<--", 28 ); + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "maskset ", 8 ) ) - { - miss_match = false; - cm -> set_net_mask ( debug_buf + 8 ); - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dog" ) ) + { + miss_match = false; + + vz_printf ( "MUUUUUUUuuuuUUUUUU - I'm not a dog!!!!" ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "get_acceptable_delay" ) ) + { + miss_match = false; + + vz_printf ( "get_acceptable_delay :: %u", cm -> get_acceptable_delay () ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "get_cbx_detach_mode" ) ) + { + miss_match = false; + + vz_printf ( "get_cbx_detach_mode :: %s", ( cm -> get_cbx_detach_mode () ) ? "true" : "false" ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "get_cbx_wake_mode" ) ) + { + miss_match = false; + + vz_printf ( "get_cbx_wake_mode :: %s", ( cm -> get_cbx_wake_mode () ) ? "true" : "false" ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "get_cbx_mode" ) ) + { + miss_match = false; + + char mode_buffer [ 32 ] = ""; + + uint8_t u8mode = cm -> get_cbx_mode (); + + if ( u8mode == u8_FIBRA_MODE ) strcpy ( mode_buffer, "Fibra Fibra" ); + + else if ( u8mode == u8_RADIO_MODE ) strcpy ( mode_buffer, "Fibra RADIO" ); + + else strcpy ( mode_buffer, "Custom" ); + + vz_printf ( "get_cbx_mode :: %s", mode_buffer ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "show_mode" ) ) + { + miss_match = false; + + vz_printf ( "get_cbx_detach_mode :: %s", ( cm -> get_cbx_detach_mode () ) ? "true" : "false" ); + + vz_printf ( "get_cbx_wake_mode :: %s", ( cm -> get_cbx_wake_mode () ) ? "true" : "false" ); + + char mode_buffer [ 32 ] = ""; + + uint8_t u8mode = cm -> get_cbx_mode (); + + if ( u8mode == u8_FIBRA_MODE ) strcpy ( mode_buffer, "Fibra Fibra" ); + + else if ( u8mode == u8_RADIO_MODE ) strcpy ( mode_buffer, "Fibra RADIO" ); + + else strcpy ( mode_buffer, "Custom" ); + + vz_printf ( "get_cbx_mode :: %s", mode_buffer ); + } + + - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "gatewayset ", 11 ) ) - { - miss_match = false; - cm -> set_gateway ( debug_buf + 11 ); - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "request_clock" ) ) + { + miss_match = false; + request_clock_now = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "hello" ) ) + { + miss_match = false; + show_hello_status = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "date" ) ) + { + miss_match = false; + vz_printf (" %s %s", __DATE__, __TIME__ ); + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "msipport ",9 ) ) - { - miss_match = false; - cm -> set_header_sip_port ( atoi ( debug_buf + 9 ) ); - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "clock" ) ) + { + miss_match = false; + show_current_time = true; + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "serverip ",9 ) ) - { - miss_match = false; - cm -> set_server_ip ( debug_buf + 9 ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "overflow" ) ) + { + miss_match = false; + vz_printf ( "Overflow messages :: %d", string_msg_overflow ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dep" ) ) + { + miss_match = false; + + drop_entendi_pkg = !drop_entendi_pkg; + + if ( drop_entendi_pkg ) { + vz_debug ("Entendi pkgs will be droped" ); + } else { + vz_debug ("Entendi pkgs don't will be droped" ); } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "maxext ", 7 ) ) - { - miss_match = false; - cm -> set_max_ext ( atoi ( debug_buf + 7 ) ); - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "minext ", 7 ) ) - { - miss_match = false; - cm -> set_min_ext ( atoi ( debug_buf + 7 ) ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dita" ) ) + { + miss_match = false; + + drop_invite_to_ast_pkg = !drop_invite_to_ast_pkg; + + if ( drop_invite_to_ast_pkg ) { + vz_debug ("Invite pkgs to ast will be droped" ); + } else { + vz_debug ("Invite pkgs to ast don't will be droped" ); } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ssport ", 7 ) ) - { - miss_match = false; - cm -> set_server_port ( atoi ( debug_buf + 7 ) ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "refresh_on" ) ) + { + miss_match = false; + + vz_printf ( "Refresh function :: Enable" ); + + do_not_refresh = false; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "refresh_off" ) ) + { + miss_match = false; + + vz_printf ( "Refresh function :: Disable" ); + + do_not_refresh = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "refresh_status" ) ) + { + miss_match = false; + + vz_printf ( "Refresh function :: %s", ( do_not_refresh == true ) ? "Disable" : "Enable" ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dop" ) ) + { + miss_match = false; + + drop_ok_pkg = !drop_ok_pkg; + + if ( drop_ok_pkg ) { + vz_debug ( "Ok pkgs will be droped" ); + } else { + vz_debug ( "Ok pkgs don't will be droped" ); } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "fw_ip ", 6 ) ) - { - miss_match = false; - cm -> set_fw_server_ip ( debug_buf + 6 ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dip" ) ) + { + miss_match = false; + + drop_invite_pkg = !drop_invite_pkg; + + if ( drop_invite_pkg ) { + vz_debug ( "invite pkgs from cbx will be droped" ); + } else { + vz_debug ( "invite pkgs from cbx don't will be droped" ); } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "fw_port ", 8 ) ) - { - miss_match = false; - cm -> set_fw_server_port ( atoi ( debug_buf + 8 ) ); - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "set_acceptable_delay ", 21 ) ) - { - miss_match = false; - cm -> set_acceptable_delay ( atoi ( debug_buf + 21 ) ); - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dconfig" ) ) - { - miss_match = false; - cm -> restore_defaults_settings (); - } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "reset" ) ) - { - miss_match = false; - - vz_printf ( "Job is done" ); - - __disable_irq(); - - NVIC_SystemReset(); - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drp" ) ) + { + miss_match = false; - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "test" ) ) - { - miss_match = false; - char msg[] = "This is another test"; - vz_printf ("-->%s<--", msg ); - vz_printf ("-->%d<--", 28 ); + drop_registry_pkg = !drop_registry_pkg; + + if ( drop_registry_pkg ) { + vz_debug ( "registrys pkgs from cbx will be droped" ); + } else { + vz_debug ( "registrys pkgs from cbx don't will be droped" ); } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dog" ) ) - { - miss_match = false; - - vz_printf ( "MUUUUUUUuuuuUUUUUU - I'm not a dog!!!!" ); - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "get_acceptable_delay" ) ) - { - miss_match = false; - - vz_printf ( "get_acceptable_delay :: %u", cm -> get_acceptable_delay () ); - } - - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "request_clock" ) ) - { - miss_match = false; - request_clock_now = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "hello" ) ) - { - miss_match = false; - show_hello_status = true; - } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "date" ) ) - { - miss_match = false; - vz_printf (" %s %s", __DATE__, __TIME__ ); - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "clock" ) ) - { - miss_match = false; - show_current_time = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "overflow" ) ) - { - miss_match = false; - vz_printf ( "Overflow messages :: %d", string_msg_overflow ); - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dep" ) ) - { - miss_match = false; - - drop_entendi_pkg = !drop_entendi_pkg; - - if ( drop_entendi_pkg ) { - vz_debug ("Entendi pkgs will be droped" ); - } else { - vz_debug ("Entendi pkgs don't will be droped" ); - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rafc" ) ) + { + miss_match = false; + + received_audio_from_cb = !received_audio_from_cb; + + if ( received_audio_from_cb ) { + vz_debug ( "audio pkgs from cbx will printed" ); + } else { + vz_debug ( "audio pkgs from cbx don't will printed" ); } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dita" ) ) - { - miss_match = false; - - drop_invite_to_ast_pkg = !drop_invite_to_ast_pkg; - - if ( drop_invite_to_ast_pkg ) { - vz_debug ("Invite pkgs to ast will be droped" ); - } else { - vz_debug ("Invite pkgs to ast don't will be droped" ); - } + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dap" ) ) + { + miss_match = false; + + drop_ack_pkg = !drop_ack_pkg; + + if ( drop_ack_pkg ) { + vz_debug ( "ack pkgs will be droped" ); + } else { + vz_debug ( "ack pkgs don't will be droped" ); } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "refresh_on" ) ) - { - miss_match = false; - - vz_printf ( "Refresh function :: Enable" ); - - do_not_refresh = false; + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drfa" ) ) + { + miss_match = false; + + drop_rtp_from_ast_pkg = !drop_rtp_from_ast_pkg; + + if ( drop_rtp_from_ast_pkg ) { + vz_debug ( "rtp pkgs from ast will be droped" ); + } else { + vz_debug ( "rtp pkgs from ast don't will be droped" ); + } + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drfc" ) ) + { + miss_match = false; + + drop_rtp_from_cbx_pkg = !drop_rtp_from_cbx_pkg; + + if ( drop_rtp_from_cbx_pkg ) { + vz_debug ( "rtp pkgs from cbx will be droped" ); + } else { + vz_debug ( "rtp pkgs from cbx don't will be droped" ); } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "refresh_off" ) ) - { - miss_match = false; - - vz_printf ( "Refresh function :: Disable" ); - - do_not_refresh = true; - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "uptime" ) ) + { + miss_match = false; + + uint32_t local_uptime = uptime; + uint16_t h = local_uptime / ( 60 * 60 ); + uint16_t m = ( local_uptime - ( h * 60 * 60 ) ) / 60; + uint16_t s = ( local_uptime - ( ( h * 60 * 60 ) + m * 60 ) ); + vz_printf ( "\r\n%ih%im%is", h, m, s ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wake" ) ) + { + miss_match = false; + show_wake_all_up_status = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wake_on" ) ) + { + miss_match = false; + + vz_printf ( "Function wake_all_up : Enable" ); + + wake_all = true; + + wake_all_disable = false; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wake_off" ) ) + { + miss_match = false; + + vz_printf ("Function wake_all_up : Disable" ); + + wake_all = false; + + wake_all_disable = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "get_wdt_string" ) ) + { + miss_match = false; + show_wdt_string = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ifconfig" ) ) + { + miss_match = false; + + vz_printf ("Configs :: " ); + char buffer[ 128 ]; + + cm -> get_header_ip ( buffer ); + vz_printf ("Header IP :: %s", buffer ); + + vz_printf ("Header ext :: %u", cm -> get_ext () ); + + vz_printf ("Header port :: %u", cm -> get_port () ); + + cm -> get_server_ip ( buffer ); + vz_printf ("Server IP :: %s", buffer ); + + vz_printf ("Server ext :: %u", cm -> get_server_ext () ); + + vz_printf ("Server port :: %u", cm -> get_server_port () ); + + cm -> get_net_mask ( buffer ); + vz_printf ("Mascara de rede :: %s", buffer ); + + cm -> get_gateway ( buffer ); + vz_printf ("Gateway IP :: %s", buffer ); + + vz_printf ("UDP Port :: %u", cm -> get_udp_port_listener () ); + + vz_printf ("TCP Port :: %u", cm -> get_tcp_port_listener () ); + + cm -> get_fw_server_ip ( buffer ); + vz_printf ("FW Server IP :: %s", buffer ); + + vz_printf ("FW Server Port :: %u", cm -> get_fw_server_port () ); + + vz_printf ("Max Ext :: %u", cm -> get_max_ext () ); + + vz_printf ("Min Ext :: %u", cm -> get_min_ext () ); - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dop" ) ) + vz_printf ("Shift Port :: %u", cm -> get_shift_port () ); + + cm -> get_clock_server_ip ( buffer ); + vz_printf ("Clock Server IP :: %s", buffer ); + +%: ifdef MODE_TEST + vz_printf ("on MODE_TEST" ); +%: endif + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "sizes" ) ) + { + miss_match = false; + sizes = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ftq" ) ) + { + miss_match = false; + + vz_printf ( "FTQ On" ); + + big_bug_pkg = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ktq" ) ) + { + miss_match = false; + + vz_printf ( "FTQ!!!" ); + + flood_bug_pkg = !flood_bug_pkg; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wdt_pkg_cbx_disable" ) ) + { + miss_match = false; + + vz_printf ( "wdt_pkg_cbx status :: disable" ); + + disable_wdt_from_cbx = true; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wdt_pkg_cbx_enable" ) ) + { + miss_match = false; + + vz_printf ( "wdt_pkg_cbx status :: enable" ); + + disable_wdt_from_cbx = false; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wdt_pkg_cbx_status" ) ) + { + miss_match = false; + + vz_printf ( "wdt_pkg_cbx status :: %s", ( disable_wdt_from_cbx ) ? "disable" : "enable" ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ls", 2 ) ) + { + miss_match = false; + reverse_list = false; + list = true; + + if ( strlen ( debug_buf ) != 2 ) { - miss_match = false; + if ( strstr ( ( debug_buf + 2 ), "r" ) ) + { + reverse_list = true; + } + - drop_ok_pkg = !drop_ok_pkg; + if ( strstr ( ( debug_buf + 2 ), "l" ) ) + { + list = false; + long_list = true; + } - if ( drop_ok_pkg ) { - vz_debug ( "Ok pkgs will be droped" ); - } else { - vz_debug ( "Ok pkgs don't will be droped" ); + if ( strstr ( ( debug_buf + 2 ), "t" ) ) + { + long_list = true; + list = false; + show_time = true; + } + + if ( strstr ( ( debug_buf + 2 ), "i" ) ) + { + long_list = true; + list = false; + show_invites = true; } } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dip" ) ) - { - miss_match = false; - - drop_invite_pkg = !drop_invite_pkg; - - if ( drop_invite_pkg ) { - vz_debug ( "invite pkgs from cbx will be droped" ); - } else { - vz_debug ( "invite pkgs from cbx don't will be droped" ); - } - - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drp" ) ) - { - miss_match = false; - - drop_registry_pkg = !drop_registry_pkg; - - if ( drop_registry_pkg ) { - vz_debug ( "registrys pkgs from cbx will be droped" ); - } else { - vz_debug ( "registrys pkgs from cbx don't will be droped" ); - } - - } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rafc" ) ) - { - miss_match = false; - - received_audio_from_cb = !received_audio_from_cb; - - if ( received_audio_from_cb ) { - vz_debug ( "audio pkgs from cbx will printed" ); - } else { - vz_debug ( "audio pkgs from cbx don't will printed" ); - } - - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dap" ) ) - { - miss_match = false; - - drop_ack_pkg = !drop_ack_pkg; - - if ( drop_ack_pkg ) { - vz_debug ( "ack pkgs will be droped" ); - } else { - vz_debug ( "ack pkgs don't will be droped" ); - } - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drfa" ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drtp ", 5 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - drop_rtp_from_ast_pkg = !drop_rtp_from_ast_pkg; - - if ( drop_rtp_from_ast_pkg ) { - vz_debug ( "rtp pkgs from ast will be droped" ); - } else { - vz_debug ( "rtp pkgs from ast don't will be droped" ); - } - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drfc" ) ) - { - miss_match = false; - - drop_rtp_from_cbx_pkg = !drop_rtp_from_cbx_pkg; + vz_printf ( "Rtp Debug On" ); - if ( drop_rtp_from_cbx_pkg ) { - vz_debug ( "rtp pkgs from cbx will be droped" ); - } else { - vz_debug ( "rtp pkgs from cbx don't will be droped" ); - } - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "uptime" ) ) - { - miss_match = false; - - uint32_t local_uptime = uptime; - uint16_t h = local_uptime / ( 60 * 60 ); - uint16_t m = ( local_uptime - ( h * 60 * 60 ) ) / 60; - uint16_t s = ( local_uptime - ( ( h * 60 * 60 ) + m * 60 ) ); - vz_printf ( "\r\n%ih%im%is", h, m, s ); + debug_rtp = true; } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wake" ) ) - { - miss_match = false; - show_wake_all_up_status = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wake_on" ) ) - { - miss_match = false; - - vz_printf ( "Function wake_all_up : Enable" ); - - wake_all = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "get_wdt_string" ) ) - { - miss_match = false; - show_wdt_string = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wake_off" ) ) - { - miss_match = false; - - vz_printf ("Function wake_all_up : Disable" ); - - wake_all = false; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ifconfig" ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - vz_printf ("Configs :: " ); - char buffer[ 128 ]; + vz_printf ( "Rtp Debug Off" ); + + debug_rtp = false; + } + } - cm -> get_header_ip ( buffer ); - vz_printf ("Header IP :: %s", buffer ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_v_cb" ) ) + { + miss_match = false; + print_v_cb = true; + } - vz_printf ("Header ext :: %u", cm -> get_ext () ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_v_call" ) ) + { + miss_match = false; + print_v_call = true; + } - vz_printf ("Header port :: %u", cm -> get_port () ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "tt" ) ) + { + miss_match = false; + main_test = !main_test; + } - cm -> get_server_ip ( buffer ); - vz_printf ("Server IP :: %s", buffer ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "registra" ) ) + { + miss_match = false; + registra = true; + } - vz_printf ("Server ext :: %u", cm -> get_server_ext () ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "registra4" ) ) + { + miss_match = false; + registra4 = true; + } - vz_printf ("Server port :: %u", cm -> get_server_port () ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "show_sip" ) ) + { + miss_match = false; + show_sip = true; + } - cm -> get_net_mask ( buffer ); - vz_printf ("Mascara de rede :: %s", buffer ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "reset_cks" ) ) + { + miss_match = false; + reset_cks = true; + } - cm -> get_gateway ( buffer ); - vz_printf ("Gateway IP :: %s", buffer ); + //replaced by ls + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "status" ) ) + { + miss_match = false; + list = true; + } - vz_printf ("UDP Port :: %u", cm -> get_udp_port_listener () ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wdt" ) ) + { + miss_match = false; + debug_wdt = true; + } - vz_printf ("TCP Port :: %u", cm -> get_tcp_port_listener () ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "eth" ) ) + { + miss_match = false; + debug_eth = true; + } - cm -> get_fw_server_ip ( buffer ); - vz_printf ("FW Server IP :: %s", buffer ); - - vz_printf ("FW Server Port :: %u", cm -> get_fw_server_port () ); - - vz_printf ("Max Ext :: %u", cm -> get_max_ext () ); - - vz_printf ("Min Ext :: %u", cm -> get_min_ext () ); - - vz_printf ("Shift Port :: %u", cm -> get_shift_port () ); + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "deleted" ) ) + { + miss_match = false; + vz_printf ( "::deleted_sip [ %5i ]::", deleted_sip ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "help_setup" ) ) + { + miss_match = false; + + vz_printf ( "ifconfig - mostra o arquivo de configuracao do sistema" ); + vz_printf ( "dconfig - volta as configuracoes do sistema para o padrao de fabrica" ); + vz_printf ( "ipset [ip] - Configura o IP da cabeceira" ); + vz_printf ( "extset [ext] - Configura a ext da cabeceira" ); + vz_printf ( "msipport [port] - Configura a porta SIP da cabeceira" ); + vz_printf ( "serverip [ip] - Configura o ip do servidor asterisk" ); + vz_printf ( "serextset [ext] - Configura a server ext da cabeceira" ); + vz_printf ( "ssport [port] - Configura a porta SIP do servidor asterisk" ); + vz_printf ( "maskset [mask] - Configura a mascara da cabeceira" ); + vz_printf ( "gatewayset [gateway] - Configura o gateway da cabeceira" ); + vz_printf ( "fw_ip - Configura o IP do servidor de fw" ); + vz_printf ( "fw_port - Configura a porta do servidor de fw" ); + vz_printf ( "maxext - Configura o maior ramal possivel de ser registrado nesse ramo" ); + vz_printf ( "minext - Configura o menor ramal possivel de ser registrado nesse ramo" ); + serial_pc.printf("format - formata o sistema de arquivos" ); + } + + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "help_debug" ) ) + { + miss_match = false; - cm -> get_clock_server_ip ( buffer ); - vz_printf ("Clock Server IP :: %s", buffer ); - -%: ifdef MODE_TEST - vz_printf ("on MODE_TEST" ); -%: endif - } + vz_printf ( "debug [on|off|show] - seleciona debugs gerais | lista de debugs" ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "help_command_to_cbx" ) ) + { + miss_match = false; + + vz_printf ( "callme [ramal porta] - envia o pedido de ligacao para o callbox com o ramal e porta indicada" ); + vz_printf ( "pcb ramal comando - envia o <comando> para o cbx <ramal> e <porta = ramal sem a centane> executar" ); + vz_printf ( "pcc ramal porta comando - envia o <comando> para o cbx <ramal> e <porta> executar" ); + vz_printf ( "cc ramal comando - envia o <comando> para o cbx <ramal> e <porta = ramal> executar" ); + vz_printf ( "silence <start_ext end_ext> - envia comando de flood off para os ramais no intervalo end_ext - start_ext" ); + vz_printf ( "-- ext - Header flood off, ext flood off" ); + vz_printf ( "++ ext - Header flood on, ext flood on" ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "help_protocol" ) ) + { + miss_match = false; + + vz_printf ( "types - Lista os types usados no protocolo de comunicacao Header -- CBx" ); + vz_printf ( "protocol - Exibe formato do pacote seguindo o protocolo de comunicacao Header -- CBx" ); + + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "help_cbx_list" ) ) + { + miss_match = false; + + vz_printf ( "ls [lrti] | status - Exibe uma lista ordenada por ext do CBx registrados na Header" ); + vz_printf ( "showcb - lista os Cbx registrados na header" ); + vz_printf ( "show_sip - lista os Cbx registrados na header com suas portas SIP" ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "help_io" ) ) + { + miss_match = false; + + vz_printf ( "cks - exibe estatisticas de check sum" ); + vz_printf ( "reset_cks - reseta estatisticas de check sum" ); + vz_printf ( "stats - exibe estatisticas de pacotes recidos" ); + vz_printf ( "reset_stats - reseta estatisticas de pacotes recidos" ); + vz_printf ( "{ [+|-] | flood [ on | off ] } - simula envio de pacotes de audio" ); + vz_printf ( "rx - Exibe ultimo pacote recebido dos CBx" ); + vz_printf ( "tx - Exibe ultimo pacote enviado para os CBx" ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "types" ) ) + { + miss_match = false; - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "sizes" ) ) - { - miss_match = false; - sizes = true; - } + vz_printf ( + " hex :: dec :: Type \n\r" + "0x%02x :: %5i :: BOOT\n\r" + "0x%02x :: %5i :: REGISTRY\n\r" + "0x%02x :: %5i :: REGISTRY_ACK\n\r" + "0x%02x :: %5i :: INVITE\n\r" + "0x%02x :: %5i :: INVITE_ACK\n\r" + "0x%02x :: %5i :: AUDIO\n\r" + "0x%02x :: %5i :: TELEMETRY\n\r" + "0x%02x :: %5i :: BOOTLOADER_CBX\n\r" + "0x%02x :: %5i :: CB_BYE\n\r" + "0x%02x :: %5i :: CB_BYE_ACK\n\r" + "0x%02x :: %5i :: PROMPT\n\r" + "0x%02x :: %5i :: FLOOD\n\r" + "0x%02x :: %5i :: FW\n\r" + "0x%02x :: %5i :: FW1\n\r" + "0x%02x :: %5i :: FW2\n\r" + "0x%02x :: %5i :: FW3\n\r" + "0x%02x :: %5i :: FW4\n\r" + "0x%02x :: %5i :: FW5\n\r" + "0x%02x :: %5i :: FW6\n\r" + "0x%02x :: %5i :: CB_STATS\n\r" + "0x%02x :: %5i :: CB_STATS_ACK\n\r" + "0x%02x :: %5i :: DO_NOTHING\n\r\n\r" - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ftq" ) ) + "0x%02x :: %5i :: BROADCAST_EXT\n\r" + "NOTA - Os types TELEMETRY, CB_STATS, e FW1 ate FW6 sao repassados para o servidor como type FW\n\r", + BOOT, BOOT, + REGISTRY, REGISTRY, + REGISTRY_ACK, REGISTRY_ACK, + INVITE, INVITE, + INVITE_ACK, INVITE_ACK, + AUDIO, AUDIO, + TELEMETRY, TELEMETRY, + BOOTLOADER_CBX, BOOTLOADER_CBX, + CB_BYE, CB_BYE, + CB_BYE_ACK, CB_BYE_ACK, + PROMPT, PROMPT, + FLOOD, FLOOD, + FW, FW, + FW1, FW1, + FW2, FW2, + FW3, FW3, + FW4, FW4, + FW5, FW5, + FW6, FW6, + CB_STATS, CB_STATS, + CB_STATS_ACK, CB_STATS_ACK, + DO_NOTHING, DO_NOTHING, + BROADCAST_EXT, BROADCAST_EXT + ); + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "protocol" ) ) + { + miss_match = false; + vz_printf ( "| E | E | P | P | C | C | T | [ Seq_num | Audio ] | 14[ Clock | Audio ] | [ TS | Audio ] | ... |\n\r \n\rE = Ext = Ramal\n\r \n\rP = Port = Porta\n\r \n\rC = Checksum\n\r \n\rT = Type = Tipo\n\r \n\rSeq_num = Sequence Number = Numero de sequencia\n\r \n\rClock = 14 bytes to sync\n\r \n\r... = demais CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__ bytes" ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "flood ", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - vz_printf ( "FTQ On" ); + vz_printf ( "Flood On" ); - big_bug_pkg = true; + tflood.start (); + tflood.reset (); + floodcount =0; + pflood = true; + flood_timeout.start (); } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ktq" ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "more", 4 ) ) + { + miss_match = false; + + vz_printf ( "Flood On" ); + + tflood.start (); + tflood.reset (); + floodcount = 0; + pflood = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - vz_printf ( "FTQ!!!" ); - - flood_bug_pkg = !flood_bug_pkg; + vz_printf ( "Flood Off" ); + + pflood = false; + tflood.stop (); + flood_timeout.reset (); } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wdt_pkg_cbx_disable" ) ) - { - miss_match = false; - - vz_printf ( "wdt_pkg_cbx status :: disable" ); - - disable_wdt_from_cbx = true; - } + } + + // precisa ser refatorado pra mandar pro ramo inteiro, dado a lista de cbx + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "silence ", 8 ) ) + { + miss_match = false; + + char *ref, *split; + + strcpy ( promptcb_last_cmd, debug_buf ); + + if( !( strcmp ( debug_buf + 8, "-h" ) && strcmp ( debug_buf + 8, "--help" ) ) ) { + vz_printf ( "Usage: silence start_ext end_ext | start_ext must be greater than end_ext\n\rObs : ( end_ext - start_ext ) < 50 " ); + } else { + ref = debug_buf; + + split = strtok ( debug_buf + 8, " " ); + + start_ext = atoi ( split ); + + split += strlen ( split ) + 1; - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wdt_pkg_cbx_enable" ) ) - { - miss_match = false; + end_ext = atoi ( split ); + + debug_buf = ref; + + if ( start_ext < end_ext && ( end_ext - start_ext ) < 50 ) + { + if ( start_ext % 2 ) start_ext --; + if ( !( end_ext % 2 ) ) end_ext ++; + + ext_count = start_ext; + flood_silence_timer.start (); + } else { + vz_printf ( "Usage Error : silence start_ext end_ext | start_ext must be greater than end_ext\n\rObs : ( end_ext - start_ext ) < 50 " ); + } - vz_printf ( "wdt_pkg_cbx status :: enable" ); - - disable_wdt_from_cbx = false; + flood_silence = true; } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wdt_pkg_cbx_status" ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "debug ", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - vz_printf ( "wdt_pkg_cbx status :: %s", ( disable_wdt_from_cbx ) ? "disable" : "enable" ); + vz_printf ( "Debug ON" ); + + debug_alive = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; + + vz_printf ( "Debug Off\n\r" ); + + debug_alive = false; } + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "show", 4 ) ) + { + miss_match = false; + + vz_printf ( "dsip \n\r" + "debug_alive \n\r" + "debug_prompt \n\r" + "debug_vector \n\r" + "debug_cb \n\r" + "debug_main \n\r" + "dcks \n\r" + "debug_cb_rx \n\r" + "debug_cb_tx* \n\r" + "debug_eth_rx* \n\r" + "debug_eth_tx* \n\r" + "debug_file" + ); + } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ls", 2 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dsip ", 5 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Sip Debug On" ); + + debug_sip = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; + + vz_printf ( "Sip Debug Off" ); + + debug_sip = false; + } + } + + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "flood_", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "enable", 6 ) ) { miss_match = false; - reverse_list = false; - list = true; - - if ( strlen ( debug_buf ) != 2 ) - { - if ( strstr ( ( debug_buf + 2 ), "r" ) ) - { - reverse_list = true; - } + + vz_printf ( "Flood Packages Enable" ); + + enable_flood = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "disable", 7 ) ) + { + miss_match = false; + + vz_printf ( "Flood Packages Disable" ); + + enable_flood = false; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "status", 6 ) ) + { + miss_match = false; + + vz_printf ( "Flood Packages %s", ( enable_flood ) ? "Enable" : "Disable" ); + } + } - - if ( strstr ( ( debug_buf + 2 ), "l" ) ) - { - list = false; - long_list = true; - } - - if ( strstr ( ( debug_buf + 2 ), "t" ) ) - { - long_list = true; - list = false; - show_time = true; - } - - if ( strstr ( ( debug_buf + 2 ), "i" ) ) - { - long_list = true; - list = false; - show_invites = true; - } - } + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ddrefresh ", 10 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Don't Refresh Debug On" ); + + debug_dont_refresh = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drtp ", 5 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Rtp Debug On" ); - - debug_rtp = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Rtp Debug Off" ); - - debug_rtp = false; - } - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_v_cb" ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "off",3 ) ) { miss_match = false; - print_v_cb = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_v_call" ) ) - { - miss_match = false; - print_v_call = true; + + vz_printf ( "Don't Refresh Debug Off" ); + + debug_dont_refresh = false; } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "tt" ) ) - { - miss_match = false; - main_test = !main_test; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "registra" ) ) - { - miss_match = false; - registra = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "registra4" ) ) + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drajada ", 8 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - registra4 = true; + + vz_printf ( "Debug Rajada on" ); + + debug_resend_invite = true; } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "show_sip" ) ) - { - miss_match = false; - show_sip = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "reset_cks" ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) { miss_match = false; - reset_cks = true; + + vz_printf ( "Debug Rajada off" ); + + debug_resend_invite = false; } + } - //replaced by ls - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "status" ) ) + else if ( xmemmatch ( ( uint8_t * ) debug_buf, ( uint8_t * ) "dsqn ", 5 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - list = true; - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "wdt" ) ) - { - miss_match = false; - debug_wdt = true; + + vz_printf ( "Sequence Number Debug On" ); + + debug_sqn = true; } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "eth" ) ) + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off",3 ) ) + { + miss_match = false; + + vz_printf ( "Sequence Number Debug Off" ); + + debug_sqn = false; + } + } + + else if ( xmemmatch ( ( uint8_t * ) debug_buf, ( uint8_t * ) "test_ts ", 8 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "TS testing On" ); + + test_ts = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) + { + miss_match = false; + + vz_printf ( "TS testing Off" ); + + test_ts = false; + } + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dhello ", 7 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - debug_eth = true; + + vz_printf ( "Hello Debug On" ); + + debug_hello = true; } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off",3 ) ) + { + miss_match = false; + + vz_printf ( "Hello Debug Off" ); + + debug_hello = false; + } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "deleted" ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dmissedwdt ", 11 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - vz_printf ( "::deleted_sip [ %5i ]::", deleted_sip ); + + vz_printf ( "Wdt missed Debug On" ); + + dmissed_wdt = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; + + vz_printf ( "Wdt missed Debug Off" ); + + dmissed_wdt = false; } + } - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "types" ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dclock ", 7 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf( "Clock Debug On" ); + + debug_clock = true; + } + if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - - vz_printf ( - " hex :: dec :: Type \n\r" - "0x%02x :: %5i :: BOOT\n\r" - "0x%02x :: %5i :: REGISTRY\n\r" - "0x%02x :: %5i :: REGISTRY_ACK\n\r" - "0x%02x :: %5i :: INVITE\n\r" - "0x%02x :: %5i :: INVITE_ACK\n\r" - "0x%02x :: %5i :: AUDIO\n\r" - "0x%02x :: %5i :: TELEMETRY\n\r" - "0x%02x :: %5i :: BOOTLOADER_CBX\n\r" - "0x%02x :: %5i :: CB_BYE\n\r" - "0x%02x :: %5i :: CB_BYE_ACK\n\r" - "0x%02x :: %5i :: PROMPT\n\r" - "0x%02x :: %5i :: FLOOD\n\r" - "0x%02x :: %5i :: FW\n\r" - "0x%02x :: %5i :: FW1\n\r" - "0x%02x :: %5i :: FW2\n\r" - "0x%02x :: %5i :: FW3\n\r" - "0x%02x :: %5i :: FW4\n\r" - "0x%02x :: %5i :: FW5\n\r" - "0x%02x :: %5i :: FW6\n\r" - "0x%02x :: %5i :: CB_STATS\n\r" - "0x%02x :: %5i :: CB_STATS_ACK\n\r" - "0x%02x :: %5i :: DO_NOTHING\n\r\n\r" + + vz_printf( "Clock Debug Off" ); + + debug_clock = false; + } + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dprintclock ", 12 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 12 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Clock Debug <VZ PKG PRINT> On" ); + + debug_print_clock = true; + } + if ( xmemmatch ( ( uint8_t * )( debug_buf + 12 ), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; + + vz_printf ( "Clock Debug <VZ PKG PRINT> Off" ); + + debug_print_clock = false; + } + } - "0x%02x :: %5i :: BROADCAST_EXT\n\r" - "NOTA - Os types TELEMETRY, CB_STATS, e FW1 ate FW6 sao repassados para o servidor como type FW\n\r", - BOOT, BOOT, - REGISTRY, REGISTRY, - REGISTRY_ACK, REGISTRY_ACK, - INVITE, INVITE, - INVITE_ACK, INVITE_ACK, - AUDIO, AUDIO, - TELEMETRY, TELEMETRY, - BOOTLOADER_CBX, BOOTLOADER_CBX, - CB_BYE, CB_BYE, - CB_BYE_ACK, CB_BYE_ACK, - PROMPT, PROMPT, - FLOOD, FLOOD, - FW, FW, - FW1, FW1, - FW2, FW2, - FW3, FW3, - FW4, FW4, - FW5, FW5, - FW6, FW6, - CB_STATS, CB_STATS, - CB_STATS_ACK, CB_STATS_ACK, - DO_NOTHING, DO_NOTHING, - BROADCAST_EXT, BROADCAST_EXT - ); + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dlength ", 8 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "String length debug On" ); + + debug_string_length = true; } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "protocol" ) ) + if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - vz_printf ( "| E | E | P | P | C | C | T | [ Seq_num | Audio ] | 14[ Clock | Audio ] | [ TS | Audio ] | ... |\n\r \n\rE = Ext = Ramal\n\r \n\rP = Port = Porta\n\r \n\rC = Checksum\n\r \n\rT = Type = Tipo\n\r \n\rSeq_num = Sequence Number = Numero de sequencia\n\r \n\rClock = 14 bytes to sync\n\r \n\r... = demais CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__ bytes" ); + + vz_printf ( "String length debug Off" ); + + debug_string_length = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "flood ", 6 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dbind ", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "UDP Bind Debug On" ); + + debug_bind = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off",3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Flood On" ); - - tflood.start (); - tflood.reset (); - floodcount =0; - pflood = 1; - flood_timeout.start (); - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "more", 4 ) ) - { - miss_match = false; - - vz_printf ( "Flood On" ); - - tflood.start (); - tflood.reset (); - floodcount = 0; - pflood = 1; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Flood Off" ); - - pflood = 0; - tflood.stop (); - flood_timeout.reset (); - } + miss_match = false; + + vz_printf ( "UDP Bind Debug Off" ); + + debug_bind = false; + } + } + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dresetrtp ", 10 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Reset RTP Debug On" ); + + debug_reset_rtp = true; } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; + + vz_printf ( "Reset RTP Debug Off" ); + + debug_reset_rtp = false; + } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "silence ", 8 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "duart ", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Enable UART3 usage" ); + + debug_uart3 = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - char *ref, *split; - - strcpy ( promptcb_last_cmd, debug_buf ); - - if( !( strcmp ( debug_buf + 8, "-h" ) && strcmp ( debug_buf + 8, "--help" ) ) ) { - vz_printf ( "Usage :: silence start_ext end_ext | start_ext must be greater than end_ext\n\rObs : ( end_ext - start_ext ) < 50 " ); - } else { - ref = debug_buf; - - split = strtok ( debug_buf + 8, " " ); - - start_ext = atoi ( split ); - - split += strlen ( split ) + 1; - - end_ext = atoi ( split ); + vz_printf ( "Disable UART3 usage" ); + + debug_uart3 = false; + } + } - debug_buf = ref; - - if ( start_ext < end_ext && ( end_ext - start_ext ) < 50 ) - { - if ( start_ext % 2 ) start_ext --; - if ( !( end_ext % 2 ) ) end_ext ++; - - ext_count = start_ext; - flood_silence_timer.start (); - } else { - vz_printf ( "Usage Error :: silence start_ext end_ext | start_ext must be greater than end_ext\n\rObs : ( end_ext - start_ext ) < 50 " ); - } - - flood_silence = true; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "debug ", 6 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dprint ", 7 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Debug ON" ); - - debug_alive = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Debug Off\n\r" ); - - debug_alive = false; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "show", 4 ) ) - { - miss_match = false; - - vz_printf ( "dsip \n\r" - "debug_alive \n\r" - "debug_prompt \n\r" - "debug_vector \n\r" - "debug_cb \n\r" - "debug_main \n\r" - "dcks \n\r" - "debug_cb_rx \n\r" - "debug_cb_tx* \n\r" - "debug_eth_rx* \n\r" - "debug_eth_tx* \n\r" - "debug_file" - ); - } + miss_match = false; + + vz_printf ( "Debug print On" ); + + print_values = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dsip ", 5 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Sip Debug On" ); - - debug_sip = true; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Sip Debug Off" ); - - debug_sip = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "ddrefresh ", 10 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Don't Refresh Debug On" ); - - debug_dont_refresh = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; + miss_match = false; - vz_printf ( "Don't Refresh Debug Off" ); - - debug_dont_refresh = false; - } + vz_printf ( "Debug print Off" ); + + print_values = false; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drajada ", 8 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Debug Rajada on" ); - - debug_resend_invite = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "Debug Rajada off" ); - - debug_resend_invite = false; - } - } - - else if ( xmemmatch ( ( uint8_t * ) debug_buf, ( uint8_t * ) "dsqn ", 5 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Sequence Number Debug On" ); - - debug_sqn = true; - } + } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "Sequence Number Debug Off" ); - - debug_sqn = false; - } + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dmissed ", 8 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Debug Missed On" ); + + debug_missed = true; } - - else if ( xmemmatch ( ( uint8_t * ) debug_buf, ( uint8_t * ) "test_ts ", 8 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "TS testing On" ); - - test_ts = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "TS testing Off" ); - - test_ts = false; - } + miss_match = false; + + vz_printf ( "Debug Missed Off" ); + + debug_missed = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dhello ", 7 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Hello Debug On" ); - - debug_hello = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "Hello Debug Off" ); - - debug_hello = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dmissedwdt ", 11 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dreconnect ", 11 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Wdt missed Debug On" ); - - dmissed_wdt = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Wdt missed Debug Off" ); - - dmissed_wdt = false; - } + miss_match = false; + + vz_printf ( "Reconnecet Debug On" ); + + debug_reconnect = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dclock ", 7 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf( "Clock Debug On" ); - - debug_clock = true; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf( "Clock Debug Off" ); - - debug_clock = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dprintclock ", 12 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 12 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Clock Debug <VZ PKG PRINT> On" ); - - debug_print_clock = true; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 12 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Clock Debug <VZ PKG PRINT> Off" ); - - debug_print_clock = false; - } + miss_match = false; + + vz_printf ( "Reconnecet Debug Off" ); + + debug_reconnect = false; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dlength ", 8 ) ) + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dpair ", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "String length debug On" ); - - debug_string_length = true; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "String length debug Off" ); - - debug_string_length = false; - } + miss_match = false; + + vz_printf ( "Pair Debug On" ); + + debug_pair = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dbind ", 6 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "UDP Bind Debug On" ); - - debug_bind = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "UDP Bind Debug Off" ); - - debug_bind = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dresetrtp ", 10 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Reset RTP Debug On" ); - - debug_reset_rtp = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Reset RTP Debug Off" ); - - debug_reset_rtp = false; - } + miss_match = false; + + vz_printf ( "Pair Debug Off" ); + + debug_pair = false; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "duart ", 6 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Enable UART3 usage" ); - - debug_uart3 = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Disable UART3 usage" ); - - debug_uart3 = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dprint ", 7 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Debug print On" ); - - print_values = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Debug print Off" ); - - print_values = false; - } - } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dmissed ", 8 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Debug Missed On" ); - - debug_missed = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Debug Missed Off" ); - - debug_missed = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dreconnect ", 11 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dmatch ", 7 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Reconnecet Debug On" ); - - debug_reconnect = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Reconnecet Debug Off" ); - - debug_reconnect = false; - } + miss_match = false; + + vz_printf ( "Port Match Debug On" ); + + debug_port_match = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dmatch ", 7 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Port Match Debug On" ); - - debug_port_match = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Port Match Debug Off" ); - - debug_port_match = false; - } + miss_match = false; + + vz_printf ( "Port Match Debug Off" ); + + debug_port_match = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dmuted ", 7 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dmuted ", 7 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Muted Debug On" ); + + debug_muted = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Muted Debug On" ); - - debug_muted = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Muted Debug Off" ); - - debug_muted = false; - } + miss_match = false; + + vz_printf ( "Muted Debug Off" ); + + debug_muted = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dwdt ", 5 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dwdt ", 5 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Wdt Debug On" ); - - wdt_show = true; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "Wdt Debug Off" ); - - wdt_show = false; - } + miss_match = false; + + vz_printf ( "Wdt Debug On" ); + + wdt_show = true; + } + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off",3 ) ) + { + miss_match = false; + + vz_printf ( "Wdt Debug Off" ); + + wdt_show = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drefresh ", 9 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drefresh ", 9 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Refresh Debug On" ); + miss_match = false; + + vz_printf ( "Refresh Debug On" ); + + debug_refresh= true; + } + if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "off",3 ) ) + { + miss_match = false; + + vz_printf ( "Refresh Debug Off" ); - debug_refresh= true; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "Refresh Debug Off" ); - - debug_refresh = false; - } + debug_refresh = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dping ", 6 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dping ", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Ping Debug On" ); - - debug_ping = true; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; + miss_match = false; + + vz_printf ( "Ping Debug On" ); + + debug_ping = true; + } + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; + + vz_printf ( "Ping Debug Off" ); - vz_printf ( "Ping Debug Off" ); - - debug_ping= false; - } + debug_ping= false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dwu ", 4 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dwu ", 4 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Wake Up Debug On" ); - - debug_wake = true; - } - if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Wake Up Debug Off" ); - - debug_wake = false; - } + miss_match = false; + + vz_printf ( "Wake Up Debug On" ); + + debug_wake = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "tcp_alive ", 10 ) ) + if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "TCP don't drop mode on" ); - - tcp_alive = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "TCP don't drop mode off" ); - - tcp_alive = false; - } + miss_match = false; + + vz_printf ( "Wake Up Debug Off" ); + + debug_wake = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "daging ",7 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "tcp_alive ", 10 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "TCP don't drop mode on" ); + + tcp_alive = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Aging Debug On" ); - - debug_aging = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "Aging Debug Off" ); - - debug_aging = false; - } + miss_match = false; + + vz_printf ( "TCP don't drop mode off" ); + + tcp_alive = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dcpld ", 6 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "daging ",7 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Aging Debug On" ); + + debug_aging = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off",3 ) ) + { + miss_match = false; + + vz_printf ( "Aging Debug Off" ); + + debug_aging = false; + } + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dcpld ", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "DCPLD Debug On" ); - - debug_cpld = true; - debug_cb_rx = true; - debug_cb_tx = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "DCPLD Debug Off" ); - - debug_cpld = false; - debug_cb_rx = false; - debug_cb_tx = false; - } + miss_match = false; + + vz_printf ( "DCPLD Debug On" ); + + debug_cpld = true; + debug_cb_rx = true; + debug_cb_tx = true; } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off",3 ) ) + { + miss_match = false; + + vz_printf ( "DCPLD Debug Off" ); + + debug_cpld = false; + debug_cb_rx = false; + debug_cb_tx = false; + } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dtxshow ", 8 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dtxshow ", 8 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "DCPLD Show TX Debug On" ); - - debug_show_tx_cpld = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "DCPLD Show TX Debug Off" ); - - debug_show_tx_cpld = false; - } + miss_match = false; + + vz_printf ( "DCPLD Show TX Debug On" ); + + debug_show_tx_cpld = true; } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) + { + miss_match = false; + + vz_printf ( "DCPLD Show TX Debug Off" ); + + debug_show_tx_cpld = false; + } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dshowcpld ", 10 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dshowcpld ", 10 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "DCPLD Show Debug On" ); - - debug_show_tx_cpld = true; - debug_show_rx_cpld = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - vz_printf ( "DCPLD Show Debug Off" ); - - debug_show_tx_cpld = false; - debug_show_rx_cpld = false; - } + miss_match = false; + + vz_printf ( "DCPLD Show Debug On" ); + + debug_show_tx_cpld = true; + debug_show_rx_cpld = true; } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; + vz_printf ( "DCPLD Show Debug Off" ); + + debug_show_tx_cpld = false; + debug_show_rx_cpld = false; + } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drxshow ", 8 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drxshow ", 8 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "DCPLD Show RX Debug On" ); - - debug_show_rx_cpld = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "DCPLD Show RX Debug Off" ); - - debug_show_rx_cpld = false; - } + miss_match = false; + + vz_printf ( "DCPLD Show RX Debug On" ); + + debug_show_rx_cpld = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dcks_err ", 9 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "CKS_ERR Debug On" ); - - debug_cks_err = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t *) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "CKS_ERR Debug Off" ); - - debug_cks_err = false; - } + miss_match = false; + + vz_printf ( "DCPLD Show RX Debug Off" ); + + debug_show_rx_cpld = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * )"dinvite ", 8 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dcks_err ", 9 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "on", 2 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Invite Debug ON" ); - - debug_invite = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) - { - miss_match = false; - - vz_printf ( "Invite Debug ON" ); - - debug_invite = false; - } + miss_match = false; + + vz_printf ( "CKS_ERR Debug On" ); + + debug_cks_err = true; } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t *) "off", 3 ) ) + { + miss_match = false; + + vz_printf ( "CKS_ERR Debug Off" ); + + debug_cks_err = false; + } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dparallel ", 10 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * )"dinvite ", 8 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Invite Debug ON" ); + + debug_invite = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 8 ), ( uint8_t * ) "off",3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * )"on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Parallel Write Debug On" ); - - dparallel = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t *)"off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Parallel Write Debug Off" ); - - dparallel = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dtelos ", 7 ) ) + miss_match = false; + + vz_printf ( "Invite Debug ON" ); + + debug_invite = false; + } + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dparallel ", 10 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * )"on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Parallel Write Debug On" ); + + dparallel = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 10 ), ( uint8_t *)"off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Telemetry Debug On" ); - - debug_telemetry = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Telemetry Debug Off" ); - - debug_telemetry = false; - } + miss_match = false; + + vz_printf ( "Parallel Write Debug Off" ); + + dparallel = false; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dcks ", 5 ) ) + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dtelos ", 7 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Telemetry Debug On" ); + + debug_telemetry = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 7 ), ( uint8_t * ) "off", 3 ) ) { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "CKS Debug On" ); - - debug_cks = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * )"off",3 ) ) - { - miss_match = false; - - vz_printf ( "CKS Debug Off" ); - - debug_cks = false; - } + miss_match = false; + + vz_printf ( "Telemetry Debug Off" ); + + debug_telemetry = false; } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "cc ", 3 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dcks ", 5 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "CKS Debug On" ); + + debug_cks = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * )"off",3 ) ) { miss_match = false; - int ext,port; - char *split, *ref, *cmd; + vz_printf ( "CKS Debug Off" ); + + debug_cks = false; + } + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "cc ", 3 ) ) + { + miss_match = false; + + int ext,port; + char *split, *ref, *cmd; + + ref = debug_buf; + + strcat ( debug_buf, "\r" ); + + split = strtok ( debug_buf + 3, " " ); + ext = atoi ( split ); + + port = ext; + + split += strlen ( split ) + 1; + cmd = split; + + promptcb_last_ext = ext; + promptcb_last_port = port; + + strcpy ( promptcb_last_cmd, cmd ); + + for ( register int i = strlen ( cmd ); i < DEBUGBUFSIZE; i++ ) cmd [ i ] = 0; + + send2callboxes( build_cb_package( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "ext=%d port=%d cmd=%s\r\nComando enviado", ext, port, cmd ); + + debug_buf = ref; + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "bc ", 3 ) ) + { + miss_match = false; + + strcat ( debug_buf, "\r" ); + + char * cmd = debug_buf + 3; + + for ( register int i = strlen( cmd ); i < DEBUGBUFSIZE; i++ ) cmd [ i ] = 0; + + send2callboxes ( build_cb_package ( BROADCAST_EXT, BROADCAST_EXT, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "ext=%x port=%x cmd=%s\r\nComando enviado", BROADCAST_EXT, BROADCAST_EXT, cmd ); + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "pcb ", 4 ) ) + { + miss_match = false; + + int ext,port; + char *split, *ref, *cmd; + + ref = debug_buf; + + strcat ( debug_buf, "\r" ); - ref = debug_buf; + split = strtok ( debug_buf + 4, " " ); + ext = atoi ( split ); + + port = convert_ext_to_port ( ext ); + split += strlen ( split ) + 1; + cmd = split; + + promptcb_last_ext = ext; + promptcb_last_port = port; + + strcpy ( promptcb_last_cmd, cmd ); + + for ( register int i = strlen ( cmd ); i < DEBUGBUFSIZE; i++ ) cmd [ i ] = 0; + + send2callboxes( build_cb_package( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "ext=%d port=%d cmd=%s\r\nComando enviado", ext, port, cmd ); + + debug_buf = ref; + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "pend_all" ) ) + { + miss_match = false; + + char cmd_msg [ CB_BUFFER_SIZE ] = "pend\r"; + + for ( register int i = strlen ( cmd_msg ); i < CB_BUFFER_SIZE; i++ ) cmd_msg [ i ] = 0; + + send2callboxes ( build_cb_package ( BROADCAST_EXT, BROADCAST_EXT, PROMPT, cmd_msg, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "ext=%x port=%x cmd=%s\r\nComando enviado", BROADCAST_EXT, BROADCAST_EXT, cmd_msg ); + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "bye ", 4 ) ) + { + miss_match = false; + + int ext,port; + char * ref; + + ref = debug_buf; + + strcat ( debug_buf, "\r" ); + + ext = atoi ( strtok ( debug_buf + 4, " " ) ); + + port = ext; + + promptcb_last_ext = ext; + promptcb_last_port = port; + + char msg [ CB_BUFFER_SIZE ] = ""; + + for ( register int i = 0; i < CB_BUFFER_SIZE; i ++ ) msg [ i ] = 0; + + strcpy ( msg, "bye" ); + + send2callboxes ( build_cb_package ( ext, port, CB_BYE, msg, ( id_msg++ & ~BIT7 ), CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "Send BYE to ext=%d port=%d\r\nComando enviado", ext, port ); + + debug_buf = ref; + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } - strcat ( debug_buf, "\r" ); + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "end_call ", 9 ) ) + { + miss_match = false; + + char * ref; + + ref = debug_buf; + + end_call_ext = atoi ( strtok ( debug_buf + 9, " " ) ); + + end_call = true; + + debug_buf = ref; + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + + vz_printf( "kill call :: %u\r\n> ", end_call_ext ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "pair", 4 ) ) + { + miss_match = false; + + char * ref = debug_buf; + + char * split = strtok ( debug_buf + 4, " " ); + + u16Who_is_your_pair = atoi ( split ); + + boolWho_is_your_pair = true; + + debug_buf = ref; + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "registra", 8 ) ) + { + miss_match = false; + + char * ref = debug_buf; + + char * split = strtok ( debug_buf + 9, " " ); + + ext_to_be_registered = atoi ( split ); + + need_registry_someone = true; + + debug_buf = ref; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "msg", 3 ) ) + { + miss_match = false; + + char * ref = debug_buf; + + if ( ( strlen ( debug_buf ) == strlen ( "msg" ) ) or ( strstr ( debug_buf + 4, "help" ) not_eq ( NULL ) ) ) + { + vz_printf ("usage: msg < ext > < msg_id > < type >" ); + } else { + + char * split = strtok ( debug_buf + 4, " " ); + int ext = atoi ( split ); + int port = ext; + + // <msg_id> + split += strlen ( split ) + 1; + split = strtok( NULL, " " ); - split = strtok ( debug_buf + 3, " " ); - ext = atoi ( split ); + int seq_num = ( strncasecmp ( split, "0x", 2 ) ) ? atoi ( split ) : ( int ) strtol ( split + 2, NULL, 16 ); + + // <type> + split += strlen ( split ) + 1; + split = strtok ( NULL, " " ); + + uint8_t num_type = 0; + + char type [ 16 ]; + + strncpy ( type, split, sizeof ( type ) - 1 ); + + if ( not ( strcasecmp ( type, "REGISTRY" ) ) ) num_type = REGISTRY; + + else if ( not ( strcasecmp ( type, "INVITE" ) ) ) num_type = INVITE; + + else if ( not ( strcasecmp ( type, "BOOT" ) ) ) num_type = BOOT; + + else if ( not ( strcasecmp ( type, "TELEMETRY" ) ) ) num_type = TELEMETRY; + + else if ( not ( strcasecmp ( type, "bye" ) ) ) num_type = CB_BYE; + + else if ( not ( strcasecmp ( type, "PROMPT" ) ) ) num_type = PROMPT; + + char cmd [ 32 ] = ""; + + if ( num_type not_eq PROMPT ) for( register int i = 0; i < 32; i++ ) cmd [ i ] = 0; + + else strcpy ( cmd, "ping\r" ); + + send2callboxes( build_cb_package( ext, port, num_type, cmd, seq_num, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "ext=%d port=%d msg_id=%#x type=%#x", ext, port, seq_num, num_type ); + } - port = ext; + debug_buf = ref; + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "simula", 6 ) ) + { + miss_match = false; + + char * ref = debug_buf; + + if ( ( strlen ( debug_buf ) == strlen ( "simula" ) ) or ( strstr ( debug_buf + 6, "help" ) not_eq ( NULL ) ) ) + { + vz_printf ("usage: simula < ext > < msg_id > < type>" ); + } else { + simulate = true; + + char * split = strtok ( debug_buf + 6, " " ); + ext_to_simulate = atoi ( split ); + port_to_simulate = ext_to_simulate; + + // <msg_id> + split += strlen ( split ) + 1; + split = strtok( NULL, " " ); + + seq_num_to_simulate = ( strncasecmp ( split, "0x", 2 ) ) ? atoi ( split ) : ( int ) strtol ( split + 2, NULL, 16 ); + + // <type> + split += strlen ( split ) + 1; + split = strtok ( NULL, " " ); + + num_type_to_simulate = 0; + + char type [ 16 ]; + + strncpy ( type, split, sizeof ( type ) - 1 ); + + if ( not ( strcasecmp ( type, "REGISTRY" ) ) ) num_type_to_simulate = REGISTRY; - split += strlen ( split ) + 1; - cmd = split; + else if ( not ( strcasecmp ( type, "INVITE" ) ) ) num_type_to_simulate = INVITE; + + else if ( not ( strcasecmp ( type, "BOOT" ) ) ) num_type_to_simulate = BOOT; + + else if ( not ( strcasecmp ( type, "TELEMETRY" ) ) ) num_type_to_simulate = TELEMETRY; + + else if ( not ( strcasecmp ( type, "bye" ) ) ) num_type_to_simulate = CB_BYE; + + else if ( not ( strcasecmp ( type, "PROMPT" ) ) ) num_type_to_simulate = PROMPT; + + vz_printf ( "ext=%d port=%d msg_id=%#x type=%#x", ext_to_simulate, port_to_simulate, seq_num_to_simulate, num_type_to_simulate ); + } + + debug_buf = ref; + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "pcc ", 4 ) ) + { + miss_match = false; + + int ext,port; + char *split, *ref, *cmd; + + ref = debug_buf; + + strcat ( debug_buf, "\r" ); + + split = strtok ( debug_buf + 4, " " ); + ext = atoi ( split ); + + split += strlen ( split ) + 1; + split = strtok ( NULL, " " ); + port = atoi ( split ); + + split += strlen ( split ) + 1; + cmd = split; + + promptcb_last_ext = ext; + promptcb_last_port = port; + + strcpy ( promptcb_last_cmd, cmd ); + + for ( register int i = strlen( cmd ); i < DEBUGBUFSIZE; i++ ) cmd [ i ] = 0; + + send2callboxes ( build_cb_package( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "ext=%d port=%d cmd=%s\r\nComando enviado", ext, port, cmd ); + + debug_buf = ref; + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_cb ", 9 ) ) + { + miss_match = false; + char *split; - promptcb_last_ext = ext; - promptcb_last_port = port; + split = strtok ( debug_buf + 9, " " ); + if( 0 == ( strcasecmp( split, "all" ) ) ) + { + print_cb_all = true; + } else { + print_cb_var = true; + print_this_cb = atoi ( split ); + } + + bufptr = 0; + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drop_ack ", 9 ) ) + { + miss_match = false; + char *split; + + split = strtok( debug_buf + 9, " " ); + + drop_this_amount_of_ack_to_ast = atoi( split ); + + vz_printf ("Will be droped %d acks", drop_this_amount_of_ack_to_ast ); + + bufptr = 0; + for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "frtp ", 5 ) ) + { + miss_match = false; + char *split; + + split = strtok ( debug_buf + 5, " " ); + frtp = true; + frtp_target = atoi ( split ); + + bufptr = 0; + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rrtp ", 5 ) ) + { + miss_match = false; + char *split; + + split = strtok ( debug_buf + 5, " " ); + rescue_rtp = true; + rescue_rtp_target = atoi ( split ); + + split += strlen ( split ) + 1; + split = strtok( NULL, " " ); + rescue_rtp_value = atoi ( split ); + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_hex_cb ", 13 ) ) + { + miss_match = false; + char *split; + + split = strtok ( debug_buf + 13, " " ); + if( 0 == ( strcasecmp ( split, "all" ) ) ) + { + print_hex_cb_all = true; + } else { + print_hex_cb_var = true; + print_hex_this_cb = atoi ( split ); + } + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * )"print_sip ", 10 ) ) + { + miss_match = false; + + char *split; - strcpy ( promptcb_last_cmd, cmd ); + split = strtok ( debug_buf + 10, " " ); + if ( 0 == ( strcasecmp ( split, "all" ) ) ) + { + print_sip_all = true; + } else { + print_sip_var = true; + print_this_sip = atoi ( split ); + } + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * )"print_hex_sip ", 14 ) ) + { + miss_match = false; + char *split; + + split = strtok ( debug_buf + 14, " " ); + if ( 0 == ( strcasecmp ( split, "all" ) ) ) + { + print_hex_sip_all = true; + } else { + print_hex_sip_var = true; + print_hex_this_sip = atoi ( split ); + } + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * )"print_call ", 11 ) ) + { + miss_match = false; + char *split; + + split = strtok ( debug_buf + 11, " " ); + if ( 0 == ( strcasecmp ( split, "all" ) ) ) + { + print_call_all = true; + } else { + print_call_var = true; + print_this_call = atoi ( split ); + } + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t *)debug_buf, ( uint8_t * ) "print_hex_call ", 15 ) ) + { + miss_match = false; + + char *split; + + split = strtok( debug_buf + 15, " " ); + if ( 0 == ( strcasecmp ( split, "all" ) ) ) + { + print_hex_call_all = true; + } else { + print_hex_call_var = true; + print_hex_this_call = atoi ( split ); + } + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_rtp ", 10 ) ) + { + miss_match = false; + char *split; - for ( register int i = strlen ( cmd ); i < DEBUGBUFSIZE; i++ ) cmd [ i ] = 0; + split = strtok ( debug_buf + 10, " " ); + if ( 0 == ( strcasecmp ( split, "all" ) ) ) + { + print_rtp_all = true; + } else { + print_rtp_var = true; + print_this_rtp = atoi ( split ); + } + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_hex_rtp ", 14 ) ) + { + miss_match = false; + + char *split; + + split = strtok ( debug_buf + 14, " " ); + if ( 0 == ( strcasecmp ( split, "all" ) ) ) + { + print_hex_rtp_all = true; + } else { + print_hex_rtp_var = true; + print_hex_this_rtp = atoi ( split ); + } + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "log ", 4 ) ) + { + miss_match = false; + + char * split = strtok ( debug_buf + 4, " " ); - send2callboxes( build_cb_package( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + { + print_cb_var = true; + print_this_cb = atoi ( split ); + print_sip_var = true; + print_this_sip = print_this_cb; + print_call_var = true; + print_this_call = print_this_cb; + print_rtp_var = true; + print_this_rtp = print_this_cb; + } + + bufptr = 0; + for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rush ", 5 ) ) + { + miss_match = false; + + int ext,port; + char *split, *ref, cmd [ 32 ]; + + ref = debug_buf; + + strcat ( debug_buf, "\r" ); + + split = strtok ( debug_buf + 5, " " ); + ext = atoi ( split ); + + split += strlen ( split ) + 1; + split = strtok ( NULL, " " ); + port = atoi ( split ); + + strcpy ( cmd, "ping\r\n" ); + + promptcb_last_ext = ext; + promptcb_last_port = port; + + strcpy ( promptcb_last_cmd, cmd ); + strcat ( cmd, "\r\r\r\n" ); + + for ( register uint8_t i = 0; i < 3; i++ ) + { + + send2callboxes ( build_cb_package ( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); vz_printf ( "ext=%d port=%d cmd=%s\r\nComando enviado", ext, port, cmd ); - - debug_buf = ref; - - bufptr = 0; - - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "bc ", 3 ) ) + debug_buf = ref; + bufptr = 0; + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } + + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "_", 4 ) ) + { + miss_match = false; + + debug_buf [ bufptr++ ] = 0x0D; + debug_buf [ bufptr++ ] = 0x00; + + send2callboxes ( build_cb_package ( promptcb_last_ext, promptcb_last_port, PROMPT, debug_buf + 4, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "ext=%d port=%d\r\ncmd=%s\r\nComando enviado",promptcb_last_ext, promptcb_last_port, debug_buf + 4 ); + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "cks",3 ) ) + { + miss_match = false; + pcks_s = true; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "showcb",6 ) ) + { + miss_match = false; + pshowcb = true; + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "debug_main ", 11 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Debug Main On" ); + + debug_main = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; + + vz_printf ( "Debug Main Off" ); + + debug_main = 0; + } + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dout ", 5 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - strcat ( debug_buf, "\r" ); - - char * cmd = debug_buf + 3; + vz_printf ( "Out Debug On" ); - for ( register int i = strlen( cmd ); i < DEBUGBUFSIZE; i++ ) cmd [ i ] = 0; - - send2callboxes ( build_cb_package ( BROADCAST_EXT, BROADCAST_EXT, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + debug_out_of_range = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off", 3 ) ) + { + miss_match = false; - vz_printf ( "ext=%x port=%x cmd=%s\r\nComando enviado", BROADCAST_EXT, BROADCAST_EXT, cmd ); - - bufptr = 0; + vz_printf ( "Out Debug Off" ); - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + debug_out_of_range = false; } + } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "pcb ", 4 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dboot ", 6 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - int ext,port; - char *split, *ref, *cmd; - - ref = debug_buf; - - strcat ( debug_buf, "\r" ); - - split = strtok ( debug_buf + 4, " " ); - ext = atoi ( split ); - - port = convert_ext_to_port ( ext ); - split += strlen ( split ) + 1; - cmd = split; - - promptcb_last_ext = ext; - promptcb_last_port = port; - - strcpy ( promptcb_last_cmd, cmd ); - - for ( register int i = strlen ( cmd ); i < DEBUGBUFSIZE; i++ ) cmd [ i ] = 0; - - send2callboxes( build_cb_package( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); - - vz_printf ( "ext=%d port=%d cmd=%s\r\nComando enviado", ext, port, cmd ); + vz_printf ( "Boot Debug On" ); - debug_buf = ref; - - bufptr = 0; - - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + debug_boot = true; } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "pend_all" ) ) - { - miss_match = false; - - char cmd_msg [ CB_BUFFER_SIZE ] = "pend\r"; - - for ( register int i = strlen ( cmd_msg ); i < CB_BUFFER_SIZE; i++ ) cmd_msg [ i ] = 0; - - send2callboxes ( build_cb_package ( BROADCAST_EXT, BROADCAST_EXT, PROMPT, cmd_msg, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); - - vz_printf ( "ext=%x port=%x cmd=%s\r\nComando enviado", BROADCAST_EXT, BROADCAST_EXT, cmd_msg ); - - bufptr = 0; - - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "bye ", 4 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - int ext,port; - char * ref; - - ref = debug_buf; - - strcat ( debug_buf, "\r" ); - - ext = atoi ( strtok ( debug_buf + 4, " " ) ); - - port = ext; - - promptcb_last_ext = ext; - promptcb_last_port = port; - - char msg [ CB_BUFFER_SIZE ] = ""; - - for ( register int i = 0; i < CB_BUFFER_SIZE; i ++ ) msg [ i ] = 0; - - strcpy ( msg, "bye" ); - - send2callboxes ( build_cb_package ( ext, port, CB_BYE, msg, ( id_msg++ & ~BIT7 ), CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); - - vz_printf ( "Send BYE to ext=%d port=%d\r\nComando enviado", ext, port ); - - debug_buf = ref; + vz_printf ( "Boot Debug Off" ); - bufptr = 0; + debug_boot = false; + } + } + + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dnewcall ", 9 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + vz_printf ( "Allocation VZ_Call Debug On" ); + + debug_alloc_vz_call = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "end_call ", 9 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - char * ref; - - ref = debug_buf; - - end_call_ext = atoi ( strtok ( debug_buf + 9, " " ) ); + vz_printf ( "Allocation VZ_Call Debug Off" ); - end_call = true; - - debug_buf = ref; - - bufptr = 0; - - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - - vz_printf( "kill call :: %u\r\n> ", end_call_ext ); + debug_alloc_vz_call = false; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "msg", 3 ) ) - { - miss_match = false; - - char * ref = debug_buf; - - if ( ( strlen ( debug_buf ) == strlen ( "msg" ) ) or ( strstr ( debug_buf + 4, "help" ) not_eq ( NULL ) ) ) - { - vz_printf ("usage msg < ext> <msg_id> <type>" ); - } else { - - char * split = strtok ( debug_buf + 4, " " ); - int ext = atoi ( split ); - int port = ext; - - // <msg_id> - split += strlen ( split ) + 1; - split = strtok( NULL, " " ); - - int seq_num = ( strncasecmp ( split, "0x", 2 ) ) ? atoi ( split ) : ( int ) strtol ( split + 2, NULL, 16 ); + } - // <type> - split += strlen ( split ) + 1; - split = strtok ( NULL, " " ); - - uint8_t num_type = 0; - - char type [ 16 ]; - - strncpy ( type, split, sizeof ( type ) - 1 ); - - if ( not ( strcasecmp ( type, "REGISTRY" ) ) ) num_type = REGISTRY; - - else if ( not ( strcasecmp ( type, "INVITE" ) ) ) num_type = INVITE; - - else if ( not ( strcasecmp ( type, "BOOT" ) ) ) num_type = BOOT; - - else if ( not ( strcasecmp ( type, "TELEMETRY" ) ) ) num_type = TELEMETRY; - - else if ( not ( strcasecmp ( type, "bye" ) ) ) num_type = CB_BYE; - - else if ( not ( strcasecmp ( type, "PROMPT" ) ) ) num_type = PROMPT; - - char cmd [ 32 ] = ""; - - if ( num_type not_eq PROMPT ) for( register int i = 0; i < 32; i++ ) cmd [ i ] = 0; - - else strcpy ( cmd, "ping\r" ); - - send2callboxes( build_cb_package( ext, port, num_type, cmd, seq_num, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); - - vz_printf ( "ext=%d port=%d msg_id=%#x type=%#x", ext, port, seq_num, num_type ); - } - - debug_buf = ref; - - bufptr = 0; - - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "pcc ", 4 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dbloader ", 9 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - int ext,port; - char *split, *ref, *cmd; - - ref = debug_buf; - - strcat ( debug_buf, "\r" ); - - split = strtok ( debug_buf + 4, " " ); - ext = atoi ( split ); - - split += strlen ( split ) + 1; - split = strtok ( NULL, " " ); - port = atoi ( split ); - - split += strlen ( split ) + 1; - cmd = split; - - promptcb_last_ext = ext; - promptcb_last_port = port; - - strcpy ( promptcb_last_cmd, cmd ); - - for ( register int i = strlen( cmd ); i < DEBUGBUFSIZE; i++ ) cmd [ i ] = 0; - - send2callboxes ( build_cb_package( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + vz_printf ( "Bootloader Debug On" ); - vz_printf ( "ext=%d port=%d cmd=%s\r\nComando enviado", ext, port, cmd ); - - debug_buf = ref; - - bufptr = 0; - - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + debug_bootloader = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_cb ", 9 ) ) - { + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - char *split; - - split = strtok ( debug_buf + 9, " " ); - if( 0 == ( strcasecmp( split, "all" ) ) ) - { - print_cb_all = true; - } else { - print_cb_var = true; - print_this_cb = atoi ( split ); - } - - bufptr = 0; - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + + vz_printf ( "Bootloader Debug Off" ); + + debug_bootloader = false; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drop_ack ", 9 ) ) - { - miss_match = false; - char *split; + } - split = strtok( debug_buf + 9, " " ); - - drop_this_amount_of_ack_to_ast = atoi( split ); - - vz_printf ("Will be droped %d acks", drop_this_amount_of_ack_to_ast ); - - bufptr = 0; - for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "frtp ", 5 ) ) + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dpower" ) ) + { + miss_match = false; + + if ( !power_source_status ) { - miss_match = false; - char *split; - - split = strtok ( debug_buf + 5, " " ); - frtp = true; - frtp_target = atoi ( split ); - - bufptr = 0; - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + vz_printf ( "Main power is UP" ); + } else { + vz_printf ( "Main power is DOWN" ); } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rrtp ", 5 ) ) - { - miss_match = false; - char *split; + } - split = strtok ( debug_buf + 5, " " ); - rescue_rtp = true; - rescue_rtp_target = atoi ( split ); - - split += strlen ( split ) + 1; - split = strtok( NULL, " " ); - rescue_rtp_value = atoi ( split ); - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_hex_cb ", 13 ) ) - { - miss_match = false; - char *split; - - split = strtok ( debug_buf + 13, " " ); - if( 0 == ( strcasecmp ( split, "all" ) ) ) - { - print_hex_cb_all = true; - } else { - print_hex_cb_var = true; - print_hex_this_cb = atoi ( split ); - } - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * )"print_sip ", 10 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dfw ", 4 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - char *split; - - split = strtok ( debug_buf + 10, " " ); - if ( 0 == ( strcasecmp ( split, "all" ) ) ) - { - print_sip_all = true; - } else { - print_sip_var = true; - print_this_sip = atoi ( split ); - } - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + vz_printf ( "FW Debug On" ); + + debug_fw = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * )"print_hex_sip ", 14 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - char *split; + + vz_printf ( "FW Debug Off" ); + + debug_fw = false; + } + } - split = strtok ( debug_buf + 14, " " ); - if ( 0 == ( strcasecmp ( split, "all" ) ) ) - { - print_hex_sip_all = true; - } else { - print_hex_sip_var = true; - print_hex_this_sip = atoi ( split ); - } - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * )"print_call ", 11 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dfwp ", 5 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - char *split; - - split = strtok ( debug_buf + 11, " " ); - if ( 0 == ( strcasecmp ( split, "all" ) ) ) - { - print_call_all = true; - } else { - print_call_var = true; - print_this_call = atoi ( split ); - } - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + + vz_printf ("FWPrint Debug On" ); + + debug_fw_print = true; } - - else if ( xmemmatch ( ( uint8_t *)debug_buf, ( uint8_t * ) "print_hex_call ", 15 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - char *split; + vz_printf ("FWPrint Debug Off" ); + + debug_fw_print = false; + } + } - split = strtok( debug_buf + 15, " " ); - if ( 0 == ( strcasecmp ( split, "all" ) ) ) - { - print_hex_call_all = true; - } else { - print_hex_call_var = true; - print_hex_this_call = atoi ( split ); - } - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_rtp ", 10 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drx ", 4 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - char *split; - - split = strtok ( debug_buf + 10, " " ); - if ( 0 == ( strcasecmp ( split, "all" ) ) ) - { - print_rtp_all = true; - } else { - print_rtp_var = true; - print_this_rtp = atoi ( split ); - } - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + + vz_printf ( "Debug Cbx Rx On" ); + + debug_cb_rx = true; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "print_hex_rtp ", 14 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - char *split; + vz_printf ( "Debug Cbx Rx Off" ); + + debug_cb_rx = false; + } + } - split = strtok ( debug_buf + 14, " " ); - if ( 0 == ( strcasecmp ( split, "all" ) ) ) - { - print_hex_rtp_all = true; - } else { - print_hex_rtp_var = true; - print_hex_this_rtp = atoi ( split ); - } - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "log ", 4 ) ) + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dtx ", 4 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "on", 2 ) ) { miss_match = false; - - char * split = strtok ( debug_buf + 4, " " ); + + vz_printf ( "Debug Cbx Tx On" ); + + debug_cb_tx = true; + } + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "off", 3 ) ) + { + + miss_match = false; + + vz_printf ( "Debug Cbx Tx Off" ); + + debug_cb_tx = false; + } + } - { - print_cb_var = true; - print_this_cb = atoi ( split ); - print_sip_var = true; - print_this_sip = print_this_cb; - print_call_var = true; - print_this_call = print_this_cb; - print_rtp_var = true; - print_this_rtp = print_this_cb; - } - - bufptr = 0; - for ( register uint16_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "debug_file ", 11 ) ) + { + if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "on", 2 ) ) + { + miss_match = false; + + vz_printf ( "Debug File On" ); + + debug_file = true; } - - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "rush ", 5 ) ) + else if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "off", 3 ) ) { miss_match = false; - int ext,port; - char *split, *ref, cmd [ 32 ]; - - ref = debug_buf; - - strcat ( debug_buf, "\r" ); - - split = strtok ( debug_buf + 5, " " ); - ext = atoi ( split ); - - split += strlen ( split ) + 1; - split = strtok ( NULL, " " ); - port = atoi ( split ); - - strcpy ( cmd, "ping\r\n" ); - - promptcb_last_ext = ext; - promptcb_last_port = port; - - strcpy ( promptcb_last_cmd, cmd ); - strcat ( cmd, "\r\r\r\n" ); - - for ( register uint8_t i = 0; i < 3; i++ ) - { - - send2callboxes ( build_cb_package ( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); - - vz_printf ( "ext=%d port=%d cmd=%s\r\nComando enviado", ext, port, cmd ); - } - - debug_buf = ref; - bufptr = 0; - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "_", 4 ) ) - { - miss_match = false; - debug_buf [ bufptr++ ] = 0x0D; - debug_buf [ bufptr++ ] = 0x00; - - send2callboxes ( build_cb_package( promptcb_last_ext, promptcb_last_port, PROMPT, debug_buf + 4, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + vz_printf ( "Debug File Off" ); - vz_printf ( "ext=%d port=%d\r\ncmd=%s\r\nComando enviado",promptcb_last_ext, promptcb_last_port, debug_buf + 4 ); - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "cks",3 ) ) - { - miss_match = false; - pcks_s = true; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "showcb",6 ) ) - { - miss_match = false; - pshowcb = true; - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "debug_main ", 11 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Debug Main On" ); - - debug_main = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Debug Main Off" ); - - debug_main = 0; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dout ", 5 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Out Debug On" ); - - debug_out_of_range = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Out Debug Off" ); - - debug_out_of_range = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dboot ", 6 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Boot Debug On" ); - - debug_boot = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 6 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Boot Debug Off" ); - - debug_boot = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dbloader ", 9 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Bootloader Debug On" ); - - debug_bootloader = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 9 ), ( uint8_t * ) "off", 3 ) ) { - miss_match = false; - - vz_printf ( "Bootloader Debug Off" ); - - debug_bootloader = false; - } - } - - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dpower" ) ) - { - miss_match = false; - - if ( !power_source_status ) - { - vz_printf ( "Main power is UP" ); - } else { - vz_printf ( "Main power is DOWN" ); - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dfw ", 4 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "FW Debug On" ); - - debug_fw = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "FW Debug Off" ); - - debug_fw = false; - } + debug_file = false; } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dfwp ", 5 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ("FWPrint Debug On" ); - - debug_fw_print = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 5 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ("FWPrint Debug Off" ); - - debug_fw_print = false; - } - } - - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "drx ", 4 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Debug Cbx Rx On" ); - - debug_cb_rx = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Debug Cbx Rx Off" ); - - debug_cb_rx = false; - } - } + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "dtx ", 4 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Debug Cbx Tx On" ); - - debug_cb_tx = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 4 ), ( uint8_t * ) "off", 3 ) ) - { - - miss_match = false; - - vz_printf ( "Debug Cbx Tx Off" ); - - debug_cb_tx = false; - } - } + else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "help" ) ) + { + miss_match = false; + + vz_printf ( "**************************** PROMPT HELP ****************************" ); + vz_printf ( "help_setup" ); + vz_printf ( "help_debug" ); + vz_printf ( "help_command_to_cbx" ); + vz_printf ( "help_protocol" ); + vz_printf ( "help_cbx_list" ); + vz_printf ( "help_io" ); + + vz_printf ( "reset - resta o sistema" ); + vz_printf ( "PROMPT VERSION: V%d -- %s - %s", PVERSION, __DATE__, __TIME__); + + strcpy ( last_cmd, tmp_cmd ); + + bufptr = 0; + + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "debug_file ", 11 ) ) - { - if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "on", 2 ) ) - { - miss_match = false; - - vz_printf ( "Debug File On" ); - - debug_file = true; - } - else if ( xmemmatch ( ( uint8_t * )( debug_buf + 11 ), ( uint8_t * ) "off", 3 ) ) - { - miss_match = false; - - vz_printf ( "Debug File Off" ); - - debug_file = false; - } - } + else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "callme ", 7 ) ) + { + miss_match = false; + int ext,port; + char cmd[ 16 ]; - else if ( xstrmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "help" )) { - miss_match = false; - - vz_printf ( "**************************** PROMPT HELP ****************************" ); - vz_printf ( "ifconfig - mostra o arquivo de configuracao do sistema" ); - vz_printf ( "dconfig - volta as configuracoes do sistema para o padrao de fabrica" ); - vz_printf ( "callme [ramal porta] - envia o pedido de ligacao para o callbox com o ramal e porta indicada" ); - vz_printf ( "pcb ramal comando - envia o <comando> para o cbx <ramal> e <porta = ramal sem a centane> executar" ); - vz_printf ( "pcc ramal porta comando - envia o <comando> para o cbx <ramal> e <porta> executar" ); - vz_printf ( "cc ramal comando - envia o <comando> para o cbx <ramal> e <porta = ramal> executar" ); - - serial_pc.printf("format - formata o sistema de arquivos" ); - - vz_printf ( "reset - resta o sistema" ); - vz_printf ( "ipset [ip] - Configura o IP da cabeceira" ); - vz_printf ( "extset [ext] - Configura a ext da cabeceira" ); - vz_printf ( "msipport [port] - Configura a porta SIP da cabeceira" ); - vz_printf ( "serverip [ip] - Configura o ip do servidor asterisk" ); - vz_printf ( "serextset [ext] - Configura a server ext da cabeceira" ); - vz_printf ( "ssport [port] - Configura a porta SIP do servidor asterisk" ); - vz_printf ( "maskset [mask] - Configura a mascara da cabeceira" ); - vz_printf ( "gatewayset [gateway] - Configura o gateway da cabeceira" ); - vz_printf ( "fw_ip - Configura o IP do servidor de fw" ); - vz_printf ( "fw_port - Configura a porta do servidor de fw" ); - vz_printf ( "maxext - Configura o maior ramal possivel de ser registrado nesse ramo" ); - vz_printf ( "minext - Configura o menor ramal possivel de ser registrado nesse ramo" ); - vz_printf ( "showcb - lista os Cbx registrados na header" ); - vz_printf ( "cks - exibe estatisticas de check sum" ); - vz_printf ( "reset_cks - reseta estatisticas de check sum" ); - vz_printf ( ". - executa o comando anterior novamente" ); - vz_printf ( "debug [on|off|show] - seleciona debugs gerais | lista de debugs" ); - vz_printf ( "{ flood [ on | off ] | [+|-] } - simula envio de pacotes de audio" ); - vz_printf ( "silence <start_ext end_ext> - envia comando de flood off para os ramais no intervalo end_ext - start_ext" ); - vz_printf ( "-- ext - Header flood off, ext flood off" ); - vz_printf ( "++ ext - Header flood on, ext flood on" ); - vz_printf ( "rx - Exibe ultimo pacote recebido dos CBx" ); - vz_printf ( "tx - Exibe ultimo pacote enviado para os CBx" ); - vz_printf ( "ls | status - Exibe uma lista ordenada por ext do CBx registrados na Header" ); - vz_printf ( "types - Lista os types usados no protocolo de comunicacao Header -- CBx" ); - vz_printf ( "protocol - Exibe formato do pacote seguindo o protocolo de comunicacao Header -- CBx" ); - vz_printf ( "PROMPT VERSION: V%d -- %s - %s", PVERSION, __DATE__, __TIME__); - - strcpy ( last_cmd, tmp_cmd ); - - bufptr = 0; - - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } + ext = atoi( debug_buf + 7 ); + port = convert_ext_to_port ( ext ); + + strcpy( cmd, ( ext % 2 ) ? "call init B" : "call init A" ); + + if( ext % 2 ) ext--; + + promptcb_last_ext = ext; + promptcb_last_port = port; + + int tmp = strlen( cmd ); + cmd[ tmp ] = 0x0D; + cmd[ tmp + 1 ] = 0x00; + strcpy( promptcb_last_cmd, cmd ); - else if ( xmemmatch ( ( uint8_t * )debug_buf, ( uint8_t * ) "callme ", 7 ) ) - { - miss_match = false; - int ext,port; - char cmd[ 16 ]; + send2callboxes( build_cb_package( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); + + vz_printf ( "ext=%d port=%d\r\ncmd=%s\r\n\n\rComando enviado\n\r", ext, port, cmd ); - ext = atoi( debug_buf + 7 ); - port = convert_ext_to_port( ext ); - - strcpy( cmd, ( ext % 2 ) ? "call init B" : "call init A" ); - - if( ext % 2 ) ext--; - - promptcb_last_ext = ext; - promptcb_last_port = port; + bufptr = 0; + for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; + } - int tmp = strlen( cmd ); - cmd[ tmp ] = 0x0D; - cmd[ tmp + 1 ] = 0x00; - strcpy( promptcb_last_cmd, cmd ); - - send2callboxes( build_cb_package( ext, port, PROMPT, cmd, id_msg++, CB_BUFFER_SIZE - VZ_HEADER_OFFSET, prompt_write_buffer ) ); - - vz_printf ( "ext=%d port=%d\r\ncmd=%s\r\n\n\rComando enviado\n\r", ext, port, cmd ); + if ( miss_match ) + { + vz_printf ( "> %s: command not found", debug_buf ); + + } else { + if ( from_eth && strlen ( debug_buf ) > 2 ) strcpy ( last_cmd, tmp_cmd ); - bufptr = 0; - for ( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf [ i ] = 0; - } - - if ( miss_match ) - { - vz_printf ( "> %s: command not found", debug_buf ); - - } else { - if ( from_eth && strlen ( debug_buf ) > 2 ) strcpy ( last_cmd, tmp_cmd ); - - else if ( strlen ( debug_buf ) > 2 ) strcpy ( last_cmd, tmp_cmd ); - } + else if ( strlen ( debug_buf ) > 2 ) strcpy ( last_cmd, tmp_cmd ); } return( NULL );