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 Apr 07 14:27:44 2015 +0000
Revision:
109:a5b8264ffbbc
Parent:
108:18a3702650f3
Child:
112:6ae726539ab9
bl wip

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