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 06 19:26:36 2014 +0000
Revision:
44:cc4996469404
Parent:
43:455522f98de5
Child:
45:c80574f24dc3
tcp debug on

Who changed what in which revision?

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