Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Tue Mar 10 18:10:57 2015 +0000
Revision:
105:a930035b6556
Parent:
104:62646ef786a3
Child:
106:a34fcf9f0e02
sprint 0;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 44:cc4996469404 1 #include "prompt.h"
klauss 45:c80574f24dc3 2
klauss 60:b4ec6beb3be3 3 bool flood_silence = false;
klauss 65:0b653cfe95db 4 bool delayed_flood = false;
klauss 63:0d95da692bb4 5
klauss 78:1353744f01e1 6 Timer tcp_timer;
klauss 105:a930035b6556 7
klauss 78:1353744f01e1 8 bool tcp_alive = false;
klauss 105:a930035b6556 9 bool serial_pc_pending = false;
klauss 19:ab2088e0dec6 10
klauss 58:af7e8788f106 11 char __debug_buf__[ DEBUGBUFSIZE ];
klauss 35:96885a7931f0 12 char * debug_buf = __debug_buf__;
klauss 58:af7e8788f106 13 char last_cmd[ DEBUGBUFSIZE ];
klauss 58:af7e8788f106 14 char tmp_cmd[ DEBUGBUFSIZE ] = "help";
klauss 30:8dfb6d8de53d 15 char last_debug_buf[ DEBUGBUFSIZE ] = "help";
klauss 105:a930035b6556 16 char eth_buffer[ __PROMPT_ETH_BUFFER_SIZE__ ];
klauss 105:a930035b6556 17 char gp_buff[ DEBUGBUFSIZE ];
klauss 60:b4ec6beb3be3 18
klauss 104:62646ef786a3 19 FILE *fip, *fmask, *fgate, *fport, *fsip, *fsport, *fext, *fserext, *fudpport, *ftcpport, *ffwip, *ffwport, *fmax, *fmin;
klauss 81:3656f00ab3db 20
klauss 19:ab2088e0dec6 21 uint8_t bufptr = 0;
klauss 35:96885a7931f0 22 uint8_t last_bufptr = 0;
klauss 19:ab2088e0dec6 23
klauss 105:a930035b6556 24 void init_prompt_eth()
klauss 105:a930035b6556 25 {
klauss 105:a930035b6556 26 int udp_bind = udp_client.bind( UDP_PORT_LISTENER );
klauss 105:a930035b6556 27 udp_client.set_blocking( false, 0 );
klauss 105:a930035b6556 28 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\n******* Prompt eth UDP Ready [ %d ] *******", udp_bind );
klauss 19:ab2088e0dec6 29
klauss 105:a930035b6556 30 int tcp_bind = tcp_server.bind( TCP_PORT_LISTENER );
klauss 89:0fe315117b00 31 tcp_server.set_blocking( false, 0 );
klauss 105:a930035b6556 32 int tcp_listen = tcp_server.listen();
klauss 105:a930035b6556 33 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\n******* Prompt eth TCP Ready [ %d, %d ] *******", tcp_bind, tcp_listen );
klauss 19:ab2088e0dec6 34 }
klauss 19:ab2088e0dec6 35
klauss 28:94aec56c6329 36 // main prompt process
klauss 105:a930035b6556 37 char * prompt_process( char * msg_from_cb, int length )
klauss 103:e3cabfc2f533 38 {
klauss 28:94aec56c6329 39 //FIXME dar flush na serial
klauss 19:ab2088e0dec6 40 volatile char b = 0;
klauss 19:ab2088e0dec6 41 static uint8_t bufret = 0;
klauss 30:8dfb6d8de53d 42 static Timer flood_timeout;
klauss 60:b4ec6beb3be3 43 static Timer flood_silence_timer;
klauss 60:b4ec6beb3be3 44 static uint8_t id_msg = 0x10;
klauss 60:b4ec6beb3be3 45 static int start_ext, end_ext, ext_count;
klauss 36:728498a78e1e 46 bool miss_match = true;
klauss 105:a930035b6556 47 uint8_t write_buffer[ CB_BUFFER_SIZE ];
klauss 103:e3cabfc2f533 48
klauss 103:e3cabfc2f533 49 if( flood_timeout.read() > 60 ) {
klauss 45:c80574f24dc3 50 pflood = 0;
klauss 45:c80574f24dc3 51 flood_timeout.stop();
klauss 45:c80574f24dc3 52 flood_timeout.reset();
klauss 45:c80574f24dc3 53 }
klauss 103:e3cabfc2f533 54
klauss 103:e3cabfc2f533 55 if( tcp_timer.read() >= TCP_IDLE_MAX_TIME ) {
klauss 103:e3cabfc2f533 56 tcp_alive = false;
klauss 103:e3cabfc2f533 57 tcp_timer.stop();
klauss 103:e3cabfc2f533 58 tcp_timer.reset();
klauss 103:e3cabfc2f533 59 tcp_session = false;
klauss 103:e3cabfc2f533 60 debug_buf = __debug_buf__;
klauss 103:e3cabfc2f533 61 bufptr = last_bufptr;
klauss 103:e3cabfc2f533 62 bufret = 0;
klauss 103:e3cabfc2f533 63 from_eth = false;
klauss 103:e3cabfc2f533 64 tcp_client.close();
klauss 103:e3cabfc2f533 65 return( NULL );
klauss 105:a930035b6556 66 }
klauss 105:a930035b6556 67
klauss 105:a930035b6556 68 if( udp_query )
klauss 105:a930035b6556 69 {
klauss 105:a930035b6556 70 if( msg_from_cb != NULL )
klauss 105:a930035b6556 71 {
klauss 105:a930035b6556 72 last_bufptr = bufptr;
klauss 105:a930035b6556 73 if( ( length > 2 ) && ( msg_from_cb[ length - 2 ] == '\r' ) ) msg_from_cb[ length - 2 ] = 0;
klauss 105:a930035b6556 74
klauss 105:a930035b6556 75 if( ( length > 1 ) && ( msg_from_cb[ length - 1 ] == '\n' ) ) msg_from_cb[ length - 1 ] = 0;
klauss 103:e3cabfc2f533 76
klauss 105:a930035b6556 77 if( ( length == 1 ) && msg_from_cb[ 0 ] == 0x0A ) strcpy( msg_from_cb, "\r" );
klauss 105:a930035b6556 78
klauss 105:a930035b6556 79 bufptr = strlen( msg_from_cb );
klauss 105:a930035b6556 80 debug_buf = msg_from_cb;
klauss 103:e3cabfc2f533 81 from_eth = true;
klauss 103:e3cabfc2f533 82 bufret = 1;
klauss 105:a930035b6556 83 }
klauss 105:a930035b6556 84 }
klauss 105:a930035b6556 85 else
klauss 105:a930035b6556 86 {
klauss 105:a930035b6556 87 if( !tcp_server.accept( tcp_client ) )
klauss 105:a930035b6556 88 {
klauss 105:a930035b6556 89 tcp_session = true;
klauss 105:a930035b6556 90 tcp_timer.start();
klauss 105:a930035b6556 91 last_bufptr = bufptr;
klauss 105:a930035b6556 92 for( register int i = 0; i < __PROMPT_ETH_BUFFER_SIZE__; i++ ) eth_buffer[ i ] = 0;
klauss 105:a930035b6556 93 }
klauss 105:a930035b6556 94 if( tcp_session && !udp_query )
klauss 105:a930035b6556 95 {
klauss 105:a930035b6556 96 tcp_client.set_blocking( false, 0 );
klauss 105:a930035b6556 97 //for( register int i = 0; i < __PROMPT_ETH_BUFFER_SIZE__; i++ ) eth_buffer[ i ] = 0;
klauss 105:a930035b6556 98 int n = tcp_client.receive( eth_buffer, sizeof( eth_buffer ) - 1 );
klauss 105:a930035b6556 99 if( n > 0 ) {
klauss 103:e3cabfc2f533 100 tcp_timer.reset();
klauss 105:a930035b6556 101
klauss 105:a930035b6556 102 if( ( n > 2 ) && ( eth_buffer[ n - 2 ] == '\r' ) ) eth_buffer[ n - 2 ] = 0;
klauss 105:a930035b6556 103
klauss 105:a930035b6556 104 if( ( n > 1 ) && ( eth_buffer[ n - 1 ] == '\n' ) ) eth_buffer[ n - 1 ] = 0;
klauss 105:a930035b6556 105
klauss 105:a930035b6556 106 if( ( n == 1 ) && eth_buffer[ 0 ] == 0x0A ) strcpy( eth_buffer, "\r" );
klauss 105:a930035b6556 107
klauss 105:a930035b6556 108 bufptr = strlen( eth_buffer );
klauss 105:a930035b6556 109 debug_buf = eth_buffer;
klauss 105:a930035b6556 110 from_eth = true;
klauss 105:a930035b6556 111 bufret = 1;
klauss 105:a930035b6556 112
klauss 105:a930035b6556 113 if( !( strcmp( eth_buffer, "quit" ) ) ) {
klauss 105:a930035b6556 114 tcp_timer.reset();
klauss 105:a930035b6556 115 debug_buf = __debug_buf__;
klauss 105:a930035b6556 116 bufptr = last_bufptr;
klauss 105:a930035b6556 117 from_eth = false;
klauss 105:a930035b6556 118 tcp_session = false;
klauss 105:a930035b6556 119 tcp_client.close();
klauss 105:a930035b6556 120 bufret = 0;
klauss 105:a930035b6556 121 return( NULL );
klauss 105:a930035b6556 122 }
klauss 105:a930035b6556 123 } else {
klauss 48:195c97f12e8e 124 debug_buf = __debug_buf__;
klauss 48:195c97f12e8e 125 bufptr = last_bufptr;
klauss 57:78f7191a8b69 126 from_eth = false;
klauss 45:c80574f24dc3 127 }
klauss 103:e3cabfc2f533 128 }
klauss 53:bb492a8f115a 129 }
klauss 105:a930035b6556 130
klauss 105:a930035b6556 131 if( ( !from_eth ) && ( !udp_query ) )
klauss 105:a930035b6556 132 {
klauss 105:a930035b6556 133 if( pc.readable() ) {
klauss 53:bb492a8f115a 134 b = pc.getc();
klauss 105:a930035b6556 135 if( b == 0x0D ) {
klauss 105:a930035b6556 136 // enter
klauss 53:bb492a8f115a 137 bufret = 1;
klauss 105:a930035b6556 138 if( from_eth ) serial_pc_pending = true;
klauss 105:a930035b6556 139 } else {
klauss 53:bb492a8f115a 140 pc.putc( b );
klauss 105:a930035b6556 141 if( b == 0x08 || b == 0x7F ) {
klauss 105:a930035b6556 142 // BS | DEL
klauss 105:a930035b6556 143 if( bufptr > 0 ) {
klauss 105:a930035b6556 144 __debug_buf__[ --bufptr ] = 0;
klauss 105:a930035b6556 145 }
klauss 105:a930035b6556 146 } else if( b == 0x09 ) {
klauss 53:bb492a8f115a 147 // ignore tab
klauss 105:a930035b6556 148 } else {
klauss 105:a930035b6556 149 //debug_msg("--%c,%d--%d--", b, bufptr, last_bufptr );
klauss 105:a930035b6556 150 __debug_buf__[ bufptr ] = b;
klauss 53:bb492a8f115a 151 bufptr++;
klauss 42:480335bdde12 152 }
klauss 104:62646ef786a3 153 last_bufptr = bufptr;
klauss 31:bb5fb28a77df 154 }
klauss 53:bb492a8f115a 155 }
klauss 48:195c97f12e8e 156 }
klauss 105:a930035b6556 157
klauss 105:a930035b6556 158 if( flood_silence ) {
klauss 105:a930035b6556 159 if( flood_silence_timer.read_ms() > 250 ) {
klauss 60:b4ec6beb3be3 160 char cmd[ 16 ] = "flood off";
klauss 60:b4ec6beb3be3 161 int str_end = strlen( cmd );
klauss 60:b4ec6beb3be3 162 cmd[ str_end ] = 0x0D;
klauss 60:b4ec6beb3be3 163 cmd[ str_end + 1 ] = 0x00;
klauss 105:a930035b6556 164
klauss 60:b4ec6beb3be3 165 int port = convert_ext_to_port( ext_count );
klauss 105:a930035b6556 166 send2callboxes( build_cb_package( ext_count, port, __PROMPT__, cmd, id_msg++, CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 104:62646ef786a3 167 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nSilence sent to ext=%d port=%d", ext_count, port );
klauss 105:a930035b6556 168
klauss 105:a930035b6556 169 if( tcp_session && !udp_query ) {
klauss 60:b4ec6beb3be3 170 snprintf( eth_buffer, __PROMPT_ETH_BUFFER_SIZE__, "\r\nSilence sent to ext=%d port=%d", ext_count, port );
klauss 60:b4ec6beb3be3 171 tcp_client.send_all( eth_buffer, strlen( eth_buffer ) );
klauss 105:a930035b6556 172 } else if( udp_query ) {
klauss 60:b4ec6beb3be3 173 snprintf( eth_buffer, __PROMPT_ETH_BUFFER_SIZE__, "\r\nSilence sent to ext=%d port=%d", ext_count, port );
klauss 105:a930035b6556 174 udp_query_send_msg( eth_buffer );
klauss 60:b4ec6beb3be3 175 }
klauss 60:b4ec6beb3be3 176 flood_silence_timer.reset();
klauss 105:a930035b6556 177
klauss 103:e3cabfc2f533 178 // importante para o uso da funçao silence
klauss 105:a930035b6556 179 if( ++ext_count > end_ext ) {
klauss 60:b4ec6beb3be3 180 flood_silence = false;
klauss 60:b4ec6beb3be3 181 flood_silence_timer.stop();
klauss 60:b4ec6beb3be3 182 flood_silence_timer.reset();
klauss 105:a930035b6556 183
klauss 104:62646ef786a3 184 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\n> " );
klauss 105:a930035b6556 185 if( tcp_session && !udp_query ) {
klauss 60:b4ec6beb3be3 186 snprintf( eth_buffer, __PROMPT_ETH_BUFFER_SIZE__, "\r\n> " );
klauss 60:b4ec6beb3be3 187 tcp_client.send_all( eth_buffer, strlen( eth_buffer ) );
klauss 105:a930035b6556 188 } else if( udp_query ) {
klauss 60:b4ec6beb3be3 189 snprintf( eth_buffer, __PROMPT_ETH_BUFFER_SIZE__, "\r\n> " );
klauss 105:a930035b6556 190 udp_query_send_msg( eth_buffer );
klauss 60:b4ec6beb3be3 191 }
klauss 60:b4ec6beb3be3 192 }
klauss 60:b4ec6beb3be3 193 }
klauss 60:b4ec6beb3be3 194 }
klauss 105:a930035b6556 195
klauss 105:a930035b6556 196 if( delayed_flood ) {
klauss 65:0b653cfe95db 197 tflood.start();
klauss 65:0b653cfe95db 198 tflood.reset();
klauss 65:0b653cfe95db 199 floodcount =0;
klauss 65:0b653cfe95db 200 pflood = 1;
klauss 65:0b653cfe95db 201 flood_timeout.start();
klauss 65:0b653cfe95db 202 delayed_flood = false;
klauss 104:62646ef786a3 203 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rFlood ON\n\r");
klauss 105:a930035b6556 204 //FIXME avaliar melhor essa expressao
klauss 105:a930035b6556 205 if( from_eth ) {
klauss 65:0b653cfe95db 206 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood On\n\r" );
klauss 65:0b653cfe95db 207 }
klauss 65:0b653cfe95db 208 }
klauss 105:a930035b6556 209
klauss 105:a930035b6556 210 if( serial_pc_pending && !from_eth ) {
klauss 105:a930035b6556 211 bufret = 1;
klauss 105:a930035b6556 212 }
klauss 45:c80574f24dc3 213 // Prompt commands here
klauss 58:af7e8788f106 214 if ( bufret == 1 ) {
klauss 105:a930035b6556 215 static unsigned int promptcb_last_ext = 0;
klauss 105:a930035b6556 216 static unsigned int promptcb_last_port = 0;
klauss 55:2f5e7374af9d 217 static char promptcb_last_cmd[ 300 ];
klauss 60:b4ec6beb3be3 218
klauss 58:af7e8788f106 219 strcpy( tmp_cmd, debug_buf );
klauss 105:a930035b6556 220 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "." ) ) {
klauss 45:c80574f24dc3 221 miss_match = false;
klauss 58:af7e8788f106 222 strcpy( debug_buf, last_cmd );
klauss 58:af7e8788f106 223 strcpy( tmp_cmd, debug_buf );
klauss 105:a930035b6556 224 } else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "+" ) ) {
klauss 59:e1e300880d2d 225 miss_match = false;
klauss 59:e1e300880d2d 226 strcpy( debug_buf, "flood on" );
klauss 59:e1e300880d2d 227 strcpy( tmp_cmd, debug_buf );
klauss 105:a930035b6556 228 } else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "-" ) ) {
klauss 59:e1e300880d2d 229 miss_match = false;
klauss 59:e1e300880d2d 230 strcpy( debug_buf, "flood off" );
klauss 59:e1e300880d2d 231 strcpy( tmp_cmd, debug_buf );
klauss 105:a930035b6556 232 } else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "++ ", 3 ) ) {
klauss 59:e1e300880d2d 233 miss_match = false;
klauss 65:0b653cfe95db 234 delayed_flood = true;
klauss 59:e1e300880d2d 235 int ext = atoi( debug_buf + 3 );
klauss 59:e1e300880d2d 236 sprintf( debug_buf, "pcb %i flood on", ext );
klauss 105:a930035b6556 237 } else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "-- ", 3 ) ) {
klauss 59:e1e300880d2d 238 miss_match = false;
klauss 59:e1e300880d2d 239 int ext = atoi( debug_buf + 3 );
klauss 104:62646ef786a3 240 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rFlood OFF\n\r");
klauss 105:a930035b6556 241 if( from_eth ) {
klauss 59:e1e300880d2d 242 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood OFF\n\r" );
klauss 59:e1e300880d2d 243 }
klauss 59:e1e300880d2d 244 pflood = 0;
klauss 59:e1e300880d2d 245 tflood.stop();
klauss 59:e1e300880d2d 246 flood_timeout.reset();
klauss 105:a930035b6556 247 sprintf( debug_buf, "pcb %i flood off", ext );
klauss 45:c80574f24dc3 248 }
klauss 105:a930035b6556 249
klauss 48:195c97f12e8e 250 //tratamento dos enters
klauss 105:a930035b6556 251 if( !bufptr ) {
klauss 45:c80574f24dc3 252 miss_match = false;
klauss 105:a930035b6556 253 } else if( bufptr == 1 ) {
klauss 48:195c97f12e8e 254 if( debug_buf[ 0 ] == 0x0D || debug_buf[ 0 ] == 0x0D ) miss_match = false;
klauss 48:195c97f12e8e 255 }
klauss 105:a930035b6556 256
klauss 105:a930035b6556 257 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ifconfig" ) ) {
klauss 45:c80574f24dc3 258 miss_match = false;
klauss 104:62646ef786a3 259 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\r");
klauss 45:c80574f24dc3 260 files('s');
klauss 45:c80574f24dc3 261 }
klauss 105:a930035b6556 262
klauss 105:a930035b6556 263 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "rx" ) ) {
klauss 62:07e5bdc9f8f7 264 miss_match = false;
klauss 62:07e5bdc9f8f7 265 rx = true;
klauss 62:07e5bdc9f8f7 266 }
klauss 105:a930035b6556 267
klauss 105:a930035b6556 268 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "tx" ) ) {
klauss 63:0d95da692bb4 269 miss_match = false;
klauss 63:0d95da692bb4 270 tx = true;
klauss 63:0d95da692bb4 271 }
klauss 105:a930035b6556 272
klauss 105:a930035b6556 273 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "stats" ) ) {
klauss 63:0d95da692bb4 274 miss_match = false;
klauss 63:0d95da692bb4 275 stats = true;
klauss 105:a930035b6556 276 } else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset_stats" ) ) {
klauss 63:0d95da692bb4 277 miss_match = false;
klauss 63:0d95da692bb4 278 r_stats = true;
klauss 63:0d95da692bb4 279 }
klauss 105:a930035b6556 280
klauss 105:a930035b6556 281 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "format" ) ) {
klauss 45:c80574f24dc3 282 miss_match = false;
klauss 104:62646ef786a3 283 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rFormatando o sistema de arquivos... espere o sistema reiniciar\n\r");
klauss 105:a930035b6556 284
klauss 105:a930035b6556 285 if( from_eth )
klauss 105:a930035b6556 286 {
klauss 105:a930035b6556 287 char msg[ 32 ];
klauss 105:a930035b6556 288 snprintf( msg, 32, "Not Allowed\n\r");
klauss 105:a930035b6556 289
klauss 105:a930035b6556 290 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 291 tcp_client.send_all( msg, strlen( msg ) );
klauss 105:a930035b6556 292 } else if( udp_query ) {
klauss 105:a930035b6556 293 udp_query_send_msg( msg );
klauss 105:a930035b6556 294 }
klauss 105:a930035b6556 295 } else {
klauss 62:07e5bdc9f8f7 296 files('e');
klauss 62:07e5bdc9f8f7 297 files('w');
klauss 62:07e5bdc9f8f7 298 __disable_irq();
klauss 62:07e5bdc9f8f7 299 NVIC_SystemReset();
klauss 42:480335bdde12 300 }
klauss 45:c80574f24dc3 301 }
klauss 45:c80574f24dc3 302
klauss 59:e1e300880d2d 303 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ipset ", 6 )) {
klauss 45:c80574f24dc3 304 miss_match = false;
klauss 54:448d57291be6 305 set_ip( debug_buf + 6 );
klauss 45:c80574f24dc3 306 files('s');
klauss 45:c80574f24dc3 307 }
klauss 105:a930035b6556 308
klauss 105:a930035b6556 309 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "extset ", 7 ) ) {
klauss 45:c80574f24dc3 310 miss_match = false;
klauss 55:2f5e7374af9d 311 set_header_ext( atoi( debug_buf + 7 ) );
klauss 45:c80574f24dc3 312 files('s');
klauss 45:c80574f24dc3 313 }
klauss 105:a930035b6556 314
klauss 105:a930035b6556 315 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "serextset ", 10 ) ) {
klauss 45:c80574f24dc3 316 miss_match = false;
klauss 55:2f5e7374af9d 317 set_server_ext( atoi( debug_buf + 10 ) );
klauss 45:c80574f24dc3 318 files('s');
klauss 45:c80574f24dc3 319 }
klauss 45:c80574f24dc3 320
klauss 105:a930035b6556 321 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "maskset ",8 ) ) {
klauss 45:c80574f24dc3 322 miss_match = false;
klauss 55:2f5e7374af9d 323 set_mask( debug_buf + 8 );
klauss 45:c80574f24dc3 324 files('s');
klauss 45:c80574f24dc3 325 }
klauss 45:c80574f24dc3 326
klauss 105:a930035b6556 327 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "gatewayset ",11 ) ) {
klauss 45:c80574f24dc3 328 miss_match = false;
klauss 55:2f5e7374af9d 329 set_gateway( debug_buf + 11 );
klauss 45:c80574f24dc3 330 files('s');
klauss 45:c80574f24dc3 331 }
klauss 45:c80574f24dc3 332
klauss 105:a930035b6556 333 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "msipport ",9 ) ) {
klauss 45:c80574f24dc3 334 miss_match = false;
klauss 55:2f5e7374af9d 335 set_header_sip_port( atoi( debug_buf + 9 ) );
klauss 45:c80574f24dc3 336 files('s');
klauss 45:c80574f24dc3 337 }
klauss 45:c80574f24dc3 338
klauss 105:a930035b6556 339 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "serverip ",9 ) ) {
klauss 45:c80574f24dc3 340 miss_match = false;
klauss 55:2f5e7374af9d 341 set_server_ip( debug_buf + 9 );
klauss 45:c80574f24dc3 342 files('s');
klauss 45:c80574f24dc3 343 }
klauss 105:a930035b6556 344
klauss 105:a930035b6556 345 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "maxext ", 7 ) ) {
klauss 81:3656f00ab3db 346 miss_match = false;
klauss 81:3656f00ab3db 347 set_max_ext( atoi( debug_buf + 7 ) );
klauss 81:3656f00ab3db 348 files('s');
klauss 81:3656f00ab3db 349 }
klauss 105:a930035b6556 350
klauss 105:a930035b6556 351 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "minext ", 7 ) ) {
klauss 81:3656f00ab3db 352 miss_match = false;
klauss 81:3656f00ab3db 353 set_min_ext( atoi( debug_buf + 7 ) );
klauss 81:3656f00ab3db 354 files('s');
klauss 81:3656f00ab3db 355 }
klauss 45:c80574f24dc3 356
klauss 105:a930035b6556 357 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ssport ", 7 ) ) {
klauss 45:c80574f24dc3 358 miss_match = false;
klauss 55:2f5e7374af9d 359 set_server_port( atoi( debug_buf + 7 ) );
klauss 45:c80574f24dc3 360 files('s');
klauss 45:c80574f24dc3 361 }
klauss 105:a930035b6556 362
klauss 105:a930035b6556 363 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "fw_ip ", 6 ) ) {
klauss 99:e80850c51106 364 miss_match = false;
klauss 99:e80850c51106 365 set_fw_ip( debug_buf + 6 );
klauss 99:e80850c51106 366 files('s');
klauss 99:e80850c51106 367 }
klauss 105:a930035b6556 368
klauss 105:a930035b6556 369 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "fw_port ", 8 ) ) {
klauss 99:e80850c51106 370 miss_match = false;
klauss 99:e80850c51106 371 set_fw_port( atoi( debug_buf + 8 ) );
klauss 99:e80850c51106 372 files('s');
klauss 99:e80850c51106 373 }
klauss 45:c80574f24dc3 374
klauss 105:a930035b6556 375 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dconfig" ) ) {
klauss 45:c80574f24dc3 376 miss_match = false;
klauss 50:d9b6577a70f5 377 files('e');
klauss 45:c80574f24dc3 378 files('w');
klauss 45:c80574f24dc3 379 files('s');
klauss 45:c80574f24dc3 380 }
klauss 45:c80574f24dc3 381
klauss 105:a930035b6556 382 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset" ) ) {
klauss 45:c80574f24dc3 383 miss_match = false;
klauss 104:62646ef786a3 384 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rJob is done\n\r");
klauss 105:a930035b6556 385 if( from_eth ) {
klauss 45:c80574f24dc3 386 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Job is done\n\r");
klauss 45:c80574f24dc3 387 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 388 if( tcp_session && !udp_query ) {
klauss 45:c80574f24dc3 389 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 390 tcp_client.close();
klauss 105:a930035b6556 391 } else if( udp_query ) {
klauss 105:a930035b6556 392 udp_query_send_msg( debug_buf );
klauss 42:480335bdde12 393 }
klauss 45:c80574f24dc3 394 }
klauss 48:195c97f12e8e 395 __disable_irq();
klauss 45:c80574f24dc3 396 NVIC_SystemReset();
klauss 45:c80574f24dc3 397 }
klauss 45:c80574f24dc3 398
klauss 105:a930035b6556 399 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dog" ) ) {
klauss 45:c80574f24dc3 400 miss_match = false;
klauss 104:62646ef786a3 401 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\r MUUUUUUUuuuuUUUUUU - I'm not a dog!!!! \n\r");
klauss 105:a930035b6556 402 if( from_eth ) {
klauss 45:c80574f24dc3 403 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "MUUUUUUUuuuuUUUUUU - I'm not a dog!!!!\n\r");
klauss 105:a930035b6556 404 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 405 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 406 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 407 } else if( udp_query ) {
klauss 105:a930035b6556 408 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 409 }
klauss 45:c80574f24dc3 410 }
klauss 45:c80574f24dc3 411 }
klauss 105:a930035b6556 412
klauss 105:a930035b6556 413 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "test" ) ) {
klauss 105:a930035b6556 414 miss_match = false;
klauss 105:a930035b6556 415 debug_msg("Test something");
klauss 105:a930035b6556 416 }
klauss 48:195c97f12e8e 417
klauss 105:a930035b6556 418 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "missed" ) ) {
klauss 105:a930035b6556 419 miss_match = false;
klauss 105:a930035b6556 420 missed_send_udp_pkg = true;
klauss 105:a930035b6556 421 }
klauss 105:a930035b6556 422
klauss 105:a930035b6556 423 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset_missed" ) ) {
klauss 105:a930035b6556 424 miss_match = false;
klauss 105:a930035b6556 425 reset_missed_send_udp_pkg = true;
klauss 105:a930035b6556 426 }
klauss 105:a930035b6556 427
klauss 105:a930035b6556 428 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ftq" ) ) {
klauss 100:09a23fcd3bdf 429 miss_match = false;
klauss 104:62646ef786a3 430 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rFTQ ON\n\r" );
klauss 105:a930035b6556 431 send_msg("FTQ On");
klauss 105:a930035b6556 432 /*
klauss 105:a930035b6556 433 if( from_eth ) {
klauss 105:a930035b6556 434 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "FTQ On\n\r" );
klauss 105:a930035b6556 435 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 436 }
klauss 105:a930035b6556 437 */
klauss 105:a930035b6556 438 big_bug_pkg = true;
klauss 100:09a23fcd3bdf 439 }
klauss 105:a930035b6556 440
klauss 105:a930035b6556 441 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ktq" ) ) {
klauss 100:09a23fcd3bdf 442 miss_match = false;
klauss 104:62646ef786a3 443 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rFTQ!!!\n\r" );
klauss 105:a930035b6556 444 send_msg("FTQ");
klauss 105:a930035b6556 445 /*
klauss 105:a930035b6556 446 if( from_eth ) {
klauss 105:a930035b6556 447 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "FTQ!!!\n\r" );
klauss 105:a930035b6556 448 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 449 }
klauss 105:a930035b6556 450 */
klauss 105:a930035b6556 451 flood_bug_pkg = !flood_bug_pkg;
klauss 100:09a23fcd3bdf 452 }
klauss 105:a930035b6556 453
klauss 105:a930035b6556 454 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ls" ) ) {
klauss 62:07e5bdc9f8f7 455 miss_match = false;
klauss 62:07e5bdc9f8f7 456 list = true;
klauss 62:07e5bdc9f8f7 457 }
klauss 105:a930035b6556 458
klauss 105:a930035b6556 459 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ls -l" ) ) {
klauss 81:3656f00ab3db 460 miss_match = false;
klauss 81:3656f00ab3db 461 long_list = true;
klauss 81:3656f00ab3db 462 }
klauss 105:a930035b6556 463
klauss 105:a930035b6556 464 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "tt" ) ) {
klauss 53:bb492a8f115a 465 miss_match = false;
klauss 62:07e5bdc9f8f7 466 main_test = !main_test;
klauss 53:bb492a8f115a 467 }
klauss 105:a930035b6556 468
klauss 105:a930035b6556 469 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "size" ) ) {
klauss 104:62646ef786a3 470 miss_match = false;
klauss 104:62646ef786a3 471 sizes = !sizes;
klauss 104:62646ef786a3 472 }
klauss 105:a930035b6556 473
klauss 105:a930035b6556 474 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "show_sip" ) ) {
klauss 97:8985817e8847 475 miss_match = false;
klauss 97:8985817e8847 476 show_sip = true;
klauss 97:8985817e8847 477 }
klauss 105:a930035b6556 478
klauss 105:a930035b6556 479 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset_cks" ) ) {
klauss 52:12930cef17c4 480 miss_match = false;
klauss 52:12930cef17c4 481 reset_cks = true;
klauss 52:12930cef17c4 482 }
klauss 105:a930035b6556 483
klauss 64:5b011d5707d2 484 //replaced by ls
klauss 105:a930035b6556 485 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "status" ) ) {
klauss 48:195c97f12e8e 486 miss_match = false;
klauss 64:5b011d5707d2 487 list = true;
klauss 64:5b011d5707d2 488 }
klauss 105:a930035b6556 489
klauss 105:a930035b6556 490 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "wdt" ) ) {
klauss 81:3656f00ab3db 491 miss_match = false;
klauss 81:3656f00ab3db 492 debug_wdt = true;
klauss 81:3656f00ab3db 493 }
klauss 105:a930035b6556 494
klauss 105:a930035b6556 495 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "eth" ) ) {
klauss 81:3656f00ab3db 496 miss_match = false;
klauss 81:3656f00ab3db 497 debug_eth = true;
klauss 81:3656f00ab3db 498 }
klauss 105:a930035b6556 499
klauss 105:a930035b6556 500 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "types" ) ) {
klauss 104:62646ef786a3 501 miss_match = false;
klauss 105:a930035b6556 502
klauss 105:a930035b6556 503 //send_msg("hex :: dec :: Type \n\r0x00 :: 0 :: boot \n\r0x02 :: 2 :: registry \n\r0x04 :: 4 :: invite \n\r0x08 :: 8 :: audio \n\r0x10 :: 16 :: telemetry \n\r0x20 :: 32 :: cb_bye \n\r0x01 :: 1 :: prompt \n\r0x40 :: 64 :: flood" );
klauss 105:a930035b6556 504
klauss 104:62646ef786a3 505 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rhex :: dec :: Type \n\r0x00 :: 0 :: boot \n\r0x02 :: 2 :: registry \n\r0x04 :: 4 :: invite \n\r0x08 :: 8 :: audio \n\r0x10 :: 16 :: telemetry \n\r0x20 :: 32 :: cb_bye \n\r0x01 :: 1 :: prompt \n\r0x40 :: 64 :: flood \n\r" );
klauss 105:a930035b6556 506
klauss 105:a930035b6556 507 if( from_eth ) {
klauss 105:a930035b6556 508 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "hex :: dec :: Type \n\r0x00 :: 0 :: boot \n\r0x02 :: 2 :: registry \n\r0x04 :: 4 :: invite \n\r0x08 :: 8 :: audio \n\r0x10 :: 16 :: telemetry \n\r0x20 :: 32 :: cb_bye \n\r0x01 :: 1 :: prompt \n\r0x40 :: 64 :: flood\n\r");
klauss 105:a930035b6556 509 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 510 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 511 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 512 } else if( udp_query ) {
klauss 105:a930035b6556 513 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 514 }
klauss 64:5b011d5707d2 515 }
klauss 48:195c97f12e8e 516 }
klauss 105:a930035b6556 517
klauss 105:a930035b6556 518 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "protocol" ) ) {
klauss 64:5b011d5707d2 519 miss_match = false;
klauss 105:a930035b6556 520
klauss 105:a930035b6556 521 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\r| 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\n\r" );
klauss 105:a930035b6556 522
klauss 105:a930035b6556 523 if( from_eth ) {
klauss 105:a930035b6556 524 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "| 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\n\r");
klauss 105:a930035b6556 525 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 526 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 527 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 528 } else if( udp_query ) {
klauss 105:a930035b6556 529 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 530 }
klauss 64:5b011d5707d2 531 }
klauss 64:5b011d5707d2 532 }
klauss 105:a930035b6556 533
klauss 105:a930035b6556 534 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "flood ", 6 ) ) {
klauss 105:a930035b6556 535 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "on", 2 ) ) {
klauss 45:c80574f24dc3 536 miss_match = false;
klauss 104:62646ef786a3 537 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rFlood ON\n\r");
klauss 105:a930035b6556 538
klauss 105:a930035b6556 539 if( from_eth ) {
klauss 105:a930035b6556 540 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood On\n\r");
klauss 45:c80574f24dc3 541 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 542 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 543 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 544 } else if( udp_query ) {
klauss 105:a930035b6556 545 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 546 }
klauss 105:a930035b6556 547 }
klauss 45:c80574f24dc3 548 tflood.start();
klauss 45:c80574f24dc3 549 tflood.reset();
klauss 45:c80574f24dc3 550 floodcount =0;
klauss 45:c80574f24dc3 551 pflood = 1;
klauss 45:c80574f24dc3 552 flood_timeout.start();
klauss 45:c80574f24dc3 553 }
klauss 105:a930035b6556 554
klauss 105:a930035b6556 555 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "more", 4 ) ) {
klauss 61:06e77dff6f00 556 miss_match = false;
klauss 104:62646ef786a3 557 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rFlood ON\n\r");
klauss 105:a930035b6556 558 if( from_eth ) {
klauss 105:a930035b6556 559 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood On\n\r");
klauss 105:a930035b6556 560 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 561 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 562 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 563 } else if( udp_query ) {
klauss 105:a930035b6556 564 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 565 }
klauss 61:06e77dff6f00 566 }
klauss 105:a930035b6556 567
klauss 61:06e77dff6f00 568 tflood.start();
klauss 61:06e77dff6f00 569 tflood.reset();
klauss 61:06e77dff6f00 570 floodcount = 0;
klauss 61:06e77dff6f00 571 pflood = 1;
klauss 61:06e77dff6f00 572 }
klauss 105:a930035b6556 573
klauss 60:b4ec6beb3be3 574 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "off", 3 )) {
klauss 45:c80574f24dc3 575 miss_match = false;
klauss 104:62646ef786a3 576 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rFlood OFF\n\r");
klauss 105:a930035b6556 577
klauss 105:a930035b6556 578 if( from_eth ) {
klauss 105:a930035b6556 579 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood Off\n\r");
klauss 45:c80574f24dc3 580 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 581 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 582 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 583 } else if( udp_query ) {
klauss 105:a930035b6556 584 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 585 }
klauss 42:480335bdde12 586 }
klauss 45:c80574f24dc3 587 pflood = 0;
klauss 45:c80574f24dc3 588 tflood.stop();
klauss 45:c80574f24dc3 589 flood_timeout.reset();
klauss 31:bb5fb28a77df 590 }
klauss 105:a930035b6556 591 } else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "silence ", 8 ) ) {
klauss 60:b4ec6beb3be3 592 miss_match = false;
klauss 60:b4ec6beb3be3 593 char *ref, *split;
klauss 105:a930035b6556 594
klauss 60:b4ec6beb3be3 595 strcpy( promptcb_last_cmd, debug_buf );
klauss 105:a930035b6556 596
klauss 105:a930035b6556 597 if( !( strcmp( debug_buf + 8, "-h" ) && strcmp( debug_buf + 8, "--help" ) ) ) {
klauss 104:62646ef786a3 598 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rUsage :: silence start_ext end_ext | start_ext must be greater than end_ext\n\rObs : ( end_ext - start_ext ) < 50 ");
klauss 105:a930035b6556 599
klauss 105:a930035b6556 600 if( from_eth ) {
klauss 105:a930035b6556 601 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Usage :: silence start_ext end_ext | start_ext must be greater than end_ext\n\rObs : ( end_ext - start_ext ) < 50 ");
klauss 105:a930035b6556 602 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 603 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 604 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 605 } else if( udp_query ) {
klauss 105:a930035b6556 606 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 607 }
klauss 65:0b653cfe95db 608 }
klauss 105:a930035b6556 609 } else {
klauss 65:0b653cfe95db 610 ref = debug_buf;
klauss 105:a930035b6556 611
klauss 65:0b653cfe95db 612 split = strtok( debug_buf + 8, " " );
klauss 105:a930035b6556 613
klauss 65:0b653cfe95db 614 start_ext = atoi( split );
klauss 105:a930035b6556 615
klauss 65:0b653cfe95db 616 split += strlen( split ) + 1;
klauss 105:a930035b6556 617
klauss 65:0b653cfe95db 618 end_ext = atoi( split );
klauss 105:a930035b6556 619
klauss 65:0b653cfe95db 620 debug_buf = ref;
klauss 105:a930035b6556 621
klauss 105:a930035b6556 622 if( start_ext < end_ext && ( end_ext - start_ext ) < 50 ) {
klauss 65:0b653cfe95db 623 if( start_ext % 2 ) start_ext--;
klauss 65:0b653cfe95db 624 if( !( end_ext % 2 ) ) end_ext++;
klauss 105:a930035b6556 625
klauss 65:0b653cfe95db 626 ext_count = start_ext;
klauss 65:0b653cfe95db 627 flood_silence_timer.start();
klauss 105:a930035b6556 628 } else {
klauss 104:62646ef786a3 629 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rUsage Error :: silence start_ext end_ext | start_ext must be greater than end_ext\n\rObs : ( end_ext - start_ext ) < 50 ");
klauss 105:a930035b6556 630
klauss 105:a930035b6556 631 if( from_eth ) {
klauss 105:a930035b6556 632 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Usage Error :: silence start_ext end_ext | start_ext must be greater than end_ext\n\rObs : ( end_ext - start_ext ) < 50 ");
klauss 105:a930035b6556 633 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 634 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 635 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 636 } else if( udp_query ) {
klauss 105:a930035b6556 637 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 638 }
klauss 65:0b653cfe95db 639 }
klauss 48:195c97f12e8e 640 }
klauss 65:0b653cfe95db 641 flood_silence = true;
klauss 48:195c97f12e8e 642 }
klauss 45:c80574f24dc3 643 }
klauss 105:a930035b6556 644
klauss 105:a930035b6556 645 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug ",6 ) ) {
klauss 45:c80574f24dc3 646 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 647 miss_match = false;
klauss 104:62646ef786a3 648 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rDebug ON\n\r");
klauss 105:a930035b6556 649 if( from_eth ) {
klauss 105:a930035b6556 650 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug On\n\r");
klauss 45:c80574f24dc3 651 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 652 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 653 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 654 } else if( udp_query ) {
klauss 105:a930035b6556 655 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 656 }
klauss 45:c80574f24dc3 657 }
klauss 78:1353744f01e1 658 debug_alive = true;
klauss 45:c80574f24dc3 659 }
klauss 45:c80574f24dc3 660 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 661 miss_match = false;
klauss 104:62646ef786a3 662 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rDebug OFF\n\r");
klauss 105:a930035b6556 663 if( from_eth ) {
klauss 105:a930035b6556 664 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Off\n\r");
klauss 45:c80574f24dc3 665 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 666 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 667 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 668 } else if( udp_query ) {
klauss 105:a930035b6556 669 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 670 }
klauss 42:480335bdde12 671 }
klauss 78:1353744f01e1 672 debug_alive = false;
klauss 31:bb5fb28a77df 673 }
klauss 105:a930035b6556 674 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "show",4 ) ) {
klauss 45:c80574f24dc3 675 miss_match = false;
klauss 104:62646ef786a3 676 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdsip");
klauss 104:62646ef786a3 677 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_alive");
klauss 104:62646ef786a3 678 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_prompt");
klauss 104:62646ef786a3 679 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_vector");
klauss 104:62646ef786a3 680 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_cb");
klauss 104:62646ef786a3 681 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_main");
klauss 104:62646ef786a3 682 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdcks");
klauss 104:62646ef786a3 683 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_cb_rx");
klauss 104:62646ef786a3 684 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_cb_tx*");
klauss 104:62646ef786a3 685 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_eth_rx*");
klauss 104:62646ef786a3 686 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_eth_tx*");
klauss 104:62646ef786a3 687 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rdebug_file");
klauss 45:c80574f24dc3 688
klauss 105:a930035b6556 689 if( from_eth ) {
klauss 105:a930035b6556 690 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rdsip \n\rdebug_alive \n\rdebug_prompt \n\rdebug_vector \n\rdebug_cb \n\rdebug_main \n\rdcks \n\rdebug_cb_rx \n\rdebug_cb_tx* \n\rdebug_eth_rx* \n\rdebug_eth_tx* \n\rdebug_file\n\r");
klauss 42:480335bdde12 691 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 692 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 693 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 694 } else if( udp_query ) {
klauss 105:a930035b6556 695 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 696 }
klauss 42:480335bdde12 697 }
klauss 42:480335bdde12 698 }
klauss 45:c80574f24dc3 699 }
klauss 105:a930035b6556 700
klauss 105:a930035b6556 701 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dsip ", 5 ) ) {
klauss 105:a930035b6556 702 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "on", 2 ) ) {
klauss 45:c80574f24dc3 703 miss_match = false;
klauss 104:62646ef786a3 704 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rSip Debug ON\n\r" );
klauss 105:a930035b6556 705 if( from_eth ) {
klauss 105:a930035b6556 706 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Sip Debug On\n\r");
klauss 45:c80574f24dc3 707 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 708 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 709 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 710 } else if( udp_query ) {
klauss 105:a930035b6556 711 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 712 }
klauss 45:c80574f24dc3 713 }
klauss 78:1353744f01e1 714 debug_sip = true;
klauss 45:c80574f24dc3 715 }
klauss 50:d9b6577a70f5 716 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 717 miss_match = false;
klauss 104:62646ef786a3 718 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rSip Debug OFF\n\r" );
klauss 105:a930035b6556 719 if( from_eth ) {
klauss 105:a930035b6556 720 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Sip Debug Off\n\r");
klauss 45:c80574f24dc3 721 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 722 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 723 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 724 } else if( udp_query ) {
klauss 105:a930035b6556 725 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 726 }
klauss 45:c80574f24dc3 727 }
klauss 78:1353744f01e1 728 debug_sip = false;
klauss 78:1353744f01e1 729 }
klauss 78:1353744f01e1 730 }
klauss 78:1353744f01e1 731
klauss 105:a930035b6556 732 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dmissed ", 8 ) ) {
klauss 105:a930035b6556 733 if (xmemmatch( (uint8_t*)(debug_buf + 8 ), (uint8_t*) "on", 2 ) ) {
klauss 105:a930035b6556 734 miss_match = false;
klauss 105:a930035b6556 735 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rDebug Missed ON\n\r" );
klauss 105:a930035b6556 736 if( from_eth ) {
klauss 105:a930035b6556 737 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Missed ON\n\r");
klauss 105:a930035b6556 738 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 739 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 740 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 741 } else if( udp_query ) {
klauss 105:a930035b6556 742 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 743 }
klauss 105:a930035b6556 744 }
klauss 105:a930035b6556 745 debug_missed = true;
klauss 105:a930035b6556 746 }
klauss 105:a930035b6556 747 if (xmemmatch( (uint8_t*)(debug_buf + 8 ), (uint8_t*) "off", 3 )) {
klauss 105:a930035b6556 748 miss_match = false;
klauss 105:a930035b6556 749 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rDebug Missed Off\n\r" );
klauss 105:a930035b6556 750 if( from_eth ) {
klauss 105:a930035b6556 751 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Missed Off\n\r");
klauss 105:a930035b6556 752 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 753 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 754 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 755 } else if( udp_query ) {
klauss 105:a930035b6556 756 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 757 }
klauss 105:a930035b6556 758 }
klauss 105:a930035b6556 759 debug_missed = false;
klauss 105:a930035b6556 760 }
klauss 105:a930035b6556 761 }
klauss 105:a930035b6556 762
klauss 105:a930035b6556 763 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dreconnect ", 11 ) ) {
klauss 105:a930035b6556 764 if (xmemmatch( (uint8_t*)(debug_buf + 11 ), (uint8_t*) "on", 2 ) ) {
klauss 104:62646ef786a3 765 miss_match = false;
klauss 104:62646ef786a3 766 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rReconnecet Debug ON\n\r" );
klauss 105:a930035b6556 767 if( from_eth ) {
klauss 105:a930035b6556 768 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Reconnecet Debug On\n\r");
klauss 104:62646ef786a3 769 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 770 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 771 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 772 } else if( udp_query ) {
klauss 105:a930035b6556 773 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 774 }
klauss 104:62646ef786a3 775 }
klauss 104:62646ef786a3 776 debug_reconnect = true;
klauss 104:62646ef786a3 777 }
klauss 104:62646ef786a3 778 if (xmemmatch( (uint8_t*)(debug_buf + 11 ), (uint8_t*) "off", 3 )) {
klauss 104:62646ef786a3 779 miss_match = false;
klauss 104:62646ef786a3 780 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rReconnecet Debug OFF\n\r" );
klauss 105:a930035b6556 781 if( from_eth ) {
klauss 105:a930035b6556 782 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Reconnecet Debug Off\n\r");
klauss 104:62646ef786a3 783 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 784 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 785 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 786 } else if( udp_query ) {
klauss 105:a930035b6556 787 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 788 }
klauss 104:62646ef786a3 789 }
klauss 104:62646ef786a3 790 debug_reconnect = false;
klauss 104:62646ef786a3 791 }
klauss 104:62646ef786a3 792 }
klauss 105:a930035b6556 793
klauss 105:a930035b6556 794 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "duart ", 6 ) ) {
klauss 105:a930035b6556 795 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "on", 2 ) ) {
klauss 100:09a23fcd3bdf 796 miss_match = false;
klauss 104:62646ef786a3 797 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rEnable UART3 usage\n\r" );
klauss 105:a930035b6556 798 if( from_eth ) {
klauss 105:a930035b6556 799 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Enable UART3 usage\n\r");
klauss 100:09a23fcd3bdf 800 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 801 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 802 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 803 } else if( udp_query ) {
klauss 105:a930035b6556 804 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 805 }
klauss 100:09a23fcd3bdf 806 }
klauss 100:09a23fcd3bdf 807 debug_uart3 = true;
klauss 100:09a23fcd3bdf 808 }
klauss 100:09a23fcd3bdf 809 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "off",3 )) {
klauss 100:09a23fcd3bdf 810 miss_match = false;
klauss 104:62646ef786a3 811 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rDisable UART3 usage\n\r" );
klauss 105:a930035b6556 812 if( from_eth ) {
klauss 105:a930035b6556 813 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Disable UART3 usage\n\r");
klauss 100:09a23fcd3bdf 814 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 815 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 816 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 817 } else if( udp_query ) {
klauss 105:a930035b6556 818 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 819 }
klauss 100:09a23fcd3bdf 820 }
klauss 100:09a23fcd3bdf 821 debug_uart3 = false;
klauss 100:09a23fcd3bdf 822 }
klauss 100:09a23fcd3bdf 823 }
klauss 105:a930035b6556 824
klauss 105:a930035b6556 825 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dmatch ", 7 ) ) {
klauss 105:a930035b6556 826 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "on", 2 ) ) {
klauss 98:43b45f26b430 827 miss_match = false;
klauss 104:62646ef786a3 828 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rPort Match Debug ON\n\r" );
klauss 105:a930035b6556 829 if( from_eth ) {
klauss 105:a930035b6556 830 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Port Match Debug On\n\r");
klauss 98:43b45f26b430 831 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 832 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 833 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 834 } else if( udp_query ) {
klauss 105:a930035b6556 835 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 836 }
klauss 98:43b45f26b430 837 }
klauss 98:43b45f26b430 838 debug_port_match = true;
klauss 98:43b45f26b430 839 }
klauss 98:43b45f26b430 840 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "off",3 )) {
klauss 98:43b45f26b430 841 miss_match = false;
klauss 104:62646ef786a3 842 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rPort Match Debug OFF\n\r" );
klauss 105:a930035b6556 843 if( from_eth ) {
klauss 105:a930035b6556 844 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Port Match Debug Off\n\r");
klauss 98:43b45f26b430 845 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 846 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 847 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 848 } else if( udp_query ) {
klauss 105:a930035b6556 849 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 850 }
klauss 98:43b45f26b430 851 }
klauss 98:43b45f26b430 852 debug_port_match = false;
klauss 98:43b45f26b430 853 }
klauss 98:43b45f26b430 854 }
klauss 105:a930035b6556 855
klauss 105:a930035b6556 856 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dmuted ", 7 ) ) {
klauss 105:a930035b6556 857 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "on", 2 ) ) {
klauss 81:3656f00ab3db 858 miss_match = false;
klauss 104:62646ef786a3 859 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rMuted Debug ON\n\r" );
klauss 105:a930035b6556 860 if( from_eth ) {
klauss 105:a930035b6556 861 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Muted Debug On\n\r");
klauss 81:3656f00ab3db 862 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 863 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 864 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 865 } else if( udp_query ) {
klauss 105:a930035b6556 866 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 867 }
klauss 81:3656f00ab3db 868 }
klauss 81:3656f00ab3db 869 debug_muted = true;
klauss 81:3656f00ab3db 870 }
klauss 81:3656f00ab3db 871 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "off",3 )) {
klauss 81:3656f00ab3db 872 miss_match = false;
klauss 104:62646ef786a3 873 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rMuted Debug OFF\n\r" );
klauss 105:a930035b6556 874 if( from_eth ) {
klauss 105:a930035b6556 875 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Muted Debug Off\n\r");
klauss 81:3656f00ab3db 876 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 877 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 878 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 879 } else if( udp_query ) {
klauss 105:a930035b6556 880 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 881 }
klauss 81:3656f00ab3db 882 }
klauss 81:3656f00ab3db 883 debug_muted = false;
klauss 81:3656f00ab3db 884 }
klauss 81:3656f00ab3db 885 }
klauss 105:a930035b6556 886
klauss 105:a930035b6556 887 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dwdt ", 5 ) ) {
klauss 105:a930035b6556 888 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "on", 2 ) ) {
klauss 81:3656f00ab3db 889 miss_match = false;
klauss 104:62646ef786a3 890 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rWdt Debug ON\n\r" );
klauss 105:a930035b6556 891 if( from_eth ) {
klauss 105:a930035b6556 892 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wdt Debug On\n\r");
klauss 81:3656f00ab3db 893 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 894 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 895 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 896 } else if( udp_query ) {
klauss 105:a930035b6556 897 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 898 }
klauss 81:3656f00ab3db 899 }
klauss 81:3656f00ab3db 900 wdt_show = true;
klauss 81:3656f00ab3db 901 }
klauss 81:3656f00ab3db 902 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "off",3 )) {
klauss 81:3656f00ab3db 903 miss_match = false;
klauss 104:62646ef786a3 904 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rWdt Debug OFF\n\r" );
klauss 105:a930035b6556 905 if( from_eth ) {
klauss 105:a930035b6556 906 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wdt Debug Off\n\r");
klauss 81:3656f00ab3db 907 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 908 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 909 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 910 } else if( udp_query ) {
klauss 105:a930035b6556 911 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 912 }
klauss 81:3656f00ab3db 913 }
klauss 81:3656f00ab3db 914 wdt_show = false;
klauss 81:3656f00ab3db 915 }
klauss 81:3656f00ab3db 916 }
klauss 105:a930035b6556 917
klauss 105:a930035b6556 918 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "drefresh ", 9 ) ) {
klauss 105:a930035b6556 919 if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "on", 2 ) ) {
klauss 81:3656f00ab3db 920 miss_match = false;
klauss 104:62646ef786a3 921 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rRefresh Debug ON\n\r" );
klauss 105:a930035b6556 922 if( from_eth ) {
klauss 105:a930035b6556 923 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Refresh Debug On\n\r");
klauss 81:3656f00ab3db 924 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 925 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 926 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 927 } else if( udp_query ) {
klauss 105:a930035b6556 928 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 929 }
klauss 81:3656f00ab3db 930 }
klauss 81:3656f00ab3db 931 debug_refresh= true;
klauss 81:3656f00ab3db 932 }
klauss 81:3656f00ab3db 933 if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "off",3 )) {
klauss 81:3656f00ab3db 934 miss_match = false;
klauss 104:62646ef786a3 935 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rRefresh Debug OFF\n\r" );
klauss 105:a930035b6556 936 if( from_eth ) {
klauss 105:a930035b6556 937 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Refresh Debug Off\n\r");
klauss 81:3656f00ab3db 938 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 939 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 940 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 941 } else if( udp_query ) {
klauss 105:a930035b6556 942 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 943 }
klauss 81:3656f00ab3db 944 }
klauss 81:3656f00ab3db 945 debug_refresh = false;
klauss 81:3656f00ab3db 946 }
klauss 81:3656f00ab3db 947 }
klauss 105:a930035b6556 948
klauss 105:a930035b6556 949 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dping ", 6 ) ) {
klauss 105:a930035b6556 950 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "on", 2 ) ) {
klauss 78:1353744f01e1 951 miss_match = false;
klauss 104:62646ef786a3 952 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rPing Debug ON\n\r" );
klauss 105:a930035b6556 953 if( from_eth ) {
klauss 105:a930035b6556 954 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Ping Debug On\n\r");
klauss 78:1353744f01e1 955 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 956 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 957 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 958 } else if( udp_query ) {
klauss 105:a930035b6556 959 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 960 }
klauss 78:1353744f01e1 961 }
klauss 78:1353744f01e1 962 debug_ping = true;
klauss 78:1353744f01e1 963 }
klauss 78:1353744f01e1 964 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 965 miss_match = false;
klauss 104:62646ef786a3 966 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rPing Debug OFF\n\r" );
klauss 105:a930035b6556 967 if( from_eth ) {
klauss 105:a930035b6556 968 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Ping Debug Off\n\r");
klauss 78:1353744f01e1 969 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 970 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 971 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 972 } else if( udp_query ) {
klauss 105:a930035b6556 973 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 974 }
klauss 78:1353744f01e1 975 }
klauss 78:1353744f01e1 976 debug_ping= false;
klauss 78:1353744f01e1 977 }
klauss 78:1353744f01e1 978 }
klauss 105:a930035b6556 979
klauss 105:a930035b6556 980 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dwu ", 4 ) ) {
klauss 105:a930035b6556 981 if (xmemmatch( (uint8_t*)(debug_buf + 4 ), (uint8_t*) "on", 2 ) ) {
klauss 78:1353744f01e1 982 miss_match = false;
klauss 104:62646ef786a3 983 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rWake Up Debug ON\n\r" );
klauss 105:a930035b6556 984 if( from_eth ) {
klauss 105:a930035b6556 985 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wake Up Debug On\n\r");
klauss 78:1353744f01e1 986 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 987 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 988 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 989 } else if( udp_query ) {
klauss 105:a930035b6556 990 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 991 }
klauss 78:1353744f01e1 992 }
klauss 78:1353744f01e1 993 debug_wake = true;
klauss 78:1353744f01e1 994 }
klauss 78:1353744f01e1 995 if (xmemmatch( (uint8_t*)(debug_buf + 4 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 996 miss_match = false;
klauss 104:62646ef786a3 997 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rWake Up Debug OFF\n\r" );
klauss 105:a930035b6556 998 if( from_eth ) {
klauss 105:a930035b6556 999 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wake Up Debug Off\n\r");
klauss 78:1353744f01e1 1000 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1001 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1002 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1003 } else if( udp_query ) {
klauss 105:a930035b6556 1004 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1005 }
klauss 78:1353744f01e1 1006 }
klauss 78:1353744f01e1 1007 debug_wake = false;
klauss 78:1353744f01e1 1008 }
klauss 78:1353744f01e1 1009 }
klauss 105:a930035b6556 1010
klauss 105:a930035b6556 1011 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "tcp_alive ", 10 ) ) {
klauss 105:a930035b6556 1012 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "on", 2 ) ) {
klauss 78:1353744f01e1 1013 miss_match = false;
klauss 104:62646ef786a3 1014 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rTCP don't drop mode on\n\r" );
klauss 105:a930035b6556 1015 if( from_eth ) {
klauss 105:a930035b6556 1016 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "TCP don't drop mode on\n\r");
klauss 78:1353744f01e1 1017 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1018 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1019 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1020 } else if( udp_query ) {
klauss 105:a930035b6556 1021 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1022 }
klauss 78:1353744f01e1 1023 }
klauss 78:1353744f01e1 1024 tcp_alive = true;
klauss 78:1353744f01e1 1025 }
klauss 78:1353744f01e1 1026 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 1027 miss_match = false;
klauss 104:62646ef786a3 1028 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rTCP don't drop mode off\n\r" );
klauss 105:a930035b6556 1029 if( from_eth ) {
klauss 105:a930035b6556 1030 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "TCP don't drop mode off\n\r");
klauss 78:1353744f01e1 1031 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1032 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1033 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1034 } else if( udp_query ) {
klauss 105:a930035b6556 1035 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1036 }
klauss 78:1353744f01e1 1037 }
klauss 78:1353744f01e1 1038 tcp_alive = false;
klauss 78:1353744f01e1 1039 }
klauss 78:1353744f01e1 1040 }
klauss 105:a930035b6556 1041
klauss 105:a930035b6556 1042 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "daging ",7 ) ) {
klauss 105:a930035b6556 1043 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "on", 2 ) ) {
klauss 78:1353744f01e1 1044 miss_match = false;
klauss 104:62646ef786a3 1045 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rAging Debug ON\n\r" );
klauss 105:a930035b6556 1046 if( from_eth ) {
klauss 105:a930035b6556 1047 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Aging Debug On\n\r");
klauss 78:1353744f01e1 1048 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1049 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1050 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1051 } else if( udp_query ) {
klauss 105:a930035b6556 1052 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1053 }
klauss 78:1353744f01e1 1054 }
klauss 78:1353744f01e1 1055 debug_aging = true;
klauss 78:1353744f01e1 1056 }
klauss 78:1353744f01e1 1057 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 1058 miss_match = false;
klauss 104:62646ef786a3 1059 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rAging Debug OFF\n\r" );
klauss 105:a930035b6556 1060 if( from_eth ) {
klauss 105:a930035b6556 1061 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Aging Debug Off\n\r");
klauss 78:1353744f01e1 1062 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1063 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1064 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1065 } else if( udp_query ) {
klauss 105:a930035b6556 1066 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1067 }
klauss 78:1353744f01e1 1068 }
klauss 78:1353744f01e1 1069 debug_aging = false;
klauss 78:1353744f01e1 1070 }
klauss 78:1353744f01e1 1071 }
klauss 105:a930035b6556 1072
klauss 105:a930035b6556 1073 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dcpld ", 6 ) ) {
klauss 105:a930035b6556 1074 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "on", 2 ) ) {
klauss 78:1353744f01e1 1075 miss_match = false;
klauss 104:62646ef786a3 1076 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rDCPLD Debug ON\n\r" );
klauss 105:a930035b6556 1077 if( from_eth ) {
klauss 105:a930035b6556 1078 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "DCPLD Debug On\n\r");
klauss 78:1353744f01e1 1079 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1080 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1081 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1082 } else if( udp_query ) {
klauss 105:a930035b6556 1083 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1084 }
klauss 78:1353744f01e1 1085 }
klauss 78:1353744f01e1 1086 debug_cpld = true;
klauss 105:a930035b6556 1087 debug_cb_rx = true;
klauss 105:a930035b6556 1088 debug_cb_tx = true;
klauss 78:1353744f01e1 1089 }
klauss 105:a930035b6556 1090 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "off",3 ) ) {
klauss 78:1353744f01e1 1091 miss_match = false;
klauss 104:62646ef786a3 1092 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rDCPLD Debug OFF\n\r" );
klauss 105:a930035b6556 1093 if( from_eth ) {
klauss 105:a930035b6556 1094 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "DCPLD Debug Off\n\r");
klauss 78:1353744f01e1 1095 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1096 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1097 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1098 } else if( udp_query ) {
klauss 105:a930035b6556 1099 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1100 }
klauss 78:1353744f01e1 1101 }
klauss 78:1353744f01e1 1102 debug_cpld = false;
klauss 105:a930035b6556 1103 debug_cb_rx = false;
klauss 105:a930035b6556 1104 debug_cb_tx = false;
klauss 78:1353744f01e1 1105 }
klauss 78:1353744f01e1 1106 }
klauss 78:1353744f01e1 1107
klauss 105:a930035b6556 1108 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dshowcpld ", 10 ) ) {
klauss 105:a930035b6556 1109 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "on", 2 ) ) {
klauss 105:a930035b6556 1110 miss_match = false;
klauss 105:a930035b6556 1111 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rDCPLD Show Debug ON\n\r" );
klauss 105:a930035b6556 1112 if( from_eth ) {
klauss 105:a930035b6556 1113 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "DCPLD Show Debug On\n\r");
klauss 105:a930035b6556 1114 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1115 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1116 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1117 } else if( udp_query ) {
klauss 105:a930035b6556 1118 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1119 }
klauss 105:a930035b6556 1120 }
klauss 105:a930035b6556 1121 debug_show_cpld = true;
klauss 105:a930035b6556 1122 }
klauss 105:a930035b6556 1123 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "off",3 ) ) {
klauss 105:a930035b6556 1124 miss_match = false;
klauss 105:a930035b6556 1125 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rDCPLD Show Debug OFF\n\r" );
klauss 105:a930035b6556 1126 if( from_eth ) {
klauss 105:a930035b6556 1127 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "DCPLD Show Debug Off\n\r");
klauss 105:a930035b6556 1128 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1129 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1130 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1131 } else if( udp_query ) {
klauss 105:a930035b6556 1132 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1133 }
klauss 105:a930035b6556 1134 }
klauss 105:a930035b6556 1135 debug_show_cpld = false;
klauss 105:a930035b6556 1136 }
klauss 105:a930035b6556 1137 }
klauss 105:a930035b6556 1138
klauss 105:a930035b6556 1139 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dcks_err ", 9 ) ) {
klauss 105:a930035b6556 1140 if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "on", 2 ) ) {
klauss 78:1353744f01e1 1141 miss_match = false;
klauss 104:62646ef786a3 1142 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rCKS_ERR Debug ON\n\r" );
klauss 105:a930035b6556 1143 if( from_eth ) {
klauss 105:a930035b6556 1144 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS_ERR Debug On\n\r");
klauss 78:1353744f01e1 1145 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1146 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1147 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1148 } else if( udp_query ) {
klauss 105:a930035b6556 1149 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1150 }
klauss 78:1353744f01e1 1151 }
klauss 78:1353744f01e1 1152 debug_cks_err = true;
klauss 78:1353744f01e1 1153 }
klauss 105:a930035b6556 1154 if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "off", 3 ) ) {
klauss 78:1353744f01e1 1155 miss_match = false;
klauss 104:62646ef786a3 1156 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rCKS_ERR Debug OFF\n\r" );
klauss 105:a930035b6556 1157 if( from_eth ) {
klauss 105:a930035b6556 1158 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS_ERR Debug off\n\r");
klauss 78:1353744f01e1 1159 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1160 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1161 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1162 } else if( udp_query ) {
klauss 105:a930035b6556 1163 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1164 }
klauss 78:1353744f01e1 1165 }
klauss 78:1353744f01e1 1166 debug_cks_err = false;
klauss 78:1353744f01e1 1167 }
klauss 78:1353744f01e1 1168 }
klauss 105:a930035b6556 1169
klauss 105:a930035b6556 1170 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dinvite ", 8 ) ) {
klauss 105:a930035b6556 1171 if( xmemmatch( (uint8_t*)(debug_buf + 8 ), (uint8_t*) "on", 2 ) ) {
klauss 78:1353744f01e1 1172 miss_match = false;
klauss 104:62646ef786a3 1173 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rInvite Debug ON\n\r" );
klauss 105:a930035b6556 1174 if( from_eth ) {
klauss 105:a930035b6556 1175 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Invite Debug On\n\r");
klauss 78:1353744f01e1 1176 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1177 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1178 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1179 } else if( udp_query ) {
klauss 105:a930035b6556 1180 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1181 }
klauss 78:1353744f01e1 1182 }
klauss 81:3656f00ab3db 1183 debug_invite = true;
klauss 78:1353744f01e1 1184 }
klauss 78:1353744f01e1 1185 if( xmemmatch( (uint8_t*)(debug_buf + 8 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 1186 miss_match = false;
klauss 104:62646ef786a3 1187 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rInvite Debug OFF\n\r" );
klauss 105:a930035b6556 1188 if( from_eth ) {
klauss 105:a930035b6556 1189 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Invite Debug Off\n\r");
klauss 78:1353744f01e1 1190 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1191 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1192 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1193 } else if( udp_query ) {
klauss 105:a930035b6556 1194 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1195 }
klauss 78:1353744f01e1 1196 }
klauss 78:1353744f01e1 1197 debug_invite = 0;
klauss 45:c80574f24dc3 1198 }
klauss 45:c80574f24dc3 1199 }
klauss 105:a930035b6556 1200
klauss 105:a930035b6556 1201 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dparallel ", 10 ) ) {
klauss 105:a930035b6556 1202 if( xmemmatch( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * )"on", 2 ) ) {
klauss 72:895ca792c647 1203 miss_match = false;
klauss 104:62646ef786a3 1204 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rParallel Write Debug ON\n\r" );
klauss 105:a930035b6556 1205 if( from_eth ) {
klauss 105:a930035b6556 1206 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rParallel Write Debug ON\n\r");
klauss 72:895ca792c647 1207 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1208 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1209 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1210 } else if( udp_query ) {
klauss 105:a930035b6556 1211 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1212 }
klauss 72:895ca792c647 1213 }
klauss 72:895ca792c647 1214 dparallel = true;
klauss 72:895ca792c647 1215 }
klauss 72:895ca792c647 1216 if( xmemmatch( ( uint8_t * )( debug_buf + 10 ), ( uint8_t *)"off", 3 )) {
klauss 72:895ca792c647 1217 miss_match = false;
klauss 104:62646ef786a3 1218 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rParallel Write Debug OFF\n\r" );
klauss 105:a930035b6556 1219 if( from_eth ) {
klauss 105:a930035b6556 1220 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rParallel Write Debug Off\n\r");
klauss 72:895ca792c647 1221 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1222 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1223 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1224 } else if( udp_query ) {
klauss 105:a930035b6556 1225 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1226 }
klauss 72:895ca792c647 1227 }
klauss 72:895ca792c647 1228 dparallel = false;
klauss 72:895ca792c647 1229 }
klauss 72:895ca792c647 1230 }
klauss 105:a930035b6556 1231
klauss 105:a930035b6556 1232 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dtelos ", 7 ) ) {
klauss 105:a930035b6556 1233 if (xmemmatch( (uint8_t*)( debug_buf + 7 ), (uint8_t*) "on", 2 ) ) {
klauss 53:bb492a8f115a 1234 miss_match = false;
klauss 104:62646ef786a3 1235 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rTelemetry Debug ON\n\r" );
klauss 105:a930035b6556 1236 if( from_eth ) {
klauss 105:a930035b6556 1237 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rTelemetry Debug On\n\r");
klauss 53:bb492a8f115a 1238 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1239 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1240 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1241 } else if( udp_query ) {
klauss 105:a930035b6556 1242 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1243 }
klauss 53:bb492a8f115a 1244 }
klauss 53:bb492a8f115a 1245 debug_telemetry = true;
klauss 53:bb492a8f115a 1246 }
klauss 78:1353744f01e1 1247 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "off", 3 )) {
klauss 53:bb492a8f115a 1248 miss_match = false;
klauss 104:62646ef786a3 1249 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rTelemetry Debug OFF\n\r" );
klauss 105:a930035b6556 1250 if( from_eth ) {
klauss 105:a930035b6556 1251 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rTelemetry Debug Off\n\r");
klauss 53:bb492a8f115a 1252 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1253 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1254 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1255 } else if( udp_query ) {
klauss 105:a930035b6556 1256 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1257 }
klauss 53:bb492a8f115a 1258 }
klauss 53:bb492a8f115a 1259 debug_telemetry = false;
klauss 53:bb492a8f115a 1260 }
klauss 53:bb492a8f115a 1261 }
klauss 105:a930035b6556 1262
klauss 105:a930035b6556 1263 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dcks ", 5 ) ) {
klauss 105:a930035b6556 1264 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "on",2 ) ) {
klauss 45:c80574f24dc3 1265 miss_match = false;
klauss 104:62646ef786a3 1266 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rCKS Debug ON\n\r" );
klauss 105:a930035b6556 1267 if( from_eth ) {
klauss 105:a930035b6556 1268 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS Debug On\n\r");
klauss 45:c80574f24dc3 1269 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1270 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1271 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1272 } else if( udp_query ) {
klauss 105:a930035b6556 1273 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1274 }
klauss 45:c80574f24dc3 1275 }
klauss 78:1353744f01e1 1276 debug_cks = true;
klauss 45:c80574f24dc3 1277 }
klauss 50:d9b6577a70f5 1278 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 1279 miss_match = false;
klauss 104:62646ef786a3 1280 if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rCKS Debug OFF\n\r" );
klauss 105:a930035b6556 1281 if( from_eth ) {
klauss 105:a930035b6556 1282 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS Debug Off\n\r");
klauss 45:c80574f24dc3 1283 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1284 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1285 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1286 } else if( udp_query ) {
klauss 105:a930035b6556 1287 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1288 }
klauss 45:c80574f24dc3 1289 }
klauss 78:1353744f01e1 1290 debug_cks = false;
klauss 45:c80574f24dc3 1291 }
klauss 45:c80574f24dc3 1292 }
klauss 105:a930035b6556 1293
klauss 105:a930035b6556 1294 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "promptcb ", 9 ) ) {
klauss 78:1353744f01e1 1295 miss_match = false;
klauss 105:a930035b6556 1296 uint8_t write_buffer[ CB_BUFFER_SIZE ];
klauss 78:1353744f01e1 1297 int ext,port;
klauss 78:1353744f01e1 1298 char *split, *ref, *cmd;
klauss 105:a930035b6556 1299
klauss 78:1353744f01e1 1300 ref = debug_buf;
klauss 105:a930035b6556 1301
klauss 78:1353744f01e1 1302 strcat( debug_buf, "\r" );
klauss 105:a930035b6556 1303
klauss 78:1353744f01e1 1304 split = strtok( debug_buf + 9, " " );
klauss 78:1353744f01e1 1305 ext = atoi( split );
klauss 78:1353744f01e1 1306 split = strtok( NULL, " " );
klauss 78:1353744f01e1 1307 port = atoi( split );
klauss 78:1353744f01e1 1308 split += strlen( split ) + 1;
klauss 78:1353744f01e1 1309 cmd = split;
klauss 105:a930035b6556 1310
klauss 78:1353744f01e1 1311 promptcb_last_ext = ext;
klauss 78:1353744f01e1 1312 promptcb_last_port = port;
klauss 105:a930035b6556 1313
klauss 78:1353744f01e1 1314 strcpy( promptcb_last_cmd, cmd );
klauss 78:1353744f01e1 1315 strcat( cmd, "\r\r\r\n" );
klauss 105:a930035b6556 1316
klauss 104:62646ef786a3 1317 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\next=%d port=%d cmd=%s", ext, port, cmd );
klauss 105:a930035b6556 1318 send2callboxes( build_cb_package( ext, port, __PROMPT__, cmd, id_msg++, CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 104:62646ef786a3 1319 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rComando enviado");
klauss 105:a930035b6556 1320
klauss 105:a930035b6556 1321 if( from_eth ) {
klauss 78:1353744f01e1 1322 char eth_msg[ 512 ];
klauss 78:1353744f01e1 1323 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d cmd=%s\r\nComando enviado\n\r", ext, port, cmd );
klauss 105:a930035b6556 1324 if( tcp_session && !udp_query ) {
klauss 78:1353744f01e1 1325 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 105:a930035b6556 1326 } else if( udp_query ) {
klauss 105:a930035b6556 1327 udp_query_send_msg( eth_msg );
klauss 78:1353744f01e1 1328 }
klauss 78:1353744f01e1 1329 }
klauss 105:a930035b6556 1330
klauss 78:1353744f01e1 1331 debug_buf = ref;
klauss 78:1353744f01e1 1332 bufptr = 0;
klauss 104:62646ef786a3 1333 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 78:1353744f01e1 1334 }
klauss 105:a930035b6556 1335
klauss 105:a930035b6556 1336 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "bye ", 4 ) ) {
klauss 92:92df17f538a8 1337 miss_match = false;
klauss 92:92df17f538a8 1338 int ext,port;
klauss 92:92df17f538a8 1339 char *split, *ref;
klauss 105:a930035b6556 1340 uint8_t write_buffer[ CB_BUFFER_SIZE ], data[ CB_BUFFER_SIZE ];
klauss 105:a930035b6556 1341
klauss 92:92df17f538a8 1342 ref = debug_buf;
klauss 105:a930035b6556 1343
klauss 92:92df17f538a8 1344 strcat( debug_buf, "\r\r\r\n" );
klauss 105:a930035b6556 1345
klauss 92:92df17f538a8 1346 split = strtok( debug_buf + 4, " " );
klauss 92:92df17f538a8 1347 ext = atoi( split );
klauss 92:92df17f538a8 1348 port = convert_ext_to_port( ext );
klauss 105:a930035b6556 1349
klauss 104:62646ef786a3 1350 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\next=%d port=%d request bye", ext, port );
klauss 105:a930035b6556 1351 send2callboxes( build_cb_package( ext, port, __CB_BYE__, (char * )data, 0x20, CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 104:62646ef786a3 1352 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rBye enviado");
klauss 105:a930035b6556 1353
klauss 105:a930035b6556 1354 if( from_eth ) {
klauss 92:92df17f538a8 1355 char eth_msg[ 512 ];
klauss 92:92df17f538a8 1356 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d request bye\n\r", ext, port );
klauss 105:a930035b6556 1357 if( tcp_session && !udp_query ) {
klauss 92:92df17f538a8 1358 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 105:a930035b6556 1359 } else if( udp_query ) {
klauss 105:a930035b6556 1360 udp_query_send_msg( eth_msg );
klauss 92:92df17f538a8 1361 }
klauss 92:92df17f538a8 1362 }
klauss 105:a930035b6556 1363
klauss 92:92df17f538a8 1364 debug_buf = ref;
klauss 92:92df17f538a8 1365 bufptr = 0;
klauss 104:62646ef786a3 1366 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 92:92df17f538a8 1367 }
klauss 105:a930035b6556 1368
klauss 45:c80574f24dc3 1369 //promptcb ramal porta comando
klauss 50:d9b6577a70f5 1370 //FIXME colocar a parte eth de novo
klauss 59:e1e300880d2d 1371 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "pcb ", 4 )) {
klauss 45:c80574f24dc3 1372 miss_match = false;
klauss 48:195c97f12e8e 1373 int ext,port;
klauss 54:448d57291be6 1374 char *split, *ref, *cmd;
klauss 105:a930035b6556 1375
klauss 62:07e5bdc9f8f7 1376 ref = debug_buf;
klauss 105:a930035b6556 1377
klauss 74:81c47fff88a5 1378 strcat( debug_buf, "\r" );
klauss 105:a930035b6556 1379
klauss 48:195c97f12e8e 1380 split = strtok( debug_buf + 4, " " );
klauss 48:195c97f12e8e 1381 ext = atoi( split );
klauss 105:a930035b6556 1382
klauss 50:d9b6577a70f5 1383 port = convert_ext_to_port( ext );
klauss 48:195c97f12e8e 1384 split += strlen( split ) + 1;
klauss 54:448d57291be6 1385 cmd = split;
klauss 105:a930035b6556 1386
klauss 48:195c97f12e8e 1387 promptcb_last_ext = ext;
klauss 48:195c97f12e8e 1388 promptcb_last_port = port;
klauss 105:a930035b6556 1389
klauss 55:2f5e7374af9d 1390 strcpy( promptcb_last_cmd, cmd );
klauss 105:a930035b6556 1391
klauss 104:62646ef786a3 1392 for( register int i = strlen( cmd ); i < DEBUGBUFSIZE; i++ ) cmd[ i ] = 0;
klauss 105:a930035b6556 1393
klauss 104:62646ef786a3 1394 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\next=%d port=%d cmd=%s", ext, port, cmd );
klauss 105:a930035b6556 1395 send2callboxes( build_cb_package( ext, port, __PROMPT__, cmd, id_msg++, CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 104:62646ef786a3 1396 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rComando enviado");
klauss 105:a930035b6556 1397
klauss 105:a930035b6556 1398 if( from_eth ) {
klauss 62:07e5bdc9f8f7 1399 char eth_msg[ 512 ];
klauss 78:1353744f01e1 1400 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d cmd=%s\r\nComando enviado\n\r", ext, port, cmd );
klauss 105:a930035b6556 1401 if( tcp_session && !udp_query ) {
klauss 62:07e5bdc9f8f7 1402 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 105:a930035b6556 1403 } else if( udp_query ) {
klauss 105:a930035b6556 1404 udp_query_send_msg( eth_msg );
klauss 62:07e5bdc9f8f7 1405 }
klauss 54:448d57291be6 1406 }
klauss 105:a930035b6556 1407
klauss 48:195c97f12e8e 1408 debug_buf = ref;
klauss 62:07e5bdc9f8f7 1409 bufptr = 0;
klauss 104:62646ef786a3 1410 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 45:c80574f24dc3 1411 }
klauss 105:a930035b6556 1412
klauss 98:43b45f26b430 1413 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "pcc ", 4 )) {
klauss 98:43b45f26b430 1414 miss_match = false;
klauss 98:43b45f26b430 1415 int ext,port;
klauss 98:43b45f26b430 1416 char *split, *ref, *cmd;
klauss 105:a930035b6556 1417
klauss 98:43b45f26b430 1418 ref = debug_buf;
klauss 105:a930035b6556 1419
klauss 98:43b45f26b430 1420 strcat( debug_buf, "\r" );
klauss 105:a930035b6556 1421
klauss 98:43b45f26b430 1422 split = strtok( debug_buf + 4, " " );
klauss 98:43b45f26b430 1423 ext = atoi( split );
klauss 105:a930035b6556 1424
klauss 98:43b45f26b430 1425 split += strlen( split ) + 1;
klauss 98:43b45f26b430 1426 split = strtok( NULL, " " );
klauss 98:43b45f26b430 1427 port = atoi( split );
klauss 105:a930035b6556 1428
klauss 98:43b45f26b430 1429 split += strlen( split ) + 1;
klauss 98:43b45f26b430 1430 cmd = split;
klauss 105:a930035b6556 1431
klauss 98:43b45f26b430 1432 promptcb_last_ext = ext;
klauss 98:43b45f26b430 1433 promptcb_last_port = port;
klauss 105:a930035b6556 1434
klauss 98:43b45f26b430 1435 strcpy( promptcb_last_cmd, cmd );
klauss 105:a930035b6556 1436
klauss 104:62646ef786a3 1437 for( register int i = strlen( cmd ); i < DEBUGBUFSIZE; i++ ) cmd[ i ] = 0;
klauss 105:a930035b6556 1438
klauss 104:62646ef786a3 1439 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\next=%d port=%d cmd=%s", ext, port, cmd );
klauss 105:a930035b6556 1440 send2callboxes( build_cb_package( ext, port, __PROMPT__, cmd, id_msg++, CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 104:62646ef786a3 1441 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rComando enviado");
klauss 105:a930035b6556 1442
klauss 105:a930035b6556 1443 if( from_eth ) {
klauss 98:43b45f26b430 1444 char eth_msg[ 512 ];
klauss 98:43b45f26b430 1445 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d cmd=%s\r\nComando enviado\n\r", ext, port, cmd );
klauss 105:a930035b6556 1446 if( tcp_session && !udp_query ) {
klauss 98:43b45f26b430 1447 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 105:a930035b6556 1448 } else if( udp_query ) {
klauss 105:a930035b6556 1449 udp_query_send_msg( eth_msg );
klauss 98:43b45f26b430 1450 }
klauss 98:43b45f26b430 1451 }
klauss 105:a930035b6556 1452
klauss 98:43b45f26b430 1453 debug_buf = ref;
klauss 98:43b45f26b430 1454 bufptr = 0;
klauss 104:62646ef786a3 1455 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 98:43b45f26b430 1456 }
klauss 105:a930035b6556 1457
klauss 99:e80850c51106 1458 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "rush ", 5 )) {
klauss 99:e80850c51106 1459 miss_match = false;
klauss 99:e80850c51106 1460 int ext,port;
klauss 99:e80850c51106 1461 char *split, *ref, cmd[ 32 ];
klauss 105:a930035b6556 1462
klauss 99:e80850c51106 1463 ref = debug_buf;
klauss 105:a930035b6556 1464
klauss 99:e80850c51106 1465 strcat( debug_buf, "\r" );
klauss 105:a930035b6556 1466
klauss 99:e80850c51106 1467 split = strtok( debug_buf + 5, " " );
klauss 99:e80850c51106 1468 ext = atoi( split );
klauss 105:a930035b6556 1469
klauss 99:e80850c51106 1470 split += strlen( split ) + 1;
klauss 99:e80850c51106 1471 split = strtok( NULL, " " );
klauss 99:e80850c51106 1472 port = atoi( split );
klauss 105:a930035b6556 1473
klauss 99:e80850c51106 1474 strcpy( cmd, "ping\r\n" );
klauss 105:a930035b6556 1475
klauss 99:e80850c51106 1476 promptcb_last_ext = ext;
klauss 99:e80850c51106 1477 promptcb_last_port = port;
klauss 105:a930035b6556 1478
klauss 99:e80850c51106 1479 strcpy( promptcb_last_cmd, cmd );
klauss 99:e80850c51106 1480 strcat( cmd, "\r\r\r\n" );
klauss 105:a930035b6556 1481
klauss 105:a930035b6556 1482 for( register uint8_t i = 0; i < 3; i++ ) {
klauss 104:62646ef786a3 1483 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\next=%d port=%d cmd=%s", ext, port, cmd );
klauss 105:a930035b6556 1484 send2callboxes( build_cb_package( ext, port, __PROMPT__, cmd, id_msg++, CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 104:62646ef786a3 1485 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rComando enviado");
klauss 105:a930035b6556 1486
klauss 105:a930035b6556 1487 if( from_eth ) {
klauss 99:e80850c51106 1488 char eth_msg[ 512 ];
klauss 99:e80850c51106 1489 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d cmd=%s\r\nComando enviado\n\r", ext, port, cmd );
klauss 105:a930035b6556 1490 if( tcp_session && !udp_query ) {
klauss 99:e80850c51106 1491 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 105:a930035b6556 1492 } else if( udp_query ) {
klauss 105:a930035b6556 1493 udp_query_send_msg( eth_msg );
klauss 99:e80850c51106 1494 }
klauss 99:e80850c51106 1495 }
klauss 99:e80850c51106 1496 }
klauss 105:a930035b6556 1497
klauss 99:e80850c51106 1498 debug_buf = ref;
klauss 99:e80850c51106 1499 bufptr = 0;
klauss 104:62646ef786a3 1500 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 99:e80850c51106 1501 }
klauss 105:a930035b6556 1502
klauss 105:a930035b6556 1503
klauss 105:a930035b6556 1504
klauss 59:e1e300880d2d 1505 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "_pcb",4 )) {
klauss 45:c80574f24dc3 1506 miss_match = false;
klauss 48:195c97f12e8e 1507 debug_buf[ bufptr++ ] = 0x0D;
klauss 48:195c97f12e8e 1508 debug_buf[ bufptr++ ] = 0x00;
klauss 45:c80574f24dc3 1509
klauss 104:62646ef786a3 1510 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\next=%d port=%d\r\ncmd=%s\r\n",promptcb_last_ext, promptcb_last_port, debug_buf + 4 );
klauss 105:a930035b6556 1511 send2callboxes( build_cb_package( promptcb_last_ext, promptcb_last_port, __PROMPT__, debug_buf + 4, id_msg++, CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 104:62646ef786a3 1512 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rComando enviado\n\r");
klauss 45:c80574f24dc3 1513 }
klauss 62:07e5bdc9f8f7 1514
klauss 58:af7e8788f106 1515 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "cks",3 )) {
klauss 45:c80574f24dc3 1516 miss_match = false;
klauss 81:3656f00ab3db 1517 pcks_s = true;
klauss 45:c80574f24dc3 1518 }
klauss 45:c80574f24dc3 1519
klauss 58:af7e8788f106 1520 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "showcb",6 )) {
klauss 45:c80574f24dc3 1521 miss_match = false;
klauss 81:3656f00ab3db 1522 pshowcb = true;
klauss 45:c80574f24dc3 1523 }
klauss 105:a930035b6556 1524
klauss 58:af7e8788f106 1525 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_main ", 11 )) {
klauss 81:3656f00ab3db 1526 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "on", 2 )) {
klauss 45:c80574f24dc3 1527 miss_match = false;
klauss 104:62646ef786a3 1528 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nDebug Main ON");
klauss 105:a930035b6556 1529 if( from_eth ) {
klauss 105:a930035b6556 1530 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Main On\n\r");
klauss 45:c80574f24dc3 1531 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1532 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1533 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1534 } else if( udp_query ) {
klauss 105:a930035b6556 1535 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1536 }
klauss 45:c80574f24dc3 1537 }
klauss 81:3656f00ab3db 1538 debug_main = true;
klauss 45:c80574f24dc3 1539 }
klauss 81:3656f00ab3db 1540 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off", 3 )) {
klauss 45:c80574f24dc3 1541 miss_match = false;
klauss 104:62646ef786a3 1542 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nDebug Main OFF");
klauss 105:a930035b6556 1543 if( from_eth ) {
klauss 105:a930035b6556 1544 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Main Off\n\r");
klauss 45:c80574f24dc3 1545 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1546 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1547 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1548 } else if( udp_query ) {
klauss 105:a930035b6556 1549 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1550 }
klauss 45:c80574f24dc3 1551 }
klauss 45:c80574f24dc3 1552 debug_main = 0;
klauss 45:c80574f24dc3 1553 }
klauss 45:c80574f24dc3 1554 }
klauss 105:a930035b6556 1555
klauss 105:a930035b6556 1556 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dout ", 5 ) ) {
klauss 105:a930035b6556 1557 if (xmemmatch( (uint8_t*)( debug_buf + 5 ), (uint8_t*) "on", 2 ) ) {
klauss 81:3656f00ab3db 1558 miss_match = false;
klauss 104:62646ef786a3 1559 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nOut Debug ON");
klauss 105:a930035b6556 1560 if( from_eth ) {
klauss 105:a930035b6556 1561 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Out Debug On\n\r");
klauss 81:3656f00ab3db 1562 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1563 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1564 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1565 } else if( udp_query ) {
klauss 105:a930035b6556 1566 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1567 }
klauss 81:3656f00ab3db 1568 }
klauss 81:3656f00ab3db 1569 debug_out_of_range = true;
klauss 81:3656f00ab3db 1570 }
klauss 105:a930035b6556 1571 if (xmemmatch( (uint8_t*)( debug_buf + 5 ), (uint8_t*) "off", 3 ) ) {
klauss 81:3656f00ab3db 1572 miss_match = false;
klauss 104:62646ef786a3 1573 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nOut Debug OFF");
klauss 105:a930035b6556 1574 if( from_eth ) {
klauss 105:a930035b6556 1575 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Out Debug Off\n\r");
klauss 81:3656f00ab3db 1576 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1577 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1578 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1579 } else if( udp_query ) {
klauss 105:a930035b6556 1580 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1581 }
klauss 81:3656f00ab3db 1582 }
klauss 81:3656f00ab3db 1583 debug_out_of_range = false;
klauss 81:3656f00ab3db 1584 }
klauss 81:3656f00ab3db 1585 }
klauss 105:a930035b6556 1586
klauss 105:a930035b6556 1587 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dboot ", 6 ) ) {
klauss 105:a930035b6556 1588 if (xmemmatch( (uint8_t*)( debug_buf + 6 ), (uint8_t*) "on", 2 ) ) {
klauss 99:e80850c51106 1589 miss_match = false;
klauss 104:62646ef786a3 1590 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nBoot Debug ON");
klauss 105:a930035b6556 1591 if( from_eth ) {
klauss 105:a930035b6556 1592 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Boot Debug On\n\r");
klauss 99:e80850c51106 1593 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1594 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1595 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1596 } else if( udp_query ) {
klauss 105:a930035b6556 1597 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1598 }
klauss 99:e80850c51106 1599 }
klauss 99:e80850c51106 1600 debug_boot = true;
klauss 99:e80850c51106 1601 }
klauss 105:a930035b6556 1602 if (xmemmatch( (uint8_t*)( debug_buf + 6 ), (uint8_t*) "off", 3 ) ) {
klauss 99:e80850c51106 1603 miss_match = false;
klauss 104:62646ef786a3 1604 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nBoot Debug OFF");
klauss 105:a930035b6556 1605 if( from_eth ) {
klauss 105:a930035b6556 1606 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Boot Debug Off\n\r");
klauss 99:e80850c51106 1607 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1608 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1609 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1610 } else if( udp_query ) {
klauss 105:a930035b6556 1611 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1612 }
klauss 99:e80850c51106 1613 }
klauss 99:e80850c51106 1614 debug_boot = false;
klauss 99:e80850c51106 1615 }
klauss 99:e80850c51106 1616 }
klauss 105:a930035b6556 1617
klauss 105:a930035b6556 1618 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dfw ", 4 ) ) {
klauss 105:a930035b6556 1619 if (xmemmatch( (uint8_t*)( debug_buf + 4 ), (uint8_t*) "on", 2 ) ) {
klauss 99:e80850c51106 1620 miss_match = false;
klauss 104:62646ef786a3 1621 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nFW Debug ON");
klauss 105:a930035b6556 1622 if( from_eth ) {
klauss 105:a930035b6556 1623 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "FW Debug On\n\r");
klauss 99:e80850c51106 1624 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1625 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1626 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1627 } else if( udp_query ) {
klauss 105:a930035b6556 1628 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1629 }
klauss 99:e80850c51106 1630 }
klauss 99:e80850c51106 1631 debug_fw = true;
klauss 99:e80850c51106 1632 }
klauss 105:a930035b6556 1633 if (xmemmatch( (uint8_t*)( debug_buf + 4 ), (uint8_t*) "off", 3 ) ) {
klauss 99:e80850c51106 1634 miss_match = false;
klauss 104:62646ef786a3 1635 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nFW Debug OFF");
klauss 105:a930035b6556 1636 if( from_eth ) {
klauss 105:a930035b6556 1637 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "FW Debug Off\n\r");
klauss 99:e80850c51106 1638 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1639 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1640 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1641 } else if( udp_query ) {
klauss 105:a930035b6556 1642 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1643 }
klauss 99:e80850c51106 1644 }
klauss 99:e80850c51106 1645 debug_fw = false;
klauss 99:e80850c51106 1646 }
klauss 99:e80850c51106 1647 }
klauss 105:a930035b6556 1648
klauss 105:a930035b6556 1649 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dfwp ", 5 ) ) {
klauss 105:a930035b6556 1650 if (xmemmatch( (uint8_t*)( debug_buf + 5 ), (uint8_t*) "on", 2 ) ) {
klauss 99:e80850c51106 1651 miss_match = false;
klauss 104:62646ef786a3 1652 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nFWPrint Debug ON");
klauss 105:a930035b6556 1653 if( from_eth ) {
klauss 105:a930035b6556 1654 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "FWPrint Debug On\n\r");
klauss 99:e80850c51106 1655 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1656 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1657 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1658 } else if( udp_query ) {
klauss 105:a930035b6556 1659 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1660 }
klauss 99:e80850c51106 1661 }
klauss 99:e80850c51106 1662 debug_fw_print = true;
klauss 99:e80850c51106 1663 }
klauss 105:a930035b6556 1664 if (xmemmatch( (uint8_t*)( debug_buf + 5 ), (uint8_t*) "off", 3 ) ) {
klauss 99:e80850c51106 1665 miss_match = false;
klauss 104:62646ef786a3 1666 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nFWPrint Debug OFF");
klauss 105:a930035b6556 1667 if( from_eth ) {
klauss 105:a930035b6556 1668 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "FWPrint Debug Off\n\r");
klauss 99:e80850c51106 1669 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1670 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1671 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1672 } else if( udp_query ) {
klauss 105:a930035b6556 1673 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1674 }
klauss 99:e80850c51106 1675 }
klauss 99:e80850c51106 1676 debug_fw_print = false;
klauss 99:e80850c51106 1677 }
klauss 99:e80850c51106 1678 }
klauss 105:a930035b6556 1679
klauss 99:e80850c51106 1680 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "drx ", 4 )) {
klauss 99:e80850c51106 1681 if (xmemmatch( (uint8_t*)( debug_buf + 4 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 1682 miss_match = false;
klauss 104:62646ef786a3 1683 if( debug_uart3 && !( from_eth ) ) pc.printf("\tDebug Cbx Rx ON");
klauss 105:a930035b6556 1684 if( from_eth ) {
klauss 105:a930035b6556 1685 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\tDebug Cbx On Rx on\n\r");
klauss 45:c80574f24dc3 1686 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1687 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1688 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1689 } else if( udp_query ) {
klauss 105:a930035b6556 1690 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1691 }
klauss 45:c80574f24dc3 1692 }
klauss 81:3656f00ab3db 1693 debug_cb_rx = true;
klauss 45:c80574f24dc3 1694 }
klauss 99:e80850c51106 1695 if (xmemmatch( (uint8_t*)( debug_buf + 4 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 1696 miss_match = false;
klauss 104:62646ef786a3 1697 if( debug_uart3 && !( from_eth ) ) pc.printf("\tDebug Cbx Rx OFF");
klauss 105:a930035b6556 1698 if( from_eth ) {
klauss 105:a930035b6556 1699 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\tDebug Cbx On Rx off\n\r");
klauss 45:c80574f24dc3 1700 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1701 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1702 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1703 } else if( udp_query ) {
klauss 105:a930035b6556 1704 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1705 }
klauss 45:c80574f24dc3 1706 }
klauss 99:e80850c51106 1707 debug_cb_rx = false;
klauss 99:e80850c51106 1708 }
klauss 99:e80850c51106 1709 }
klauss 105:a930035b6556 1710
klauss 99:e80850c51106 1711 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dtx ", 4 )) {
klauss 99:e80850c51106 1712 if (xmemmatch( (uint8_t*)( debug_buf + 4 ), (uint8_t*) "on",2 )) {
klauss 99:e80850c51106 1713 miss_match = false;
klauss 104:62646ef786a3 1714 if( debug_uart3 && !( from_eth ) ) pc.printf("\tDebug Cbx Tx ON");
klauss 105:a930035b6556 1715 if( from_eth ) {
klauss 105:a930035b6556 1716 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\tDebug Cbx Tx on\n\r");
klauss 99:e80850c51106 1717 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1718 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1719 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1720 } else if( udp_query ) {
klauss 105:a930035b6556 1721 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1722 }
klauss 99:e80850c51106 1723 }
klauss 99:e80850c51106 1724 debug_cb_tx = true;
klauss 99:e80850c51106 1725 }
klauss 99:e80850c51106 1726 if (xmemmatch( (uint8_t*)( debug_buf + 4 ), (uint8_t*) "off",3 )) {
klauss 99:e80850c51106 1727 miss_match = false;
klauss 104:62646ef786a3 1728 if( debug_uart3 && !( from_eth ) ) pc.printf("\tDebug Cbx Tx OFF");
klauss 105:a930035b6556 1729 if( from_eth ) {
klauss 105:a930035b6556 1730 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\tDebug Cbx Tx off\n\r");
klauss 99:e80850c51106 1731 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1732 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1733 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1734 } else if( udp_query ) {
klauss 105:a930035b6556 1735 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1736 }
klauss 99:e80850c51106 1737 }
klauss 99:e80850c51106 1738 debug_cb_tx = false;
klauss 45:c80574f24dc3 1739 }
klauss 45:c80574f24dc3 1740 }
klauss 105:a930035b6556 1741
klauss 58:af7e8788f106 1742 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_file ", 11 )) {
klauss 45:c80574f24dc3 1743 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 1744 miss_match = false;
klauss 104:62646ef786a3 1745 if( debug_uart3 && !( from_eth ) ) pc.printf("\tDebug File ON");
klauss 105:a930035b6556 1746 if( from_eth ) {
klauss 105:a930035b6556 1747 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\tDebug File On\n\r");
klauss 45:c80574f24dc3 1748 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1749 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1750 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1751 } else if( udp_query ) {
klauss 105:a930035b6556 1752 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1753 }
klauss 45:c80574f24dc3 1754 }
klauss 105:a930035b6556 1755 debug_file = true;
klauss 45:c80574f24dc3 1756 }
klauss 45:c80574f24dc3 1757 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 1758 miss_match = false;
klauss 104:62646ef786a3 1759 if( debug_uart3 && !( from_eth ) ) pc.printf("Debug File OFF");
klauss 105:a930035b6556 1760 if( from_eth ) {
klauss 105:a930035b6556 1761 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug File Off\n\r");
klauss 45:c80574f24dc3 1762 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 1763 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 1764 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1765 } else if( udp_query ) {
klauss 105:a930035b6556 1766 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1767 }
klauss 45:c80574f24dc3 1768 }
klauss 105:a930035b6556 1769 debug_file = false;
klauss 45:c80574f24dc3 1770 }
klauss 45:c80574f24dc3 1771 }
klauss 45:c80574f24dc3 1772
klauss 105:a930035b6556 1773 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "uptime" ) )
klauss 105:a930035b6556 1774 {
klauss 105:a930035b6556 1775 miss_match = false;
klauss 105:a930035b6556 1776 show_uptime = true;
klauss 105:a930035b6556 1777 }
klauss 105:a930035b6556 1778
klauss 58:af7e8788f106 1779 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "help" )) {
klauss 45:c80574f24dc3 1780 miss_match = false;
klauss 104:62646ef786a3 1781 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\r****************************PROMPT HELP******************\n\r");
klauss 105:a930035b6556 1782 if( from_eth ) {
klauss 45:c80574f24dc3 1783 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "\n\r****************************PROMPT HELP******************\n\r" );
klauss 105:a930035b6556 1784 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1785
klauss 105:a930035b6556 1786 else if( udp_query ) {
klauss 105:a930035b6556 1787 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 1788 /*
klauss 105:a930035b6556 1789 int send = udp_client.sendTo( udp_server, debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 1790
klauss 105:a930035b6556 1791 if( send != strlen( debug_buf ) ) {
klauss 105:a930035b6556 1792 if( debug_reconnect ) send_msg("Reconnect udp_query client");
klauss 104:62646ef786a3 1793 reconnect_prompt_udp_socket();
klauss 104:62646ef786a3 1794 miss_prompt_udp_send_pkg++;
klauss 104:62646ef786a3 1795 }
klauss 105:a930035b6556 1796 */
klauss 45:c80574f24dc3 1797 }
klauss 44:cc4996469404 1798 }
klauss 105:a930035b6556 1799
klauss 104:62646ef786a3 1800 if( debug_uart3 && !( from_eth ) ) pc.printf("ifconfig - mostra o arquivo de configuracao do sistema\n\r");
klauss 105:a930035b6556 1801 if( from_eth ) {
klauss 45:c80574f24dc3 1802 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ifconfig - mostra o arquivo de configuracao do sistema\n\r" );
klauss 105:a930035b6556 1803 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1804
klauss 105:a930035b6556 1805 else if( udp_query ) {
klauss 105:a930035b6556 1806 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1807 }
klauss 45:c80574f24dc3 1808 }
klauss 104:62646ef786a3 1809 if( debug_uart3 && !( from_eth ) ) pc.printf("dconfig - volta as configuracoes do sistema para o padrao de fabrica\n\r");
klauss 105:a930035b6556 1810 if( from_eth ) {
klauss 45:c80574f24dc3 1811 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "dconfig - volta as configuracoes do sistema para o padrao de fabrica\n\r" );
klauss 105:a930035b6556 1812 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1813
klauss 105:a930035b6556 1814 else if( udp_query ) {
klauss 105:a930035b6556 1815 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1816 }
klauss 45:c80574f24dc3 1817 }
klauss 104:62646ef786a3 1818 if( debug_uart3 && !( from_eth ) ) pc.printf("callme [ramal porta] - envia o pedido de ligacao para o callbox com o ramal e porta indicada\n\r");
klauss 105:a930035b6556 1819 if( from_eth ) {
klauss 45:c80574f24dc3 1820 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "callme [ramal porta] - envia o pedido de ligacao para o callbox com o ramal e porta indicada\n\r" );
klauss 105:a930035b6556 1821 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1822
klauss 105:a930035b6556 1823 else if( udp_query ) {
klauss 105:a930035b6556 1824 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1825 }
klauss 45:c80574f24dc3 1826 }
klauss 104:62646ef786a3 1827 if( debug_uart3 && !( from_eth ) ) pc.printf("pcb porta comando - envia o <comando> para o cbx <ramal> e <porta> executar\n\r");
klauss 105:a930035b6556 1828 if( from_eth ) {
klauss 45:c80574f24dc3 1829 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "promptcb ramal porta comando - envia o <comando> para o cbx <ramal> e <porta> executar\n\r" );
klauss 105:a930035b6556 1830 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1831
klauss 105:a930035b6556 1832 else if( udp_query ) {
klauss 105:a930035b6556 1833 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1834 }
klauss 45:c80574f24dc3 1835 }
klauss 104:62646ef786a3 1836 if( debug_uart3 && !( from_eth ) ) pc.printf("format - formata o sistema de arquivos\n\r");
klauss 104:62646ef786a3 1837 if( debug_uart3 && !( from_eth ) ) pc.printf("reset - resta o sistema\n\r");
klauss 105:a930035b6556 1838 if( from_eth ) {
klauss 45:c80574f24dc3 1839 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "reset - resta o sistema\n\r" );
klauss 105:a930035b6556 1840 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1841
klauss 105:a930035b6556 1842 else if( udp_query ) {
klauss 105:a930035b6556 1843 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1844 }
klauss 45:c80574f24dc3 1845 }
klauss 104:62646ef786a3 1846 if( debug_uart3 && !( from_eth ) ) pc.printf("ipset [ip] - Configura o IP da cabeceira\n\r");
klauss 105:a930035b6556 1847 if( from_eth ) {
klauss 45:c80574f24dc3 1848 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ipset [ip] - Configura o IP da cabeceira\n\r" );
klauss 105:a930035b6556 1849 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1850
klauss 105:a930035b6556 1851 else if( udp_query ) {
klauss 105:a930035b6556 1852 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1853 }
klauss 45:c80574f24dc3 1854 }
klauss 104:62646ef786a3 1855 if( debug_uart3 && !( from_eth ) ) pc.printf("extset [ext] - Configura a ext da cabeceira\n\r");
klauss 105:a930035b6556 1856 if( from_eth ) {
klauss 45:c80574f24dc3 1857 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "extset [ext] - Configura a ext da cabeceira\n\r" );
klauss 105:a930035b6556 1858 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1859
klauss 105:a930035b6556 1860 else if( udp_query ) {
klauss 105:a930035b6556 1861 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1862 }
klauss 45:c80574f24dc3 1863 }
klauss 104:62646ef786a3 1864 if( debug_uart3 && !( from_eth ) ) pc.printf("msipport [port] - Configura a porta SIP da cabeceira\n\r");
klauss 105:a930035b6556 1865 if( from_eth ) {
klauss 45:c80574f24dc3 1866 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "msipport [port] - Configura a porta SIP da cabeceira\n\r" );
klauss 105:a930035b6556 1867 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1868
klauss 105:a930035b6556 1869 else if( udp_query ) {
klauss 105:a930035b6556 1870 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1871 }
klauss 45:c80574f24dc3 1872 }
klauss 104:62646ef786a3 1873 if( debug_uart3 && !( from_eth ) ) pc.printf("serverip [ip] - Configura o ip do servidor asterisk\n\r");
klauss 105:a930035b6556 1874 if( from_eth ) {
klauss 45:c80574f24dc3 1875 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "serverip [ip] - Configura o ip do servidor asterisk\n\r" );
klauss 105:a930035b6556 1876 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1877
klauss 105:a930035b6556 1878 else if( udp_query ) {
klauss 105:a930035b6556 1879 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1880 }
klauss 45:c80574f24dc3 1881 }
klauss 104:62646ef786a3 1882 if( debug_uart3 && !( from_eth ) ) pc.printf("serextset [ext] - Configura a server ext da cabeceira\n\r");
klauss 105:a930035b6556 1883 if( from_eth ) {
klauss 45:c80574f24dc3 1884 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "serextset [ext] - Configura a server ext da cabeceira\n\r" );
klauss 105:a930035b6556 1885 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1886
klauss 105:a930035b6556 1887 else if( udp_query ) {
klauss 105:a930035b6556 1888 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1889 }
klauss 45:c80574f24dc3 1890 }
klauss 104:62646ef786a3 1891 if( debug_uart3 && !( from_eth ) ) pc.printf("ssport [port] - Configura a porta SIP do servidor asterisk\n\r");
klauss 105:a930035b6556 1892 if( from_eth ) {
klauss 45:c80574f24dc3 1893 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ssport [port] - Configura a porta SIP do servidor asterisk\n\r" );
klauss 105:a930035b6556 1894 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1895
klauss 105:a930035b6556 1896 else if( udp_query ) {
klauss 105:a930035b6556 1897 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1898 }
klauss 45:c80574f24dc3 1899 }
klauss 104:62646ef786a3 1900 if( debug_uart3 && !( from_eth ) ) pc.printf("maskset [mask] - Configura a mascara da cabeceira\n\r");
klauss 105:a930035b6556 1901 if( from_eth ) {
klauss 45:c80574f24dc3 1902 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "maskset [mask] - Configura a mascara da cabeceira\n\r" );
klauss 105:a930035b6556 1903 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1904
klauss 105:a930035b6556 1905 else if( udp_query ) {
klauss 105:a930035b6556 1906 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1907 }
klauss 45:c80574f24dc3 1908 }
klauss 104:62646ef786a3 1909 if( debug_uart3 && !( from_eth ) ) pc.printf("gatewayset [gateway] - Configura o gateway da cabeceira\n\r");
klauss 105:a930035b6556 1910 if( from_eth ) {
klauss 45:c80574f24dc3 1911 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "gatewayset [gateway] - Configura o gateway da cabeceira\n\r" );
klauss 105:a930035b6556 1912 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1913
klauss 105:a930035b6556 1914 else if( udp_query ) {
klauss 105:a930035b6556 1915 udp_query_send_msg( debug_buf );
klauss 56:c64bcbaa621a 1916 }
klauss 56:c64bcbaa621a 1917 }
klauss 105:a930035b6556 1918
klauss 104:62646ef786a3 1919 if( debug_uart3 && !( from_eth ) ) pc.printf("fw_ip - Configura o IP do servidor de fw\n\r");
klauss 105:a930035b6556 1920 if( from_eth ) {
klauss 99:e80850c51106 1921 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "fw_ip - Configura o IP do servidor de fw\n\r" );
klauss 105:a930035b6556 1922 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1923
klauss 105:a930035b6556 1924 else if( udp_query ) {
klauss 105:a930035b6556 1925 udp_query_send_msg( debug_buf );
klauss 99:e80850c51106 1926 }
klauss 99:e80850c51106 1927 }
klauss 104:62646ef786a3 1928 if( debug_uart3 && !( from_eth ) ) pc.printf("fw_port - Configura a porta do servidor de fw\n\r");
klauss 105:a930035b6556 1929 if( from_eth ) {
klauss 99:e80850c51106 1930 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "fw_port - Configura a porta do servidor de fw\n\r" );
klauss 105:a930035b6556 1931 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1932
klauss 105:a930035b6556 1933 else if( udp_query ) {
klauss 105:a930035b6556 1934 udp_query_send_msg( debug_buf );
klauss 99:e80850c51106 1935 }
klauss 99:e80850c51106 1936 }
klauss 105:a930035b6556 1937
klauss 104:62646ef786a3 1938 if( debug_uart3 && !( from_eth ) ) pc.printf("maxext - Configura o maior ramal possivel de ser registrado nesse ramo\n\r");
klauss 105:a930035b6556 1939 if( from_eth ) {
klauss 81:3656f00ab3db 1940 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "maxext - Configura o maior ramal possivel de ser registrado nesse ramo\n\r" );
klauss 105:a930035b6556 1941 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1942
klauss 105:a930035b6556 1943 else if( udp_query ) {
klauss 105:a930035b6556 1944 udp_query_send_msg( debug_buf );
klauss 81:3656f00ab3db 1945 }
klauss 81:3656f00ab3db 1946 }
klauss 105:a930035b6556 1947
klauss 104:62646ef786a3 1948 if( debug_uart3 && !( from_eth ) ) pc.printf("minext - Configura o menor ramal possivel de ser registrado nesse ramo\n\r");
klauss 105:a930035b6556 1949 if( from_eth ) {
klauss 81:3656f00ab3db 1950 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "minext - Configura o menor ramal possivel de ser registrado nesse ramo\n\r" );
klauss 105:a930035b6556 1951 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1952
klauss 105:a930035b6556 1953 else if( udp_query ) {
klauss 105:a930035b6556 1954 udp_query_send_msg( debug_buf );
klauss 81:3656f00ab3db 1955 }
klauss 81:3656f00ab3db 1956 }
klauss 105:a930035b6556 1957
klauss 104:62646ef786a3 1958 if( debug_uart3 && !( from_eth ) ) pc.printf("showcb - lista os Cbx registrados na header\n\r");
klauss 105:a930035b6556 1959 if( from_eth ) {
klauss 45:c80574f24dc3 1960 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "showcb - lista os Cbx registrados na header\n\r" );
klauss 105:a930035b6556 1961 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1962
klauss 105:a930035b6556 1963 else if( udp_query ) {
klauss 105:a930035b6556 1964 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1965 }
klauss 45:c80574f24dc3 1966 }
klauss 104:62646ef786a3 1967 if( debug_uart3 && !( from_eth ) ) pc.printf("cks - exibe estatisticas de check sum\n\r");
klauss 105:a930035b6556 1968 if( from_eth ) {
klauss 45:c80574f24dc3 1969 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "cks - exibe estatisticas de check sum\n\r" );
klauss 105:a930035b6556 1970 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1971
klauss 105:a930035b6556 1972 else if( udp_query ) {
klauss 105:a930035b6556 1973 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1974 }
klauss 45:c80574f24dc3 1975 }
klauss 104:62646ef786a3 1976 if( debug_uart3 && !( from_eth ) ) pc.printf("reset_cks - reseta estatisticas de check sum\n\r");
klauss 105:a930035b6556 1977 if( from_eth ) {
klauss 52:12930cef17c4 1978 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "reset_cks - reseta estatisticas de check sum\n\r" );
klauss 105:a930035b6556 1979 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1980
klauss 105:a930035b6556 1981 else if( udp_query ) {
klauss 105:a930035b6556 1982 udp_query_send_msg( debug_buf );
klauss 52:12930cef17c4 1983 }
klauss 52:12930cef17c4 1984 }
klauss 105:a930035b6556 1985
klauss 104:62646ef786a3 1986 if( debug_uart3 && !( from_eth ) ) pc.printf(". - executa o comando anterior novamente\n\r");
klauss 105:a930035b6556 1987 if( from_eth ) {
klauss 45:c80574f24dc3 1988 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, ". - executa o comando anterior novamente\n\r" );
klauss 105:a930035b6556 1989 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1990
klauss 105:a930035b6556 1991 else if( udp_query ) {
klauss 105:a930035b6556 1992 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 1993 }
klauss 45:c80574f24dc3 1994 }
klauss 104:62646ef786a3 1995 if( debug_uart3 && !( from_eth ) ) pc.printf("debug [on|off|show] - seleciona debugs gerais | lista de debugs \n\r");
klauss 105:a930035b6556 1996 if( from_eth ) {
klauss 45:c80574f24dc3 1997 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "debug [on|off|show] - seleciona debugs gerais | lista de debugs \n\r" );
klauss 105:a930035b6556 1998 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 1999
klauss 105:a930035b6556 2000 else if( udp_query ) {
klauss 105:a930035b6556 2001 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 2002 }
klauss 45:c80574f24dc3 2003 }
klauss 104:62646ef786a3 2004 if( debug_uart3 && !( from_eth ) ) pc.printf("{ flood [ on | off ] | [+|-] } - simula envio de pacotes de audio\n\r");
klauss 105:a930035b6556 2005 if( from_eth ) {
klauss 62:07e5bdc9f8f7 2006 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "{ flood [ on | off ] | [+|-] } - simula envio de pacotes de audio\n\r");
klauss 105:a930035b6556 2007 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2008
klauss 105:a930035b6556 2009 else if( udp_query ) {
klauss 105:a930035b6556 2010 udp_query_send_msg( debug_buf );
klauss 62:07e5bdc9f8f7 2011 }
klauss 62:07e5bdc9f8f7 2012 }
klauss 105:a930035b6556 2013
klauss 104:62646ef786a3 2014 if( debug_uart3 && !( from_eth ) ) pc.printf("silence <start_ext end_ext> - envia comando de flood off para os ramais no intervalo end_ext - start_ext\n\r");
klauss 105:a930035b6556 2015 if( from_eth ) {
klauss 65:0b653cfe95db 2016 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "silence <start_ext end_ext> - envia comando de flood off para os ramais no intervalo end_ext - start_ext\n\r");
klauss 105:a930035b6556 2017 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2018
klauss 105:a930035b6556 2019 else if( udp_query ) {
klauss 105:a930035b6556 2020 udp_query_send_msg( debug_buf );
klauss 65:0b653cfe95db 2021 }
klauss 65:0b653cfe95db 2022 }
klauss 105:a930035b6556 2023
klauss 104:62646ef786a3 2024 if( debug_uart3 && !( from_eth ) ) pc.printf("++ ext - Header flood on, ext flood on\n\r");
klauss 105:a930035b6556 2025 if( from_eth ) {
klauss 62:07e5bdc9f8f7 2026 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "++ ext - Header flood on, ext flood on\n\r");
klauss 105:a930035b6556 2027 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2028
klauss 105:a930035b6556 2029 else if( udp_query ) {
klauss 105:a930035b6556 2030 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 2031 }
klauss 45:c80574f24dc3 2032 }
klauss 105:a930035b6556 2033
klauss 104:62646ef786a3 2034 if( debug_uart3 && !( from_eth ) ) pc.printf("-- ext - Header flood off, ext flood off\n\r");
klauss 105:a930035b6556 2035 if( from_eth ) {
klauss 66:3f1d22e69e7b 2036 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "++ ext - Header flood on, ext flood on\n\r");
klauss 105:a930035b6556 2037 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2038
klauss 105:a930035b6556 2039 else if( udp_query ) {
klauss 105:a930035b6556 2040 udp_query_send_msg( debug_buf );
klauss 66:3f1d22e69e7b 2041 }
klauss 66:3f1d22e69e7b 2042 }
klauss 105:a930035b6556 2043
klauss 104:62646ef786a3 2044 if( debug_uart3 && !( from_eth ) ) pc.printf("rx - Exibe ultimo pacote recebido dos CBx\n\r");
klauss 105:a930035b6556 2045 if( from_eth ) {
klauss 64:5b011d5707d2 2046 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "rx - Exibe ultimo pacote recebido dos CBx\n\r");
klauss 105:a930035b6556 2047 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2048
klauss 105:a930035b6556 2049 else if( udp_query ) {
klauss 105:a930035b6556 2050 udp_query_send_msg( debug_buf );
klauss 64:5b011d5707d2 2051 }
klauss 64:5b011d5707d2 2052 }
klauss 104:62646ef786a3 2053 if( debug_uart3 && !( from_eth ) ) pc.printf("tx - Exibe ultimo pacote enviado para os CBx\n\r");
klauss 105:a930035b6556 2054 if( from_eth ) {
klauss 64:5b011d5707d2 2055 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "tx - Exibe ultimo pacote enviado para os CBx\n\r");
klauss 105:a930035b6556 2056 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2057
klauss 105:a930035b6556 2058 else if( udp_query ) {
klauss 105:a930035b6556 2059 udp_query_send_msg( debug_buf );
klauss 64:5b011d5707d2 2060 }
klauss 64:5b011d5707d2 2061 }
klauss 104:62646ef786a3 2062 if( debug_uart3 && !( from_eth ) ) pc.printf("ls | status - Exibe uma lista ordenada por ext do CBx registrados na Header\n\r");
klauss 105:a930035b6556 2063 if( from_eth ) {
klauss 64:5b011d5707d2 2064 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ls | status - Exibe uma lista ordenada por ext do CBx registrados na Header\n\r");
klauss 105:a930035b6556 2065 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2066
klauss 105:a930035b6556 2067 else if( udp_query ) {
klauss 105:a930035b6556 2068 udp_query_send_msg( debug_buf );
klauss 64:5b011d5707d2 2069 }
klauss 64:5b011d5707d2 2070 }
klauss 104:62646ef786a3 2071 if( debug_uart3 && !( from_eth ) ) pc.printf("types - Lista os types usados no protocolo de comunicacao Header -- CBx\n\r");
klauss 105:a930035b6556 2072 if( from_eth ) {
klauss 64:5b011d5707d2 2073 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "types - Lista os types usados no protocolo de comunicacao Header -- CBx\n\r");
klauss 105:a930035b6556 2074 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2075
klauss 105:a930035b6556 2076 else if( udp_query ) {
klauss 105:a930035b6556 2077 udp_query_send_msg( debug_buf );
klauss 64:5b011d5707d2 2078 }
klauss 64:5b011d5707d2 2079 }
klauss 104:62646ef786a3 2080 if( debug_uart3 && !( from_eth ) ) pc.printf("protocol - Exibe formato do pacote seguindo o protocolo de comunicacao Header -- CBx\n\r");
klauss 105:a930035b6556 2081 if( from_eth ) {
klauss 64:5b011d5707d2 2082 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "protocol - Exibe formato do pacote seguindo o protocolo de comunicacao Header -- CBx\n\r");
klauss 105:a930035b6556 2083 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2084
klauss 105:a930035b6556 2085 else if( udp_query ) {
klauss 105:a930035b6556 2086 udp_query_send_msg( debug_buf );
klauss 64:5b011d5707d2 2087 }
klauss 64:5b011d5707d2 2088 }
klauss 105:a930035b6556 2089
klauss 104:62646ef786a3 2090 if( debug_uart3 && !( from_eth ) ) pc.printf("PROMPT VERSION: V%d\n\r", PVERSION);
klauss 105:a930035b6556 2091 if( from_eth ) {
klauss 104:62646ef786a3 2092 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "PROMPT VERSION: V%d\n\r", PVERSION);
klauss 105:a930035b6556 2093 if( tcp_session && !udp_query ) {
klauss 104:62646ef786a3 2094 while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2095 } else if( udp_query ) {
klauss 105:a930035b6556 2096 udp_query_send_msg( debug_buf );
klauss 104:62646ef786a3 2097 }
klauss 104:62646ef786a3 2098 }
klauss 104:62646ef786a3 2099 //*------------ formatando a saida ----------------*//
klauss 105:a930035b6556 2100 strcpy( last_cmd, tmp_cmd );
klauss 105:a930035b6556 2101 bufptr = 0;
klauss 105:a930035b6556 2102 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 105:a930035b6556 2103
klauss 105:a930035b6556 2104 if( from_eth ) {
klauss 105:a930035b6556 2105 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 2106 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "> " );
klauss 105:a930035b6556 2107 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2108 } else if( udp_query ) {
klauss 105:a930035b6556 2109 udp_query_send_msg( "> " );
klauss 104:62646ef786a3 2110 }
klauss 104:62646ef786a3 2111 }
klauss 105:a930035b6556 2112 }
klauss 105:a930035b6556 2113
klauss 105:a930035b6556 2114 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "callme ", 7 )) {
klauss 105:a930035b6556 2115 miss_match = false;
klauss 105:a930035b6556 2116 int ext,port;
klauss 105:a930035b6556 2117 char cmd[ 16 ];
klauss 105:a930035b6556 2118
klauss 105:a930035b6556 2119 ext = atoi( debug_buf + 7 );
klauss 105:a930035b6556 2120 port = convert_ext_to_port( ext );
klauss 105:a930035b6556 2121
klauss 105:a930035b6556 2122 strcpy( cmd, ( ext % 2 ) ? "call init B" : "call init A" );
klauss 105:a930035b6556 2123
klauss 105:a930035b6556 2124 if( ext % 2 ) ext--;
klauss 105:a930035b6556 2125
klauss 105:a930035b6556 2126 promptcb_last_ext = ext;
klauss 105:a930035b6556 2127 promptcb_last_port = port;
klauss 105:a930035b6556 2128
klauss 105:a930035b6556 2129 int tmp = strlen( cmd );
klauss 105:a930035b6556 2130 cmd[ tmp ] = 0x0D;
klauss 105:a930035b6556 2131 cmd[ tmp + 1 ] = 0x00;
klauss 105:a930035b6556 2132 strcpy( promptcb_last_cmd, cmd );
klauss 105:a930035b6556 2133
klauss 105:a930035b6556 2134 if( debug_uart3 && !( from_eth ) ) pc.printf("\r\next=%d port=%d\r\ncmd=%s\r\n", ext, port, cmd );
klauss 105:a930035b6556 2135
klauss 105:a930035b6556 2136 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\r--------------------------------------------------------\n\r");
klauss 105:a930035b6556 2137 for( uint16_t i = 0; i < strlen( cmd ) ; i++ ) if( debug_uart3 && !( from_eth ) ) pc.printf( "%02x ", cmd[ i ] );
klauss 105:a930035b6556 2138
klauss 105:a930035b6556 2139 send2callboxes( build_cb_package( ext, port, __PROMPT__, cmd, id_msg++, CB_BUFFER_SIZE - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 105:a930035b6556 2140 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\r--------------------------------------------------------\n\r");
klauss 105:a930035b6556 2141 for( uint16_t i = 0; i < 300 ; i++ ) {
klauss 105:a930035b6556 2142 if( debug_uart3 && !( from_eth ) ) pc.printf( "%02x ", write_buffer[ i ] );
klauss 105:a930035b6556 2143 if( i != 0 && !( ( i + 1 ) % 30 ) ) if( debug_uart3 && !( from_eth ) ) pc.printf("\n\r");
klauss 105:a930035b6556 2144 }
klauss 105:a930035b6556 2145
klauss 105:a930035b6556 2146
klauss 105:a930035b6556 2147 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rComando enviado\n\r");
klauss 105:a930035b6556 2148
klauss 105:a930035b6556 2149 if( from_eth ) {
klauss 105:a930035b6556 2150 char eth_msg[ 512 ];
klauss 105:a930035b6556 2151 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d\r\ncmd=%s\r\n\n\rComando enviado\n\r", ext, port, cmd );
klauss 105:a930035b6556 2152 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 2153 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 105:a930035b6556 2154 } else if( udp_query ) {
klauss 105:a930035b6556 2155 udp_query_send_msg( eth_msg );
klauss 105:a930035b6556 2156 }
klauss 105:a930035b6556 2157 }
klauss 105:a930035b6556 2158
klauss 105:a930035b6556 2159 bufptr = 0;
klauss 105:a930035b6556 2160 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 105:a930035b6556 2161 }
klauss 105:a930035b6556 2162
klauss 105:a930035b6556 2163 if( miss_match ) {
klauss 105:a930035b6556 2164 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\r> %s: command not found\n\r", debug_buf );
klauss 105:a930035b6556 2165 if( from_eth ) {
klauss 105:a930035b6556 2166 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "> %s: command not found\n ", debug_buf );
klauss 105:a930035b6556 2167 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 2168 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 2169 } else if( udp_query ) {
klauss 105:a930035b6556 2170 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2171 }
klauss 105:a930035b6556 2172 }
klauss 105:a930035b6556 2173 } else {
klauss 105:a930035b6556 2174 if( from_eth && strlen( debug_buf ) > 2 ) strcpy( last_cmd, tmp_cmd );
klauss 105:a930035b6556 2175
klauss 105:a930035b6556 2176 else if( strlen( debug_buf ) > 2 ) strcpy( last_cmd, tmp_cmd );
klauss 105:a930035b6556 2177 }
klauss 105:a930035b6556 2178 }
klauss 105:a930035b6556 2179 if( b == 0x0D || bufret == 1 || bufptr > DEBUGBUFSIZE ) {
klauss 105:a930035b6556 2180 bufret = 0;
klauss 105:a930035b6556 2181
klauss 105:a930035b6556 2182 if( debug_uart3 && !( from_eth ) ) pc.putc(0x0A);
klauss 105:a930035b6556 2183 if( debug_uart3 && !( from_eth ) ) pc.putc(0x0D);
klauss 105:a930035b6556 2184 if( debug_uart3 && !( from_eth ) ) pc.printf("> ");
klauss 105:a930035b6556 2185
klauss 105:a930035b6556 2186 if( from_eth )
klauss 105:a930035b6556 2187 {
klauss 105:a930035b6556 2188 if( debug_buf[ strlen( debug_buf ) - 1 ] == '\r' || debug_buf[ strlen( debug_buf ) - 1 ] == '\n' )
klauss 105:a930035b6556 2189 {
klauss 105:a930035b6556 2190 //strcat( debug_buf, "> " );
klauss 105:a930035b6556 2191 strcpy( debug_buf, "> " );
klauss 105:a930035b6556 2192 } else {
klauss 105:a930035b6556 2193 //strcat( debug_buf, "\n\r> " );
klauss 105:a930035b6556 2194 strcpy( debug_buf, "\n\r> " );
klauss 105:a930035b6556 2195 }
klauss 104:62646ef786a3 2196
klauss 105:a930035b6556 2197 if( tcp_session && !udp_query )
klauss 105:a930035b6556 2198 {
klauss 105:a930035b6556 2199 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 2200 } else if( udp_query ) {
klauss 105:a930035b6556 2201 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2202 }
klauss 105:a930035b6556 2203 for( register uint16_t i = 0; i < __PROMPT_ETH_BUFFER_SIZE__; i++ ) eth_buffer[ i ] = 0;
klauss 105:a930035b6556 2204 debug_buf = __debug_buf__;
klauss 105:a930035b6556 2205 bufptr = last_bufptr;
klauss 105:a930035b6556 2206 }
klauss 105:a930035b6556 2207 else
klauss 105:a930035b6556 2208 {
klauss 104:62646ef786a3 2209 bufptr = 0;
klauss 104:62646ef786a3 2210 last_bufptr = 0;
klauss 104:62646ef786a3 2211 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 27:98f824719d1c 2212 }
klauss 105:a930035b6556 2213 }
klauss 105:a930035b6556 2214 return( NULL );
klauss 105:a930035b6556 2215 }//fim prompt_process
klauss 105:a930035b6556 2216
klauss 105:a930035b6556 2217
klauss 105:a930035b6556 2218 // operantion with the system config files
klauss 105:a930035b6556 2219 void files( const char type )
klauss 105:a930035b6556 2220 {
klauss 105:a930035b6556 2221 // show files
klauss 105:a930035b6556 2222 if (type == 's' ) {
klauss 105:a930035b6556 2223 if( debug_uart3 && !( from_eth ) ) pc.printf("Header IP " );
klauss 105:a930035b6556 2224 if( from_eth ) {
klauss 105:a930035b6556 2225 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header IP " );
klauss 105:a930035b6556 2226 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2227
klauss 105:a930035b6556 2228 else if( udp_query ) {
klauss 105:a930035b6556 2229 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2230 }
klauss 105:a930035b6556 2231 }
klauss 105:a930035b6556 2232
klauss 105:a930035b6556 2233 cat("/qspi/myip.txt");
klauss 105:a930035b6556 2234
klauss 105:a930035b6556 2235 if( debug_uart3 && !( from_eth ) ) pc.printf("Header ext ");
klauss 105:a930035b6556 2236 if( from_eth ) {
klauss 105:a930035b6556 2237 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header ext " );
klauss 105:a930035b6556 2238 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2239
klauss 105:a930035b6556 2240 else if( udp_query ) {
klauss 105:a930035b6556 2241 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2242 }
klauss 105:a930035b6556 2243 }
klauss 105:a930035b6556 2244
klauss 105:a930035b6556 2245 cat("/qspi/myext.txt");
klauss 105:a930035b6556 2246
klauss 105:a930035b6556 2247 if( debug_uart3 && !( from_eth ) ) pc.printf("Header port ");
klauss 105:a930035b6556 2248 if( from_eth ) {
klauss 105:a930035b6556 2249 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header port " );
klauss 105:a930035b6556 2250 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2251
klauss 105:a930035b6556 2252 else if( udp_query ) {
klauss 105:a930035b6556 2253 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2254 }
klauss 105:a930035b6556 2255 }
klauss 105:a930035b6556 2256
klauss 105:a930035b6556 2257 cat("/qspi/mysipport.txt");
klauss 105:a930035b6556 2258
klauss 105:a930035b6556 2259 if( debug_uart3 && !( from_eth ) ) pc.printf("Server IP ");
klauss 105:a930035b6556 2260 if( from_eth ) {
klauss 105:a930035b6556 2261 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server IP " );
klauss 105:a930035b6556 2262 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2263
klauss 105:a930035b6556 2264 else if( udp_query ) {
klauss 105:a930035b6556 2265 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2266 }
klauss 105:a930035b6556 2267 }
klauss 105:a930035b6556 2268
klauss 105:a930035b6556 2269 cat("/qspi/serverip.txt");
klauss 105:a930035b6556 2270
klauss 105:a930035b6556 2271 if( debug_uart3 && !( from_eth ) ) pc.printf("Server ext ");
klauss 105:a930035b6556 2272 if( from_eth ) {
klauss 105:a930035b6556 2273 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server ext " );
klauss 105:a930035b6556 2274 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2275
klauss 105:a930035b6556 2276 else if( udp_query ) {
klauss 105:a930035b6556 2277 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2278 }
klauss 105:a930035b6556 2279 }
klauss 105:a930035b6556 2280
klauss 105:a930035b6556 2281 cat("/qspi/peerext.txt");
klauss 105:a930035b6556 2282
klauss 105:a930035b6556 2283 if( debug_uart3 && !( from_eth ) ) pc.printf("Server port ");
klauss 105:a930035b6556 2284 if( from_eth ) {
klauss 105:a930035b6556 2285 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server port " );
klauss 105:a930035b6556 2286 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2287
klauss 105:a930035b6556 2288 else if( udp_query ) {
klauss 105:a930035b6556 2289 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2290 }
klauss 105:a930035b6556 2291 }
klauss 105:a930035b6556 2292 cat("/qspi/serverport.txt");
klauss 105:a930035b6556 2293
klauss 105:a930035b6556 2294 if( debug_uart3 && !( from_eth ) ) pc.printf("Mascara de rede ");
klauss 105:a930035b6556 2295 if( from_eth ) {
klauss 105:a930035b6556 2296 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Mascara de rede " );
klauss 105:a930035b6556 2297 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2298
klauss 105:a930035b6556 2299 else if( udp_query ) {
klauss 105:a930035b6556 2300 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2301 }
klauss 105:a930035b6556 2302 }
klauss 105:a930035b6556 2303 cat("/qspi/mymask.txt");
klauss 105:a930035b6556 2304
klauss 105:a930035b6556 2305 if( debug_uart3 && !( from_eth ) ) pc.printf("Gateway IP ");
klauss 105:a930035b6556 2306 if( from_eth ) {
klauss 105:a930035b6556 2307 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Gateway IP " );
klauss 105:a930035b6556 2308 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2309
klauss 105:a930035b6556 2310 else if( udp_query ) {
klauss 105:a930035b6556 2311 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2312 }
klauss 105:a930035b6556 2313 }
klauss 105:a930035b6556 2314 cat("/qspi/mygateway.txt");
klauss 105:a930035b6556 2315
klauss 105:a930035b6556 2316 if( debug_uart3 && !( from_eth ) ) pc.printf("UDP Port ");
klauss 105:a930035b6556 2317 if( from_eth ) {
klauss 105:a930035b6556 2318 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "UDP Port " );
klauss 105:a930035b6556 2319 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2320
klauss 105:a930035b6556 2321 else if( udp_query ) {
klauss 105:a930035b6556 2322 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2323 }
klauss 105:a930035b6556 2324 }
klauss 105:a930035b6556 2325
klauss 105:a930035b6556 2326 cat("/qspi/udpport.txt");
klauss 105:a930035b6556 2327
klauss 105:a930035b6556 2328 if( debug_uart3 && !( from_eth ) ) pc.printf("TCP Port ");
klauss 105:a930035b6556 2329 if( from_eth ) {
klauss 105:a930035b6556 2330 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "TCP Port " );
klauss 105:a930035b6556 2331 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2332
klauss 105:a930035b6556 2333 else if( udp_query ) {
klauss 105:a930035b6556 2334 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2335 }
klauss 105:a930035b6556 2336 }
klauss 105:a930035b6556 2337
klauss 105:a930035b6556 2338 cat("/qspi/tcpport.txt");
klauss 105:a930035b6556 2339
klauss 105:a930035b6556 2340 if( debug_uart3 && !( from_eth ) ) pc.printf("FW Server IP ");
klauss 105:a930035b6556 2341 if( from_eth ) {
klauss 105:a930035b6556 2342 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "FW Server IP " );
klauss 105:a930035b6556 2343 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2344
klauss 105:a930035b6556 2345 else if( udp_query ) {
klauss 105:a930035b6556 2346 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2347 }
klauss 105:a930035b6556 2348 }
klauss 105:a930035b6556 2349
klauss 105:a930035b6556 2350 cat("/qspi/fw_ip.txt");
klauss 105:a930035b6556 2351
klauss 105:a930035b6556 2352 if( debug_uart3 && !( from_eth ) ) pc.printf("FW Server Port ");
klauss 105:a930035b6556 2353 if( from_eth ) {
klauss 105:a930035b6556 2354 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "FW Server Port " );
klauss 105:a930035b6556 2355 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2356
klauss 105:a930035b6556 2357 else if( udp_query ) {
klauss 105:a930035b6556 2358 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2359 }
klauss 105:a930035b6556 2360 }
klauss 105:a930035b6556 2361
klauss 105:a930035b6556 2362 cat("/qspi/fw_port.txt");
klauss 105:a930035b6556 2363
klauss 105:a930035b6556 2364 if( debug_uart3 && !( from_eth ) ) pc.printf("Max Ext ");
klauss 105:a930035b6556 2365 if( from_eth ) {
klauss 105:a930035b6556 2366 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Max Ext " );
klauss 105:a930035b6556 2367 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2368
klauss 105:a930035b6556 2369 else if( udp_query ) {
klauss 105:a930035b6556 2370 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2371 }
klauss 105:a930035b6556 2372 }
klauss 105:a930035b6556 2373
klauss 105:a930035b6556 2374 cat("/qspi/maxext.txt");
klauss 105:a930035b6556 2375
klauss 105:a930035b6556 2376 if( debug_uart3 && !( from_eth ) ) pc.printf("Min Ext ");
klauss 105:a930035b6556 2377 if( from_eth ) {
klauss 105:a930035b6556 2378 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Min Ext " );
klauss 105:a930035b6556 2379 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2380
klauss 105:a930035b6556 2381 else if( udp_query ) {
klauss 105:a930035b6556 2382 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2383 }
klauss 105:a930035b6556 2384 }
klauss 105:a930035b6556 2385
klauss 105:a930035b6556 2386 cat("/qspi/minext.txt");
klauss 105:a930035b6556 2387
klauss 105:a930035b6556 2388 //*------------ formatando a saida ----------------*//
klauss 105:a930035b6556 2389 strcpy( last_cmd, tmp_cmd );
klauss 105:a930035b6556 2390 bufptr = 0;
klauss 105:a930035b6556 2391 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 105:a930035b6556 2392
klauss 105:a930035b6556 2393 if( from_eth ) {
klauss 105:a930035b6556 2394 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 2395 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "> " );
klauss 105:a930035b6556 2396 if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 105:a930035b6556 2397 } else if( udp_query ) {
klauss 105:a930035b6556 2398 udp_query_send_msg( "> " );
klauss 105:a930035b6556 2399 }
klauss 105:a930035b6556 2400 }
klauss 105:a930035b6556 2401 }
klauss 105:a930035b6556 2402
klauss 105:a930035b6556 2403 if (type == 'c' ) {
klauss 105:a930035b6556 2404 // close all files
klauss 105:a930035b6556 2405 if( fip ) fclose( fip );
klauss 105:a930035b6556 2406 if( fmask ) fclose( fmask );
klauss 105:a930035b6556 2407 if( fgate ) fclose( fgate );
klauss 105:a930035b6556 2408 if( fport )fclose( fport );
klauss 105:a930035b6556 2409 if( fsip ) fclose( fsip );
klauss 105:a930035b6556 2410 if( fsport ) fclose( fsport );
klauss 105:a930035b6556 2411 if( fext ) fclose( fext );
klauss 105:a930035b6556 2412 if( fserext ) fclose( fserext );
klauss 105:a930035b6556 2413 if( fudpport ) fclose( fudpport );
klauss 105:a930035b6556 2414 if( ftcpport ) fclose( ftcpport );
klauss 105:a930035b6556 2415 if( fmax ) fclose( fmax );
klauss 105:a930035b6556 2416 if( fmin ) fclose( fmin );
klauss 105:a930035b6556 2417 if( ffwip ) fclose( ffwip );
klauss 105:a930035b6556 2418 if( ffwport) fclose( ffwport );
klauss 105:a930035b6556 2419 }
klauss 105:a930035b6556 2420
klauss 105:a930035b6556 2421 if (type == 'i' ) {
klauss 105:a930035b6556 2422 // Check if files exist, if not create the files
klauss 105:a930035b6556 2423 //fixme criar um bool pra cada file
klauss 105:a930035b6556 2424 bool exists = true;
klauss 105:a930035b6556 2425
klauss 105:a930035b6556 2426 fip = fopen("/qspi/myip.txt", "r");
klauss 105:a930035b6556 2427 if( fip == NULL) {
klauss 105:a930035b6556 2428 set_ip( __MY_IP__ );
klauss 105:a930035b6556 2429 exists = false;
klauss 105:a930035b6556 2430 }
klauss 105:a930035b6556 2431
klauss 105:a930035b6556 2432 fserext = fopen("/qspi/myext.txt", "r");
klauss 105:a930035b6556 2433 if( fserext == NULL ) {
klauss 105:a930035b6556 2434 set_header_ext( __MY_EXT__ );
klauss 105:a930035b6556 2435 exists = false;
klauss 105:a930035b6556 2436 }
klauss 105:a930035b6556 2437
klauss 105:a930035b6556 2438 fport = fopen("/qspi/mysipport.txt", "r");
klauss 105:a930035b6556 2439 if (fport == NULL) {
klauss 105:a930035b6556 2440 set_header_sip_port( __MY_PORT__ );
klauss 105:a930035b6556 2441 exists = false;
klauss 105:a930035b6556 2442 }
klauss 105:a930035b6556 2443
klauss 105:a930035b6556 2444 fsip = fopen("/qspi/serverip.txt", "r");
klauss 105:a930035b6556 2445 if (fsip == NULL) {
klauss 105:a930035b6556 2446 set_server_ip( __SERVER_IP__ );
klauss 105:a930035b6556 2447 exists = false;
klauss 105:a930035b6556 2448 }
klauss 105:a930035b6556 2449
klauss 105:a930035b6556 2450 fext = fopen("/qspi/peerext.txt", "r");
klauss 105:a930035b6556 2451 if ( fext == NULL ) {
klauss 105:a930035b6556 2452 set_server_ext( __PEER_EXT__ );
klauss 105:a930035b6556 2453 exists = false;
klauss 105:a930035b6556 2454 }
klauss 105:a930035b6556 2455
klauss 105:a930035b6556 2456 fsport = fopen("/qspi/serverport.txt", "r");
klauss 105:a930035b6556 2457 if (fsport == NULL) {
klauss 105:a930035b6556 2458 set_server_port( __SERVER_PORT__ );
klauss 105:a930035b6556 2459 exists = false;
klauss 105:a930035b6556 2460 }
klauss 105:a930035b6556 2461
klauss 105:a930035b6556 2462 fmask = fopen("/qspi/mymask.txt", "r");
klauss 105:a930035b6556 2463 if (fmask == NULL) {
klauss 105:a930035b6556 2464 set_mask( __MY_MSK__ );
klauss 105:a930035b6556 2465 exists = false;
klauss 105:a930035b6556 2466 }
klauss 105:a930035b6556 2467
klauss 105:a930035b6556 2468 fgate = fopen("/qspi/mygateway.txt", "r");
klauss 105:a930035b6556 2469 if (fgate == NULL) {
klauss 105:a930035b6556 2470 set_gateway( __MY_GTW__ );
klauss 105:a930035b6556 2471 exists = false;
klauss 105:a930035b6556 2472 }
klauss 105:a930035b6556 2473
klauss 105:a930035b6556 2474 fudpport = fopen("/qspi/udpport.txt", "r" );
klauss 105:a930035b6556 2475 if( fudpport == NULL ) {
klauss 105:a930035b6556 2476 set_udp_port_listener( UDP_PORT_LISTENER );
klauss 105:a930035b6556 2477 exists = false;
klauss 105:a930035b6556 2478 }
klauss 105:a930035b6556 2479
klauss 105:a930035b6556 2480 ftcpport = fopen("/qspi/tcpport.txt", "r" );
klauss 105:a930035b6556 2481 if( ftcpport == NULL ) {
klauss 105:a930035b6556 2482 set_tcp_port_listener( TCP_PORT_LISTENER );
klauss 105:a930035b6556 2483 exists = false;
klauss 105:a930035b6556 2484 }
klauss 105:a930035b6556 2485
klauss 105:a930035b6556 2486 ffwip = fopen("/qspi/fw_ip.txt", "r" );
klauss 105:a930035b6556 2487 if( ffwip == NULL ) {
klauss 105:a930035b6556 2488 set_fw_ip( __FW_SERVER_IP__ );
klauss 105:a930035b6556 2489 exists = false;
klauss 105:a930035b6556 2490 }
klauss 105:a930035b6556 2491
klauss 105:a930035b6556 2492 ffwport = fopen("/qspi/fw_port.txt", "r" );
klauss 105:a930035b6556 2493 if( ffwport == NULL ) {
klauss 105:a930035b6556 2494 set_fw_port( __FW_SERVER_PORT__ );
klauss 105:a930035b6556 2495 exists = false;
klauss 105:a930035b6556 2496 }
klauss 105:a930035b6556 2497
klauss 105:a930035b6556 2498 fmax = fopen("/qspi/maxext.txt", "r" );
klauss 105:a930035b6556 2499 if( fmax == NULL ) {
klauss 105:a930035b6556 2500 set_max_ext( MAX_EXT );
klauss 105:a930035b6556 2501 exists = false;
klauss 105:a930035b6556 2502 }
klauss 105:a930035b6556 2503
klauss 105:a930035b6556 2504 fmin = fopen("/qspi/minext.txt", "r" );
klauss 105:a930035b6556 2505 if( fmin == NULL ) {
klauss 105:a930035b6556 2506 set_min_ext( MIN_EXT );
klauss 105:a930035b6556 2507 exists = false;
klauss 105:a930035b6556 2508 }
klauss 105:a930035b6556 2509
klauss 105:a930035b6556 2510 if( !exists ) {
klauss 105:a930035b6556 2511 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rDefault configurations set!\n\r");
klauss 105:a930035b6556 2512 if( from_eth ) {
klauss 105:a930035b6556 2513 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Default configurations set!\n\r");
klauss 105:a930035b6556 2514 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 2515 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 2516 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 2517 bufptr = 0;
klauss 105:a930035b6556 2518 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 62:07e5bdc9f8f7 2519 }
klauss 19:ab2088e0dec6 2520 }
klauss 105:a930035b6556 2521 }
klauss 105:a930035b6556 2522 reset_leds();
klauss 105:a930035b6556 2523 }
klauss 105:a930035b6556 2524
klauss 105:a930035b6556 2525 if (type == 'r' ) {
klauss 105:a930035b6556 2526 // Just open for read
klauss 105:a930035b6556 2527 fip = fopen("/qspi/myip.txt", "r");
klauss 105:a930035b6556 2528 fmask = fopen("/qspi/mymask.txt", "r");
klauss 105:a930035b6556 2529 fgate = fopen("/qspi/mygateway.txt", "r");
klauss 105:a930035b6556 2530 fport = fopen("/qspi/mysipport.txt", "r");
klauss 105:a930035b6556 2531 fsip = fopen("/qspi/serverip.txt", "r");
klauss 105:a930035b6556 2532 fsport = fopen("/qspi/serverport.txt", "r");
klauss 105:a930035b6556 2533 fext = fopen( "/qspi/myext.txt", "r" );
klauss 105:a930035b6556 2534 fserext = fopen( "/qspi/peerext.txt", "r" );
klauss 105:a930035b6556 2535 fudpport = fopen( "/qspi/udpport.txt", "r" );
klauss 105:a930035b6556 2536 ftcpport = fopen( "/qspi/tcpport.txt", "r" );
klauss 105:a930035b6556 2537 ffwip = fopen("/qspi/fw_ip.txt", "r" );
klauss 105:a930035b6556 2538 ffwport = fopen("/qspi/fw_port.txt", "r" );
klauss 105:a930035b6556 2539 fmax = fopen("/qspi/maxext.txt", "r" );
klauss 105:a930035b6556 2540 fmin = fopen("/qspi/minext.txt", "r" );
klauss 105:a930035b6556 2541 }
klauss 105:a930035b6556 2542
klauss 105:a930035b6556 2543 if( type == 'w') {
klauss 105:a930035b6556 2544 // Create and write the default configs
klauss 105:a930035b6556 2545 set_ip( __MY_IP__ );
klauss 105:a930035b6556 2546
klauss 105:a930035b6556 2547 set_header_sip_port( __MY_PORT__ );
klauss 105:a930035b6556 2548
klauss 105:a930035b6556 2549 set_header_ext( __MY_EXT__ );
klauss 105:a930035b6556 2550
klauss 105:a930035b6556 2551 set_server_ip( __SERVER_IP__ );
klauss 105:a930035b6556 2552
klauss 105:a930035b6556 2553 set_server_ext( __PEER_EXT__ );
klauss 105:a930035b6556 2554
klauss 105:a930035b6556 2555 set_server_port( __SERVER_PORT__ );
klauss 105:a930035b6556 2556
klauss 105:a930035b6556 2557 set_mask( __MY_MSK__ );
klauss 105:a930035b6556 2558
klauss 105:a930035b6556 2559 set_gateway( __MY_GTW__ );
klauss 105:a930035b6556 2560
klauss 105:a930035b6556 2561 set_udp_port_listener( UDP_PORT_LISTENER );
klauss 105:a930035b6556 2562
klauss 105:a930035b6556 2563 set_tcp_port_listener( TCP_PORT_LISTENER );
klauss 105:a930035b6556 2564
klauss 105:a930035b6556 2565 set_fw_ip( __FW_SERVER_IP__ );
klauss 105:a930035b6556 2566
klauss 105:a930035b6556 2567 set_fw_port( __FW_SERVER_PORT__ );
klauss 105:a930035b6556 2568
klauss 105:a930035b6556 2569 set_max_ext( MAX_EXT );
klauss 105:a930035b6556 2570
klauss 105:a930035b6556 2571 set_min_ext( MIN_EXT );
klauss 105:a930035b6556 2572
klauss 105:a930035b6556 2573 strcpy( last_cmd, tmp_cmd );
klauss 105:a930035b6556 2574
klauss 105:a930035b6556 2575 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rDefault configurations set!\n\r");
klauss 105:a930035b6556 2576 if( from_eth ) {
klauss 105:a930035b6556 2577 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rDefault configurations set!\n\r");
klauss 105:a930035b6556 2578 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 2579 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 2580 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 2581 } else if( udp_query ) {
klauss 105:a930035b6556 2582 udp_query_send_msg( debug_buf );
klauss 105:a930035b6556 2583 }
klauss 54:448d57291be6 2584 bufptr = 0;
klauss 104:62646ef786a3 2585 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 45:c80574f24dc3 2586 }
klauss 105:a930035b6556 2587 }
klauss 105:a930035b6556 2588
klauss 105:a930035b6556 2589 if (type == 'e') {
klauss 105:a930035b6556 2590 //Erase configs
klauss 105:a930035b6556 2591 fip = fopen("/qspi/myip.txt", "w");
klauss 105:a930035b6556 2592 fmask = fopen("/qspi/mymask.txt", "w");
klauss 105:a930035b6556 2593 fgate = fopen("/qspi/mygateway.txt", "w");
klauss 105:a930035b6556 2594 fport = fopen("/qspi/mysipport.txt", "w");
klauss 105:a930035b6556 2595 fsip = fopen("/qspi/serverip.txt", "w");
klauss 105:a930035b6556 2596 fsport = fopen("/qspi/serverport.txt", "w");
klauss 105:a930035b6556 2597 fext = fopen( "/qspi/myext.txt", "w" );
klauss 105:a930035b6556 2598 fserext = fopen( "/qspi/peerext.txt", "w" );
klauss 105:a930035b6556 2599 fudpport = fopen( "/qspi/udpport.txt", "w" );
klauss 105:a930035b6556 2600 ftcpport = fopen( "/qspi/tcpport.txt", "w" );
klauss 105:a930035b6556 2601 ffwip = fopen("/qspi/fw_ip.txt", "w" );
klauss 105:a930035b6556 2602 ffwport = fopen("/qspi/fw_port.txt", "w" );
klauss 105:a930035b6556 2603 fmax = fopen("/qspi/maxext.txt", "w" );
klauss 105:a930035b6556 2604 fmin = fopen("/qspi/minext.txt", "w" );
klauss 105:a930035b6556 2605
klauss 105:a930035b6556 2606 //FIXME verificar se deveria colocar tudo para %s
klauss 105:a930035b6556 2607 fprintf( fip, "%s\n\r", "" );
klauss 105:a930035b6556 2608 fprintf( fport, "%i\n\r", 0 );
klauss 105:a930035b6556 2609 fprintf( fext, "%i\n\r", 0 );
klauss 105:a930035b6556 2610
klauss 105:a930035b6556 2611 fprintf( fsip, "%s\n\r", "" );
klauss 105:a930035b6556 2612 fprintf( fserext, "%i\n\r", 0 );
klauss 105:a930035b6556 2613 fprintf( fsport, "%i\n\r", 0 );
klauss 105:a930035b6556 2614
klauss 105:a930035b6556 2615 fprintf( fmask, "%s\n\r","" );
klauss 105:a930035b6556 2616 fprintf( fgate, "%s\n\r", "" );
klauss 105:a930035b6556 2617
klauss 105:a930035b6556 2618 fprintf( fudpport, "%i\n\r", 0 );
klauss 105:a930035b6556 2619 fprintf( ftcpport, "%i\n\r", 0 );
klauss 105:a930035b6556 2620
klauss 105:a930035b6556 2621 fprintf( ffwip, "%s\n\r","" );
klauss 105:a930035b6556 2622 fprintf( ffwport, "%i\n\r",0 );
klauss 105:a930035b6556 2623
klauss 105:a930035b6556 2624 fprintf( fmax, "%i\n\r", 0 );
klauss 105:a930035b6556 2625 fprintf( fmin, "%i\n\r", 0 );
klauss 105:a930035b6556 2626
klauss 105:a930035b6556 2627 files('c');
klauss 105:a930035b6556 2628
klauss 105:a930035b6556 2629 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rErased configurations set!\n\r");
klauss 105:a930035b6556 2630 if( from_eth ) {
klauss 105:a930035b6556 2631 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rErased configurations set!\n\r");
klauss 105:a930035b6556 2632 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 105:a930035b6556 2633 if( tcp_session && !udp_query ) {
klauss 105:a930035b6556 2634 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 105:a930035b6556 2635 } else if( udp_query ) {
klauss 105:a930035b6556 2636 udp_query_send_msg( debug_buf );
klauss 45:c80574f24dc3 2637 }
klauss 42:480335bdde12 2638 bufptr = 0;
klauss 104:62646ef786a3 2639 for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 45:c80574f24dc3 2640 }
klauss 105:a930035b6556 2641 }
klauss 105:a930035b6556 2642 }
klauss 105:a930035b6556 2643
klauss 105:a930035b6556 2644 void init_fsystem()
klauss 105:a930035b6556 2645 {
klauss 105:a930035b6556 2646 // init file system and check if files exist
klauss 105:a930035b6556 2647 if (!qspifs.isformatted()) {
klauss 105:a930035b6556 2648 qspifs.format();
klauss 105:a930035b6556 2649 if( debug_uart3 && !( from_eth ) ) pc.printf("\n\r******* File system configured!!******* \n\r");
klauss 105:a930035b6556 2650 }
klauss 105:a930035b6556 2651 // check if the files are created
klauss 105:a930035b6556 2652 files('i');
klauss 105:a930035b6556 2653 files('c');
klauss 105:a930035b6556 2654 pc.printf("\r\n******* File System Ready *******");
klauss 105:a930035b6556 2655 }
klauss 105:a930035b6556 2656
klauss 105:a930035b6556 2657 int str2uint ( char * s, unsigned int * val )
klauss 105:a930035b6556 2658 {
klauss 105:a930035b6556 2659 int i = 0;
klauss 105:a930035b6556 2660 unsigned int ret = 0;
klauss 105:a930035b6556 2661 for (;;) {
klauss 105:a930035b6556 2662 if (s[i] < '0') {
klauss 105:a930035b6556 2663 *val = ret;
klauss 105:a930035b6556 2664 return i;
klauss 105:a930035b6556 2665 }
klauss 105:a930035b6556 2666 ret *= 10;
klauss 105:a930035b6556 2667 ret += s[i] - '0';
klauss 105:a930035b6556 2668 i++;
klauss 105:a930035b6556 2669 }
klauss 54:448d57291be6 2670 }