Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Mon Oct 20 16:13:10 2014 +0000
Revision:
48:195c97f12e8e
Parent:
46:a670f187a704
Child:
50:d9b6577a70f5
versao em validacao

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 44:cc4996469404 1 #include "prompt.h"
Cola 24:270b436a1bb0 2
klauss 45:c80574f24dc3 3 TCPSocketServer tcp_server;
klauss 45:c80574f24dc3 4 TCPSocketConnection tcp_client;
klauss 41:69bf7091c2ca 5 Timer tcp_timer;
klauss 48:195c97f12e8e 6 Timer udp_timer;
klauss 45:c80574f24dc3 7
klauss 45:c80574f24dc3 8 UDPSocket udp_server;
klauss 45:c80574f24dc3 9 Endpoint udp_client;
klauss 41:69bf7091c2ca 10
klauss 28:94aec56c6329 11 uint8_t debug_alive = 0;
klauss 28:94aec56c6329 12 uint8_t debug_sip = 0;
klauss 29:7246460b73f8 13 uint8_t debug_vector = 0;
klauss 29:7246460b73f8 14 uint8_t debug_cb = 0;
klauss 30:8dfb6d8de53d 15 uint8_t debug_main = 0;
klauss 31:bb5fb28a77df 16 uint8_t debug_cks = 0;
Cola 22:d2a4b5939115 17 uint8_t pcks_s = 0;
Cola 24:270b436a1bb0 18 uint8_t pshowcb = 0;
klauss 31:bb5fb28a77df 19 uint8_t debug_cb_rx = 0;
klauss 31:bb5fb28a77df 20 uint8_t debug_cb_tx = 0;
klauss 31:bb5fb28a77df 21 uint8_t debug_eth_rx = 0;
klauss 31:bb5fb28a77df 22 uint8_t debug_eth_tx = 0;
klauss 43:455522f98de5 23 uint8_t debug_prompt_eth = 0;
klauss 31:bb5fb28a77df 24 uint8_t debug_file = 0;
klauss 38:af5ecd6997ab 25 bool from_eth = false;
klauss 42:480335bdde12 26 bool udp_request = false;
klauss 42:480335bdde12 27 bool tcp_session = false;
klauss 48:195c97f12e8e 28 bool cb_session = false;
klauss 48:195c97f12e8e 29 bool cb_status = false;
klauss 28:94aec56c6329 30
klauss 29:7246460b73f8 31 uint8_t test_debug = 1;
klauss 45:c80574f24dc3 32 #define PVERSION 4 // Sempre atualizar a versao do prompt
klauss 19:ab2088e0dec6 33
Cola 21:0bd688722e81 34 #define DEBUGBUFSIZE 50
klauss 35:96885a7931f0 35 char __debug_buf__[DEBUGBUFSIZE];
klauss 35:96885a7931f0 36 char * debug_buf = __debug_buf__;
klauss 30:8dfb6d8de53d 37 char last_debug_buf[ DEBUGBUFSIZE ] = "help";
klauss 45:c80574f24dc3 38 FILE *fip, *fmask, *fgate, *fport, *fsip, *fsport, *fext, *fserext, *fudpport, *ftcpport;
klauss 19:ab2088e0dec6 39 uint8_t debug_prompt = 0;
klauss 19:ab2088e0dec6 40 uint8_t bufptr = 0;
klauss 35:96885a7931f0 41 uint8_t last_bufptr = 0;
klauss 19:ab2088e0dec6 42
klauss 19:ab2088e0dec6 43 uint8_t xmemmatch(const uint8_t * s1, const uint8_t * s2, uint16_t size) { // presente da lib.h pode retirar da versao final
klauss 19:ab2088e0dec6 44 while (size--) {
klauss 19:ab2088e0dec6 45 if (*s1++ != *s2++) return 0; /* does not match */
klauss 19:ab2088e0dec6 46 }
klauss 19:ab2088e0dec6 47 return 1; /* matches */
klauss 19:ab2088e0dec6 48 }
klauss 19:ab2088e0dec6 49
klauss 19:ab2088e0dec6 50 uint8_t xstrmatch(const uint8_t * s1, const uint8_t * s2) { // presente na lib.h pode retirar da versao final
klauss 19:ab2088e0dec6 51 while (*s1) {
klauss 19:ab2088e0dec6 52 if (*s1++ != *s2++) return 0; /* does not match */
klauss 19:ab2088e0dec6 53 }
klauss 19:ab2088e0dec6 54 if ( *s2 == 0 )
klauss 19:ab2088e0dec6 55 return 1; /* matches */
klauss 19:ab2088e0dec6 56 else
klauss 19:ab2088e0dec6 57 return 0; /* does not match */
klauss 19:ab2088e0dec6 58 }
klauss 19:ab2088e0dec6 59
klauss 19:ab2088e0dec6 60 void xmemcpy(uint8_t * dest, const uint8_t * src, uint16_t size) { // presente na lib.h pode retirar da versao final
klauss 19:ab2088e0dec6 61 while (size--) *dest++ = *src++;
klauss 19:ab2088e0dec6 62 }
klauss 19:ab2088e0dec6 63
klauss 48:195c97f12e8e 64 int str2uint ( char * s, unsigned int * val ){
Cola 21:0bd688722e81 65 int i = 0;
Cola 21:0bd688722e81 66 unsigned int ret = 0;
Cola 21:0bd688722e81 67 for (;;) {
Cola 21:0bd688722e81 68 if (s[i] < '0') {
Cola 21:0bd688722e81 69 *val = ret;
Cola 21:0bd688722e81 70 return i;
Cola 21:0bd688722e81 71 }
Cola 21:0bd688722e81 72 ret *= 10;
Cola 21:0bd688722e81 73 ret += s[i] - '0';
Cola 21:0bd688722e81 74 i++;
Cola 21:0bd688722e81 75 }
Cola 21:0bd688722e81 76 }
klauss 19:ab2088e0dec6 77
klauss 38:af5ecd6997ab 78 // Print the content of a given file
klauss 38:af5ecd6997ab 79 void cat(const char* fname){
klauss 19:ab2088e0dec6 80 char buff[513];
klauss 19:ab2088e0dec6 81 int num;
klauss 19:ab2088e0dec6 82
klauss 19:ab2088e0dec6 83 FILE *fp = fopen(fname, "r");
klauss 19:ab2088e0dec6 84 if (fp == NULL) {
klauss 42:480335bdde12 85 if( debug_file ) pc.printf( "Failed to open %s", fname);
klauss 19:ab2088e0dec6 86 return;
klauss 19:ab2088e0dec6 87 }
klauss 19:ab2088e0dec6 88
klauss 42:480335bdde12 89 while( ( num = fread( buff, 1, 512, fp ) ) > 0 ){
klauss 42:480335bdde12 90 buff[ num ] = '\0';
klauss 42:480335bdde12 91 pc.printf( buff );
klauss 42:480335bdde12 92 if( from_eth ){
klauss 45:c80574f24dc3 93 if( tcp_session ) tcp_client.send_all( buff, strlen( buff ) );
klauss 45:c80574f24dc3 94
klauss 45:c80574f24dc3 95 else if( udp_request ){
klauss 45:c80574f24dc3 96 udp_server.sendTo( udp_client, buff, strlen( buff ) );
klauss 45:c80574f24dc3 97 }
klauss 42:480335bdde12 98 }
klauss 19:ab2088e0dec6 99 }
klauss 19:ab2088e0dec6 100 fclose(fp);
klauss 19:ab2088e0dec6 101 }
klauss 19:ab2088e0dec6 102
klauss 28:94aec56c6329 103 // operantion with the system config files
klauss 42:480335bdde12 104 void files( const char type ){
klauss 42:480335bdde12 105 // show files
klauss 42:480335bdde12 106 if (type == 's' ){
klauss 42:480335bdde12 107 pc.printf("\n\rHeader IP " );
klauss 42:480335bdde12 108 if( from_eth ){
klauss 42:480335bdde12 109 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rHeader IP " );
klauss 45:c80574f24dc3 110 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 111
klauss 45:c80574f24dc3 112 else if( udp_request ){
klauss 45:c80574f24dc3 113 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 114 }
klauss 42:480335bdde12 115 }
klauss 19:ab2088e0dec6 116 cat("/qspi/myip.txt");
klauss 42:480335bdde12 117
klauss 28:94aec56c6329 118 pc.printf("\n\rHeader ext ");
klauss 42:480335bdde12 119 if( from_eth ){
klauss 42:480335bdde12 120 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rHeader ext " );
klauss 45:c80574f24dc3 121 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 122
klauss 45:c80574f24dc3 123 else if( udp_request ){
klauss 45:c80574f24dc3 124 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 125 }
klauss 42:480335bdde12 126 }
klauss 28:94aec56c6329 127 cat("/qspi/myext.txt");
klauss 42:480335bdde12 128
klauss 28:94aec56c6329 129 pc.printf("\n\rHeader port ");
klauss 42:480335bdde12 130 if( from_eth ){
klauss 42:480335bdde12 131 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rHeader port " );
klauss 45:c80574f24dc3 132 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 133
klauss 45:c80574f24dc3 134 else if( udp_request ){
klauss 45:c80574f24dc3 135 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 136 }
klauss 42:480335bdde12 137 }
klauss 28:94aec56c6329 138 cat("/qspi/mysipport.txt");
klauss 28:94aec56c6329 139
klauss 42:480335bdde12 140 pc.printf("\n\rServer IP ");
klauss 42:480335bdde12 141 if( from_eth ){
klauss 42:480335bdde12 142 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rServer IP " );
klauss 45:c80574f24dc3 143 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 144
klauss 45:c80574f24dc3 145 else if( udp_request ){
klauss 45:c80574f24dc3 146 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 147 }
klauss 42:480335bdde12 148 }
klauss 28:94aec56c6329 149 cat("/qspi/serverip.txt");
klauss 42:480335bdde12 150
klauss 28:94aec56c6329 151 pc.printf("\n\rServer ext ");
klauss 42:480335bdde12 152 if( from_eth ){
klauss 42:480335bdde12 153 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rServer ext " );
klauss 45:c80574f24dc3 154 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 155
klauss 45:c80574f24dc3 156 else if( udp_request ){
klauss 45:c80574f24dc3 157 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 158 }
klauss 42:480335bdde12 159 }
klauss 28:94aec56c6329 160 cat("/qspi/peerext.txt");
klauss 42:480335bdde12 161
klauss 28:94aec56c6329 162 pc.printf("\n\rServer port ");
klauss 42:480335bdde12 163 if( from_eth ){
klauss 42:480335bdde12 164 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rServer port " );
klauss 45:c80574f24dc3 165 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 166
klauss 45:c80574f24dc3 167 else if( udp_request ){
klauss 45:c80574f24dc3 168 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 169 }
klauss 42:480335bdde12 170 }
klauss 28:94aec56c6329 171 cat("/qspi/serverport.txt");
klauss 28:94aec56c6329 172
klauss 28:94aec56c6329 173 pc.printf("\n\rMascara de rede ");
klauss 42:480335bdde12 174 if( from_eth ){
klauss 42:480335bdde12 175 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rMascara de rede " );
klauss 45:c80574f24dc3 176 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 177
klauss 45:c80574f24dc3 178 else if( udp_request ){
klauss 45:c80574f24dc3 179 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 180 }
klauss 42:480335bdde12 181 }
klauss 19:ab2088e0dec6 182 cat("/qspi/mymask.txt");
klauss 42:480335bdde12 183
klauss 28:94aec56c6329 184 pc.printf("\n\rGateway IP ");
klauss 42:480335bdde12 185 if( from_eth ){
klauss 42:480335bdde12 186 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rGateway IP " );
klauss 45:c80574f24dc3 187 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 188
klauss 45:c80574f24dc3 189 else if( udp_request ){
klauss 45:c80574f24dc3 190 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 191 }
klauss 42:480335bdde12 192 }
klauss 19:ab2088e0dec6 193 cat("/qspi/mygate.txt");
klauss 43:455522f98de5 194
klauss 45:c80574f24dc3 195 pc.printf("\n\rUDP Port ");
klauss 45:c80574f24dc3 196 if( from_eth ){
klauss 45:c80574f24dc3 197 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rUDP Port " );
klauss 45:c80574f24dc3 198 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 199
klauss 45:c80574f24dc3 200 else if( udp_request ){
klauss 45:c80574f24dc3 201 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 202 }
klauss 45:c80574f24dc3 203 }
klauss 45:c80574f24dc3 204 cat("/qspi/udpport.txt");
klauss 45:c80574f24dc3 205
klauss 45:c80574f24dc3 206 pc.printf("\n\rTCP Port ");
klauss 45:c80574f24dc3 207 if( from_eth ){
klauss 45:c80574f24dc3 208 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rTCP Port " );
klauss 45:c80574f24dc3 209 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 210
klauss 45:c80574f24dc3 211 else if( udp_request ){
klauss 45:c80574f24dc3 212 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 213 }
klauss 45:c80574f24dc3 214 }
klauss 45:c80574f24dc3 215 cat("/qspi/tcpport.txt");
klauss 45:c80574f24dc3 216
klauss 43:455522f98de5 217 debug_buf[ 0 ] = 0;
klauss 43:455522f98de5 218 bufptr = 0;
klauss 48:195c97f12e8e 219 if( tcp_session ) tcp_client.send_all( "\n\r>" , strlen( "\n\r>" ) );
klauss 48:195c97f12e8e 220
klauss 48:195c97f12e8e 221 else if( udp_request ){
klauss 48:195c97f12e8e 222 udp_server.sendTo( udp_client, "\n\r>", strlen( "\n\r>" ) );
klauss 48:195c97f12e8e 223 }
klauss 19:ab2088e0dec6 224 }
klauss 19:ab2088e0dec6 225
klauss 19:ab2088e0dec6 226 if (type == 'c' ){ // close all files
klauss 28:94aec56c6329 227 fclose( fip );
klauss 28:94aec56c6329 228 fclose( fmask );
klauss 28:94aec56c6329 229 fclose( fgate );
klauss 28:94aec56c6329 230 fclose( fport );
klauss 28:94aec56c6329 231 fclose( fsip );
klauss 28:94aec56c6329 232 fclose( fsport );
klauss 28:94aec56c6329 233 fclose( fext );
klauss 28:94aec56c6329 234 fclose( fserext );
klauss 45:c80574f24dc3 235 fclose( fudpport );
klauss 45:c80574f24dc3 236 fclose( ftcpport );
klauss 19:ab2088e0dec6 237 }
klauss 19:ab2088e0dec6 238
klauss 19:ab2088e0dec6 239 if (type == 'i' ){ // Check if files exist, if not create the files
klauss 33:735fd60e96d8 240 bool exists = true;
klauss 19:ab2088e0dec6 241 fip = fopen("/qspi/myip.txt", "r");
klauss 19:ab2088e0dec6 242 if (fip == NULL){
klauss 19:ab2088e0dec6 243 fip = fopen("/qspi/myip.txt", "w");
klauss 29:7246460b73f8 244 //fprintf(fip, "%s\n\r",__MY_IP__); //myip
klauss 46:a670f187a704 245 fprintf(fip, "%s\n\r",__MY_IP__); //myip
klauss 33:735fd60e96d8 246 exists = false;
klauss 19:ab2088e0dec6 247 }
klauss 28:94aec56c6329 248
klauss 28:94aec56c6329 249 fserext = fopen("/qspi/myext.txt", "r");
klauss 28:94aec56c6329 250 if ( fserext == NULL ){
klauss 28:94aec56c6329 251 fserext = fopen("/qspi/myext.txt", "w");
klauss 38:af5ecd6997ab 252 fprintf( fserext, "%i\n\r" ,__MY_EXT__ ); //asterisk ext
klauss 33:735fd60e96d8 253 exists = false;
klauss 28:94aec56c6329 254 }
klauss 28:94aec56c6329 255 fport = fopen("/qspi/mysipport.txt", "r");
klauss 28:94aec56c6329 256 if (fport == NULL){
klauss 28:94aec56c6329 257 fport = fopen("/qspi/mysipport.txt", "w");
klauss 38:af5ecd6997ab 258 fprintf(fport, "%i\n\r",__MY_PORT__); //mysipport
klauss 33:735fd60e96d8 259 exists = false;
klauss 28:94aec56c6329 260 }
klauss 28:94aec56c6329 261 fsip = fopen("/qspi/serverip.txt", "r");
klauss 28:94aec56c6329 262 if (fsip == NULL){
klauss 28:94aec56c6329 263 fsip = fopen("/qspi/serverip.txt", "w");
klauss 29:7246460b73f8 264 //fprintf(fsip, "%s\n\r",__SERVER_IP__ ); //asterisk ip
klauss 46:a670f187a704 265 fprintf(fsip, "%s\n\r",__SERVER_IP__ ); //asterisk ip
klauss 33:735fd60e96d8 266 exists = false;
klauss 28:94aec56c6329 267 }
klauss 28:94aec56c6329 268
klauss 28:94aec56c6329 269 fext = fopen("/qspi/peerext.txt", "r");
klauss 28:94aec56c6329 270 if ( fext == NULL ){
klauss 28:94aec56c6329 271 fext = fopen("/qspi/peerext.txt", "w");
klauss 38:af5ecd6997ab 272 fprintf( fext, "%i\n\r",__PEER_EXT__ ); //asterisk ip
klauss 33:735fd60e96d8 273 exists = false;
klauss 28:94aec56c6329 274 }
klauss 28:94aec56c6329 275 fsport = fopen("/qspi/serverport.txt", "r");
klauss 28:94aec56c6329 276 if (fsport == NULL){
klauss 28:94aec56c6329 277 fsport = fopen("/qspi/serverport.txt", "w");
klauss 38:af5ecd6997ab 278 fprintf(fsport, "%i\n\r",__SERVER_PORT__ ); //asterisk port
klauss 33:735fd60e96d8 279 exists = false;
klauss 28:94aec56c6329 280 }
klauss 28:94aec56c6329 281
klauss 19:ab2088e0dec6 282 fmask = fopen("/qspi/mymask.txt", "r");
klauss 19:ab2088e0dec6 283 if (fmask == NULL){
klauss 19:ab2088e0dec6 284 fmask = fopen("/qspi/mymask.txt", "w");
klauss 46:a670f187a704 285 fprintf(fmask, "%s\n\r",__MY_MSK__); //mymask
klauss 33:735fd60e96d8 286 exists = false;
klauss 19:ab2088e0dec6 287 }
klauss 19:ab2088e0dec6 288 fgate = fopen("/qspi/mygateway.txt", "r");
klauss 19:ab2088e0dec6 289 if (fgate == NULL){
klauss 19:ab2088e0dec6 290 fgate = fopen("/qspi/mygate.txt", "w");
klauss 46:a670f187a704 291 fprintf(fgate, "%s\n\r",__MY_GTW__); //mygateway
klauss 45:c80574f24dc3 292 exists = false;
klauss 45:c80574f24dc3 293 }
klauss 45:c80574f24dc3 294 fudpport = fopen("/qspi/udpport.txt", "r" );
klauss 45:c80574f24dc3 295 if( fudpport == NULL ){
klauss 45:c80574f24dc3 296 fudpport = fopen("/qspi/udpport.txt", "w");
klauss 45:c80574f24dc3 297 fprintf( fudpport, "%i\n\r",UDP_PORT_LISTENER );
klauss 45:c80574f24dc3 298 exists = false;
klauss 45:c80574f24dc3 299 }
klauss 45:c80574f24dc3 300 ftcpport = fopen("/qspi/tcpport.txt", "r" );
klauss 45:c80574f24dc3 301 if( ftcpport == NULL ){
klauss 45:c80574f24dc3 302 ftcpport = fopen("/qspi/tcpport.txt", "w");
klauss 45:c80574f24dc3 303 fprintf( ftcpport, "%i\n\r", TCP_PORT_LISTENER );
klauss 33:735fd60e96d8 304 exists = false;
klauss 19:ab2088e0dec6 305 }
klauss 44:cc4996469404 306 if( !exists ){
klauss 44:cc4996469404 307 pc.printf("\n\rDefault configurations set!\n\r");
klauss 44:cc4996469404 308 if( from_eth ){
klauss 44:cc4996469404 309 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Default configurations set!\n\r");
klauss 44:cc4996469404 310 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 44:cc4996469404 311 if( tcp_session ){
klauss 45:c80574f24dc3 312 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 44:cc4996469404 313 debug_buf[ 0 ] = 0;
klauss 44:cc4996469404 314 bufptr = 0;
klauss 44:cc4996469404 315 }
klauss 44:cc4996469404 316 }
klauss 44:cc4996469404 317 }
klauss 19:ab2088e0dec6 318 }
klauss 19:ab2088e0dec6 319
klauss 19:ab2088e0dec6 320 if (type == 'r' ){ // Just open for read
klauss 19:ab2088e0dec6 321 fip = fopen("/qspi/myip.txt", "r");
klauss 19:ab2088e0dec6 322 fmask = fopen("/qspi/mymask.txt", "r");
klauss 19:ab2088e0dec6 323 fgate = fopen("/qspi/mygateway.txt", "r");
klauss 19:ab2088e0dec6 324 fport = fopen("/qspi/mysipport.txt", "r");
klauss 19:ab2088e0dec6 325 fsip = fopen("/qspi/serverip.txt", "r");
klauss 19:ab2088e0dec6 326 fsport = fopen("/qspi/serverport.txt", "r");
klauss 28:94aec56c6329 327 fext = fopen( "/qspi/myext.txt", "r" );
klauss 28:94aec56c6329 328 fserext = fopen( "/qspi/peerext.txt", "r" );
klauss 45:c80574f24dc3 329 fudpport = fopen( "/qspi/udpport.txt", "r" );
klauss 45:c80574f24dc3 330 ftcpport = fopen( "/qspi/tcpport.txt", "r" );
klauss 19:ab2088e0dec6 331 }
klauss 19:ab2088e0dec6 332
klauss 19:ab2088e0dec6 333 if (type == 'w'){ // Create and write the default configs
klauss 19:ab2088e0dec6 334 fip = fopen("/qspi/myip.txt", "w");
klauss 19:ab2088e0dec6 335 fmask = fopen("/qspi/mymask.txt", "w");
klauss 19:ab2088e0dec6 336 fgate = fopen("/qspi/mygateway.txt", "w");
klauss 19:ab2088e0dec6 337 fport = fopen("/qspi/mysipport.txt", "w");
klauss 19:ab2088e0dec6 338 fsip = fopen("/qspi/serverip.txt", "w");
klauss 19:ab2088e0dec6 339 fsport = fopen("/qspi/serverport.txt", "w");
klauss 28:94aec56c6329 340 fext = fopen( "/qspi/myext.txt", "w" );
klauss 28:94aec56c6329 341 fserext = fopen( "/qspi/peerext.txt", "w" );
klauss 45:c80574f24dc3 342 fudpport = fopen( "/qspi/udpport.txt", "w" );
klauss 45:c80574f24dc3 343 ftcpport = fopen( "/qspi/tcpport.txt", "w" );
klauss 19:ab2088e0dec6 344
klauss 46:a670f187a704 345 fprintf( fip, "%s\n\r", __MY_IP__ ); //myip
klauss 45:c80574f24dc3 346 fprintf( fport, "%i\n\r", __MY_PORT__ ); //mysipport // isso pode dar pala
klauss 38:af5ecd6997ab 347 fprintf( fext, "%i\n\r", __MY_EXT__ ); //myext
klauss 28:94aec56c6329 348
klauss 46:a670f187a704 349 fprintf( fsip, "%s\n\r", __SERVER_IP__ ); //asterisk ip
klauss 38:af5ecd6997ab 350 fprintf( fserext, "%i\n\r",__PEER_EXT__ ); //asterisk port
klauss 38:af5ecd6997ab 351 fprintf( fsport, "%i\n\r",__SERVER_PORT__ ); //asterisk port
klauss 28:94aec56c6329 352
klauss 46:a670f187a704 353 fprintf( fmask, "%s\n\r",__MY_MSK__ ); //mymask
klauss 44:cc4996469404 354 fprintf( fgate, "%s\n\r", __MY_GTW__ ); //mygateway
klauss 19:ab2088e0dec6 355
klauss 45:c80574f24dc3 356 fprintf( fudpport, "%i\n\r",UDP_PORT_LISTENER );
klauss 45:c80574f24dc3 357 fprintf( ftcpport, "%i\n\r",TCP_PORT_LISTENER );
klauss 45:c80574f24dc3 358
klauss 19:ab2088e0dec6 359 files('c');
klauss 19:ab2088e0dec6 360
klauss 44:cc4996469404 361 pc.printf("\n\rDefault configurations set!\n\r");
klauss 44:cc4996469404 362 if( from_eth ){
klauss 44:cc4996469404 363 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rDefault configurations set!\n\r");
klauss 44:cc4996469404 364 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 44:cc4996469404 365 if( tcp_session ){
klauss 45:c80574f24dc3 366 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 367 }else if( udp_request ){
klauss 45:c80574f24dc3 368 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 44:cc4996469404 369 }
klauss 45:c80574f24dc3 370 debug_buf[ 0 ] = 0;
klauss 45:c80574f24dc3 371 bufptr = 0;
klauss 44:cc4996469404 372 }
klauss 19:ab2088e0dec6 373 }
klauss 19:ab2088e0dec6 374 }
klauss 26:725cbbedadd5 375 void init_fsystem(){
klauss 26:725cbbedadd5 376 // init file system and check if files exist
klauss 26:725cbbedadd5 377 if (!qspifs.isformatted()) {
klauss 26:725cbbedadd5 378 qspifs.format();
klauss 44:cc4996469404 379 pc.printf("\n\rFile system configured!!\n\r");
klauss 26:725cbbedadd5 380 }
klauss 26:725cbbedadd5 381 files('i'); // check if the files are created
klauss 26:725cbbedadd5 382 files('c');
klauss 44:cc4996469404 383 pc.printf("\n\r*******File System Ready*******\n\r");
klauss 43:455522f98de5 384 }
klauss 43:455522f98de5 385
klauss 43:455522f98de5 386 void init_prompt(){
klauss 45:c80574f24dc3 387 tcp_server.bind( TCP_PORT_LISTENER );
klauss 45:c80574f24dc3 388 tcp_server.listen();
klauss 41:69bf7091c2ca 389 tcp_timer.start();
klauss 45:c80574f24dc3 390 tcp_server.set_blocking( false, 1 );
klauss 45:c80574f24dc3 391
klauss 45:c80574f24dc3 392 udp_server.set_blocking( false, 2 );
klauss 45:c80574f24dc3 393 udp_server.bind( UDP_PORT_LISTENER );
klauss 45:c80574f24dc3 394
klauss 43:455522f98de5 395 pc.printf("*******Prompt eth Ready*******\n\r");
klauss 19:ab2088e0dec6 396 }
klauss 19:ab2088e0dec6 397
klauss 28:94aec56c6329 398 // main prompt process
klauss 48:195c97f12e8e 399 char * prompt_process( char * msg_from_cb ){
klauss 28:94aec56c6329 400 //FIXME dar flush na serial
klauss 19:ab2088e0dec6 401 volatile char b = 0;
klauss 19:ab2088e0dec6 402 static uint8_t bufret = 0;
klauss 30:8dfb6d8de53d 403 static Timer flood_timeout;
klauss 36:728498a78e1e 404 bool miss_match = true;
klauss 41:69bf7091c2ca 405 char buffer[ 1024 ];
klauss 45:c80574f24dc3 406 if( flood_timeout.read() > 60 ){
klauss 45:c80574f24dc3 407 pflood = 0;
klauss 45:c80574f24dc3 408 flood_timeout.stop();
klauss 45:c80574f24dc3 409 flood_timeout.reset();
klauss 45:c80574f24dc3 410 }
klauss 48:195c97f12e8e 411 if( !tcp_server.accept( tcp_client ) ){
klauss 48:195c97f12e8e 412 //debug_msg("");
klauss 48:195c97f12e8e 413 tcp_session = true;
klauss 48:195c97f12e8e 414 //from_eth = true;
klauss 48:195c97f12e8e 415 last_bufptr = bufptr;
klauss 48:195c97f12e8e 416 buffer[ 0 ] = 0;
klauss 48:195c97f12e8e 417 bufptr = 0;
klauss 48:195c97f12e8e 418 bufret = 0;
klauss 48:195c97f12e8e 419 }
klauss 48:195c97f12e8e 420 wdt.kick();
klauss 48:195c97f12e8e 421 if( !( (int)tcp_timer.read_ms() % 100 ) ){
klauss 48:195c97f12e8e 422 tcp_client.set_blocking( false, 1 );
klauss 48:195c97f12e8e 423 int n = tcp_client.receive( buffer, sizeof( buffer ) - 1 );
klauss 48:195c97f12e8e 424 if( n > 0 ){
klauss 48:195c97f12e8e 425 if( ( n > 2 ) && ( buffer[ n - 2 ] == '\r' ) ) buffer[ n - 2 ] = 0;
klauss 48:195c97f12e8e 426
klauss 48:195c97f12e8e 427 if( ( n > 1 ) && ( buffer[ n - 1 ] == '\n' ) ) buffer[ n - 1 ] = 0;
klauss 48:195c97f12e8e 428
klauss 48:195c97f12e8e 429 if( n == 1 && buffer[ 0 ] == 0x0A ) strcpy( buffer, "\r" );
klauss 48:195c97f12e8e 430
klauss 48:195c97f12e8e 431 if( buffer[ 0 ] == '\r' || buffer[ 1 ] == '\n' || buffer[ 2 ] == 'r' || buffer[ 2 ] == '\n' ) strcpy( buffer, "\r" );
klauss 48:195c97f12e8e 432
klauss 48:195c97f12e8e 433 bufptr = strlen( buffer );
klauss 48:195c97f12e8e 434 debug_buf = buffer;
klauss 48:195c97f12e8e 435
klauss 48:195c97f12e8e 436 if( !( strcmp( buffer, "quit" ) ) ){
klauss 48:195c97f12e8e 437 tcp_timer.reset();
klauss 48:195c97f12e8e 438 debug_buf = __debug_buf__;
klauss 48:195c97f12e8e 439 bufptr = last_bufptr;
klauss 48:195c97f12e8e 440 from_eth = false;
klauss 48:195c97f12e8e 441 tcp_session = false;
klauss 48:195c97f12e8e 442 tcp_client.close();
klauss 48:195c97f12e8e 443 bufret = 0;
klauss 48:195c97f12e8e 444 return( NULL );
klauss 45:c80574f24dc3 445 }
klauss 48:195c97f12e8e 446 from_eth = true;
klauss 48:195c97f12e8e 447 bufret = 1;
klauss 19:ab2088e0dec6 448 }
klauss 45:c80574f24dc3 449 if( tcp_timer.read() >= TCP_IDLE_MAX_TIME ){
klauss 45:c80574f24dc3 450 tcp_timer.reset();
klauss 45:c80574f24dc3 451 tcp_session = false;
klauss 45:c80574f24dc3 452 debug_buf = __debug_buf__;
klauss 45:c80574f24dc3 453 bufptr = last_bufptr;
klauss 45:c80574f24dc3 454 bufret = 0;
klauss 45:c80574f24dc3 455 from_eth = false;
klauss 45:c80574f24dc3 456 tcp_session = false;
klauss 45:c80574f24dc3 457 tcp_client.close();
klauss 45:c80574f24dc3 458 return( NULL );
klauss 45:c80574f24dc3 459 }
klauss 48:195c97f12e8e 460 }else{/* if( !tcp_session ){
klauss 48:195c97f12e8e 461 int n = udp_server.receiveFrom( udp_client, buffer, __PROMPT_ETH_BUFFER_SIZE__ - 1 );
klauss 48:195c97f12e8e 462 if( n > 0){
klauss 48:195c97f12e8e 463 if( ( n > 2 ) && ( buffer[ n - 2 ] == '\r' ) ) buffer[ n - 2 ] = 0;
klauss 48:195c97f12e8e 464
klauss 48:195c97f12e8e 465 if( ( n > 1 ) && ( buffer[ n - 1 ] == '\n' ) ) buffer[ n - 1 ] = 0;
klauss 48:195c97f12e8e 466
klauss 48:195c97f12e8e 467 if( n == 1 && buffer[ 0 ] == 0x0A ){ strcpy( buffer, "\r" ); }
klauss 48:195c97f12e8e 468
klauss 45:c80574f24dc3 469 last_bufptr = bufptr;
klauss 45:c80574f24dc3 470 bufptr = strlen( buffer );
klauss 45:c80574f24dc3 471 debug_buf = buffer;
klauss 45:c80574f24dc3 472 from_eth = true;
klauss 45:c80574f24dc3 473 udp_request = true;
klauss 45:c80574f24dc3 474 bufret = 1;
klauss 48:195c97f12e8e 475 }else{*/
klauss 48:195c97f12e8e 476 if( !from_eth ){
klauss 48:195c97f12e8e 477 if ( pc.readable() ){
klauss 48:195c97f12e8e 478 // imput do teclado
klauss 48:195c97f12e8e 479 b = pc.getc();
klauss 48:195c97f12e8e 480
klauss 48:195c97f12e8e 481 if( b == 0x0D ){ // enter
klauss 48:195c97f12e8e 482 bufret = 1;
klauss 48:195c97f12e8e 483 }else{
klauss 48:195c97f12e8e 484 pc.putc( b );
klauss 48:195c97f12e8e 485 if( b == 0x08 || b == 0x7F ){ // BS | DEL
klauss 48:195c97f12e8e 486 if( bufptr > 0 ) debug_buf[ --bufptr ] = 0;
klauss 48:195c97f12e8e 487 }else if( b == 0x09 ){
klauss 48:195c97f12e8e 488 // ignore tab
klauss 48:195c97f12e8e 489 }else{
klauss 48:195c97f12e8e 490 debug_buf[bufptr] = b;
klauss 48:195c97f12e8e 491 bufptr++;
klauss 48:195c97f12e8e 492 }
klauss 42:480335bdde12 493 }
klauss 42:480335bdde12 494 }
klauss 31:bb5fb28a77df 495 }
klauss 48:195c97f12e8e 496 //}
klauss 48:195c97f12e8e 497 }
klauss 48:195c97f12e8e 498 if( msg_from_cb ){
klauss 48:195c97f12e8e 499 if( tcp_session ){
klauss 48:195c97f12e8e 500 tcp_client.send_all( msg_from_cb, strlen( msg_from_cb ) );
klauss 48:195c97f12e8e 501 }else if( udp_request ){
klauss 48:195c97f12e8e 502 udp_server.sendTo( udp_client, msg_from_cb, strlen( msg_from_cb ) );
klauss 48:195c97f12e8e 503 }
klauss 48:195c97f12e8e 504 pc.printf( "\n\r%s\n\r", msg_from_cb );
klauss 48:195c97f12e8e 505 return( NULL );
klauss 48:195c97f12e8e 506 // tirar esse return daqui que nao vai precisar mais
klauss 45:c80574f24dc3 507 }
klauss 45:c80574f24dc3 508
klauss 45:c80574f24dc3 509 // Prompt commands here
klauss 45:c80574f24dc3 510 if ( bufret == 1 ) {
klauss 45:c80574f24dc3 511 static unsigned int promptcb_last_ext = 0;
klauss 45:c80574f24dc3 512 static unsigned int promptcb_last_port = 0;
klauss 45:c80574f24dc3 513 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) ".",1 )) {
klauss 45:c80574f24dc3 514 miss_match = false;
klauss 45:c80574f24dc3 515 strcpy( debug_buf, last_debug_buf );
klauss 45:c80574f24dc3 516 }
klauss 45:c80574f24dc3 517
klauss 48:195c97f12e8e 518 //tratamento dos enters
klauss 45:c80574f24dc3 519 if( !bufptr ){
klauss 45:c80574f24dc3 520 miss_match = false;
klauss 48:195c97f12e8e 521 }else if( bufptr == 1 ) {
klauss 48:195c97f12e8e 522 if( debug_buf[ 0 ] == 0x0D || debug_buf[ 0 ] == 0x0D ) miss_match = false;
klauss 48:195c97f12e8e 523 }
klauss 48:195c97f12e8e 524
klauss 45:c80574f24dc3 525 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "ifconfig" ) ){
klauss 45:c80574f24dc3 526 miss_match = false;
klauss 45:c80574f24dc3 527 pc.printf("\n\r");
klauss 45:c80574f24dc3 528 files('s');
klauss 45:c80574f24dc3 529 }
klauss 45:c80574f24dc3 530 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "format" ) ){
klauss 45:c80574f24dc3 531 miss_match = false;
klauss 45:c80574f24dc3 532 pc.printf("\n Formatando o sistema de arquivos... espere o sistema reiniciar \n\r");
klauss 45:c80574f24dc3 533 if( from_eth ){
klauss 45:c80574f24dc3 534 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Formatando o sistema de arquivos... espere o sistema reiniciar\n\r");
klauss 45:c80574f24dc3 535 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 536 if( tcp_session ){
klauss 45:c80574f24dc3 537 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 538 tcp_client.close();
klauss 45:c80574f24dc3 539 }else if( udp_request ){
klauss 45:c80574f24dc3 540 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 42:480335bdde12 541 }
klauss 42:480335bdde12 542 }
klauss 45:c80574f24dc3 543 files('w');
klauss 48:195c97f12e8e 544 __disable_irq();
klauss 45:c80574f24dc3 545 NVIC_SystemReset();
klauss 45:c80574f24dc3 546 }
klauss 45:c80574f24dc3 547
klauss 45:c80574f24dc3 548 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ipset ", 6 )) {
klauss 45:c80574f24dc3 549 miss_match = false;
klauss 45:c80574f24dc3 550 fip = fopen("/qspi/myip.txt", "w");
klauss 46:a670f187a704 551 fprintf(fip,"%s\n\r",(debug_buf+6));
klauss 45:c80574f24dc3 552 fclose(fip);
klauss 45:c80574f24dc3 553 pc.printf("\n\r");
klauss 45:c80574f24dc3 554 files('s');
klauss 45:c80574f24dc3 555 }
klauss 45:c80574f24dc3 556
klauss 45:c80574f24dc3 557 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "extset ", 7 ) ){
klauss 45:c80574f24dc3 558 miss_match = false;
klauss 45:c80574f24dc3 559 fip = fopen("/qspi/myext.txt", "w");
klauss 48:195c97f12e8e 560 fprintf(fip, "%s\n\r" , ( debug_buf + 7) );
klauss 45:c80574f24dc3 561 fclose(fip);
klauss 45:c80574f24dc3 562 pc.printf("\n\r");
klauss 45:c80574f24dc3 563 files('s');
klauss 45:c80574f24dc3 564 }
klauss 45:c80574f24dc3 565
klauss 45:c80574f24dc3 566 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "serextset ", 10 ) ){
klauss 45:c80574f24dc3 567 miss_match = false;
klauss 45:c80574f24dc3 568 fip = fopen("/qspi/peerext.txt", "w");
klauss 45:c80574f24dc3 569 fprintf(fip, "%i\n\r" , ( debug_buf + 10 ) );
klauss 45:c80574f24dc3 570 fclose(fip);
klauss 45:c80574f24dc3 571 pc.printf("\n\r");
klauss 45:c80574f24dc3 572 files('s');
klauss 45:c80574f24dc3 573 }
klauss 45:c80574f24dc3 574
klauss 45:c80574f24dc3 575 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "maskset ",8 ) ){
klauss 45:c80574f24dc3 576 miss_match = false;
klauss 45:c80574f24dc3 577 fmask = fopen("/qspi/mymask.txt", "w");
klauss 46:a670f187a704 578 fprintf(fmask,"%s\n\r",(debug_buf+8));
klauss 45:c80574f24dc3 579 fclose(fmask);
klauss 45:c80574f24dc3 580 pc.printf("\n\r");
klauss 45:c80574f24dc3 581 files('s');
klauss 45:c80574f24dc3 582 }
klauss 45:c80574f24dc3 583
klauss 45:c80574f24dc3 584 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "gatewayset ",11 ) ){
klauss 45:c80574f24dc3 585 miss_match = false;
klauss 45:c80574f24dc3 586 fgate = fopen("/qspi/mygate.txt", "w");
klauss 46:a670f187a704 587 fprintf(fgate,"%s\n\r",(debug_buf+11));
klauss 45:c80574f24dc3 588 fclose(fgate);
klauss 45:c80574f24dc3 589 pc.printf("\n\r");
klauss 45:c80574f24dc3 590 files('s');
klauss 45:c80574f24dc3 591 }
klauss 45:c80574f24dc3 592
klauss 45:c80574f24dc3 593 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "msipport ",9 ) ){
klauss 45:c80574f24dc3 594 miss_match = false;
klauss 45:c80574f24dc3 595 fport = fopen("/qspi/mysipport.txt", "w");
klauss 45:c80574f24dc3 596 fprintf(fport,"%i\n\r",(debug_buf+9));
klauss 45:c80574f24dc3 597 fclose(fport);
klauss 45:c80574f24dc3 598 pc.printf("\n\r");
klauss 45:c80574f24dc3 599 files('s');
klauss 45:c80574f24dc3 600 }
klauss 45:c80574f24dc3 601
klauss 45:c80574f24dc3 602 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "serverip ",9 ) ){
klauss 45:c80574f24dc3 603 miss_match = false;
klauss 45:c80574f24dc3 604 fsip = fopen("/qspi/serverip.txt", "w");
klauss 46:a670f187a704 605 fprintf(fsip,"%s\n\r",(debug_buf+9));
klauss 45:c80574f24dc3 606 fclose(fsip);
klauss 45:c80574f24dc3 607 pc.printf("\n\r");
klauss 45:c80574f24dc3 608 files('s');
klauss 45:c80574f24dc3 609 }
klauss 45:c80574f24dc3 610
klauss 45:c80574f24dc3 611 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ssport ",7 ) ){
klauss 45:c80574f24dc3 612 miss_match = false;
klauss 45:c80574f24dc3 613 fsport = fopen("/qspi/serverport.txt", "w");
klauss 45:c80574f24dc3 614 fprintf(fsport,"%i\n\r",(debug_buf+7));
klauss 45:c80574f24dc3 615 fclose(fsport);
klauss 45:c80574f24dc3 616 pc.printf("\n\r");
klauss 45:c80574f24dc3 617 files('s');
klauss 45:c80574f24dc3 618 }
klauss 45:c80574f24dc3 619
klauss 45:c80574f24dc3 620
klauss 45:c80574f24dc3 621 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dconfig" ) ){
klauss 45:c80574f24dc3 622 miss_match = false;
klauss 45:c80574f24dc3 623 files('w');
klauss 45:c80574f24dc3 624 files('s');
klauss 45:c80574f24dc3 625 }
klauss 45:c80574f24dc3 626
klauss 45:c80574f24dc3 627 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset" ) ){
klauss 45:c80574f24dc3 628 miss_match = false;
klauss 45:c80574f24dc3 629 pc.printf("\n\rJob is done\n\r");
klauss 45:c80574f24dc3 630 if( from_eth ){
klauss 45:c80574f24dc3 631 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Job is done\n\r");
klauss 45:c80574f24dc3 632 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 633 if( tcp_session ){
klauss 45:c80574f24dc3 634 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 635 tcp_client.close();
klauss 45:c80574f24dc3 636 }else if( udp_request ){
klauss 45:c80574f24dc3 637 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 42:480335bdde12 638 }
klauss 45:c80574f24dc3 639 }
klauss 48:195c97f12e8e 640 __disable_irq();
klauss 45:c80574f24dc3 641 NVIC_SystemReset();
klauss 45:c80574f24dc3 642 }
klauss 45:c80574f24dc3 643
klauss 45:c80574f24dc3 644 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dog" ) ){
klauss 45:c80574f24dc3 645 miss_match = false;
klauss 45:c80574f24dc3 646 pc.printf("\n\r MUUUUUUUuuuuUUUUUU - I'm not a dog!!!! \n\r");
klauss 45:c80574f24dc3 647 if( from_eth ){
klauss 45:c80574f24dc3 648 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "MUUUUUUUuuuuUUUUUU - I'm not a dog!!!!\n\r");
klauss 45:c80574f24dc3 649 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 650 }
klauss 45:c80574f24dc3 651 }
klauss 48:195c97f12e8e 652
klauss 48:195c97f12e8e 653 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "status" ) ){
klauss 48:195c97f12e8e 654 miss_match = false;
klauss 48:195c97f12e8e 655 cb_status = true;
klauss 48:195c97f12e8e 656 }
klauss 45:c80574f24dc3 657
klauss 45:c80574f24dc3 658 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "flood ",6 ) ){
klauss 45:c80574f24dc3 659 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "on",2 ) ){
klauss 45:c80574f24dc3 660 miss_match = false;
klauss 46:a670f187a704 661 pc.printf("\n\rFlood ON\n\r");
klauss 42:480335bdde12 662 if( from_eth ){
klauss 45:c80574f24dc3 663 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood On\n\r" );
klauss 45:c80574f24dc3 664 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 42:480335bdde12 665 }
klauss 45:c80574f24dc3 666 tflood.start();
klauss 45:c80574f24dc3 667 tflood.reset();
klauss 45:c80574f24dc3 668 floodcount =0;
klauss 45:c80574f24dc3 669 pflood = 1;
klauss 45:c80574f24dc3 670 flood_timeout.start();
klauss 45:c80574f24dc3 671 }
klauss 45:c80574f24dc3 672 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 673 miss_match = false;
klauss 46:a670f187a704 674 pc.printf("\n\rFlood OFF\n\r");
klauss 42:480335bdde12 675 if( from_eth ){
klauss 45:c80574f24dc3 676 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood Off\n\r" );
klauss 45:c80574f24dc3 677 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 42:480335bdde12 678 }
klauss 45:c80574f24dc3 679 pflood = 0;
klauss 45:c80574f24dc3 680 tflood.stop();
klauss 45:c80574f24dc3 681 flood_timeout.reset();
klauss 31:bb5fb28a77df 682 }
klauss 48:195c97f12e8e 683 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "disable",3 )) {
klauss 48:195c97f12e8e 684 miss_match = false;
klauss 48:195c97f12e8e 685 // implementar uma logica que recebe start ext e end ext e manda flood off pra eles
klauss 48:195c97f12e8e 686 pc.printf("\n\rFlood OFF\n\r");
klauss 48:195c97f12e8e 687 if( from_eth ){
klauss 48:195c97f12e8e 688 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Flood Off\n\r" );
klauss 48:195c97f12e8e 689 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 48:195c97f12e8e 690 }
klauss 48:195c97f12e8e 691 pflood = 0;
klauss 48:195c97f12e8e 692 tflood.stop();
klauss 48:195c97f12e8e 693 flood_timeout.reset();
klauss 48:195c97f12e8e 694 }
klauss 45:c80574f24dc3 695 }
klauss 45:c80574f24dc3 696
klauss 45:c80574f24dc3 697 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug ",6 )) {
klauss 45:c80574f24dc3 698 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 699 miss_match = false;
klauss 46:a670f187a704 700 pc.printf("\n\rDebug ON\n\r");
klauss 45:c80574f24dc3 701 if( from_eth ){
klauss 45:c80574f24dc3 702 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug On\n\r" );
klauss 45:c80574f24dc3 703 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 704 }
klauss 45:c80574f24dc3 705 debug_alive = 1;
klauss 45:c80574f24dc3 706 }
klauss 45:c80574f24dc3 707 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 708 miss_match = false;
klauss 46:a670f187a704 709 pc.printf("\n\rDebug OFF\n\r");
klauss 45:c80574f24dc3 710 if( from_eth ){
klauss 45:c80574f24dc3 711 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Off\n\r" );
klauss 45:c80574f24dc3 712 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 42:480335bdde12 713 }
klauss 45:c80574f24dc3 714 debug_alive = 0;
klauss 31:bb5fb28a77df 715 }
klauss 45:c80574f24dc3 716 if( xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "show",4 ) ){
klauss 45:c80574f24dc3 717 miss_match = false;
klauss 45:c80574f24dc3 718 pc.printf("\n\rdebug_sip");
klauss 45:c80574f24dc3 719 pc.printf("\n\rdebug_alive");
klauss 45:c80574f24dc3 720 pc.printf("\n\rdebug_prompt");
klauss 45:c80574f24dc3 721 pc.printf("\n\rdebug_vector");
klauss 45:c80574f24dc3 722 pc.printf("\n\rdebug_cb");
klauss 45:c80574f24dc3 723 pc.printf("\n\rdebug_main");
klauss 45:c80574f24dc3 724 pc.printf("\n\rdebug_cks");
klauss 45:c80574f24dc3 725 pc.printf("\n\rdebug_cb_rx");
klauss 45:c80574f24dc3 726 pc.printf("\n\rdebug_cb_tx*");
klauss 45:c80574f24dc3 727 pc.printf("\n\rdebug_eth_rx*");
klauss 45:c80574f24dc3 728 pc.printf("\n\rdebug_eth_tx*");
klauss 45:c80574f24dc3 729 pc.printf("\n\rdebug_file");
klauss 45:c80574f24dc3 730
klauss 42:480335bdde12 731 if( from_eth ){
klauss 45:c80574f24dc3 732 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "\n\rdebug_sip \n\rdebug_alive \n\rdebug_prompt \n\rdebug_vector \n\rdebug_cb \n\rdebug_main \n\rdebug_cks \n\rdebug_cb_rx \n\rdebug_cb_tx* \n\rdebug_eth_rx* \n\rdebug_eth_tx* \n\rdebug_file\n\r" );
klauss 42:480335bdde12 733 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 42:480335bdde12 734 }
klauss 42:480335bdde12 735 }
klauss 45:c80574f24dc3 736 }
klauss 45:c80574f24dc3 737
klauss 45:c80574f24dc3 738 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_sip ", 10 ) ){
klauss 45:c80574f24dc3 739 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "on",2 ) ){
klauss 45:c80574f24dc3 740 miss_match = false;
klauss 45:c80574f24dc3 741 pc.printf( "\n\rSip Debug ON\n\r" );
klauss 45:c80574f24dc3 742 if( from_eth ){
klauss 45:c80574f24dc3 743 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Sip Debug On\n\r" );
klauss 45:c80574f24dc3 744 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 745 }
klauss 45:c80574f24dc3 746 debug_sip = 1;
klauss 45:c80574f24dc3 747 }
klauss 45:c80574f24dc3 748 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 749 miss_match = false;
klauss 45:c80574f24dc3 750 pc.printf( "\n\rSip Debug OFF\n\r" );
klauss 45:c80574f24dc3 751 if( from_eth ){
klauss 45:c80574f24dc3 752 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Sip Debug Off\n\r" );
klauss 45:c80574f24dc3 753 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 754 }
klauss 45:c80574f24dc3 755 debug_sip = 0;
klauss 45:c80574f24dc3 756 }
klauss 45:c80574f24dc3 757 }
klauss 45:c80574f24dc3 758
klauss 45:c80574f24dc3 759 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_cks ", 10 )) {
klauss 45:c80574f24dc3 760 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 761 miss_match = false;
klauss 45:c80574f24dc3 762 pc.printf( "\n\rCKS Debug ON\n\r" );
klauss 45:c80574f24dc3 763 if( from_eth ){
klauss 45:c80574f24dc3 764 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS Debug On\n\r" );
klauss 45:c80574f24dc3 765 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 766 }
klauss 45:c80574f24dc3 767 debug_cks = 1;
klauss 45:c80574f24dc3 768 }
klauss 45:c80574f24dc3 769 if (xmemmatch( (uint8_t*)(debug_buf + 10 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 770 miss_match = false;
klauss 45:c80574f24dc3 771 pc.printf( "\n\rCKS Debug OFF\n\r" );
klauss 45:c80574f24dc3 772 if( from_eth ){
klauss 45:c80574f24dc3 773 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "CKS Debug Off\n\r" );
klauss 45:c80574f24dc3 774 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 775 }
klauss 45:c80574f24dc3 776 debug_cks = 0;
klauss 45:c80574f24dc3 777 }
klauss 45:c80574f24dc3 778 }
klauss 45:c80574f24dc3 779
klauss 45:c80574f24dc3 780 //promptcb ramal porta comando
klauss 48:195c97f12e8e 781 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "pcb ", 4 )) {
klauss 45:c80574f24dc3 782 miss_match = false;
klauss 48:195c97f12e8e 783 static uint8_t id_msg = 0x10;
klauss 48:195c97f12e8e 784 uint8_t write_buffer[ 300 ];
klauss 48:195c97f12e8e 785 int ext,port;
klauss 48:195c97f12e8e 786 char *split, *ref;
klauss 48:195c97f12e8e 787
klauss 48:195c97f12e8e 788 ref = debug_buf;
klauss 48:195c97f12e8e 789 debug_buf[ bufptr++ ] = 0x0D;
klauss 48:195c97f12e8e 790 debug_buf[ bufptr++ ] = 0x00;
klauss 48:195c97f12e8e 791
klauss 48:195c97f12e8e 792 split = strtok( debug_buf + 4, " " );
klauss 48:195c97f12e8e 793 ext = atoi( split );
klauss 48:195c97f12e8e 794 split = strtok( NULL, " " );
klauss 48:195c97f12e8e 795 port = atoi( split );
klauss 48:195c97f12e8e 796 //split = strtok( NULL, " " );
klauss 48:195c97f12e8e 797 split += strlen( split ) + 1;
klauss 48:195c97f12e8e 798
klauss 48:195c97f12e8e 799 promptcb_last_ext = ext;
klauss 48:195c97f12e8e 800 promptcb_last_port = port;
klauss 48:195c97f12e8e 801
klauss 48:195c97f12e8e 802 pc.printf("\r\next=%d port=%d\r\ncmd=%s\r\n", ext, port, split );
klauss 48:195c97f12e8e 803 __send_to_cb__( __build_cb_package__( ext, port, __PROMPT__, split, id_msg++, __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 48:195c97f12e8e 804 pc.printf("\n\rComando enviado\n\r");
klauss 48:195c97f12e8e 805
klauss 48:195c97f12e8e 806 for( register int i = 0; i < 32; i++ )
klauss 48:195c97f12e8e 807 pc.printf("%0x ", write_buffer[ i ] );
klauss 48:195c97f12e8e 808 pc.printf("\n\r");
klauss 48:195c97f12e8e 809
klauss 48:195c97f12e8e 810 debug_buf = ref;
klauss 48:195c97f12e8e 811 bufptr = 0;
klauss 48:195c97f12e8e 812 debug_buf[ 0 ] = 0;
klauss 48:195c97f12e8e 813
klauss 48:195c97f12e8e 814 /*
klauss 48:195c97f12e8e 815
klauss 45:c80574f24dc3 816 unsigned int ext,port;
klauss 45:c80574f24dc3 817 int ant1,ant2;
klauss 45:c80574f24dc3 818
klauss 48:195c97f12e8e 819 debug_buf[ bufptr++ ] = 0x0D;
klauss 48:195c97f12e8e 820 debug_buf[ bufptr++ ] = 0x00;
klauss 48:195c97f12e8e 821
klauss 48:195c97f12e8e 822 ant1 = str2uint( ( debug_buf + 4 ), &ext );
klauss 48:195c97f12e8e 823 ant2 = str2uint( ( ( debug_buf + 4 ) + ant1 + 1 ), &port );
klauss 45:c80574f24dc3 824
klauss 45:c80574f24dc3 825 promptcb_last_ext = ext;
klauss 45:c80574f24dc3 826 promptcb_last_port = port;
klauss 48:195c97f12e8e 827
klauss 48:195c97f12e8e 828 pc.printf("\r\next=%d port=%d\r\ncmd=%s\r\n", ext, port, debug_buf + 4 + ant1 + 2 + ant2 );
klauss 48:195c97f12e8e 829 __send_to_cb__( __build_cb_package__( ext, port, __PROMPT__, debug_buf + 4 + ant1 + 2 + ant2, id_msg++, __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__, write_buffer ) );
klauss 45:c80574f24dc3 830 pc.printf("\n\rComando enviado\n\r");
klauss 48:195c97f12e8e 831
klauss 48:195c97f12e8e 832 for( register int i = 0; i < 300; i++ ){
klauss 48:195c97f12e8e 833 pc.printf("%x ", write_buffer[ i ] );
klauss 48:195c97f12e8e 834 if( i % 23 == 0 ) pc.printf("\n\r");
klauss 48:195c97f12e8e 835 }
klauss 48:195c97f12e8e 836 pc.printf("\n\r");
klauss 48:195c97f12e8e 837 */
klauss 45:c80574f24dc3 838 }
klauss 48:195c97f12e8e 839
klauss 48:195c97f12e8e 840 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "_pcb",4 )) {
klauss 45:c80574f24dc3 841 miss_match = false;
klauss 45:c80574f24dc3 842 static int id_msg = 0x30;
klauss 48:195c97f12e8e 843 uint8_t write_buffer[ 300 ];
klauss 48:195c97f12e8e 844 debug_buf[ bufptr++ ] = 0x0D;
klauss 48:195c97f12e8e 845 debug_buf[ bufptr++ ] = 0x00;
klauss 45:c80574f24dc3 846
klauss 48:195c97f12e8e 847 pc.printf("\r\next=%d port=%d\r\ncmd=%s\r\n",promptcb_last_ext, promptcb_last_port, debug_buf + 4 );
klauss 45:c80574f24dc3 848
klauss 48:195c97f12e8e 849 __send_to_cb__( __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 850 pc.printf("\n\rComando enviado\n\r");
klauss 45:c80574f24dc3 851 }
klauss 48:195c97f12e8e 852 /*
klauss 48:195c97f12e8e 853 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "flood kill ", 11 ) ){
klauss 48:195c97f12e8e 854 miss_match = false;
klauss 48:195c97f12e8e 855
klauss 48:195c97f12e8e 856 split = strtok( debug_buf + 11, " " );
klauss 48:195c97f12e8e 857 int ext_init = atoi( split );
klauss 48:195c97f12e8e 858 split = strtok( NULL, " " );
klauss 48:195c97f12e8e 859 int ext_end = atoi( split );
klauss 48:195c97f12e8e 860 pc.printf("\n\r MUUUUUUUuuuuUUUUUU - I'm not a dog!!!! \n\r");
klauss 48:195c97f12e8e 861 if( from_eth ){
klauss 48:195c97f12e8e 862 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "MUUUUUUUuuuuUUUUUU - I'm not a dog!!!!\n\r");
klauss 48:195c97f12e8e 863 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 48:195c97f12e8e 864 }
klauss 48:195c97f12e8e 865 }
klauss 48:195c97f12e8e 866 */
klauss 45:c80574f24dc3 867 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "cks",3 )) {
klauss 45:c80574f24dc3 868 miss_match = false;
klauss 45:c80574f24dc3 869 pcks_s = 1;
klauss 45:c80574f24dc3 870 }
klauss 45:c80574f24dc3 871
klauss 45:c80574f24dc3 872 if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "showcb",6 )) {
klauss 45:c80574f24dc3 873 miss_match = false;
klauss 45:c80574f24dc3 874 pshowcb = 1;
klauss 45:c80574f24dc3 875 }
klauss 45:c80574f24dc3 876
klauss 45:c80574f24dc3 877 if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_main ", 11 )) {
klauss 45:c80574f24dc3 878 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 879 miss_match = false;
klauss 45:c80574f24dc3 880 pc.printf("\r\nDebug Main ON");
klauss 45:c80574f24dc3 881 if( from_eth ){
klauss 45:c80574f24dc3 882 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Main On\n\r" );
klauss 45:c80574f24dc3 883 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 884 }
klauss 45:c80574f24dc3 885 debug_main = 1;
klauss 45:c80574f24dc3 886 }
klauss 45:c80574f24dc3 887 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 888 miss_match = false;
klauss 45:c80574f24dc3 889 pc.printf("\r\nDebug Main OFF");
klauss 45:c80574f24dc3 890 if( from_eth ){
klauss 45:c80574f24dc3 891 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Main Off\n\r" );
klauss 45:c80574f24dc3 892 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 893 }
klauss 45:c80574f24dc3 894 debug_main = 0;
klauss 45:c80574f24dc3 895 }
klauss 45:c80574f24dc3 896 }
klauss 45:c80574f24dc3 897
klauss 45:c80574f24dc3 898 if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_cb_rx ", 12 )) {
klauss 45:c80574f24dc3 899 if (xmemmatch( (uint8_t*)( debug_buf + 12 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 900 miss_match = false;
klauss 45:c80574f24dc3 901 pc.printf("\tDebug Cbx Rx ON");
klauss 45:c80574f24dc3 902 if( from_eth ){
klauss 45:c80574f24dc3 903 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Cbx On Rx on\n\r" );
klauss 45:c80574f24dc3 904 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 905 }
klauss 45:c80574f24dc3 906 debug_cb_rx = 1;
klauss 45:c80574f24dc3 907 }
klauss 45:c80574f24dc3 908 if (xmemmatch( (uint8_t*)( debug_buf + 12 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 909 miss_match = false;
klauss 45:c80574f24dc3 910 pc.printf("Debug Cbx Rx OFF");
klauss 45:c80574f24dc3 911 if( from_eth ){
klauss 45:c80574f24dc3 912 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug Cbx Rx Off\n\r" );
klauss 45:c80574f24dc3 913 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 914 }
klauss 45:c80574f24dc3 915 debug_cb_rx = 0;
klauss 45:c80574f24dc3 916 }
klauss 45:c80574f24dc3 917 }
klauss 45:c80574f24dc3 918
klauss 45:c80574f24dc3 919 if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug_file ", 11 )) {
klauss 45:c80574f24dc3 920 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "on",2 )) {
klauss 45:c80574f24dc3 921 miss_match = false;
klauss 45:c80574f24dc3 922 pc.printf("\tDebug File ON");
klauss 45:c80574f24dc3 923 if( from_eth ){
klauss 45:c80574f24dc3 924 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug File On\n\r" );
klauss 45:c80574f24dc3 925 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 926 }
klauss 45:c80574f24dc3 927 debug_cb_rx = 1;
klauss 45:c80574f24dc3 928 }
klauss 45:c80574f24dc3 929 if (xmemmatch( (uint8_t*)( debug_buf + 11 ), (uint8_t*) "off",3 )) {
klauss 45:c80574f24dc3 930 miss_match = false;
klauss 45:c80574f24dc3 931 pc.printf("Debug File OFF");
klauss 45:c80574f24dc3 932 if( from_eth ){
klauss 45:c80574f24dc3 933 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "Debug File Off\n\r" );
klauss 45:c80574f24dc3 934 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 935 }
klauss 45:c80574f24dc3 936 debug_cb_rx = 0;
klauss 45:c80574f24dc3 937 }
klauss 45:c80574f24dc3 938 }
klauss 45:c80574f24dc3 939
klauss 45:c80574f24dc3 940 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "help" )) {
klauss 45:c80574f24dc3 941 miss_match = false;
klauss 45:c80574f24dc3 942 pc.printf("\n\r****************************PROMPT HELP******************\n\r");
klauss 45:c80574f24dc3 943 if( from_eth ){
klauss 45:c80574f24dc3 944 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "\n\r****************************PROMPT HELP******************\n\r" );
klauss 45:c80574f24dc3 945 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 946
klauss 45:c80574f24dc3 947 else if( udp_request ){
klauss 45:c80574f24dc3 948 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 949 }
klauss 44:cc4996469404 950 }
klauss 45:c80574f24dc3 951 pc.printf("ifconfig - mostra o arquivo de configuracao do sistema\n\r");
klauss 45:c80574f24dc3 952 if( from_eth ){
klauss 45:c80574f24dc3 953 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ifconfig - mostra o arquivo de configuracao do sistema\n\r" );
klauss 45:c80574f24dc3 954 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 955
klauss 45:c80574f24dc3 956 else if( udp_request ){
klauss 45:c80574f24dc3 957 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 958 }
klauss 45:c80574f24dc3 959 }
klauss 45:c80574f24dc3 960 pc.printf("dconfig - volta as configuracoes do sistema para o padrao de fabrica\n\r");
klauss 45:c80574f24dc3 961 if( from_eth ){
klauss 45:c80574f24dc3 962 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "dconfig - volta as configuracoes do sistema para o padrao de fabrica\n\r" );
klauss 45:c80574f24dc3 963 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 964
klauss 45:c80574f24dc3 965 else if( udp_request ){
klauss 45:c80574f24dc3 966 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 967 }
klauss 45:c80574f24dc3 968 }
klauss 45:c80574f24dc3 969 pc.printf("callme [ramal porta] - envia o pedido de ligacao para o callbox com o ramal e porta indicada\n\r");
klauss 45:c80574f24dc3 970 if( from_eth ){
klauss 45:c80574f24dc3 971 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 45:c80574f24dc3 972 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 973
klauss 45:c80574f24dc3 974 else if( udp_request ){
klauss 45:c80574f24dc3 975 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 976 }
klauss 45:c80574f24dc3 977 }
klauss 48:195c97f12e8e 978 pc.printf("pcb porta comando - envia o <comando> para o cbx <ramal> e <porta> executar\n\r");
klauss 45:c80574f24dc3 979 if( from_eth ){
klauss 45:c80574f24dc3 980 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "promptcb ramal porta comando - envia o <comando> para o cbx <ramal> e <porta> executar\n\r" );
klauss 45:c80574f24dc3 981 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 982
klauss 45:c80574f24dc3 983 else if( udp_request ){
klauss 45:c80574f24dc3 984 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 985 }
klauss 45:c80574f24dc3 986 }
klauss 45:c80574f24dc3 987 pc.printf("format - formata o sistema de arquivos\n\r");
klauss 45:c80574f24dc3 988 if( from_eth ){
klauss 45:c80574f24dc3 989 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "format - formata o sistema de arquivos\n\r" );
klauss 45:c80574f24dc3 990 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 991
klauss 45:c80574f24dc3 992 else if( udp_request ){
klauss 45:c80574f24dc3 993 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 994 }
klauss 45:c80574f24dc3 995 }
klauss 45:c80574f24dc3 996 pc.printf("reset - resta o sistema\n\r");
klauss 45:c80574f24dc3 997 if( from_eth ){
klauss 45:c80574f24dc3 998 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "reset - resta o sistema\n\r" );
klauss 45:c80574f24dc3 999 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1000
klauss 45:c80574f24dc3 1001 else if( udp_request ){
klauss 45:c80574f24dc3 1002 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1003 }
klauss 45:c80574f24dc3 1004 }
klauss 45:c80574f24dc3 1005 pc.printf("ipset [ip] - Configura o IP da cabeceira\n\r");
klauss 45:c80574f24dc3 1006 if( from_eth ){
klauss 45:c80574f24dc3 1007 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ipset [ip] - Configura o IP da cabeceira\n\r" );
klauss 45:c80574f24dc3 1008 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1009
klauss 45:c80574f24dc3 1010 else if( udp_request ){
klauss 45:c80574f24dc3 1011 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1012 }
klauss 45:c80574f24dc3 1013 }
klauss 45:c80574f24dc3 1014 pc.printf("extset [ext] - Configura a ext da cabeceira\n\r");
klauss 45:c80574f24dc3 1015 if( from_eth ){
klauss 45:c80574f24dc3 1016 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "extset [ext] - Configura a ext da cabeceira\n\r" );
klauss 45:c80574f24dc3 1017 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1018
klauss 45:c80574f24dc3 1019 else if( udp_request ){
klauss 45:c80574f24dc3 1020 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1021 }
klauss 45:c80574f24dc3 1022 }
klauss 45:c80574f24dc3 1023 pc.printf("msipport [port] - Configura a porta SIP da cabeceira\n\r");
klauss 45:c80574f24dc3 1024 if( from_eth ){
klauss 45:c80574f24dc3 1025 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "msipport [port] - Configura a porta SIP da cabeceira\n\r" );
klauss 45:c80574f24dc3 1026 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1027
klauss 45:c80574f24dc3 1028 else if( udp_request ){
klauss 45:c80574f24dc3 1029 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1030 }
klauss 45:c80574f24dc3 1031 }
klauss 45:c80574f24dc3 1032 pc.printf("serverip [ip] - Configura o ip do servidor asterisk\n\r");
klauss 45:c80574f24dc3 1033 if( from_eth ){
klauss 45:c80574f24dc3 1034 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "serverip [ip] - Configura o ip do servidor asterisk\n\r" );
klauss 45:c80574f24dc3 1035 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1036
klauss 45:c80574f24dc3 1037 else if( udp_request ){
klauss 45:c80574f24dc3 1038 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1039 }
klauss 45:c80574f24dc3 1040 }
klauss 45:c80574f24dc3 1041 pc.printf("serextset [ext] - Configura a server ext da cabeceira\n\r");
klauss 45:c80574f24dc3 1042 if( from_eth ){
klauss 45:c80574f24dc3 1043 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "serextset [ext] - Configura a server ext da cabeceira\n\r" );
klauss 45:c80574f24dc3 1044 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1045
klauss 45:c80574f24dc3 1046 else if( udp_request ){
klauss 45:c80574f24dc3 1047 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1048 }
klauss 45:c80574f24dc3 1049 }
klauss 45:c80574f24dc3 1050 pc.printf("ssport [port] - Configura a porta SIP do servidor asterisk\n\r");
klauss 45:c80574f24dc3 1051 if( from_eth ){
klauss 45:c80574f24dc3 1052 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "ssport [port] - Configura a porta SIP do servidor asterisk\n\r" );
klauss 45:c80574f24dc3 1053 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1054
klauss 45:c80574f24dc3 1055 else if( udp_request ){
klauss 45:c80574f24dc3 1056 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1057 }
klauss 45:c80574f24dc3 1058 }
klauss 45:c80574f24dc3 1059 pc.printf("maskset [mask] - Configura a mascara da cabeceira\n\r");
klauss 45:c80574f24dc3 1060 if( from_eth ){
klauss 45:c80574f24dc3 1061 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "maskset [mask] - Configura a mascara da cabeceira\n\r" );
klauss 45:c80574f24dc3 1062 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1063
klauss 45:c80574f24dc3 1064 else if( udp_request ){
klauss 45:c80574f24dc3 1065 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1066 }
klauss 45:c80574f24dc3 1067 }
klauss 45:c80574f24dc3 1068 pc.printf("gatewayset [gateway] - Configura o gateway da cabeceira\n\r");
klauss 45:c80574f24dc3 1069 if( from_eth ){
klauss 45:c80574f24dc3 1070 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "gatewayset [gateway] - Configura o gateway da cabeceira\n\r" );
klauss 45:c80574f24dc3 1071 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1072
klauss 45:c80574f24dc3 1073 else if( udp_request ){
klauss 45:c80574f24dc3 1074 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1075 }
klauss 45:c80574f24dc3 1076 }
klauss 45:c80574f24dc3 1077 pc.printf("showcb - lista os Cbx registrados na header\n\r");
klauss 45:c80574f24dc3 1078 if( from_eth ){
klauss 45:c80574f24dc3 1079 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "showcb - lista os Cbx registrados na header\n\r" );
klauss 45:c80574f24dc3 1080 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1081
klauss 45:c80574f24dc3 1082 else if( udp_request ){
klauss 45:c80574f24dc3 1083 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1084 }
klauss 45:c80574f24dc3 1085 }
klauss 48:195c97f12e8e 1086 pc.printf("status - lista resumida de cbx registrados na header\n\r");
klauss 48:195c97f12e8e 1087 if( from_eth ){
klauss 48:195c97f12e8e 1088 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "showcb - lista resumida de cbx registrados na header\n\r" );
klauss 48:195c97f12e8e 1089 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 48:195c97f12e8e 1090
klauss 48:195c97f12e8e 1091 else if( udp_request ){
klauss 48:195c97f12e8e 1092 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 48:195c97f12e8e 1093 }
klauss 48:195c97f12e8e 1094 }
klauss 45:c80574f24dc3 1095 pc.printf("cks - exibe estatisticas de check sum\n\r");
klauss 45:c80574f24dc3 1096 if( from_eth ){
klauss 45:c80574f24dc3 1097 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "cks - exibe estatisticas de check sum\n\r" );
klauss 45:c80574f24dc3 1098 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1099
klauss 45:c80574f24dc3 1100 else if( udp_request ){
klauss 45:c80574f24dc3 1101 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1102 }
klauss 45:c80574f24dc3 1103 }
klauss 45:c80574f24dc3 1104 pc.printf(". - executa o comando anterior novamente\n\r");
klauss 45:c80574f24dc3 1105 if( from_eth ){
klauss 45:c80574f24dc3 1106 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, ". - executa o comando anterior novamente\n\r" );
klauss 45:c80574f24dc3 1107 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1108
klauss 45:c80574f24dc3 1109 else if( udp_request ){
klauss 45:c80574f24dc3 1110 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1111 }
klauss 45:c80574f24dc3 1112 }
klauss 45:c80574f24dc3 1113 pc.printf("debug [on|off|show] - seleciona debugs gerais | lista de debugs \n\r");
klauss 45:c80574f24dc3 1114 if( from_eth ){
klauss 45:c80574f24dc3 1115 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "debug [on|off|show] - seleciona debugs gerais | lista de debugs \n\r" );
klauss 45:c80574f24dc3 1116 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1117
klauss 45:c80574f24dc3 1118 else if( udp_request ){
klauss 45:c80574f24dc3 1119 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1120 }
klauss 45:c80574f24dc3 1121 }
klauss 45:c80574f24dc3 1122 pc.printf("flood [on|off] - simula envio de pacotes de audio\n\r");
klauss 45:c80574f24dc3 1123 if( from_eth ){
klauss 45:c80574f24dc3 1124 snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "flood [on|off] - simula envio de pacotes de audio\n\r");
klauss 45:c80574f24dc3 1125 if( tcp_session ) tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1126
klauss 45:c80574f24dc3 1127 else if( udp_request ){
klauss 45:c80574f24dc3 1128 udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1129 }
klauss 45:c80574f24dc3 1130 }
klauss 45:c80574f24dc3 1131 pc.printf("PROMPT VERSION: V%d\n\r",PVERSION);
klauss 45:c80574f24dc3 1132 //Obs :: a ultima linha nao mandamos direto pro tcp porque ela eh enviada fora desse escopo
klauss 45:c80574f24dc3 1133 if( from_eth ) snprintf( debug_buf,__PROMPT_ETH_BUFFER_SIZE__, "PROMPT VERSION: V%d\n\r",PVERSION);
klauss 27:98f824719d1c 1134 }
klauss 27:98f824719d1c 1135 /*
klauss 45:c80574f24dc3 1136 if ( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "callme ", 7 )) {
klauss 45:c80574f24dc3 1137 if ( debug_buf[16] != 0 && debug_buf[11] != 0x20 )
klauss 45:c80574f24dc3 1138 pc.printf("\n\r Error: formato errado! ramal=xxxx porta=xxxx \n\r");
klauss 45:c80574f24dc3 1139 else {
klauss 45:c80574f24dc3 1140 uint8_t data[300];
klauss 45:c80574f24dc3 1141 uint16_t cks=0;
klauss 45:c80574f24dc3 1142
klauss 45:c80574f24dc3 1143 //data[0] = (uint8_t)( (debug_buf[7]&0xf0)<<4 + (debug_buf[8]&0x0f) ) ;
klauss 45:c80574f24dc3 1144 //data[1] = (uint8_t)( (debug_buf[9]&0xf0)<<4 + (debug_buf[10]&0x0f) ) ;
klauss 45:c80574f24dc3 1145 //data[2] = (uint8_t)( (debug_buf[12]&0xf0)<<4 + (debug_buf[13]&0x0f) ) ;
klauss 45:c80574f24dc3 1146 /data[3] = (uint8_t)( (debug_buf[14]&0xf0)<<4 + (debug_buf[15]&0x0f) ) ;
klauss 45:c80574f24dc3 1147
klauss 45:c80574f24dc3 1148 data[0] = (uint8_t)( debug_buf[ 7 ] & 0xFF00 >> 8 );
klauss 45:c80574f24dc3 1149 data[1] = (uint8_t)( debug_buf[ 9 ] & 0x00FF );
klauss 45:c80574f24dc3 1150 data[2] = (uint8_t)( debug_buf[ 12 ] & 0xFF00 >> 8 );
klauss 45:c80574f24dc3 1151 data[3] = (uint8_t)( debug_buf[ 14 ] & 0x00FF );
klauss 45:c80574f24dc3 1152
klauss 45:c80574f24dc3 1153 data[6] = 0x04;
klauss 45:c80574f24dc3 1154 for (int i = 7; i < 300; i++) data[i] = 0x00;
klauss 45:c80574f24dc3 1155 cks = __checksum__(data,300);
klauss 45:c80574f24dc3 1156 data[4] = cks>>8;
klauss 45:c80574f24dc3 1157 data[5] = cks&0xff;
klauss 45:c80574f24dc3 1158
klauss 45:c80574f24dc3 1159 pc.printf("\n\r");
klauss 45:c80574f24dc3 1160 for( int i = 0; i < 300; i++ )
klauss 45:c80574f24dc3 1161 pc.printf("%x ", data[ i ] );
klauss 45:c80574f24dc3 1162 pc.printf("\n\r");
klauss 45:c80574f24dc3 1163
klauss 45:c80574f24dc3 1164 xmemcpy(TXBuffer,data,300);
klauss 45:c80574f24dc3 1165
klauss 45:c80574f24dc3 1166 pc.printf("\n\r");
klauss 45:c80574f24dc3 1167 for( int i = 0; i < 300; i++ )
klauss 45:c80574f24dc3 1168 pc.printf("%x ", data[ i ] );
klauss 45:c80574f24dc3 1169 pc.printf("\n\r");
klauss 45:c80574f24dc3 1170
klauss 45:c80574f24dc3 1171 send2callboxes();
klauss 45:c80574f24dc3 1172
klauss 45:c80574f24dc3 1173 pc.printf("\n\r calling callbox %s \n\r",debug_buf+7);
klauss 19:ab2088e0dec6 1174 }
klauss 45:c80574f24dc3 1175 }
klauss 45:c80574f24dc3 1176 */
klauss 45:c80574f24dc3 1177
klauss 45:c80574f24dc3 1178 if( miss_match ){
klauss 48:195c97f12e8e 1179 pc.printf("\n\r> %s: command not found\n\r", debug_buf );
klauss 45:c80574f24dc3 1180 if( from_eth ){
klauss 48:195c97f12e8e 1181 snprintf( debug_buf, __PROMPT_ETH_BUFFER_SIZE__, "> %s: command not found\n ", debug_buf );
klauss 45:c80574f24dc3 1182 debug_buf[ strlen( debug_buf ) - 1 ] = '\0';
klauss 45:c80574f24dc3 1183 }
klauss 45:c80574f24dc3 1184 }
klauss 45:c80574f24dc3 1185 else{
klauss 48:195c97f12e8e 1186 if( ( b != 0x0D ) && ( bufptr != 0 ) ) strcpy( last_debug_buf, debug_buf );
klauss 45:c80574f24dc3 1187 }
klauss 48:195c97f12e8e 1188 }
klauss 45:c80574f24dc3 1189 if( b == 0x0D || bufret == 1 || bufptr > DEBUGBUFSIZE ){
klauss 45:c80574f24dc3 1190 bufret = 0;
klauss 45:c80574f24dc3 1191 if( tcp_session ){
klauss 48:195c97f12e8e 1192 if( debug_buf[ strlen( debug_buf ) - 1 ] == '\r' || debug_buf[ strlen( debug_buf ) - 1 ] == '\n' ) strcat( debug_buf, "> " );
klauss 48:195c97f12e8e 1193
klauss 48:195c97f12e8e 1194 else strcat( debug_buf, "\n\r> " );
klauss 48:195c97f12e8e 1195
klauss 45:c80574f24dc3 1196 tcp_client.send_all( debug_buf, strlen( debug_buf ) );
klauss 48:195c97f12e8e 1197 //tcp_timer.reset();
klauss 45:c80574f24dc3 1198 }else if( udp_request ){
klauss 48:195c97f12e8e 1199 if( debug_buf[ strlen( debug_buf ) - 1 ] == '\r' || debug_buf[ strlen( debug_buf ) - 1 ] == '\n' ) strcat( debug_buf, "> " );
klauss 48:195c97f12e8e 1200
klauss 48:195c97f12e8e 1201 else strcat( debug_buf, "\n\r> " );
klauss 48:195c97f12e8e 1202
klauss 45:c80574f24dc3 1203 int sent = udp_server.sendTo( udp_client, debug_buf, strlen( debug_buf ) );
klauss 45:c80574f24dc3 1204 udp_request = false;
klauss 45:c80574f24dc3 1205 }else{
klauss 42:480335bdde12 1206 bufptr = 0;
klauss 42:480335bdde12 1207 for (uint8_t i =0; i < DEBUGBUFSIZE; i++) {
klauss 42:480335bdde12 1208 debug_buf[i] = 0;
klauss 42:480335bdde12 1209 }
klauss 45:c80574f24dc3 1210 }
klauss 48:195c97f12e8e 1211 from_eth = false;
klauss 48:195c97f12e8e 1212 debug_buf = __debug_buf__;
klauss 48:195c97f12e8e 1213 bufptr = last_bufptr;
klauss 45:c80574f24dc3 1214 pc.putc(0x0A);
klauss 45:c80574f24dc3 1215 pc.putc(0x0D);
klauss 45:c80574f24dc3 1216 pc.printf("> ");
klauss 45:c80574f24dc3 1217 }
klauss 36:728498a78e1e 1218 return( NULL );
klauss 42:480335bdde12 1219 }