Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Thu Oct 23 14:35:28 2014 +0000
Revision:
56:c64bcbaa621a
Parent:
55:2f5e7374af9d
Child:
57:78f7191a8b69
versao com sets das variaveis de configuracao de sistema via prompt

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