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 Dec 30 12:37:40 2014 +0000
Revision:
81:3656f00ab3db
Parent:
80:61d61c9eb75c
Child:
82:f55d13babca0
tentando resolver o bug de apertar duas vezes o botao pra fazer uma call

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 81:3656f00ab3db 15 FILE *fip, *fmask, *fgate, *fport, *fsip, *fsport, *fext, *fserext, *fudpport, *ftcpport, *ftip, *ftport, *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 48:195c97f12e8e 20 int str2uint ( char * s, unsigned int * val ){
Cola 21:0bd688722e81 21 int i = 0;
Cola 21:0bd688722e81 22 unsigned int ret = 0;
Cola 21:0bd688722e81 23 for (;;) {
Cola 21:0bd688722e81 24 if (s[i] < '0') {
Cola 21:0bd688722e81 25 *val = ret;
Cola 21:0bd688722e81 26 return i;
Cola 21:0bd688722e81 27 }
Cola 21:0bd688722e81 28 ret *= 10;
Cola 21:0bd688722e81 29 ret += s[i] - '0';
Cola 21:0bd688722e81 30 i++;
Cola 21:0bd688722e81 31 }
Cola 21:0bd688722e81 32 }
klauss 19:ab2088e0dec6 33
klauss 28:94aec56c6329 34 // operantion with the system config files
klauss 42:480335bdde12 35 void files( const char type ){
klauss 42:480335bdde12 36 // show files
klauss 42:480335bdde12 37 if (type == 's' ){
klauss 56:c64bcbaa621a 38 pc.printf("Header IP " );
klauss 42:480335bdde12 39 if( from_eth ){
klauss 56:c64bcbaa621a 40 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header IP " );
klauss 78:1353744f01e1 41 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 42
klauss 45:c80574f24dc3 43 else if( udp_request ){
klauss 45:c80574f24dc3 44 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 45 }
klauss 42:480335bdde12 46 }
klauss 81:3656f00ab3db 47
klauss 19:ab2088e0dec6 48 cat("/qspi/myip.txt");
klauss 42:480335bdde12 49
klauss 56:c64bcbaa621a 50 pc.printf("Header ext ");
klauss 42:480335bdde12 51 if( from_eth ){
klauss 56:c64bcbaa621a 52 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header ext " );
klauss 78:1353744f01e1 53 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 54
klauss 45:c80574f24dc3 55 else if( udp_request ){
klauss 45:c80574f24dc3 56 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 57 }
klauss 42:480335bdde12 58 }
klauss 81:3656f00ab3db 59
klauss 28:94aec56c6329 60 cat("/qspi/myext.txt");
klauss 42:480335bdde12 61
klauss 56:c64bcbaa621a 62 pc.printf("Header port ");
klauss 42:480335bdde12 63 if( from_eth ){
klauss 56:c64bcbaa621a 64 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Header port " );
klauss 78:1353744f01e1 65 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 66
klauss 45:c80574f24dc3 67 else if( udp_request ){
klauss 45:c80574f24dc3 68 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 69 }
klauss 42:480335bdde12 70 }
klauss 81:3656f00ab3db 71
klauss 28:94aec56c6329 72 cat("/qspi/mysipport.txt");
klauss 28:94aec56c6329 73
klauss 56:c64bcbaa621a 74 pc.printf("Server IP ");
klauss 42:480335bdde12 75 if( from_eth ){
klauss 56:c64bcbaa621a 76 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server IP " );
klauss 78:1353744f01e1 77 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 78
klauss 45:c80574f24dc3 79 else if( udp_request ){
klauss 45:c80574f24dc3 80 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 81 }
klauss 42:480335bdde12 82 }
klauss 81:3656f00ab3db 83
klauss 28:94aec56c6329 84 cat("/qspi/serverip.txt");
klauss 42:480335bdde12 85
klauss 56:c64bcbaa621a 86 pc.printf("Server ext ");
klauss 42:480335bdde12 87 if( from_eth ){
klauss 56:c64bcbaa621a 88 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server ext " );
klauss 78:1353744f01e1 89 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 90
klauss 45:c80574f24dc3 91 else if( udp_request ){
klauss 45:c80574f24dc3 92 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 93 }
klauss 42:480335bdde12 94 }
klauss 81:3656f00ab3db 95
klauss 28:94aec56c6329 96 cat("/qspi/peerext.txt");
klauss 42:480335bdde12 97
klauss 56:c64bcbaa621a 98 pc.printf("Server port ");
klauss 42:480335bdde12 99 if( from_eth ){
klauss 56:c64bcbaa621a 100 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Server port " );
klauss 78:1353744f01e1 101 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 102
klauss 45:c80574f24dc3 103 else if( udp_request ){
klauss 45:c80574f24dc3 104 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 105 }
klauss 42:480335bdde12 106 }
klauss 28:94aec56c6329 107 cat("/qspi/serverport.txt");
klauss 28:94aec56c6329 108
klauss 56:c64bcbaa621a 109 pc.printf("Mascara de rede ");
klauss 42:480335bdde12 110 if( from_eth ){
klauss 56:c64bcbaa621a 111 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Mascara de rede " );
klauss 78:1353744f01e1 112 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 113
klauss 45:c80574f24dc3 114 else if( udp_request ){
klauss 45:c80574f24dc3 115 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 116 }
klauss 42:480335bdde12 117 }
klauss 19:ab2088e0dec6 118 cat("/qspi/mymask.txt");
klauss 42:480335bdde12 119
klauss 56:c64bcbaa621a 120 pc.printf("Gateway IP ");
klauss 42:480335bdde12 121 if( from_eth ){
klauss 56:c64bcbaa621a 122 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Gateway IP " );
klauss 78:1353744f01e1 123 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 124
klauss 45:c80574f24dc3 125 else if( udp_request ){
klauss 45:c80574f24dc3 126 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 127 }
klauss 42:480335bdde12 128 }
klauss 77:e8c0253b57bc 129 cat("/qspi/mygateway.txt");
klauss 43:455522f98de5 130
klauss 56:c64bcbaa621a 131 pc.printf("UDP Port ");
klauss 45:c80574f24dc3 132 if( from_eth ){
klauss 56:c64bcbaa621a 133 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "UDP Port " );
klauss 78:1353744f01e1 134 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 135
klauss 45:c80574f24dc3 136 else if( udp_request ){
klauss 45:c80574f24dc3 137 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 138 }
klauss 45:c80574f24dc3 139 }
klauss 81:3656f00ab3db 140
klauss 45:c80574f24dc3 141 cat("/qspi/udpport.txt");
klauss 45:c80574f24dc3 142
klauss 56:c64bcbaa621a 143 pc.printf("TCP Port ");
klauss 45:c80574f24dc3 144 if( from_eth ){
klauss 56:c64bcbaa621a 145 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "TCP Port " );
klauss 78:1353744f01e1 146 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 147
klauss 45:c80574f24dc3 148 else if( udp_request ){
klauss 45:c80574f24dc3 149 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 150 }
klauss 45:c80574f24dc3 151 }
klauss 81:3656f00ab3db 152
klauss 45:c80574f24dc3 153 cat("/qspi/tcpport.txt");
klauss 45:c80574f24dc3 154
klauss 56:c64bcbaa621a 155 pc.printf("Telemetry Server IP ");
klauss 56:c64bcbaa621a 156 if( from_eth ){
klauss 56:c64bcbaa621a 157 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Telemetry Server IP " );
klauss 78:1353744f01e1 158 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 56:c64bcbaa621a 159
klauss 56:c64bcbaa621a 160 else if( udp_request ){
klauss 56:c64bcbaa621a 161 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 56:c64bcbaa621a 162 }
klauss 56:c64bcbaa621a 163 }
klauss 81:3656f00ab3db 164
klauss 56:c64bcbaa621a 165 cat("/qspi/telemetry_ip.txt");
klauss 56:c64bcbaa621a 166
klauss 56:c64bcbaa621a 167 pc.printf("Telemetry Server Port ");
klauss 56:c64bcbaa621a 168 if( from_eth ){
klauss 56:c64bcbaa621a 169 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Telemetry Server Port " );
klauss 78:1353744f01e1 170 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 56:c64bcbaa621a 171
klauss 56:c64bcbaa621a 172 else if( udp_request ){
klauss 56:c64bcbaa621a 173 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 56:c64bcbaa621a 174 }
klauss 56:c64bcbaa621a 175 }
klauss 81:3656f00ab3db 176
klauss 56:c64bcbaa621a 177 cat("/qspi/telemetry_port.txt");
klauss 56:c64bcbaa621a 178
klauss 81:3656f00ab3db 179 pc.printf("Max Ext ");
klauss 81:3656f00ab3db 180 if( from_eth ){
klauss 81:3656f00ab3db 181 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Max Ext " );
klauss 81:3656f00ab3db 182 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 81:3656f00ab3db 183
klauss 81:3656f00ab3db 184 else if( udp_request ){
klauss 81:3656f00ab3db 185 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 81:3656f00ab3db 186 }
klauss 81:3656f00ab3db 187 }
klauss 81:3656f00ab3db 188
klauss 81:3656f00ab3db 189 cat("/qspi/maxext.txt");
klauss 81:3656f00ab3db 190
klauss 81:3656f00ab3db 191 pc.printf("Min Ext ");
klauss 81:3656f00ab3db 192 if( from_eth ){
klauss 81:3656f00ab3db 193 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Min Ext " );
klauss 81:3656f00ab3db 194 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 81:3656f00ab3db 195
klauss 81:3656f00ab3db 196 else if( udp_request ){
klauss 81:3656f00ab3db 197 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 81:3656f00ab3db 198 }
klauss 81:3656f00ab3db 199 }
klauss 81:3656f00ab3db 200
klauss 81:3656f00ab3db 201 cat("/qspi/minext.txt");
klauss 81:3656f00ab3db 202
klauss 81:3656f00ab3db 203
klauss 81:3656f00ab3db 204 //*------------ formatando a saida ----------------*//
klauss 58:af7e8788f106 205 strcpy( last_cmd, tmp_cmd );
klauss 43:455522f98de5 206 bufptr = 0;
klauss 67:cdedc64d9921 207 for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 81:3656f00ab3db 208
klauss 62:07e5bdc9f8f7 209 if( tcp_session ) tcp_client.send_all( "\n\r> " , strlen( "\n\r> " ) );
klauss 48:195c97f12e8e 210
klauss 48:195c97f12e8e 211 else if( udp_request ){
klauss 62:07e5bdc9f8f7 212 udp_server.sendTo( udp_client, "\n\r> ", strlen( "\n\r> " ) );
klauss 48:195c97f12e8e 213 }
klauss 19:ab2088e0dec6 214 }
klauss 19:ab2088e0dec6 215
klauss 56:c64bcbaa621a 216 if (type == 'c' ){
klauss 56:c64bcbaa621a 217 // close all files
klauss 28:94aec56c6329 218 fclose( fip );
klauss 28:94aec56c6329 219 fclose( fmask );
klauss 28:94aec56c6329 220 fclose( fgate );
klauss 28:94aec56c6329 221 fclose( fport );
klauss 28:94aec56c6329 222 fclose( fsip );
klauss 28:94aec56c6329 223 fclose( fsport );
klauss 28:94aec56c6329 224 fclose( fext );
klauss 28:94aec56c6329 225 fclose( fserext );
klauss 45:c80574f24dc3 226 fclose( fudpport );
klauss 45:c80574f24dc3 227 fclose( ftcpport );
klauss 81:3656f00ab3db 228 fclose( fmax );
klauss 81:3656f00ab3db 229 fclose( fmin );
klauss 19:ab2088e0dec6 230 }
klauss 19:ab2088e0dec6 231
klauss 56:c64bcbaa621a 232 if (type == 'i' ){
klauss 56:c64bcbaa621a 233 // Check if files exist, if not create the files
klauss 81:3656f00ab3db 234 //fixme criar um bool pra cada file
klauss 33:735fd60e96d8 235 bool exists = true;
klauss 81:3656f00ab3db 236
klauss 19:ab2088e0dec6 237 fip = fopen("/qspi/myip.txt", "r");
klauss 56:c64bcbaa621a 238 if( fip == NULL){
klauss 56:c64bcbaa621a 239 set_ip( __MY_IP__ );
klauss 33:735fd60e96d8 240 exists = false;
klauss 19:ab2088e0dec6 241 }
klauss 28:94aec56c6329 242
klauss 28:94aec56c6329 243 fserext = fopen("/qspi/myext.txt", "r");
klauss 56:c64bcbaa621a 244 if( fserext == NULL ){
klauss 56:c64bcbaa621a 245 set_header_ext( __MY_EXT__ );
klauss 56:c64bcbaa621a 246 exists = false;
klauss 28:94aec56c6329 247 }
klauss 56:c64bcbaa621a 248
klauss 28:94aec56c6329 249 fport = fopen("/qspi/mysipport.txt", "r");
klauss 28:94aec56c6329 250 if (fport == NULL){
klauss 56:c64bcbaa621a 251 set_header_sip_port( __MY_PORT__ );
klauss 33:735fd60e96d8 252 exists = false;
klauss 28:94aec56c6329 253 }
klauss 28:94aec56c6329 254 fsip = fopen("/qspi/serverip.txt", "r");
klauss 28:94aec56c6329 255 if (fsip == NULL){
klauss 56:c64bcbaa621a 256 set_server_ip( __SERVER_IP__ );
klauss 33:735fd60e96d8 257 exists = false;
klauss 28:94aec56c6329 258 }
klauss 28:94aec56c6329 259
klauss 28:94aec56c6329 260 fext = fopen("/qspi/peerext.txt", "r");
klauss 28:94aec56c6329 261 if ( fext == NULL ){
klauss 56:c64bcbaa621a 262 set_server_ext( __PEER_EXT__ );
klauss 33:735fd60e96d8 263 exists = false;
klauss 28:94aec56c6329 264 }
klauss 28:94aec56c6329 265 fsport = fopen("/qspi/serverport.txt", "r");
klauss 28:94aec56c6329 266 if (fsport == NULL){
klauss 56:c64bcbaa621a 267 set_server_port( __SERVER_PORT__ );
klauss 33:735fd60e96d8 268 exists = false;
klauss 28:94aec56c6329 269 }
klauss 28:94aec56c6329 270
klauss 19:ab2088e0dec6 271 fmask = fopen("/qspi/mymask.txt", "r");
klauss 19:ab2088e0dec6 272 if (fmask == NULL){
klauss 56:c64bcbaa621a 273 set_mask( __MY_MSK__ );
klauss 33:735fd60e96d8 274 exists = false;
klauss 19:ab2088e0dec6 275 }
klauss 19:ab2088e0dec6 276 fgate = fopen("/qspi/mygateway.txt", "r");
klauss 19:ab2088e0dec6 277 if (fgate == NULL){
klauss 56:c64bcbaa621a 278 set_gateway( __MY_GTW__ );
klauss 45:c80574f24dc3 279 exists = false;
klauss 45:c80574f24dc3 280 }
klauss 45:c80574f24dc3 281 fudpport = fopen("/qspi/udpport.txt", "r" );
klauss 45:c80574f24dc3 282 if( fudpport == NULL ){
klauss 56:c64bcbaa621a 283 set_udp_port_listener( UDP_PORT_LISTENER );
klauss 45:c80574f24dc3 284 exists = false;
klauss 45:c80574f24dc3 285 }
klauss 45:c80574f24dc3 286 ftcpport = fopen("/qspi/tcpport.txt", "r" );
klauss 45:c80574f24dc3 287 if( ftcpport == NULL ){
klauss 56:c64bcbaa621a 288 set_tcp_port_listener( TCP_PORT_LISTENER );
klauss 33:735fd60e96d8 289 exists = false;
klauss 19:ab2088e0dec6 290 }
klauss 56:c64bcbaa621a 291
klauss 56:c64bcbaa621a 292 ftip = fopen("/qspi/telemetry_ip.txt", "r" );
klauss 56:c64bcbaa621a 293 if( ftip == NULL ){
klauss 56:c64bcbaa621a 294 set_telemetry_ip( __TELEMETRY_SERVER_IP__ );
klauss 56:c64bcbaa621a 295 exists = false;
klauss 56:c64bcbaa621a 296 }
klauss 56:c64bcbaa621a 297
klauss 56:c64bcbaa621a 298 ftport = fopen("/qspi/telemetry_port.txt", "r" );
klauss 56:c64bcbaa621a 299 if( ftport == NULL ){
klauss 56:c64bcbaa621a 300 set_telemetry_port( __TELEMETRY_SERVER_PORT__ );
klauss 56:c64bcbaa621a 301 exists = false;
klauss 56:c64bcbaa621a 302 }
klauss 56:c64bcbaa621a 303
klauss 81:3656f00ab3db 304 fmax = fopen("/qspi/maxext.txt", "r" );
klauss 81:3656f00ab3db 305 if( fmax == NULL ){
klauss 81:3656f00ab3db 306 set_max_ext( MAX_EXT );
klauss 81:3656f00ab3db 307 exists = false;
klauss 81:3656f00ab3db 308 }
klauss 81:3656f00ab3db 309
klauss 81:3656f00ab3db 310 fmin = fopen("/qspi/minext.txt", "r" );
klauss 81:3656f00ab3db 311 if( fmin == NULL ){
klauss 81:3656f00ab3db 312 set_min_ext( MIN_EXT );
klauss 81:3656f00ab3db 313 exists = false;
klauss 81:3656f00ab3db 314 }
klauss 81:3656f00ab3db 315
klauss 44:cc4996469404 316 if( !exists ){
klauss 44:cc4996469404 317 pc.printf("\n\rDefault configurations set!\n\r");
klauss 44:cc4996469404 318 if( from_eth ){
klauss 44:cc4996469404 319 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Default configurations set!\n\r");
klauss 44:cc4996469404 320 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 44:cc4996469404 321 if( tcp_session ){
klauss 45:c80574f24dc3 322 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 67:cdedc64d9921 323 //debug_buf[ 0 ] = 0;
klauss 67:cdedc64d9921 324 //bufptr = 0;
klauss 44:cc4996469404 325 bufptr = 0;
klauss 67:cdedc64d9921 326 for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 44:cc4996469404 327 }
klauss 44:cc4996469404 328 }
klauss 44:cc4996469404 329 }
klauss 19:ab2088e0dec6 330 }
klauss 19:ab2088e0dec6 331
klauss 56:c64bcbaa621a 332 if (type == 'r' ){
klauss 56:c64bcbaa621a 333 // Just open for read
klauss 19:ab2088e0dec6 334 fip = fopen("/qspi/myip.txt", "r");
klauss 19:ab2088e0dec6 335 fmask = fopen("/qspi/mymask.txt", "r");
klauss 19:ab2088e0dec6 336 fgate = fopen("/qspi/mygateway.txt", "r");
klauss 19:ab2088e0dec6 337 fport = fopen("/qspi/mysipport.txt", "r");
klauss 19:ab2088e0dec6 338 fsip = fopen("/qspi/serverip.txt", "r");
klauss 19:ab2088e0dec6 339 fsport = fopen("/qspi/serverport.txt", "r");
klauss 28:94aec56c6329 340 fext = fopen( "/qspi/myext.txt", "r" );
klauss 28:94aec56c6329 341 fserext = fopen( "/qspi/peerext.txt", "r" );
klauss 45:c80574f24dc3 342 fudpport = fopen( "/qspi/udpport.txt", "r" );
klauss 45:c80574f24dc3 343 ftcpport = fopen( "/qspi/tcpport.txt", "r" );
klauss 56:c64bcbaa621a 344 ftip = fopen("/qspi/telemetry_ip.txt", "r" );
klauss 56:c64bcbaa621a 345 ftport = fopen("/qspi/telemetry_port.txt", "r" );
klauss 81:3656f00ab3db 346 fmax = fopen("/qspi/maxext.txt", "r" );
klauss 81:3656f00ab3db 347 fmin = fopen("/qspi/minext.txt", "r" );
klauss 19:ab2088e0dec6 348 }
klauss 19:ab2088e0dec6 349
klauss 55:2f5e7374af9d 350 if( type == 'w'){
klauss 55:2f5e7374af9d 351 // Create and write the default configs
klauss 56:c64bcbaa621a 352
klauss 56:c64bcbaa621a 353 set_ip( __MY_IP__ );
klauss 19:ab2088e0dec6 354
klauss 55:2f5e7374af9d 355 set_header_sip_port( __MY_PORT__ );
klauss 56:c64bcbaa621a 356
klauss 55:2f5e7374af9d 357 set_header_ext( __MY_EXT__ );
klauss 28:94aec56c6329 358
klauss 55:2f5e7374af9d 359 set_server_ip( __SERVER_IP__ );
klauss 56:c64bcbaa621a 360
klauss 55:2f5e7374af9d 361 set_server_ext( __PEER_EXT__ );
klauss 56:c64bcbaa621a 362
klauss 55:2f5e7374af9d 363 set_server_port( __SERVER_PORT__ );
klauss 56:c64bcbaa621a 364
klauss 56:c64bcbaa621a 365 set_mask( __MY_MSK__ );
klauss 28:94aec56c6329 366
klauss 55:2f5e7374af9d 367 set_gateway( __MY_GTW__ );
klauss 56:c64bcbaa621a 368
klauss 56:c64bcbaa621a 369 set_udp_port_listener( UDP_PORT_LISTENER );
klauss 45:c80574f24dc3 370
klauss 56:c64bcbaa621a 371 set_tcp_port_listener( TCP_PORT_LISTENER );
klauss 56:c64bcbaa621a 372
klauss 56:c64bcbaa621a 373 set_telemetry_ip( __TELEMETRY_SERVER_IP__ );
klauss 56:c64bcbaa621a 374
klauss 56:c64bcbaa621a 375 set_telemetry_port( __TELEMETRY_SERVER_PORT__ );
klauss 19:ab2088e0dec6 376
klauss 81:3656f00ab3db 377 set_max_ext( MAX_EXT );
klauss 81:3656f00ab3db 378
klauss 81:3656f00ab3db 379 set_min_ext( MIN_EXT );
klauss 81:3656f00ab3db 380
klauss 58:af7e8788f106 381 strcpy( last_cmd, tmp_cmd );
klauss 58:af7e8788f106 382
klauss 44:cc4996469404 383 pc.printf("\n\rDefault configurations set!\n\r");
klauss 44:cc4996469404 384 if( from_eth ){
klauss 44:cc4996469404 385 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rDefault configurations set!\n\r");
klauss 44:cc4996469404 386 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 44:cc4996469404 387 if( tcp_session ){
klauss 45:c80574f24dc3 388 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 389 }else if( udp_request ){
klauss 45:c80574f24dc3 390 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 44:cc4996469404 391 }
klauss 67:cdedc64d9921 392 //debug_buf[ 0 ] = 0;
klauss 67:cdedc64d9921 393 //bufptr = 0;
klauss 45:c80574f24dc3 394 bufptr = 0;
klauss 67:cdedc64d9921 395 for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 44:cc4996469404 396 }
klauss 19:ab2088e0dec6 397 }
klauss 50:d9b6577a70f5 398
klauss 56:c64bcbaa621a 399 if (type == 'e'){
klauss 56:c64bcbaa621a 400 //Erase configs
klauss 50:d9b6577a70f5 401 fip = fopen("/qspi/myip.txt", "w");
klauss 50:d9b6577a70f5 402 fmask = fopen("/qspi/mymask.txt", "w");
klauss 50:d9b6577a70f5 403 fgate = fopen("/qspi/mygateway.txt", "w");
klauss 50:d9b6577a70f5 404 fport = fopen("/qspi/mysipport.txt", "w");
klauss 50:d9b6577a70f5 405 fsip = fopen("/qspi/serverip.txt", "w");
klauss 50:d9b6577a70f5 406 fsport = fopen("/qspi/serverport.txt", "w");
klauss 50:d9b6577a70f5 407 fext = fopen( "/qspi/myext.txt", "w" );
klauss 50:d9b6577a70f5 408 fserext = fopen( "/qspi/peerext.txt", "w" );
klauss 50:d9b6577a70f5 409 fudpport = fopen( "/qspi/udpport.txt", "w" );
klauss 50:d9b6577a70f5 410 ftcpport = fopen( "/qspi/tcpport.txt", "w" );
klauss 56:c64bcbaa621a 411 ftip = fopen("/qspi/telemetry_ip.txt", "w" );
klauss 56:c64bcbaa621a 412 ftport = fopen("/qspi/telemetry_port.txt", "w" );
klauss 81:3656f00ab3db 413 fmax = fopen("/qspi/maxext.txt", "w" );
klauss 81:3656f00ab3db 414 fmin = fopen("/qspi/minext.txt", "w" );
klauss 50:d9b6577a70f5 415
klauss 56:c64bcbaa621a 416 //FIXME verificar se deveria colocar tudo para %s
klauss 56:c64bcbaa621a 417 fprintf( fip, "%s\n\r", "" );
klauss 60:b4ec6beb3be3 418 fprintf( fport, "%i\n\r", 0 );
klauss 60:b4ec6beb3be3 419 fprintf( fext, "%i\n\r", 0 );
klauss 50:d9b6577a70f5 420
klauss 56:c64bcbaa621a 421 fprintf( fsip, "%s\n\r", "" );
klauss 60:b4ec6beb3be3 422 fprintf( fserext, "%i\n\r", 0 );
klauss 60:b4ec6beb3be3 423 fprintf( fsport, "%i\n\r", 0 );
klauss 56:c64bcbaa621a 424
klauss 56:c64bcbaa621a 425 fprintf( fmask, "%s\n\r","" );
klauss 56:c64bcbaa621a 426 fprintf( fgate, "%s\n\r", "" );
klauss 50:d9b6577a70f5 427
klauss 60:b4ec6beb3be3 428 fprintf( fudpport, "%i\n\r", 0 );
klauss 60:b4ec6beb3be3 429 fprintf( ftcpport, "%i\n\r", 0 );
klauss 50:d9b6577a70f5 430
klauss 56:c64bcbaa621a 431 fprintf( ftip, "%s\n\r","" );
klauss 60:b4ec6beb3be3 432 fprintf( ftport, "%i\n\r",0 );
klauss 56:c64bcbaa621a 433
klauss 81:3656f00ab3db 434 fprintf( fmax, "%i\n\r", 0 );
klauss 81:3656f00ab3db 435 fprintf( fmin, "%i\n\r", 0 );
klauss 81:3656f00ab3db 436
klauss 50:d9b6577a70f5 437 files('c');
klauss 50:d9b6577a70f5 438
klauss 50:d9b6577a70f5 439 pc.printf("\n\rErased configurations set!\n\r");
klauss 50:d9b6577a70f5 440 if( from_eth ){
klauss 50:d9b6577a70f5 441 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rErased configurations set!\n\r");
klauss 50:d9b6577a70f5 442 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 50:d9b6577a70f5 443 if( tcp_session ){
klauss 50:d9b6577a70f5 444 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 50:d9b6577a70f5 445 }else if( udp_request ){
klauss 50:d9b6577a70f5 446 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 50:d9b6577a70f5 447 }
klauss 50:d9b6577a70f5 448 bufptr = 0;
klauss 67:cdedc64d9921 449 for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 50:d9b6577a70f5 450 }
klauss 50:d9b6577a70f5 451 }
klauss 19:ab2088e0dec6 452 }
klauss 79:9bc12aa305a9 453
klauss 26:725cbbedadd5 454 void init_fsystem(){
klauss 26:725cbbedadd5 455 // init file system and check if files exist
klauss 26:725cbbedadd5 456 if (!qspifs.isformatted()) {
klauss 26:725cbbedadd5 457 qspifs.format();
klauss 44:cc4996469404 458 pc.printf("\n\rFile system configured!!\n\r");
klauss 26:725cbbedadd5 459 }
klauss 26:725cbbedadd5 460 files('i'); // check if the files are created
klauss 26:725cbbedadd5 461 files('c');
klauss 81:3656f00ab3db 462 send_msg("******* File System Ready *******");
klauss 43:455522f98de5 463 }
klauss 43:455522f98de5 464
klauss 78:1353744f01e1 465 void init_prompt_eth(){
klauss 45:c80574f24dc3 466 tcp_server.bind( TCP_PORT_LISTENER );
klauss 45:c80574f24dc3 467 tcp_server.listen();
klauss 45:c80574f24dc3 468 tcp_server.set_blocking( false, 1 );
klauss 45:c80574f24dc3 469 udp_server.set_blocking( false, 2 );
klauss 78:1353744f01e1 470 udp_server.bind( UDP_PORT_LISTENER );
klauss 81:3656f00ab3db 471 pc.printf("******* Prompt eth Ready *******\n\r");
klauss 19:ab2088e0dec6 472 }
klauss 19:ab2088e0dec6 473
klauss 28:94aec56c6329 474 // main prompt process
klauss 48:195c97f12e8e 475 char * prompt_process( char * msg_from_cb ){
klauss 28:94aec56c6329 476 //FIXME dar flush na serial
klauss 19:ab2088e0dec6 477 volatile char b = 0;
klauss 19:ab2088e0dec6 478 static uint8_t bufret = 0;
klauss 30:8dfb6d8de53d 479 static Timer flood_timeout;
klauss 60:b4ec6beb3be3 480 static Timer flood_silence_timer;
klauss 60:b4ec6beb3be3 481 static uint8_t id_msg = 0x10;
klauss 60:b4ec6beb3be3 482 static int start_ext, end_ext, ext_count;
klauss 36:728498a78e1e 483 bool miss_match = true;
klauss 57:78f7191a8b69 484 char eth_buffer[ __PROMPT_ETH_BUFFER_SIZE__ ];
klauss 60:b4ec6beb3be3 485 uint8_t write_buffer[ __CB_BUFFER_SIZE__ ];
klauss 57:78f7191a8b69 486
klauss 45:c80574f24dc3 487 if( flood_timeout.read() > 60 ){
klauss 45:c80574f24dc3 488 pflood = 0;
klauss 45:c80574f24dc3 489 flood_timeout.stop();
klauss 45:c80574f24dc3 490 flood_timeout.reset();
klauss 45:c80574f24dc3 491 }
klauss 78:1353744f01e1 492
klauss 53:bb492a8f115a 493 if( tcp_timer.read() >= TCP_IDLE_MAX_TIME ){
klauss 78:1353744f01e1 494 bool close_tcp = true;
klauss 78:1353744f01e1 495 //if( tcp_alive && ( tcp_timer.read() < TCP_ALIVE_IDLE_MAX_TIME ) ){
klauss 78:1353744f01e1 496 // close_tcp = false;
klauss 78:1353744f01e1 497 //}
klauss 78:1353744f01e1 498 if( close_tcp ){
klauss 78:1353744f01e1 499 tcp_alive = false;
klauss 78:1353744f01e1 500 tcp_timer.stop();
klauss 78:1353744f01e1 501 tcp_timer.reset();
klauss 78:1353744f01e1 502 tcp_session = false;
klauss 78:1353744f01e1 503 debug_buf = __debug_buf__;
klauss 78:1353744f01e1 504 bufptr = last_bufptr;
klauss 78:1353744f01e1 505 bufret = 0;
klauss 78:1353744f01e1 506 from_eth = false;
klauss 78:1353744f01e1 507 tcp_client.close();
klauss 78:1353744f01e1 508 return( NULL );
klauss 78:1353744f01e1 509 }
klauss 53:bb492a8f115a 510 }
klauss 48:195c97f12e8e 511 if( !tcp_server.accept( tcp_client ) ){
klauss 48:195c97f12e8e 512 tcp_session = true;
klauss 53:bb492a8f115a 513 tcp_timer.start();
klauss 48:195c97f12e8e 514 last_bufptr = bufptr;
klauss 53:bb492a8f115a 515 eth_buffer[ 0 ] = 0;
klauss 48:195c97f12e8e 516 bufret = 0;
klauss 48:195c97f12e8e 517 }
klauss 53:bb492a8f115a 518 if( tcp_session ){
klauss 57:78f7191a8b69 519 //if( !( (int)tcp_timer.read_ms() % 100 ) ){
klauss 53:bb492a8f115a 520 tcp_client.set_blocking( false, 1 );
klauss 53:bb492a8f115a 521 int n = tcp_client.receive( eth_buffer, sizeof( eth_buffer ) - 1 );
klauss 53:bb492a8f115a 522 if( n > 0 ){
klauss 48:195c97f12e8e 523 tcp_timer.reset();
klauss 53:bb492a8f115a 524
klauss 53:bb492a8f115a 525 if( ( n > 2 ) && ( eth_buffer[ n - 2 ] == '\r' ) ) eth_buffer[ n - 2 ] = 0;
klauss 53:bb492a8f115a 526
klauss 53:bb492a8f115a 527 if( ( n > 1 ) && ( eth_buffer[ n - 1 ] == '\n' ) ) eth_buffer[ n - 1 ] = 0;
klauss 53:bb492a8f115a 528
klauss 53:bb492a8f115a 529 if( ( n == 1 ) && eth_buffer[ 0 ] == 0x0A ) strcpy( eth_buffer, "\r" );
klauss 53:bb492a8f115a 530
klauss 53:bb492a8f115a 531 //if( eth_buffer[ 0 ] == '\r' || eth_buffer[ 1 ] == '\n' || eth_buffer[ 2 ] == 'r' || eth_buffer[ 2 ] == '\n' ) strcpy( eth_buffer, "\r" );
klauss 62:07e5bdc9f8f7 532
klauss 53:bb492a8f115a 533 bufptr = strlen( eth_buffer );
klauss 53:bb492a8f115a 534 debug_buf = eth_buffer;
klauss 53:bb492a8f115a 535 from_eth = true;
klauss 53:bb492a8f115a 536 bufret = 1;
klauss 53:bb492a8f115a 537
klauss 53:bb492a8f115a 538 if( !( strcmp( eth_buffer, "quit" ) ) ){
klauss 53:bb492a8f115a 539 tcp_timer.reset();
klauss 53:bb492a8f115a 540 debug_buf = __debug_buf__;
klauss 53:bb492a8f115a 541 bufptr = last_bufptr;
klauss 53:bb492a8f115a 542 from_eth = false;
klauss 53:bb492a8f115a 543 tcp_session = false;
klauss 53:bb492a8f115a 544 tcp_client.close();
klauss 53:bb492a8f115a 545 bufret = 0;
klauss 53:bb492a8f115a 546 return( NULL );
klauss 79:9bc12aa305a9 547 }else if( !( strcmp( eth_buffer, "alive" ) ) ){
klauss 79:9bc12aa305a9 548 char wake_msg[ 8 ];
klauss 81:3656f00ab3db 549 external_wdt = EXTERN_WDT_IDLE;
klauss 81:3656f00ab3db 550 strcpy( wake_msg, "wakeup\n" );
klauss 81:3656f00ab3db 551 while( !( tcp_client.send_all( wake_msg, strlen( wake_msg ) ) ) );
klauss 81:3656f00ab3db 552 strcpy( eth_buffer, "0" );
klauss 81:3656f00ab3db 553 bufret = 0;
klauss 53:bb492a8f115a 554 }
klauss 53:bb492a8f115a 555 }else{
klauss 48:195c97f12e8e 556 debug_buf = __debug_buf__;
klauss 48:195c97f12e8e 557 bufptr = last_bufptr;
klauss 57:78f7191a8b69 558 from_eth = false;
klauss 45:c80574f24dc3 559 }
klauss 57:78f7191a8b69 560 //}
klauss 53:bb492a8f115a 561 }
klauss 57:78f7191a8b69 562
klauss 53:bb492a8f115a 563 if( !from_eth ){
klauss 57:78f7191a8b69 564 if( pc.readable() ){
klauss 53:bb492a8f115a 565 // imput do teclado
klauss 53:bb492a8f115a 566 b = pc.getc();
klauss 53:bb492a8f115a 567 if( b == 0x0D ){ // enter
klauss 53:bb492a8f115a 568 bufret = 1;
klauss 53:bb492a8f115a 569 }else{
klauss 53:bb492a8f115a 570 pc.putc( b );
klauss 53:bb492a8f115a 571 if( b == 0x08 || b == 0x7F ){ // BS | DEL
klauss 53:bb492a8f115a 572 if( bufptr > 0 ) debug_buf[ --bufptr ] = 0;
klauss 53:bb492a8f115a 573 }else if( b == 0x09 ){
klauss 53:bb492a8f115a 574 // ignore tab
klauss 53:bb492a8f115a 575 }else{
klauss 53:bb492a8f115a 576 debug_buf[bufptr] = b;
klauss 53:bb492a8f115a 577 bufptr++;
klauss 42:480335bdde12 578 }
klauss 31:bb5fb28a77df 579 }
klauss 53:bb492a8f115a 580 }
klauss 48:195c97f12e8e 581 }
klauss 53:bb492a8f115a 582
klauss 48:195c97f12e8e 583 if( msg_from_cb ){
klauss 48:195c97f12e8e 584 if( tcp_session ){
klauss 48:195c97f12e8e 585 tcp_client.send_all( msg_from_cb, strlen( msg_from_cb ) );
klauss 48:195c97f12e8e 586 }else if( udp_request ){
klauss 48:195c97f12e8e 587 udp_server.sendTo( udp_client, msg_from_cb, strlen( msg_from_cb ) );
klauss 48:195c97f12e8e 588 }
klauss 48:195c97f12e8e 589 pc.printf( "\n\r%s\n\r", msg_from_cb );
klauss 45:c80574f24dc3 590 }
klauss 60:b4ec6beb3be3 591
klauss 60:b4ec6beb3be3 592 if( flood_silence ){
klauss 60:b4ec6beb3be3 593 if( flood_silence_timer.read_ms() > 250 ){
klauss 60:b4ec6beb3be3 594 char cmd[ 16 ] = "flood off";
klauss 60:b4ec6beb3be3 595 int str_end = strlen( cmd );
klauss 60:b4ec6beb3be3 596 cmd[ str_end ] = 0x0D;
klauss 60:b4ec6beb3be3 597 cmd[ str_end + 1 ] = 0x00;
klauss 60:b4ec6beb3be3 598
klauss 60:b4ec6beb3be3 599 int port = convert_ext_to_port( ext_count );
klauss 74:81c47fff88a5 600 send2callboxes( __build_cb_package__( ext_count, port, __PROMPT__, cmd, id_msg++, __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 60:b4ec6beb3be3 601 pc.printf("\r\nSilence sent to ext=%d port=%d", ext_count, port );
klauss 60:b4ec6beb3be3 602
klauss 60:b4ec6beb3be3 603 if( tcp_session ){
klauss 60:b4ec6beb3be3 604 snprintf( eth_buffer, __PROMPT_ETH_BUFFER_SIZE__, "\r\nSilence sent to ext=%d port=%d", ext_count, port );
klauss 60:b4ec6beb3be3 605 //eth_buffer[ strlen( eth_buffer ) - 1 ] = '\0';
klauss 60:b4ec6beb3be3 606
klauss 60:b4ec6beb3be3 607 tcp_client.send_all( eth_buffer, strlen( eth_buffer ) );
klauss 60:b4ec6beb3be3 608 }else if( udp_request ){
klauss 60:b4ec6beb3be3 609 snprintf( eth_buffer, __PROMPT_ETH_BUFFER_SIZE__, "\r\nSilence sent to ext=%d port=%d", ext_count, port );
klauss 60:b4ec6beb3be3 610 //eth_buffer[ strlen( eth_buffer ) - 1 ] = '\0';
klauss 60:b4ec6beb3be3 611
klauss 60:b4ec6beb3be3 612 udp_server.sendTo( udp_client, eth_buffer, strlen( eth_buffer ) );
klauss 60:b4ec6beb3be3 613 }
klauss 60:b4ec6beb3be3 614 flood_silence_timer.reset();
klauss 60:b4ec6beb3be3 615
klauss 60:b4ec6beb3be3 616 if( ++ext_count > end_ext ){
klauss 60:b4ec6beb3be3 617 flood_silence = false;
klauss 60:b4ec6beb3be3 618 flood_silence_timer.stop();
klauss 60:b4ec6beb3be3 619 flood_silence_timer.reset();
klauss 60:b4ec6beb3be3 620
klauss 60:b4ec6beb3be3 621 pc.printf("\r\n> " );
klauss 60:b4ec6beb3be3 622 if( tcp_session ){
klauss 60:b4ec6beb3be3 623 snprintf( eth_buffer, __PROMPT_ETH_BUFFER_SIZE__, "\r\n> " );
klauss 60:b4ec6beb3be3 624 tcp_client.send_all( eth_buffer, strlen( eth_buffer ) );
klauss 60:b4ec6beb3be3 625 }else if( udp_request ){
klauss 60:b4ec6beb3be3 626 snprintf( eth_buffer, __PROMPT_ETH_BUFFER_SIZE__, "\r\n> " );
klauss 60:b4ec6beb3be3 627 udp_server.sendTo( udp_client, eth_buffer, strlen( eth_buffer ) );
klauss 60:b4ec6beb3be3 628 }
klauss 60:b4ec6beb3be3 629 }
klauss 60:b4ec6beb3be3 630 }
klauss 60:b4ec6beb3be3 631 }
klauss 65:0b653cfe95db 632
klauss 65:0b653cfe95db 633 if( delayed_flood ){
klauss 65:0b653cfe95db 634 tflood.start();
klauss 65:0b653cfe95db 635 tflood.reset();
klauss 65:0b653cfe95db 636 floodcount =0;
klauss 65:0b653cfe95db 637 pflood = 1;
klauss 65:0b653cfe95db 638 flood_timeout.start();
klauss 65:0b653cfe95db 639 delayed_flood = false;
klauss 65:0b653cfe95db 640 pc.printf("\n\rFlood ON\n\r");
klauss 65:0b653cfe95db 641 if( from_eth ){
klauss 65:0b653cfe95db 642 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood On\n\r" );
klauss 65:0b653cfe95db 643 //debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 65:0b653cfe95db 644 }
klauss 65:0b653cfe95db 645 }
klauss 45:c80574f24dc3 646
klauss 45:c80574f24dc3 647 // Prompt commands here
klauss 58:af7e8788f106 648 if ( bufret == 1 ) {
klauss 45:c80574f24dc3 649 static unsigned int promptcb_last_ext = 0;
klauss 45:c80574f24dc3 650 static unsigned int promptcb_last_port = 0;
klauss 55:2f5e7374af9d 651 static char promptcb_last_cmd[ 300 ];
klauss 60:b4ec6beb3be3 652
klauss 58:af7e8788f106 653 strcpy( tmp_cmd, debug_buf );
klauss 59:e1e300880d2d 654 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "." ) ){
klauss 45:c80574f24dc3 655 miss_match = false;
klauss 58:af7e8788f106 656 strcpy( debug_buf, last_cmd );
klauss 58:af7e8788f106 657 strcpy( tmp_cmd, debug_buf );
klauss 59:e1e300880d2d 658 }else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "+" ) ){
klauss 59:e1e300880d2d 659 miss_match = false;
klauss 59:e1e300880d2d 660 strcpy( debug_buf, "flood on" );
klauss 59:e1e300880d2d 661 strcpy( tmp_cmd, debug_buf );
klauss 59:e1e300880d2d 662 }else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "-" ) ){
klauss 59:e1e300880d2d 663 miss_match = false;
klauss 59:e1e300880d2d 664 strcpy( debug_buf, "flood off" );
klauss 59:e1e300880d2d 665 strcpy( tmp_cmd, debug_buf );
klauss 59:e1e300880d2d 666 }else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "++ ", 3 ) ){
klauss 59:e1e300880d2d 667 miss_match = false;
klauss 65:0b653cfe95db 668 delayed_flood = true;
klauss 59:e1e300880d2d 669 int ext = atoi( debug_buf + 3 );
klauss 59:e1e300880d2d 670 sprintf( debug_buf, "pcb %i flood on", ext );
klauss 59:e1e300880d2d 671 }else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "-- ", 3 ) ){
klauss 59:e1e300880d2d 672 miss_match = false;
klauss 59:e1e300880d2d 673 int ext = atoi( debug_buf + 3 );
klauss 59:e1e300880d2d 674 pc.printf("\n\rFlood OFF\n\r");
klauss 59:e1e300880d2d 675 if( from_eth ){
klauss 59:e1e300880d2d 676 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood OFF\n\r" );
klauss 59:e1e300880d2d 677 //debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 59:e1e300880d2d 678 }
klauss 59:e1e300880d2d 679 pflood = 0;
klauss 59:e1e300880d2d 680 tflood.stop();
klauss 59:e1e300880d2d 681 flood_timeout.reset();
klauss 60:b4ec6beb3be3 682 sprintf( debug_buf, "pcb %i flood off", ext );
klauss 45:c80574f24dc3 683 }
klauss 45:c80574f24dc3 684
klauss 48:195c97f12e8e 685 //tratamento dos enters
klauss 45:c80574f24dc3 686 if( !bufptr ){
klauss 45:c80574f24dc3 687 miss_match = false;
klauss 48:195c97f12e8e 688 }else if( bufptr == 1 ) {
klauss 48:195c97f12e8e 689 if( debug_buf[ 0 ] == 0x0D || debug_buf[ 0 ] == 0x0D ) miss_match = false;
klauss 48:195c97f12e8e 690 }
klauss 48:195c97f12e8e 691
klauss 45:c80574f24dc3 692 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ifconfig" ) ){
klauss 45:c80574f24dc3 693 miss_match = false;
klauss 45:c80574f24dc3 694 pc.printf("\n\r");
klauss 45:c80574f24dc3 695 files('s');
klauss 45:c80574f24dc3 696 }
klauss 62:07e5bdc9f8f7 697
klauss 63:0d95da692bb4 698 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "rx" ) ){
klauss 62:07e5bdc9f8f7 699 miss_match = false;
klauss 62:07e5bdc9f8f7 700 rx = true;
klauss 62:07e5bdc9f8f7 701 }
klauss 62:07e5bdc9f8f7 702
klauss 63:0d95da692bb4 703 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "tx" ) ){
klauss 63:0d95da692bb4 704 miss_match = false;
klauss 63:0d95da692bb4 705 tx = true;
klauss 63:0d95da692bb4 706 }
klauss 63:0d95da692bb4 707
klauss 63:0d95da692bb4 708 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "stats" ) ){
klauss 63:0d95da692bb4 709 miss_match = false;
klauss 63:0d95da692bb4 710 stats = true;
klauss 63:0d95da692bb4 711 }
klauss 63:0d95da692bb4 712 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset_stats" ) ){
klauss 63:0d95da692bb4 713 miss_match = false;
klauss 63:0d95da692bb4 714 r_stats = true;
klauss 63:0d95da692bb4 715 }
klauss 63:0d95da692bb4 716
klauss 59:e1e300880d2d 717 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "format" ) ){
klauss 45:c80574f24dc3 718 miss_match = false;
klauss 50:d9b6577a70f5 719 pc.printf("\n\rFormatando o sistema de arquivos... espere o sistema reiniciar\n\r");
klauss 62:07e5bdc9f8f7 720
klauss 45:c80574f24dc3 721 if( from_eth ){
klauss 62:07e5bdc9f8f7 722 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Not Allowed\n\r");
klauss 62:07e5bdc9f8f7 723 }else{
klauss 62:07e5bdc9f8f7 724 files('e');
klauss 62:07e5bdc9f8f7 725 files('w');
klauss 62:07e5bdc9f8f7 726 __disable_irq();
klauss 62:07e5bdc9f8f7 727 NVIC_SystemReset();
klauss 42:480335bdde12 728 }
klauss 45:c80574f24dc3 729 }
klauss 45:c80574f24dc3 730
klauss 59:e1e300880d2d 731 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ipset ", 6 )) {
klauss 45:c80574f24dc3 732 miss_match = false;
klauss 54:448d57291be6 733 set_ip( debug_buf + 6 );
klauss 45:c80574f24dc3 734 files('s');
klauss 45:c80574f24dc3 735 }
klauss 45:c80574f24dc3 736
klauss 59:e1e300880d2d 737 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "extset ", 7 ) ){
klauss 45:c80574f24dc3 738 miss_match = false;
klauss 55:2f5e7374af9d 739 set_header_ext( atoi( debug_buf + 7 ) );
klauss 45:c80574f24dc3 740 files('s');
klauss 45:c80574f24dc3 741 }
klauss 45:c80574f24dc3 742
klauss 59:e1e300880d2d 743 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "serextset ", 10 ) ){
klauss 45:c80574f24dc3 744 miss_match = false;
klauss 55:2f5e7374af9d 745 set_server_ext( atoi( debug_buf + 10 ) );
klauss 45:c80574f24dc3 746 files('s');
klauss 45:c80574f24dc3 747 }
klauss 45:c80574f24dc3 748
klauss 59:e1e300880d2d 749 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "maskset ",8 ) ){
klauss 45:c80574f24dc3 750 miss_match = false;
klauss 55:2f5e7374af9d 751 set_mask( debug_buf + 8 );
klauss 45:c80574f24dc3 752 files('s');
klauss 45:c80574f24dc3 753 }
klauss 45:c80574f24dc3 754
klauss 59:e1e300880d2d 755 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "gatewayset ",11 ) ){
klauss 45:c80574f24dc3 756 miss_match = false;
klauss 55:2f5e7374af9d 757 set_gateway( debug_buf + 11 );
klauss 45:c80574f24dc3 758 files('s');
klauss 45:c80574f24dc3 759 }
klauss 45:c80574f24dc3 760
klauss 59:e1e300880d2d 761 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "msipport ",9 ) ){
klauss 45:c80574f24dc3 762 miss_match = false;
klauss 55:2f5e7374af9d 763 set_header_sip_port( atoi( debug_buf + 9 ) );
klauss 45:c80574f24dc3 764 files('s');
klauss 45:c80574f24dc3 765 }
klauss 45:c80574f24dc3 766
klauss 59:e1e300880d2d 767 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "serverip ",9 ) ){
klauss 45:c80574f24dc3 768 miss_match = false;
klauss 55:2f5e7374af9d 769 set_server_ip( debug_buf + 9 );
klauss 45:c80574f24dc3 770 files('s');
klauss 45:c80574f24dc3 771 }
klauss 81:3656f00ab3db 772
klauss 81:3656f00ab3db 773 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "maxext ", 7 ) ){
klauss 81:3656f00ab3db 774 miss_match = false;
klauss 81:3656f00ab3db 775 set_max_ext( atoi( debug_buf + 7 ) );
klauss 81:3656f00ab3db 776 files('s');
klauss 81:3656f00ab3db 777 }
klauss 81:3656f00ab3db 778
klauss 81:3656f00ab3db 779 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "minext ", 7 ) ){
klauss 81:3656f00ab3db 780 miss_match = false;
klauss 81:3656f00ab3db 781 set_min_ext( atoi( debug_buf + 7 ) );
klauss 81:3656f00ab3db 782 files('s');
klauss 81:3656f00ab3db 783 }
klauss 45:c80574f24dc3 784
klauss 81:3656f00ab3db 785 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ssport ", 7 ) ){
klauss 45:c80574f24dc3 786 miss_match = false;
klauss 55:2f5e7374af9d 787 set_server_port( atoi( debug_buf + 7 ) );
klauss 45:c80574f24dc3 788 files('s');
klauss 45:c80574f24dc3 789 }
klauss 45:c80574f24dc3 790
klauss 59:e1e300880d2d 791 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "telemetry_ip ", 13 ) ){
klauss 56:c64bcbaa621a 792 miss_match = false;
klauss 56:c64bcbaa621a 793 set_telemetry_ip( debug_buf + 13 );
klauss 56:c64bcbaa621a 794 files('s');
klauss 56:c64bcbaa621a 795 }
klauss 56:c64bcbaa621a 796
klauss 59:e1e300880d2d 797 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "telemetry_port ", 15 ) ){
klauss 56:c64bcbaa621a 798 miss_match = false;
klauss 56:c64bcbaa621a 799 set_telemetry_port( atoi( debug_buf + 15 ) );
klauss 56:c64bcbaa621a 800 files('s');
klauss 56:c64bcbaa621a 801 }
klauss 45:c80574f24dc3 802
klauss 59:e1e300880d2d 803 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dconfig" ) ){
klauss 45:c80574f24dc3 804 miss_match = false;
klauss 50:d9b6577a70f5 805 files('e');
klauss 45:c80574f24dc3 806 files('w');
klauss 45:c80574f24dc3 807 files('s');
klauss 45:c80574f24dc3 808 }
klauss 45:c80574f24dc3 809
klauss 59:e1e300880d2d 810 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset" ) ){
klauss 45:c80574f24dc3 811 miss_match = false;
klauss 45:c80574f24dc3 812 pc.printf("\n\rJob is done\n\r");
klauss 45:c80574f24dc3 813 if( from_eth ){
klauss 45:c80574f24dc3 814 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Job is done\n\r");
klauss 45:c80574f24dc3 815 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 816 if( tcp_session ){
klauss 45:c80574f24dc3 817 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 818 tcp_client.close();
klauss 45:c80574f24dc3 819 }else if( udp_request ){
klauss 45:c80574f24dc3 820 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 42:480335bdde12 821 }
klauss 45:c80574f24dc3 822 }
klauss 48:195c97f12e8e 823 __disable_irq();
klauss 45:c80574f24dc3 824 NVIC_SystemReset();
klauss 45:c80574f24dc3 825 }
klauss 45:c80574f24dc3 826
klauss 59:e1e300880d2d 827 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dog" ) ){
klauss 45:c80574f24dc3 828 miss_match = false;
klauss 45:c80574f24dc3 829 pc.printf("\n\r MUUUUUUUuuuuUUUUUU - I'm not a dog!!!! \n\r");
klauss 45:c80574f24dc3 830 if( from_eth ){
klauss 45:c80574f24dc3 831 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "MUUUUUUUuuuuUUUUUU - I'm not a dog!!!!\n\r");
klauss 67:cdedc64d9921 832 //debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 833 }
klauss 45:c80574f24dc3 834 }
klauss 48:195c97f12e8e 835
klauss 62:07e5bdc9f8f7 836 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ls" ) ){
klauss 62:07e5bdc9f8f7 837 miss_match = false;
klauss 62:07e5bdc9f8f7 838 list = true;
klauss 62:07e5bdc9f8f7 839 }
klauss 62:07e5bdc9f8f7 840
klauss 81:3656f00ab3db 841 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ls -l" ) ){
klauss 81:3656f00ab3db 842 miss_match = false;
klauss 81:3656f00ab3db 843 long_list = true;
klauss 81:3656f00ab3db 844 }
klauss 81:3656f00ab3db 845
klauss 59:e1e300880d2d 846 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "tt" ) ){
klauss 53:bb492a8f115a 847 miss_match = false;
klauss 62:07e5bdc9f8f7 848 main_test = !main_test;
klauss 53:bb492a8f115a 849 }
klauss 53:bb492a8f115a 850
klauss 59:e1e300880d2d 851 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset_cks" ) ){
klauss 52:12930cef17c4 852 miss_match = false;
klauss 52:12930cef17c4 853 reset_cks = true;
klauss 52:12930cef17c4 854 }
klauss 52:12930cef17c4 855
klauss 64:5b011d5707d2 856 //replaced by ls
klauss 59:e1e300880d2d 857 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "status" ) ){
klauss 48:195c97f12e8e 858 miss_match = false;
klauss 64:5b011d5707d2 859 list = true;
klauss 64:5b011d5707d2 860 }
klauss 64:5b011d5707d2 861
klauss 81:3656f00ab3db 862 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "wdt" ) ){
klauss 81:3656f00ab3db 863 miss_match = false;
klauss 81:3656f00ab3db 864 debug_wdt = true;
klauss 81:3656f00ab3db 865 }
klauss 81:3656f00ab3db 866
klauss 81:3656f00ab3db 867 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "eth" ) ){
klauss 81:3656f00ab3db 868 miss_match = false;
klauss 81:3656f00ab3db 869 debug_eth = true;
klauss 81:3656f00ab3db 870 }
klauss 81:3656f00ab3db 871
klauss 64:5b011d5707d2 872 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "types" ) ){
klauss 64:5b011d5707d2 873 miss_match = false;
klauss 64:5b011d5707d2 874
klauss 64:5b011d5707d2 875 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 64:5b011d5707d2 876
klauss 64:5b011d5707d2 877 if( from_eth ){
klauss 64:5b011d5707d2 878 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 64:5b011d5707d2 879 //debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 64:5b011d5707d2 880 }
klauss 48:195c97f12e8e 881 }
klauss 64:5b011d5707d2 882
klauss 64:5b011d5707d2 883 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "protocol" ) ){
klauss 64:5b011d5707d2 884 miss_match = false;
klauss 64:5b011d5707d2 885
klauss 64:5b011d5707d2 886 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 64:5b011d5707d2 887
klauss 64:5b011d5707d2 888 if( from_eth ){
klauss 64:5b011d5707d2 889 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 64:5b011d5707d2 890 //debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 64:5b011d5707d2 891 }
klauss 64:5b011d5707d2 892 }
klauss 64:5b011d5707d2 893
klauss 60:b4ec6beb3be3 894 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "flood ", 6 ) ){
klauss 60:b4ec6beb3be3 895 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "on", 2 ) ){
klauss 45:c80574f24dc3 896 miss_match = false;
klauss 46:a670f187a704 897 pc.printf("\n\rFlood ON\n\r");
klauss 42:480335bdde12 898 if( from_eth ){
klauss 45:c80574f24dc3 899 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood On\n\r" );
klauss 45:c80574f24dc3 900 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 42:480335bdde12 901 }
klauss 45:c80574f24dc3 902 tflood.start();
klauss 45:c80574f24dc3 903 tflood.reset();
klauss 45:c80574f24dc3 904 floodcount =0;
klauss 45:c80574f24dc3 905 pflood = 1;
klauss 45:c80574f24dc3 906 flood_timeout.start();
klauss 45:c80574f24dc3 907 }
klauss 61:06e77dff6f00 908
klauss 61:06e77dff6f00 909 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "more", 4 ) ){
klauss 61:06e77dff6f00 910 miss_match = false;
klauss 61:06e77dff6f00 911 pc.printf("\n\rFlood ON\n\r");
klauss 61:06e77dff6f00 912 if( from_eth ){
klauss 61:06e77dff6f00 913 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood On\n\r" );
klauss 61:06e77dff6f00 914 //debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 61:06e77dff6f00 915 }
klauss 61:06e77dff6f00 916 tflood.start();
klauss 61:06e77dff6f00 917 tflood.reset();
klauss 61:06e77dff6f00 918 floodcount = 0;
klauss 61:06e77dff6f00 919 pflood = 1;
klauss 61:06e77dff6f00 920 }
klauss 61:06e77dff6f00 921
klauss 60:b4ec6beb3be3 922 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "off", 3 )) {
klauss 45:c80574f24dc3 923 miss_match = false;
klauss 46:a670f187a704 924 pc.printf("\n\rFlood OFF\n\r");
klauss 42:480335bdde12 925 if( from_eth ){
klauss 45:c80574f24dc3 926 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood Off\n\r" );
klauss 45:c80574f24dc3 927 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 42:480335bdde12 928 }
klauss 45:c80574f24dc3 929 pflood = 0;
klauss 45:c80574f24dc3 930 tflood.stop();
klauss 45:c80574f24dc3 931 flood_timeout.reset();
klauss 31:bb5fb28a77df 932 }
klauss 60:b4ec6beb3be3 933 }else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "silence ", 8 ) ){
klauss 60:b4ec6beb3be3 934 miss_match = false;
klauss 60:b4ec6beb3be3 935 char *ref, *split;
klauss 60:b4ec6beb3be3 936
klauss 60:b4ec6beb3be3 937 strcpy( promptcb_last_cmd, debug_buf );
klauss 60:b4ec6beb3be3 938
klauss 65:0b653cfe95db 939 if( !( strcmp( debug_buf + 8, "-h" ) && strcmp( debug_buf + 8, "--help" ) ) ){
klauss 65:0b653cfe95db 940 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 65:0b653cfe95db 941
klauss 65:0b653cfe95db 942 if( tcp_session ){
klauss 65:0b653cfe95db 943 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 65:0b653cfe95db 944 }
klauss 65:0b653cfe95db 945 }else{
klauss 65:0b653cfe95db 946 ref = debug_buf;
klauss 65:0b653cfe95db 947
klauss 65:0b653cfe95db 948 split = strtok( debug_buf + 8, " " );
klauss 65:0b653cfe95db 949
klauss 65:0b653cfe95db 950 start_ext = atoi( split );
klauss 65:0b653cfe95db 951
klauss 65:0b653cfe95db 952 split += strlen( split ) + 1;
klauss 65:0b653cfe95db 953
klauss 65:0b653cfe95db 954 end_ext = atoi( split );
klauss 60:b4ec6beb3be3 955
klauss 65:0b653cfe95db 956 debug_buf = ref;
klauss 65:0b653cfe95db 957
klauss 65:0b653cfe95db 958 if( start_ext < end_ext && ( end_ext - start_ext ) < 50 ){
klauss 65:0b653cfe95db 959 if( start_ext % 2 ) start_ext--;
klauss 65:0b653cfe95db 960 if( !( end_ext % 2 ) ) end_ext++;
klauss 65:0b653cfe95db 961
klauss 65:0b653cfe95db 962 ext_count = start_ext;
klauss 65:0b653cfe95db 963 flood_silence_timer.start();
klauss 65:0b653cfe95db 964 }else{
klauss 65:0b653cfe95db 965 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 65:0b653cfe95db 966
klauss 65:0b653cfe95db 967 if( tcp_session ){
klauss 65:0b653cfe95db 968 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 65:0b653cfe95db 969 }
klauss 48:195c97f12e8e 970 }
klauss 65:0b653cfe95db 971 flood_silence = true;
klauss 48:195c97f12e8e 972 }
klauss 45:c80574f24dc3 973 }
klauss 45:c80574f24dc3 974
klauss 60:b4ec6beb3be3 975 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug ",6 ) ){
klauss 45:c80574f24dc3 976 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 977 miss_match = false;
klauss 46:a670f187a704 978 pc.printf("\n\rDebug ON\n\r");
klauss 45:c80574f24dc3 979 if( from_eth ){
klauss 45:c80574f24dc3 980 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug On\n\r" );
klauss 45:c80574f24dc3 981 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 982 }
klauss 78:1353744f01e1 983 debug_alive = true;
klauss 45:c80574f24dc3 984 }
klauss 45:c80574f24dc3 985 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 986 miss_match = false;
klauss 46:a670f187a704 987 pc.printf("\n\rDebug OFF\n\r");
klauss 45:c80574f24dc3 988 if( from_eth ){
klauss 45:c80574f24dc3 989 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Off\n\r" );
klauss 45:c80574f24dc3 990 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 42:480335bdde12 991 }
klauss 78:1353744f01e1 992 debug_alive = false;
klauss 31:bb5fb28a77df 993 }
klauss 45:c80574f24dc3 994 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "show",4 ) ){
klauss 45:c80574f24dc3 995 miss_match = false;
klauss 50:d9b6577a70f5 996 pc.printf("\n\rdsip");
klauss 45:c80574f24dc3 997 pc.printf("\n\rdebug_alive");
klauss 45:c80574f24dc3 998 pc.printf("\n\rdebug_prompt");
klauss 45:c80574f24dc3 999 pc.printf("\n\rdebug_vector");
klauss 45:c80574f24dc3 1000 pc.printf("\n\rdebug_cb");
klauss 45:c80574f24dc3 1001 pc.printf("\n\rdebug_main");
klauss 78:1353744f01e1 1002 pc.printf("\n\rdcks");
klauss 45:c80574f24dc3 1003 pc.printf("\n\rdebug_cb_rx");
klauss 45:c80574f24dc3 1004 pc.printf("\n\rdebug_cb_tx*");
klauss 45:c80574f24dc3 1005 pc.printf("\n\rdebug_eth_rx*");
klauss 45:c80574f24dc3 1006 pc.printf("\n\rdebug_eth_tx*");
klauss 45:c80574f24dc3 1007 pc.printf("\n\rdebug_file");
klauss 45:c80574f24dc3 1008
klauss 42:480335bdde12 1009 if( from_eth ){
klauss 78:1353744f01e1 1010 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rdsip \n\rdebug_alive \n\rdebug_prompt \n\rdebug_vector \n\rdebug_cb \n\rdebug_main \n\rdcks \n\rdebug_cb_rx \n\rdebug_cb_tx* \n\rdebug_eth_rx* \n\rdebug_eth_tx* \n\rdebug_file\n\r" );
klauss 42:480335bdde12 1011 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 42:480335bdde12 1012 }
klauss 42:480335bdde12 1013 }
klauss 45:c80574f24dc3 1014 }
klauss 45:c80574f24dc3 1015
klauss 78:1353744f01e1 1016 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dsip ", 5 ) ){
klauss 78:1353744f01e1 1017 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "on", 2 ) ){
klauss 45:c80574f24dc3 1018 miss_match = false;
klauss 45:c80574f24dc3 1019 pc.printf( "\n\rSip Debug ON\n\r" );
klauss 45:c80574f24dc3 1020 if( from_eth ){
klauss 45:c80574f24dc3 1021 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Sip Debug On\n\r" );
klauss 45:c80574f24dc3 1022 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1023 }
klauss 78:1353744f01e1 1024 debug_sip = true;
klauss 45:c80574f24dc3 1025 }
klauss 50:d9b6577a70f5 1026 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 1027 miss_match = false;
klauss 45:c80574f24dc3 1028 pc.printf( "\n\rSip Debug OFF\n\r" );
klauss 45:c80574f24dc3 1029 if( from_eth ){
klauss 45:c80574f24dc3 1030 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Sip Debug Off\n\r" );
klauss 45:c80574f24dc3 1031 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1032 }
klauss 78:1353744f01e1 1033 debug_sip = false;
klauss 78:1353744f01e1 1034 }
klauss 78:1353744f01e1 1035 }
klauss 78:1353744f01e1 1036
klauss 81:3656f00ab3db 1037 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dmuted ", 7 ) ){
klauss 81:3656f00ab3db 1038 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "on", 2 ) ){
klauss 81:3656f00ab3db 1039 miss_match = false;
klauss 81:3656f00ab3db 1040 pc.printf( "\n\rMuted Debug ON\n\r" );
klauss 81:3656f00ab3db 1041 if( from_eth ){
klauss 81:3656f00ab3db 1042 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Muted Debug On\n\r" );
klauss 81:3656f00ab3db 1043 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 81:3656f00ab3db 1044 }
klauss 81:3656f00ab3db 1045 debug_muted = true;
klauss 81:3656f00ab3db 1046 }
klauss 81:3656f00ab3db 1047 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "off",3 )) {
klauss 81:3656f00ab3db 1048 miss_match = false;
klauss 81:3656f00ab3db 1049 pc.printf( "\n\rMuted Debug OFF\n\r" );
klauss 81:3656f00ab3db 1050 if( from_eth ){
klauss 81:3656f00ab3db 1051 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Muted Debug Off\n\r" );
klauss 81:3656f00ab3db 1052 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 81:3656f00ab3db 1053 }
klauss 81:3656f00ab3db 1054 debug_muted = false;
klauss 81:3656f00ab3db 1055 }
klauss 81:3656f00ab3db 1056 }
klauss 81:3656f00ab3db 1057
klauss 81:3656f00ab3db 1058 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dwdt ", 5 ) ){
klauss 81:3656f00ab3db 1059 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "on", 2 ) ){
klauss 81:3656f00ab3db 1060 miss_match = false;
klauss 81:3656f00ab3db 1061 pc.printf( "\n\rWdt Debug ON\n\r" );
klauss 81:3656f00ab3db 1062 if( from_eth ){
klauss 81:3656f00ab3db 1063 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wdt Debug On\n\r" );
klauss 81:3656f00ab3db 1064 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 81:3656f00ab3db 1065 }
klauss 81:3656f00ab3db 1066 wdt_show = true;
klauss 81:3656f00ab3db 1067 }
klauss 81:3656f00ab3db 1068 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "off",3 )) {
klauss 81:3656f00ab3db 1069 miss_match = false;
klauss 81:3656f00ab3db 1070 pc.printf( "\n\rWdt Debug OFF\n\r" );
klauss 81:3656f00ab3db 1071 if( from_eth ){
klauss 81:3656f00ab3db 1072 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wdt Debug Off\n\r" );
klauss 81:3656f00ab3db 1073 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 81:3656f00ab3db 1074 }
klauss 81:3656f00ab3db 1075 wdt_show = false;
klauss 81:3656f00ab3db 1076 }
klauss 81:3656f00ab3db 1077 }
klauss 81:3656f00ab3db 1078
klauss 81:3656f00ab3db 1079 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "drefresh ", 9 ) ){
klauss 81:3656f00ab3db 1080 if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "on", 2 ) ){
klauss 81:3656f00ab3db 1081 miss_match = false;
klauss 81:3656f00ab3db 1082 pc.printf( "\n\rRefresh Debug ON\n\r" );
klauss 81:3656f00ab3db 1083 if( from_eth ){
klauss 81:3656f00ab3db 1084 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Refresh Debug On\n\r" );
klauss 81:3656f00ab3db 1085 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 81:3656f00ab3db 1086 }
klauss 81:3656f00ab3db 1087 debug_refresh= true;
klauss 81:3656f00ab3db 1088 }
klauss 81:3656f00ab3db 1089 if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "off",3 )) {
klauss 81:3656f00ab3db 1090 miss_match = false;
klauss 81:3656f00ab3db 1091 pc.printf( "\n\rRefresh Debug OFF\n\r" );
klauss 81:3656f00ab3db 1092 if( from_eth ){
klauss 81:3656f00ab3db 1093 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Refresh Debug Off\n\r" );
klauss 81:3656f00ab3db 1094 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 81:3656f00ab3db 1095 }
klauss 81:3656f00ab3db 1096 debug_refresh = false;
klauss 81:3656f00ab3db 1097 }
klauss 81:3656f00ab3db 1098 }
klauss 81:3656f00ab3db 1099
klauss 78:1353744f01e1 1100 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dping ", 6 ) ){
klauss 78:1353744f01e1 1101 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "on", 2 ) ){
klauss 78:1353744f01e1 1102 miss_match = false;
klauss 78:1353744f01e1 1103 pc.printf( "\n\rPing Debug ON\n\r" );
klauss 78:1353744f01e1 1104 if( from_eth ){
klauss 78:1353744f01e1 1105 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Ping Debug On\n\r" );
klauss 78:1353744f01e1 1106 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1107 }
klauss 78:1353744f01e1 1108 debug_ping = true;
klauss 78:1353744f01e1 1109 }
klauss 78:1353744f01e1 1110 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 1111 miss_match = false;
klauss 78:1353744f01e1 1112 pc.printf( "\n\rPing Debug OFF\n\r" );
klauss 78:1353744f01e1 1113 if( from_eth ){
klauss 78:1353744f01e1 1114 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Ping Debug Off\n\r" );
klauss 78:1353744f01e1 1115 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1116 }
klauss 78:1353744f01e1 1117 debug_ping= false;
klauss 78:1353744f01e1 1118 }
klauss 78:1353744f01e1 1119 }
klauss 78:1353744f01e1 1120
klauss 78:1353744f01e1 1121 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dwu ", 4 ) ){
klauss 78:1353744f01e1 1122 if (xmemmatch( (uint8_t*)(debug_buf + 4 ), (uint8_t*) "on", 2 ) ){
klauss 78:1353744f01e1 1123 miss_match = false;
klauss 78:1353744f01e1 1124 pc.printf( "\n\rWake Up Debug ON\n\r" );
klauss 78:1353744f01e1 1125 if( from_eth ){
klauss 78:1353744f01e1 1126 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wake Up Debug On\n\r" );
klauss 78:1353744f01e1 1127 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1128 }
klauss 78:1353744f01e1 1129 debug_wake = true;
klauss 78:1353744f01e1 1130 }
klauss 78:1353744f01e1 1131 if (xmemmatch( (uint8_t*)(debug_buf + 4 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 1132 miss_match = false;
klauss 78:1353744f01e1 1133 pc.printf( "\n\rWake Up Debug OFF\n\r" );
klauss 78:1353744f01e1 1134 if( from_eth ){
klauss 78:1353744f01e1 1135 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Wake Up Debug Off\n\r" );
klauss 78:1353744f01e1 1136 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1137 }
klauss 78:1353744f01e1 1138 debug_wake = false;
klauss 78:1353744f01e1 1139 }
klauss 78:1353744f01e1 1140 }
klauss 78:1353744f01e1 1141
klauss 78:1353744f01e1 1142 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "tcp_alive ", 10 ) ){
klauss 78:1353744f01e1 1143 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "on", 2 ) ){
klauss 78:1353744f01e1 1144 miss_match = false;
klauss 78:1353744f01e1 1145 pc.printf( "\n\rTCP don't drop mode on\n\r" );
klauss 78:1353744f01e1 1146 if( from_eth ){
klauss 78:1353744f01e1 1147 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "TCP don't drop mode on\n\r" );
klauss 78:1353744f01e1 1148 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1149 }
klauss 78:1353744f01e1 1150 tcp_alive = true;
klauss 78:1353744f01e1 1151 }
klauss 78:1353744f01e1 1152 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 1153 miss_match = false;
klauss 78:1353744f01e1 1154 pc.printf( "\n\rTCP don't drop mode off\n\r" );
klauss 78:1353744f01e1 1155 if( from_eth ){
klauss 78:1353744f01e1 1156 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "TCP don't drop mode off\n\r" );
klauss 78:1353744f01e1 1157 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1158 }
klauss 78:1353744f01e1 1159 tcp_alive = false;
klauss 78:1353744f01e1 1160 }
klauss 78:1353744f01e1 1161 }
klauss 78:1353744f01e1 1162
klauss 78:1353744f01e1 1163 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "daging ",7 ) ){
klauss 78:1353744f01e1 1164 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "on", 2 ) ){
klauss 78:1353744f01e1 1165 miss_match = false;
klauss 78:1353744f01e1 1166 pc.printf( "\n\rAging Debug ON\n\r" );
klauss 78:1353744f01e1 1167 if( from_eth ){
klauss 78:1353744f01e1 1168 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Aging Debug On\n\r" );
klauss 78:1353744f01e1 1169 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1170 }
klauss 78:1353744f01e1 1171 debug_aging = true;
klauss 78:1353744f01e1 1172 }
klauss 78:1353744f01e1 1173 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 1174 miss_match = false;
klauss 78:1353744f01e1 1175 pc.printf( "\n\rAging Debug OFF\n\r" );
klauss 78:1353744f01e1 1176 if( from_eth ){
klauss 78:1353744f01e1 1177 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Aging Debug Off\n\r" );
klauss 78:1353744f01e1 1178 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1179 }
klauss 78:1353744f01e1 1180 debug_aging = false;
klauss 78:1353744f01e1 1181 }
klauss 78:1353744f01e1 1182 }
klauss 78:1353744f01e1 1183
klauss 78:1353744f01e1 1184 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dcpld ", 6 ) ){
klauss 78:1353744f01e1 1185 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "on", 2 ) ){
klauss 78:1353744f01e1 1186 miss_match = false;
klauss 78:1353744f01e1 1187 pc.printf( "\n\rDCPLD Debug ON\n\r" );
klauss 78:1353744f01e1 1188 if( from_eth ){
klauss 78:1353744f01e1 1189 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "DCPLD Debug On\n\r" );
klauss 78:1353744f01e1 1190 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1191 }
klauss 78:1353744f01e1 1192 debug_cpld = true;
klauss 78:1353744f01e1 1193 }
klauss 78:1353744f01e1 1194 if (xmemmatch( (uint8_t*)(debug_buf + 6 ), (uint8_t*) "off",3 ) ){
klauss 78:1353744f01e1 1195 miss_match = false;
klauss 78:1353744f01e1 1196 pc.printf( "\n\rDCPLD Debug OFF\n\r" );
klauss 78:1353744f01e1 1197 if( from_eth ){
klauss 78:1353744f01e1 1198 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "DCPLD Debug Off\n\r" );
klauss 78:1353744f01e1 1199 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1200 }
klauss 78:1353744f01e1 1201 debug_cpld = false;
klauss 78:1353744f01e1 1202 }
klauss 78:1353744f01e1 1203 }
klauss 78:1353744f01e1 1204
klauss 78:1353744f01e1 1205 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dcks_err ", 9 ) ){
klauss 78:1353744f01e1 1206 if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "on", 2 ) ){
klauss 78:1353744f01e1 1207 miss_match = false;
klauss 78:1353744f01e1 1208 pc.printf( "\n\rCKS_ERR Debug ON\n\r" );
klauss 78:1353744f01e1 1209 if( from_eth ){
klauss 78:1353744f01e1 1210 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS_ERR Debug On\n\r" );
klauss 78:1353744f01e1 1211 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1212 }
klauss 78:1353744f01e1 1213 debug_cks_err = true;
klauss 78:1353744f01e1 1214 }
klauss 78:1353744f01e1 1215 if (xmemmatch( (uint8_t*)(debug_buf + 9 ), (uint8_t*) "off", 3 ) ){
klauss 78:1353744f01e1 1216 miss_match = false;
klauss 78:1353744f01e1 1217 pc.printf( "\n\rCKS_ERR Debug OFF\n\r" );
klauss 78:1353744f01e1 1218 if( from_eth ){
klauss 78:1353744f01e1 1219 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS_ERR Debug Off\n\r" );
klauss 78:1353744f01e1 1220 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1221 }
klauss 78:1353744f01e1 1222 debug_cks_err = false;
klauss 78:1353744f01e1 1223 }
klauss 78:1353744f01e1 1224 }
klauss 78:1353744f01e1 1225
klauss 78:1353744f01e1 1226 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dinvite ", 8 ) ){
klauss 78:1353744f01e1 1227 if( xmemmatch( (uint8_t*)(debug_buf + 8 ), (uint8_t*) "on", 2 ) ){
klauss 78:1353744f01e1 1228 miss_match = false;
klauss 78:1353744f01e1 1229 pc.printf( "\n\rInvite Debug ON\n\r" );
klauss 78:1353744f01e1 1230 if( from_eth ){
klauss 78:1353744f01e1 1231 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Invite Debug On\n\r" );
klauss 78:1353744f01e1 1232 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1233 }
klauss 81:3656f00ab3db 1234 debug_invite = true;
klauss 78:1353744f01e1 1235 }
klauss 78:1353744f01e1 1236 if( xmemmatch( (uint8_t*)(debug_buf + 8 ), (uint8_t*) "off",3 )) {
klauss 78:1353744f01e1 1237 miss_match = false;
klauss 78:1353744f01e1 1238 pc.printf( "\n\rInvite Debug OFF\n\r" );
klauss 78:1353744f01e1 1239 if( from_eth ){
klauss 78:1353744f01e1 1240 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Invite Debug Off\n\r" );
klauss 78:1353744f01e1 1241 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 78:1353744f01e1 1242 }
klauss 78:1353744f01e1 1243 debug_invite = 0;
klauss 45:c80574f24dc3 1244 }
klauss 45:c80574f24dc3 1245 }
klauss 45:c80574f24dc3 1246
klauss 72:895ca792c647 1247 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dparallel ", 10 ) ){
klauss 72:895ca792c647 1248 if( xmemmatch( ( uint8_t * )( debug_buf + 10 ), ( uint8_t * )"on", 2 ) ){
klauss 72:895ca792c647 1249 miss_match = false;
klauss 72:895ca792c647 1250 pc.printf( "\n\rParallel Write Debug ON\n\r" );
klauss 72:895ca792c647 1251 if( from_eth ){
klauss 72:895ca792c647 1252 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rParallel Write Debug ON\n\r" );
klauss 72:895ca792c647 1253 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 72:895ca792c647 1254 }
klauss 72:895ca792c647 1255 dparallel = true;
klauss 72:895ca792c647 1256 }
klauss 72:895ca792c647 1257 if( xmemmatch( ( uint8_t * )( debug_buf + 10 ), ( uint8_t *)"off", 3 )) {
klauss 72:895ca792c647 1258 miss_match = false;
klauss 72:895ca792c647 1259 pc.printf( "\n\rParallel Write Debug OFF\n\r" );
klauss 72:895ca792c647 1260 if( from_eth ){
klauss 72:895ca792c647 1261 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rParallel Write Debug OFF\n\r" );
klauss 72:895ca792c647 1262 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 72:895ca792c647 1263 }
klauss 72:895ca792c647 1264 dparallel = false;
klauss 72:895ca792c647 1265 }
klauss 72:895ca792c647 1266 }
klauss 72:895ca792c647 1267
klauss 78:1353744f01e1 1268 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dtelos ", 7 ) ){
klauss 78:1353744f01e1 1269 if (xmemmatch( (uint8_t*)( debug_buf + 7 ), (uint8_t*) "on", 2 ) ){
klauss 53:bb492a8f115a 1270 miss_match = false;
klauss 53:bb492a8f115a 1271 pc.printf( "\n\rTelemetry Debug ON\n\r" );
klauss 53:bb492a8f115a 1272 if( from_eth ){
klauss 78:1353744f01e1 1273 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\rTelemetry Debug On\n\r" );
klauss 53:bb492a8f115a 1274 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 53:bb492a8f115a 1275 }
klauss 53:bb492a8f115a 1276 debug_telemetry = true;
klauss 53:bb492a8f115a 1277 }
klauss 78:1353744f01e1 1278 if (xmemmatch( (uint8_t*)(debug_buf + 7 ), (uint8_t*) "off", 3 )) {
klauss 53:bb492a8f115a 1279 miss_match = false;
klauss 78:1353744f01e1 1280 pc.printf( "\n\rTelemetry Debug OFF\n\r" );
klauss 53:bb492a8f115a 1281 if( from_eth ){
klauss 78:1353744f01e1 1282 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\rTelemetry Debug Off\n\r" );
klauss 53:bb492a8f115a 1283 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 53:bb492a8f115a 1284 }
klauss 53:bb492a8f115a 1285 debug_telemetry = false;
klauss 53:bb492a8f115a 1286 }
klauss 53:bb492a8f115a 1287 }
klauss 53:bb492a8f115a 1288
klauss 78:1353744f01e1 1289 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dcks ", 5 )) {
klauss 50:d9b6577a70f5 1290 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 1291 miss_match = false;
klauss 45:c80574f24dc3 1292 pc.printf( "\n\rCKS Debug ON\n\r" );
klauss 45:c80574f24dc3 1293 if( from_eth ){
klauss 45:c80574f24dc3 1294 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS Debug On\n\r" );
klauss 45:c80574f24dc3 1295 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1296 }
klauss 78:1353744f01e1 1297 debug_cks = true;
klauss 45:c80574f24dc3 1298 }
klauss 50:d9b6577a70f5 1299 if (xmemmatch( (uint8_t*)(debug_buf + 5 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 1300 miss_match = false;
klauss 45:c80574f24dc3 1301 pc.printf( "\n\rCKS Debug OFF\n\r" );
klauss 45:c80574f24dc3 1302 if( from_eth ){
klauss 45:c80574f24dc3 1303 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS Debug Off\n\r" );
klauss 45:c80574f24dc3 1304 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1305 }
klauss 78:1353744f01e1 1306 debug_cks = false;
klauss 45:c80574f24dc3 1307 }
klauss 45:c80574f24dc3 1308 }
klauss 45:c80574f24dc3 1309
klauss 78:1353744f01e1 1310 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "promptcb ", 9 )) {
klauss 78:1353744f01e1 1311 miss_match = false;
klauss 78:1353744f01e1 1312 //static uint8_t id_msg = 0x10;
klauss 78:1353744f01e1 1313 uint8_t write_buffer[ 300 ];
klauss 78:1353744f01e1 1314 int ext,port;
klauss 78:1353744f01e1 1315 char *split, *ref, *cmd;
klauss 78:1353744f01e1 1316
klauss 78:1353744f01e1 1317 ref = debug_buf;
klauss 78:1353744f01e1 1318
klauss 78:1353744f01e1 1319 strcat( debug_buf, "\r" );
klauss 78:1353744f01e1 1320
klauss 78:1353744f01e1 1321 split = strtok( debug_buf + 9, " " );
klauss 78:1353744f01e1 1322 ext = atoi( split );
klauss 78:1353744f01e1 1323 split = strtok( NULL, " " );
klauss 78:1353744f01e1 1324 port = atoi( split );
klauss 78:1353744f01e1 1325 split += strlen( split ) + 1;
klauss 78:1353744f01e1 1326 cmd = split;
klauss 78:1353744f01e1 1327
klauss 78:1353744f01e1 1328 promptcb_last_ext = ext;
klauss 78:1353744f01e1 1329 promptcb_last_port = port;
klauss 78:1353744f01e1 1330
klauss 78:1353744f01e1 1331 strcpy( promptcb_last_cmd, cmd );
klauss 78:1353744f01e1 1332 strcat( cmd, "\r\r\r\n" );
klauss 78:1353744f01e1 1333
klauss 78:1353744f01e1 1334 pc.printf("\r\next=%d port=%d cmd=%s", ext, port, cmd );
klauss 78:1353744f01e1 1335 send2callboxes( __build_cb_package__( ext, port, __PROMPT__, cmd, id_msg++, __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 78:1353744f01e1 1336 pc.printf("\n\rComando enviado");
klauss 78:1353744f01e1 1337
klauss 78:1353744f01e1 1338 if( from_eth ){
klauss 78:1353744f01e1 1339 char eth_msg[ 512 ];
klauss 78:1353744f01e1 1340 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d cmd=%s\r\nComando enviado\n\r", ext, port, cmd );
klauss 78:1353744f01e1 1341 if( tcp_session ){
klauss 78:1353744f01e1 1342 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 78:1353744f01e1 1343 }else if( udp_request ){
klauss 78:1353744f01e1 1344 udp_server.sendTo( udp_client, eth_msg, strlen( eth_msg ) );
klauss 78:1353744f01e1 1345 }
klauss 78:1353744f01e1 1346 }
klauss 78:1353744f01e1 1347
klauss 78:1353744f01e1 1348 debug_buf = ref;
klauss 78:1353744f01e1 1349 bufptr = 0;
klauss 78:1353744f01e1 1350 for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 78:1353744f01e1 1351 }
klauss 78:1353744f01e1 1352
klauss 45:c80574f24dc3 1353 //promptcb ramal porta comando
klauss 50:d9b6577a70f5 1354 //FIXME colocar a parte eth de novo
klauss 59:e1e300880d2d 1355 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "pcb ", 4 )) {
klauss 45:c80574f24dc3 1356 miss_match = false;
klauss 48:195c97f12e8e 1357 int ext,port;
klauss 54:448d57291be6 1358 char *split, *ref, *cmd;
klauss 48:195c97f12e8e 1359
klauss 62:07e5bdc9f8f7 1360 ref = debug_buf;
klauss 59:e1e300880d2d 1361
klauss 74:81c47fff88a5 1362 strcat( debug_buf, "\r" );
klauss 48:195c97f12e8e 1363
klauss 48:195c97f12e8e 1364 split = strtok( debug_buf + 4, " " );
klauss 48:195c97f12e8e 1365 ext = atoi( split );
klauss 50:d9b6577a70f5 1366
klauss 50:d9b6577a70f5 1367 port = convert_ext_to_port( ext );
klauss 48:195c97f12e8e 1368 split += strlen( split ) + 1;
klauss 54:448d57291be6 1369 cmd = split;
klauss 48:195c97f12e8e 1370
klauss 48:195c97f12e8e 1371 promptcb_last_ext = ext;
klauss 48:195c97f12e8e 1372 promptcb_last_port = port;
klauss 62:07e5bdc9f8f7 1373
klauss 55:2f5e7374af9d 1374 strcpy( promptcb_last_cmd, cmd );
klauss 78:1353744f01e1 1375 strcat( cmd, "\r\r\r\n" );
klauss 78:1353744f01e1 1376
klauss 78:1353744f01e1 1377 //send_msg( "Tamanho do cmd == %d", strlen( cmd ) );
klauss 48:195c97f12e8e 1378
klauss 78:1353744f01e1 1379 //for( register uint16_t i = strlen( cmd ); i < __CB_BUFFER_SIZE__; i++ ) cmd[ i ] = 0;
klauss 78:1353744f01e1 1380
klauss 78:1353744f01e1 1381 pc.printf("\r\next=%d port=%d cmd=%s", ext, port, cmd );
klauss 74:81c47fff88a5 1382 send2callboxes( __build_cb_package__( ext, port, __PROMPT__, cmd, id_msg++, __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 78:1353744f01e1 1383 pc.printf("\n\rComando enviado");
klauss 48:195c97f12e8e 1384
klauss 54:448d57291be6 1385 if( from_eth ){
klauss 62:07e5bdc9f8f7 1386 char eth_msg[ 512 ];
klauss 78:1353744f01e1 1387 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d cmd=%s\r\nComando enviado\n\r", ext, port, cmd );
klauss 62:07e5bdc9f8f7 1388 if( tcp_session ){
klauss 62:07e5bdc9f8f7 1389 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 62:07e5bdc9f8f7 1390 }else if( udp_request ){
klauss 62:07e5bdc9f8f7 1391 udp_server.sendTo( udp_client, eth_msg, strlen( eth_msg ) );
klauss 62:07e5bdc9f8f7 1392 }
klauss 54:448d57291be6 1393 }
klauss 54:448d57291be6 1394
klauss 48:195c97f12e8e 1395 debug_buf = ref;
klauss 67:cdedc64d9921 1396 //bufptr = 0;
klauss 67:cdedc64d9921 1397 //debug_buf[ 0 ] = 0;
klauss 62:07e5bdc9f8f7 1398 bufptr = 0;
klauss 67:cdedc64d9921 1399 for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 45:c80574f24dc3 1400 }
klauss 48:195c97f12e8e 1401
klauss 59:e1e300880d2d 1402 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "_pcb",4 )) {
klauss 45:c80574f24dc3 1403 miss_match = false;
klauss 48:195c97f12e8e 1404 debug_buf[ bufptr++ ] = 0x0D;
klauss 48:195c97f12e8e 1405 debug_buf[ bufptr++ ] = 0x00;
klauss 45:c80574f24dc3 1406
klauss 48:195c97f12e8e 1407 pc.printf("\r\next=%d port=%d\r\ncmd=%s\r\n",promptcb_last_ext, promptcb_last_port, debug_buf + 4 );
klauss 74:81c47fff88a5 1408 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 45:c80574f24dc3 1409 pc.printf("\n\rComando enviado\n\r");
klauss 45:c80574f24dc3 1410 }
klauss 62:07e5bdc9f8f7 1411
klauss 58:af7e8788f106 1412 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "cks",3 )) {
klauss 45:c80574f24dc3 1413 miss_match = false;
klauss 81:3656f00ab3db 1414 pcks_s = true;
klauss 45:c80574f24dc3 1415 }
klauss 45:c80574f24dc3 1416
klauss 58:af7e8788f106 1417 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "showcb",6 )) {
klauss 45:c80574f24dc3 1418 miss_match = false;
klauss 81:3656f00ab3db 1419 pshowcb = true;
klauss 45:c80574f24dc3 1420 }
klauss 45:c80574f24dc3 1421
klauss 58:af7e8788f106 1422 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_main ", 11 )) {
klauss 81:3656f00ab3db 1423 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "on", 2 )) {
klauss 45:c80574f24dc3 1424 miss_match = false;
klauss 45:c80574f24dc3 1425 pc.printf("\r\nDebug Main ON");
klauss 45:c80574f24dc3 1426 if( from_eth ){
klauss 45:c80574f24dc3 1427 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Main On\n\r" );
klauss 45:c80574f24dc3 1428 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1429 }
klauss 81:3656f00ab3db 1430 debug_main = true;
klauss 45:c80574f24dc3 1431 }
klauss 81:3656f00ab3db 1432 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off", 3 )) {
klauss 45:c80574f24dc3 1433 miss_match = false;
klauss 45:c80574f24dc3 1434 pc.printf("\r\nDebug Main OFF");
klauss 45:c80574f24dc3 1435 if( from_eth ){
klauss 45:c80574f24dc3 1436 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Main Off\n\r" );
klauss 45:c80574f24dc3 1437 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1438 }
klauss 45:c80574f24dc3 1439 debug_main = 0;
klauss 45:c80574f24dc3 1440 }
klauss 45:c80574f24dc3 1441 }
klauss 45:c80574f24dc3 1442
klauss 81:3656f00ab3db 1443 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dout ", 5 ) ){
klauss 81:3656f00ab3db 1444 if (xmemmatch( (uint8_t*)( debug_buf + 5 ), (uint8_t*) "on", 2 ) ){
klauss 81:3656f00ab3db 1445 miss_match = false;
klauss 81:3656f00ab3db 1446 pc.printf("\r\nOut Debug ON");
klauss 81:3656f00ab3db 1447 if( from_eth ){
klauss 81:3656f00ab3db 1448 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Out Debug On\n\r" );
klauss 81:3656f00ab3db 1449 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 81:3656f00ab3db 1450 }
klauss 81:3656f00ab3db 1451 debug_out_of_range = true;
klauss 81:3656f00ab3db 1452 }
klauss 81:3656f00ab3db 1453 if (xmemmatch( (uint8_t*)( debug_buf + 5 ), (uint8_t*) "off", 3 ) ){
klauss 81:3656f00ab3db 1454 miss_match = false;
klauss 81:3656f00ab3db 1455 pc.printf("\r\nOut Debug OFF");
klauss 81:3656f00ab3db 1456 if( from_eth ){
klauss 81:3656f00ab3db 1457 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Out Debug Off\n\r" );
klauss 81:3656f00ab3db 1458 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 81:3656f00ab3db 1459 }
klauss 81:3656f00ab3db 1460 debug_out_of_range = false;
klauss 81:3656f00ab3db 1461 }
klauss 81:3656f00ab3db 1462 }
klauss 81:3656f00ab3db 1463
klauss 58:af7e8788f106 1464 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_cb_rx ", 12 )) {
klauss 45:c80574f24dc3 1465 if (xmemmatch( (uint8_t*)( debug_buf + 12 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 1466 miss_match = false;
klauss 45:c80574f24dc3 1467 pc.printf("\tDebug Cbx Rx ON");
klauss 45:c80574f24dc3 1468 if( from_eth ){
klauss 45:c80574f24dc3 1469 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Cbx On Rx on\n\r" );
klauss 45:c80574f24dc3 1470 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1471 }
klauss 81:3656f00ab3db 1472 debug_cb_rx = true;
klauss 45:c80574f24dc3 1473 }
klauss 45:c80574f24dc3 1474 if (xmemmatch( (uint8_t*)( debug_buf + 12 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 1475 miss_match = false;
klauss 45:c80574f24dc3 1476 pc.printf("Debug Cbx Rx OFF");
klauss 45:c80574f24dc3 1477 if( from_eth ){
klauss 45:c80574f24dc3 1478 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Cbx Rx Off\n\r" );
klauss 45:c80574f24dc3 1479 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1480 }
klauss 45:c80574f24dc3 1481 debug_cb_rx = 0;
klauss 45:c80574f24dc3 1482 }
klauss 45:c80574f24dc3 1483 }
klauss 45:c80574f24dc3 1484
klauss 58:af7e8788f106 1485 else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_file ", 11 )) {
klauss 45:c80574f24dc3 1486 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 1487 miss_match = false;
klauss 45:c80574f24dc3 1488 pc.printf("\tDebug File ON");
klauss 45:c80574f24dc3 1489 if( from_eth ){
klauss 45:c80574f24dc3 1490 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug File On\n\r" );
klauss 45:c80574f24dc3 1491 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1492 }
klauss 81:3656f00ab3db 1493 debug_cb_rx = true;
klauss 45:c80574f24dc3 1494 }
klauss 45:c80574f24dc3 1495 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 1496 miss_match = false;
klauss 45:c80574f24dc3 1497 pc.printf("Debug File OFF");
klauss 45:c80574f24dc3 1498 if( from_eth ){
klauss 45:c80574f24dc3 1499 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug File Off\n\r" );
klauss 45:c80574f24dc3 1500 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1501 }
klauss 45:c80574f24dc3 1502 debug_cb_rx = 0;
klauss 45:c80574f24dc3 1503 }
klauss 45:c80574f24dc3 1504 }
klauss 45:c80574f24dc3 1505
klauss 58:af7e8788f106 1506 else if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "help" )) {
klauss 45:c80574f24dc3 1507 miss_match = false;
klauss 45:c80574f24dc3 1508 pc.printf("\n\r****************************PROMPT HELP******************\n\r");
klauss 45:c80574f24dc3 1509 if( from_eth ){
klauss 45:c80574f24dc3 1510 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "\n\r****************************PROMPT HELP******************\n\r" );
klauss 78:1353744f01e1 1511 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1512
klauss 45:c80574f24dc3 1513 else if( udp_request ){
klauss 78:1353744f01e1 1514 while( !( udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1515 }
klauss 44:cc4996469404 1516 }
klauss 52:12930cef17c4 1517
klauss 45:c80574f24dc3 1518 pc.printf("ifconfig - mostra o arquivo de configuracao do sistema\n\r");
klauss 45:c80574f24dc3 1519 if( from_eth ){
klauss 45:c80574f24dc3 1520 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ifconfig - mostra o arquivo de configuracao do sistema\n\r" );
klauss 78:1353744f01e1 1521 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1522
klauss 45:c80574f24dc3 1523 else if( udp_request ){
klauss 45:c80574f24dc3 1524 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1525 }
klauss 45:c80574f24dc3 1526 }
klauss 45:c80574f24dc3 1527 pc.printf("dconfig - volta as configuracoes do sistema para o padrao de fabrica\n\r");
klauss 45:c80574f24dc3 1528 if( from_eth ){
klauss 45:c80574f24dc3 1529 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "dconfig - volta as configuracoes do sistema para o padrao de fabrica\n\r" );
klauss 78:1353744f01e1 1530 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1531
klauss 45:c80574f24dc3 1532 else if( udp_request ){
klauss 45:c80574f24dc3 1533 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1534 }
klauss 45:c80574f24dc3 1535 }
klauss 45:c80574f24dc3 1536 pc.printf("callme [ramal porta] - envia o pedido de ligacao para o callbox com o ramal e porta indicada\n\r");
klauss 45:c80574f24dc3 1537 if( from_eth ){
klauss 45:c80574f24dc3 1538 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 78:1353744f01e1 1539 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1540
klauss 45:c80574f24dc3 1541 else if( udp_request ){
klauss 45:c80574f24dc3 1542 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1543 }
klauss 45:c80574f24dc3 1544 }
klauss 48:195c97f12e8e 1545 pc.printf("pcb porta comando - envia o <comando> para o cbx <ramal> e <porta> executar\n\r");
klauss 45:c80574f24dc3 1546 if( from_eth ){
klauss 45:c80574f24dc3 1547 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "promptcb ramal porta comando - envia o <comando> para o cbx <ramal> e <porta> executar\n\r" );
klauss 78:1353744f01e1 1548 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1549
klauss 45:c80574f24dc3 1550 else if( udp_request ){
klauss 45:c80574f24dc3 1551 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1552 }
klauss 45:c80574f24dc3 1553 }
klauss 45:c80574f24dc3 1554 pc.printf("format - formata o sistema de arquivos\n\r");
klauss 62:07e5bdc9f8f7 1555 //desabilitado via eth
klauss 62:07e5bdc9f8f7 1556 /*
klauss 45:c80574f24dc3 1557 if( from_eth ){
klauss 45:c80574f24dc3 1558 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "format - formata o sistema de arquivos\n\r" );
klauss 45:c80574f24dc3 1559 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1560
klauss 45:c80574f24dc3 1561 else if( udp_request ){
klauss 45:c80574f24dc3 1562 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1563 }
klauss 45:c80574f24dc3 1564 }
klauss 62:07e5bdc9f8f7 1565 */
klauss 45:c80574f24dc3 1566 pc.printf("reset - resta o sistema\n\r");
klauss 45:c80574f24dc3 1567 if( from_eth ){
klauss 45:c80574f24dc3 1568 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "reset - resta o sistema\n\r" );
klauss 78:1353744f01e1 1569 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1570
klauss 45:c80574f24dc3 1571 else if( udp_request ){
klauss 45:c80574f24dc3 1572 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1573 }
klauss 45:c80574f24dc3 1574 }
klauss 45:c80574f24dc3 1575 pc.printf("ipset [ip] - Configura o IP da cabeceira\n\r");
klauss 45:c80574f24dc3 1576 if( from_eth ){
klauss 45:c80574f24dc3 1577 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ipset [ip] - Configura o IP da cabeceira\n\r" );
klauss 78:1353744f01e1 1578 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1579
klauss 45:c80574f24dc3 1580 else if( udp_request ){
klauss 45:c80574f24dc3 1581 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1582 }
klauss 45:c80574f24dc3 1583 }
klauss 45:c80574f24dc3 1584 pc.printf("extset [ext] - Configura a ext da cabeceira\n\r");
klauss 45:c80574f24dc3 1585 if( from_eth ){
klauss 45:c80574f24dc3 1586 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "extset [ext] - Configura a ext da cabeceira\n\r" );
klauss 78:1353744f01e1 1587 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1588
klauss 45:c80574f24dc3 1589 else if( udp_request ){
klauss 45:c80574f24dc3 1590 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1591 }
klauss 45:c80574f24dc3 1592 }
klauss 45:c80574f24dc3 1593 pc.printf("msipport [port] - Configura a porta SIP da cabeceira\n\r");
klauss 45:c80574f24dc3 1594 if( from_eth ){
klauss 45:c80574f24dc3 1595 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "msipport [port] - Configura a porta SIP da cabeceira\n\r" );
klauss 78:1353744f01e1 1596 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1597
klauss 45:c80574f24dc3 1598 else if( udp_request ){
klauss 45:c80574f24dc3 1599 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1600 }
klauss 45:c80574f24dc3 1601 }
klauss 45:c80574f24dc3 1602 pc.printf("serverip [ip] - Configura o ip do servidor asterisk\n\r");
klauss 45:c80574f24dc3 1603 if( from_eth ){
klauss 45:c80574f24dc3 1604 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "serverip [ip] - Configura o ip do servidor asterisk\n\r" );
klauss 78:1353744f01e1 1605 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1606
klauss 45:c80574f24dc3 1607 else if( udp_request ){
klauss 45:c80574f24dc3 1608 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1609 }
klauss 45:c80574f24dc3 1610 }
klauss 45:c80574f24dc3 1611 pc.printf("serextset [ext] - Configura a server ext da cabeceira\n\r");
klauss 45:c80574f24dc3 1612 if( from_eth ){
klauss 45:c80574f24dc3 1613 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "serextset [ext] - Configura a server ext da cabeceira\n\r" );
klauss 78:1353744f01e1 1614 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1615
klauss 45:c80574f24dc3 1616 else if( udp_request ){
klauss 45:c80574f24dc3 1617 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1618 }
klauss 45:c80574f24dc3 1619 }
klauss 45:c80574f24dc3 1620 pc.printf("ssport [port] - Configura a porta SIP do servidor asterisk\n\r");
klauss 45:c80574f24dc3 1621 if( from_eth ){
klauss 45:c80574f24dc3 1622 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ssport [port] - Configura a porta SIP do servidor asterisk\n\r" );
klauss 78:1353744f01e1 1623 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1624
klauss 45:c80574f24dc3 1625 else if( udp_request ){
klauss 45:c80574f24dc3 1626 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1627 }
klauss 45:c80574f24dc3 1628 }
klauss 45:c80574f24dc3 1629 pc.printf("maskset [mask] - Configura a mascara da cabeceira\n\r");
klauss 45:c80574f24dc3 1630 if( from_eth ){
klauss 45:c80574f24dc3 1631 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "maskset [mask] - Configura a mascara da cabeceira\n\r" );
klauss 78:1353744f01e1 1632 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1633
klauss 45:c80574f24dc3 1634 else if( udp_request ){
klauss 45:c80574f24dc3 1635 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1636 }
klauss 45:c80574f24dc3 1637 }
klauss 45:c80574f24dc3 1638 pc.printf("gatewayset [gateway] - Configura o gateway da cabeceira\n\r");
klauss 45:c80574f24dc3 1639 if( from_eth ){
klauss 45:c80574f24dc3 1640 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "gatewayset [gateway] - Configura o gateway da cabeceira\n\r" );
klauss 78:1353744f01e1 1641 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1642
klauss 45:c80574f24dc3 1643 else if( udp_request ){
klauss 45:c80574f24dc3 1644 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1645 }
klauss 45:c80574f24dc3 1646 }
klauss 56:c64bcbaa621a 1647 pc.printf("telemetry_ip - Configura o IP do servidor de telemetria\n\r");
klauss 56:c64bcbaa621a 1648 if( from_eth ){
klauss 56:c64bcbaa621a 1649 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "telemetry_ip - Configura o IP do servidor de telemetria\n\r" );
klauss 78:1353744f01e1 1650 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 56:c64bcbaa621a 1651
klauss 56:c64bcbaa621a 1652 else if( udp_request ){
klauss 56:c64bcbaa621a 1653 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 56:c64bcbaa621a 1654 }
klauss 56:c64bcbaa621a 1655 }
klauss 62:07e5bdc9f8f7 1656 pc.printf("telemetry_port - Configura a port do servidor de telemetria\n\r");
klauss 56:c64bcbaa621a 1657 if( from_eth ){
klauss 62:07e5bdc9f8f7 1658 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "telemetry_port - Configura a port do servidor de telemetria\n\r" );
klauss 78:1353744f01e1 1659 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 56:c64bcbaa621a 1660
klauss 56:c64bcbaa621a 1661 else if( udp_request ){
klauss 56:c64bcbaa621a 1662 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 56:c64bcbaa621a 1663 }
klauss 56:c64bcbaa621a 1664 }
klauss 56:c64bcbaa621a 1665
klauss 81:3656f00ab3db 1666 pc.printf("maxext - Configura o maior ramal possivel de ser registrado nesse ramo\n\r");
klauss 81:3656f00ab3db 1667 if( from_eth ){
klauss 81:3656f00ab3db 1668 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "maxext - Configura o maior ramal possivel de ser registrado nesse ramo\n\r" );
klauss 81:3656f00ab3db 1669 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 81:3656f00ab3db 1670
klauss 81:3656f00ab3db 1671 else if( udp_request ){
klauss 81:3656f00ab3db 1672 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 81:3656f00ab3db 1673 }
klauss 81:3656f00ab3db 1674 }
klauss 81:3656f00ab3db 1675
klauss 81:3656f00ab3db 1676 pc.printf("minext - Configura o menor ramal possivel de ser registrado nesse ramo\n\r");
klauss 81:3656f00ab3db 1677 if( from_eth ){
klauss 81:3656f00ab3db 1678 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "minext - Configura o menor ramal possivel de ser registrado nesse ramo\n\r" );
klauss 81:3656f00ab3db 1679 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 81:3656f00ab3db 1680
klauss 81:3656f00ab3db 1681 else if( udp_request ){
klauss 81:3656f00ab3db 1682 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 81:3656f00ab3db 1683 }
klauss 81:3656f00ab3db 1684 }
klauss 81:3656f00ab3db 1685
klauss 45:c80574f24dc3 1686 pc.printf("showcb - lista os Cbx registrados na header\n\r");
klauss 45:c80574f24dc3 1687 if( from_eth ){
klauss 45:c80574f24dc3 1688 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "showcb - lista os Cbx registrados na header\n\r" );
klauss 78:1353744f01e1 1689 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1690
klauss 45:c80574f24dc3 1691 else if( udp_request ){
klauss 45:c80574f24dc3 1692 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1693 }
klauss 45:c80574f24dc3 1694 }
klauss 63:0d95da692bb4 1695 /*
klauss 48:195c97f12e8e 1696 pc.printf("status - lista resumida de cbx registrados na header\n\r");
klauss 48:195c97f12e8e 1697 if( from_eth ){
klauss 48:195c97f12e8e 1698 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "showcb - lista resumida de cbx registrados na header\n\r" );
klauss 48:195c97f12e8e 1699 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 48:195c97f12e8e 1700
klauss 48:195c97f12e8e 1701 else if( udp_request ){
klauss 48:195c97f12e8e 1702 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 48:195c97f12e8e 1703 }
klauss 48:195c97f12e8e 1704 }
klauss 63:0d95da692bb4 1705 */
klauss 45:c80574f24dc3 1706 pc.printf("cks - exibe estatisticas de check sum\n\r");
klauss 45:c80574f24dc3 1707 if( from_eth ){
klauss 45:c80574f24dc3 1708 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "cks - exibe estatisticas de check sum\n\r" );
klauss 78:1353744f01e1 1709 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1710
klauss 45:c80574f24dc3 1711 else if( udp_request ){
klauss 45:c80574f24dc3 1712 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1713 }
klauss 45:c80574f24dc3 1714 }
klauss 52:12930cef17c4 1715 pc.printf("reset_cks - reseta estatisticas de check sum\n\r");
klauss 52:12930cef17c4 1716 if( from_eth ){
klauss 52:12930cef17c4 1717 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "reset_cks - reseta estatisticas de check sum\n\r" );
klauss 78:1353744f01e1 1718 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 52:12930cef17c4 1719
klauss 52:12930cef17c4 1720 else if( udp_request ){
klauss 52:12930cef17c4 1721 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 52:12930cef17c4 1722 }
klauss 52:12930cef17c4 1723 }
klauss 52:12930cef17c4 1724
klauss 45:c80574f24dc3 1725 pc.printf(". - executa o comando anterior novamente\n\r");
klauss 45:c80574f24dc3 1726 if( from_eth ){
klauss 45:c80574f24dc3 1727 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, ". - executa o comando anterior novamente\n\r" );
klauss 78:1353744f01e1 1728 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1729
klauss 45:c80574f24dc3 1730 else if( udp_request ){
klauss 45:c80574f24dc3 1731 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1732 }
klauss 45:c80574f24dc3 1733 }
klauss 45:c80574f24dc3 1734 pc.printf("debug [on|off|show] - seleciona debugs gerais | lista de debugs \n\r");
klauss 45:c80574f24dc3 1735 if( from_eth ){
klauss 45:c80574f24dc3 1736 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "debug [on|off|show] - seleciona debugs gerais | lista de debugs \n\r" );
klauss 78:1353744f01e1 1737 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1738
klauss 45:c80574f24dc3 1739 else if( udp_request ){
klauss 45:c80574f24dc3 1740 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1741 }
klauss 45:c80574f24dc3 1742 }
klauss 62:07e5bdc9f8f7 1743 pc.printf("{ flood [ on | off ] | [+|-] } - simula envio de pacotes de audio\n\r");
klauss 45:c80574f24dc3 1744 if( from_eth ){
klauss 62:07e5bdc9f8f7 1745 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "{ flood [ on | off ] | [+|-] } - simula envio de pacotes de audio\n\r");
klauss 78:1353744f01e1 1746 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 62:07e5bdc9f8f7 1747
klauss 62:07e5bdc9f8f7 1748 else if( udp_request ){
klauss 62:07e5bdc9f8f7 1749 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 62:07e5bdc9f8f7 1750 }
klauss 62:07e5bdc9f8f7 1751 }
klauss 65:0b653cfe95db 1752
klauss 65:0b653cfe95db 1753 pc.printf("silence <start_ext end_ext> - envia comando de flood off para os ramais no intervalo end_ext - start_ext\n\r");
klauss 65:0b653cfe95db 1754 if( from_eth ){
klauss 65:0b653cfe95db 1755 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 78:1353744f01e1 1756 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 65:0b653cfe95db 1757
klauss 65:0b653cfe95db 1758 else if( udp_request ){
klauss 65:0b653cfe95db 1759 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 65:0b653cfe95db 1760 }
klauss 65:0b653cfe95db 1761 }
klauss 65:0b653cfe95db 1762
klauss 62:07e5bdc9f8f7 1763 pc.printf("++ ext - Header flood on, ext flood on\n\r");
klauss 62:07e5bdc9f8f7 1764 if( from_eth ){
klauss 62:07e5bdc9f8f7 1765 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "++ ext - Header flood on, ext flood on\n\r");
klauss 78:1353744f01e1 1766 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 45:c80574f24dc3 1767
klauss 45:c80574f24dc3 1768 else if( udp_request ){
klauss 45:c80574f24dc3 1769 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1770 }
klauss 45:c80574f24dc3 1771 }
klauss 66:3f1d22e69e7b 1772
klauss 66:3f1d22e69e7b 1773 pc.printf("-- ext - Header flood off, ext flood off\n\r");
klauss 66:3f1d22e69e7b 1774 if( from_eth ){
klauss 66:3f1d22e69e7b 1775 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "++ ext - Header flood on, ext flood on\n\r");
klauss 78:1353744f01e1 1776 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 66:3f1d22e69e7b 1777
klauss 66:3f1d22e69e7b 1778 else if( udp_request ){
klauss 66:3f1d22e69e7b 1779 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 66:3f1d22e69e7b 1780 }
klauss 66:3f1d22e69e7b 1781 }
klauss 66:3f1d22e69e7b 1782
klauss 64:5b011d5707d2 1783 pc.printf("rx - Exibe ultimo pacote recebido dos CBx\n\r");
klauss 64:5b011d5707d2 1784 if( from_eth ){
klauss 64:5b011d5707d2 1785 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "rx - Exibe ultimo pacote recebido dos CBx\n\r");
klauss 78:1353744f01e1 1786 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 64:5b011d5707d2 1787
klauss 64:5b011d5707d2 1788 else if( udp_request ){
klauss 64:5b011d5707d2 1789 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 64:5b011d5707d2 1790 }
klauss 64:5b011d5707d2 1791 }
klauss 64:5b011d5707d2 1792 pc.printf("tx - Exibe ultimo pacote enviado para os CBx\n\r");
klauss 64:5b011d5707d2 1793 if( from_eth ){
klauss 64:5b011d5707d2 1794 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "tx - Exibe ultimo pacote enviado para os CBx\n\r");
klauss 78:1353744f01e1 1795 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 64:5b011d5707d2 1796
klauss 64:5b011d5707d2 1797 else if( udp_request ){
klauss 64:5b011d5707d2 1798 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 64:5b011d5707d2 1799 }
klauss 64:5b011d5707d2 1800 }
klauss 64:5b011d5707d2 1801 pc.printf("ls | status - Exibe uma lista ordenada por ext do CBx registrados na Header\n\r");
klauss 64:5b011d5707d2 1802 if( from_eth ){
klauss 64:5b011d5707d2 1803 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ls | status - Exibe uma lista ordenada por ext do CBx registrados na Header\n\r");
klauss 78:1353744f01e1 1804 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 64:5b011d5707d2 1805
klauss 64:5b011d5707d2 1806 else if( udp_request ){
klauss 64:5b011d5707d2 1807 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 64:5b011d5707d2 1808 }
klauss 64:5b011d5707d2 1809 }
klauss 64:5b011d5707d2 1810 pc.printf("types - Lista os types usados no protocolo de comunicacao Header -- CBx\n\r");
klauss 64:5b011d5707d2 1811 if( from_eth ){
klauss 64:5b011d5707d2 1812 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "types - Lista os types usados no protocolo de comunicacao Header -- CBx\n\r");
klauss 78:1353744f01e1 1813 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 64:5b011d5707d2 1814
klauss 64:5b011d5707d2 1815 else if( udp_request ){
klauss 64:5b011d5707d2 1816 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 64:5b011d5707d2 1817 }
klauss 64:5b011d5707d2 1818 }
klauss 64:5b011d5707d2 1819 pc.printf("protocol - Exibe formato do pacote seguindo o protocolo de comunicacao Header -- CBx\n\r");
klauss 64:5b011d5707d2 1820 if( from_eth ){
klauss 64:5b011d5707d2 1821 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "protocol - Exibe formato do pacote seguindo o protocolo de comunicacao Header -- CBx\n\r");
klauss 78:1353744f01e1 1822 if( tcp_session ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) );
klauss 64:5b011d5707d2 1823
klauss 64:5b011d5707d2 1824 else if( udp_request ){
klauss 64:5b011d5707d2 1825 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 64:5b011d5707d2 1826 }
klauss 64:5b011d5707d2 1827 }
klauss 64:5b011d5707d2 1828
klauss 45:c80574f24dc3 1829 pc.printf("PROMPT VERSION: V%d\n\r",PVERSION);
klauss 45:c80574f24dc3 1830 //Obs :: a ultima linha nao mandamos direto pro tcp porque ela eh enviada fora desse escopo
klauss 45:c80574f24dc3 1831 if( from_eth ) snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "PROMPT VERSION: V%d\n\r",PVERSION);
klauss 27:98f824719d1c 1832 }
klauss 54:448d57291be6 1833
klauss 58:af7e8788f106 1834 else if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "callme ", 7 )){
klauss 54:448d57291be6 1835 miss_match = false;
klauss 54:448d57291be6 1836 int ext,port;
klauss 54:448d57291be6 1837 char cmd[ 16 ];
klauss 54:448d57291be6 1838
klauss 54:448d57291be6 1839 ext = atoi( debug_buf + 7 );
klauss 54:448d57291be6 1840 port = convert_ext_to_port( ext );
klauss 54:448d57291be6 1841
klauss 67:cdedc64d9921 1842 strcpy( cmd, ( ext % 2 ) ? "call init B" : "call init A" );
klauss 67:cdedc64d9921 1843
klauss 67:cdedc64d9921 1844 if( ext % 2 ) ext--;
klauss 54:448d57291be6 1845
klauss 54:448d57291be6 1846 promptcb_last_ext = ext;
klauss 54:448d57291be6 1847 promptcb_last_port = port;
klauss 54:448d57291be6 1848
klauss 62:07e5bdc9f8f7 1849 int tmp = strlen( cmd );
klauss 62:07e5bdc9f8f7 1850 cmd[ tmp ] = 0x0D;
klauss 62:07e5bdc9f8f7 1851 cmd[ tmp + 1 ] = 0x00;
klauss 62:07e5bdc9f8f7 1852 strcpy( promptcb_last_cmd, cmd );
klauss 62:07e5bdc9f8f7 1853
klauss 54:448d57291be6 1854 pc.printf("\r\next=%d port=%d\r\ncmd=%s\r\n", ext, port, cmd );
klauss 67:cdedc64d9921 1855
klauss 67:cdedc64d9921 1856 pc.printf("\n\r--------------------------------------------------------\n\r");
klauss 67:cdedc64d9921 1857 for( uint16_t i = 0; i < strlen( cmd ) ; i++ ) pc.printf( "%02x ", cmd[ i ] );
klauss 67:cdedc64d9921 1858
klauss 74:81c47fff88a5 1859 send2callboxes( __build_cb_package__( ext, port, __PROMPT__, cmd, id_msg++, __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 67:cdedc64d9921 1860 pc.printf("\n\r--------------------------------------------------------\n\r");
klauss 67:cdedc64d9921 1861 for( uint16_t i = 0; i < 300 ; i++ ){
klauss 67:cdedc64d9921 1862 pc.printf( "%02x ", write_buffer[ i ] );
klauss 67:cdedc64d9921 1863 if( i != 0 && !( ( i + 1 ) % 30 ) ) pc.printf("\n\r");
klauss 67:cdedc64d9921 1864 }
klauss 67:cdedc64d9921 1865
klauss 67:cdedc64d9921 1866
klauss 62:07e5bdc9f8f7 1867 pc.printf("\n\rComando enviado\n\r");
klauss 54:448d57291be6 1868
klauss 54:448d57291be6 1869 if( from_eth ){
klauss 62:07e5bdc9f8f7 1870 char eth_msg[ 512 ];
klauss 62:07e5bdc9f8f7 1871 snprintf( eth_msg, 512 - 1, "\r\next=%d port=%d\r\ncmd=%s\r\n\n\rComando enviado\n\r", ext, port, cmd );
klauss 62:07e5bdc9f8f7 1872 if( tcp_session ){
klauss 62:07e5bdc9f8f7 1873 tcp_client.send_all( eth_msg, strlen( eth_msg ) );
klauss 62:07e5bdc9f8f7 1874 }else if( udp_request ){
klauss 62:07e5bdc9f8f7 1875 udp_server.sendTo( udp_client, eth_msg, strlen( eth_msg ) );
klauss 62:07e5bdc9f8f7 1876 }
klauss 19:ab2088e0dec6 1877 }
klauss 54:448d57291be6 1878
klauss 54:448d57291be6 1879 bufptr = 0;
klauss 67:cdedc64d9921 1880 for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 45:c80574f24dc3 1881 }
klauss 45:c80574f24dc3 1882
klauss 45:c80574f24dc3 1883 if( miss_match ){
klauss 48:195c97f12e8e 1884 pc.printf("\n\r> %s: command not found\n\r", debug_buf );
klauss 45:c80574f24dc3 1885 if( from_eth ){
klauss 48:195c97f12e8e 1886 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "> %s: command not found\n ", debug_buf );
klauss 58:af7e8788f106 1887 //debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1888 }
klauss 45:c80574f24dc3 1889 }
klauss 45:c80574f24dc3 1890 else{
klauss 58:af7e8788f106 1891 if( from_eth && strlen( debug_buf ) > 2 ) strcpy( last_cmd, tmp_cmd );
klauss 58:af7e8788f106 1892
klauss 58:af7e8788f106 1893 else if( strlen( debug_buf ) > 2 ) strcpy( last_cmd, tmp_cmd );
klauss 45:c80574f24dc3 1894 }
klauss 48:195c97f12e8e 1895 }
klauss 45:c80574f24dc3 1896 if( b == 0x0D || bufret == 1 || bufptr > DEBUGBUFSIZE ){
klauss 45:c80574f24dc3 1897 bufret = 0;
klauss 57:78f7191a8b69 1898 if( from_eth ){
klauss 57:78f7191a8b69 1899 from_eth = false;
klauss 57:78f7191a8b69 1900
klauss 48:195c97f12e8e 1901 if( debug_buf[ strlen( debug_buf ) - 1 ] == '\r' || debug_buf[ strlen( debug_buf ) - 1 ] == '\n' ) strcat( debug_buf, "> " );
klauss 48:195c97f12e8e 1902
klauss 48:195c97f12e8e 1903 else strcat( debug_buf, "\n\r> " );
klauss 48:195c97f12e8e 1904
klauss 57:78f7191a8b69 1905 if( tcp_session ){
klauss 57:78f7191a8b69 1906
klauss 57:78f7191a8b69 1907 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 57:78f7191a8b69 1908
klauss 57:78f7191a8b69 1909 }else if( udp_request ){
klauss 48:195c97f12e8e 1910
klauss 57:78f7191a8b69 1911 int sent = udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 48:195c97f12e8e 1912
klauss 57:78f7191a8b69 1913 udp_request = false;
klauss 57:78f7191a8b69 1914 }
klauss 57:78f7191a8b69 1915 for( register uint16_t i = 0; i < __PROMPT_ETH_BUFFER_SIZE__; i++ ) eth_buffer[ i ] = 0;
klauss 57:78f7191a8b69 1916 debug_buf = __debug_buf__;
klauss 57:78f7191a8b69 1917 bufptr = last_bufptr;
klauss 45:c80574f24dc3 1918 }else{
klauss 42:480335bdde12 1919 bufptr = 0;
klauss 58:af7e8788f106 1920 for( uint8_t i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0;
klauss 45:c80574f24dc3 1921 }
klauss 45:c80574f24dc3 1922 pc.putc(0x0A);
klauss 45:c80574f24dc3 1923 pc.putc(0x0D);
klauss 45:c80574f24dc3 1924 pc.printf("> ");
klauss 45:c80574f24dc3 1925 }
klauss 36:728498a78e1e 1926 return( NULL );
klauss 54:448d57291be6 1927 }