Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Wed Oct 22 13:53:49 2014 +0000
Revision:
54:448d57291be6
Parent:
53:bb492a8f115a
Child:
55:2f5e7374af9d
set_ip -- ok

Who changed what in which revision?

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