Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
Cola
Date:
Sat Sep 20 20:28:24 2014 +0000
Revision:
21:0bd688722e81
Parent:
20:2d6ab23956e5
Child:
22:d2a4b5939115
20-09-14

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 19:ab2088e0dec6 1 #include "mbed.h"
klauss 19:ab2088e0dec6 2 #include "stdint.h"
klauss 19:ab2088e0dec6 3 #include "configs.h"
klauss 19:ab2088e0dec6 4 #include "vz_protocol.h"
klauss 19:ab2088e0dec6 5 #include "parallelcpld.h"
Cola 21:0bd688722e81 6 #include "flood.h"
klauss 19:ab2088e0dec6 7 //#include "debug.h"
klauss 19:ab2088e0dec6 8
Cola 21:0bd688722e81 9 uint8_t debug_alive = 0;
klauss 19:ab2088e0dec6 10
klauss 19:ab2088e0dec6 11 #define PVERSION 1 // Sempre atualizar a versao do prompt
klauss 19:ab2088e0dec6 12
Cola 21:0bd688722e81 13 #define DEBUGBUFSIZE 50
klauss 19:ab2088e0dec6 14 char debug_buf[DEBUGBUFSIZE];
klauss 19:ab2088e0dec6 15 FILE *fip,*fmask,*fgate,*fport,*fsip,*fsport;
klauss 19:ab2088e0dec6 16 uint8_t dog = 1;
klauss 19:ab2088e0dec6 17 uint8_t debug_prompt = 0;
klauss 19:ab2088e0dec6 18 uint8_t bufptr = 0;
klauss 19:ab2088e0dec6 19
klauss 19:ab2088e0dec6 20
klauss 19:ab2088e0dec6 21 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 22 while (size--) {
klauss 19:ab2088e0dec6 23 if (*s1++ != *s2++) return 0; /* does not match */
klauss 19:ab2088e0dec6 24 }
klauss 19:ab2088e0dec6 25 return 1; /* matches */
klauss 19:ab2088e0dec6 26 }
klauss 19:ab2088e0dec6 27
klauss 19:ab2088e0dec6 28 uint8_t xstrmatch(const uint8_t * s1, const uint8_t * s2) { // presente na lib.h pode retirar da versao final
klauss 19:ab2088e0dec6 29 while (*s1) {
klauss 19:ab2088e0dec6 30 if (*s1++ != *s2++) return 0; /* does not match */
klauss 19:ab2088e0dec6 31 }
klauss 19:ab2088e0dec6 32 if ( *s2 == 0 )
klauss 19:ab2088e0dec6 33 return 1; /* matches */
klauss 19:ab2088e0dec6 34 else
klauss 19:ab2088e0dec6 35 return 0; /* does not match */
klauss 19:ab2088e0dec6 36 }
klauss 19:ab2088e0dec6 37
klauss 19:ab2088e0dec6 38 void xmemcpy(uint8_t * dest, const uint8_t * src, uint16_t size) { // presente na lib.h pode retirar da versao final
klauss 19:ab2088e0dec6 39 while (size--) *dest++ = *src++;
klauss 19:ab2088e0dec6 40 }
klauss 19:ab2088e0dec6 41
Cola 21:0bd688722e81 42 int str2uint (char * s, unsigned int * val) {
Cola 21:0bd688722e81 43 int i = 0;
Cola 21:0bd688722e81 44 unsigned int ret = 0;
Cola 21:0bd688722e81 45 for (;;) {
Cola 21:0bd688722e81 46 if (s[i] < '0') {
Cola 21:0bd688722e81 47 *val = ret;
Cola 21:0bd688722e81 48 return i;
Cola 21:0bd688722e81 49 }
Cola 21:0bd688722e81 50 ret *= 10;
Cola 21:0bd688722e81 51 ret += s[i] - '0';
Cola 21:0bd688722e81 52 i++;
Cola 21:0bd688722e81 53 }
Cola 21:0bd688722e81 54 }
klauss 19:ab2088e0dec6 55
klauss 19:ab2088e0dec6 56 void cat(const char* fname) // Print the content of a given file
klauss 19:ab2088e0dec6 57 {
klauss 19:ab2088e0dec6 58 char buff[513];
klauss 19:ab2088e0dec6 59 int num;
klauss 19:ab2088e0dec6 60
klauss 19:ab2088e0dec6 61 FILE *fp = fopen(fname, "r");
klauss 19:ab2088e0dec6 62 if (fp == NULL) {
klauss 19:ab2088e0dec6 63 pc.printf("Failed to open %s\n", fname);
klauss 19:ab2088e0dec6 64 return;
klauss 19:ab2088e0dec6 65 }
klauss 19:ab2088e0dec6 66
klauss 19:ab2088e0dec6 67 while ((num = fread(buff, 1, 512, fp)) > 0)
klauss 19:ab2088e0dec6 68 {
klauss 19:ab2088e0dec6 69 buff[num] = '\0';
klauss 19:ab2088e0dec6 70 pc.printf(buff);
klauss 19:ab2088e0dec6 71
klauss 19:ab2088e0dec6 72 }
klauss 19:ab2088e0dec6 73 fclose(fp);
klauss 19:ab2088e0dec6 74 }
klauss 19:ab2088e0dec6 75
klauss 19:ab2088e0dec6 76
klauss 19:ab2088e0dec6 77 void files (const char type) { // operantion with the system config files
klauss 19:ab2088e0dec6 78
klauss 19:ab2088e0dec6 79 if (type == 's' ){ // show files
klauss 19:ab2088e0dec6 80 pc.printf("\n\r");
klauss 19:ab2088e0dec6 81 pc.printf("1)IP, 2)MASK, 3)GATEWAY, 4)SIP PORT, 5)SERVER IP, 6)SERVER SIP PORT\n\r");
klauss 19:ab2088e0dec6 82 cat("/qspi/myip.txt");
klauss 19:ab2088e0dec6 83 cat("/qspi/mymask.txt");
klauss 19:ab2088e0dec6 84 cat("/qspi/mygate.txt");
klauss 19:ab2088e0dec6 85 cat("/qspi/mysipport.txt");
klauss 19:ab2088e0dec6 86 cat("/qspi/serverip.txt");
klauss 19:ab2088e0dec6 87 cat("/qspi/serverport.txt");
klauss 19:ab2088e0dec6 88 }
klauss 19:ab2088e0dec6 89
klauss 19:ab2088e0dec6 90
klauss 19:ab2088e0dec6 91 if (type == 'c' ){ // close all files
klauss 19:ab2088e0dec6 92 fclose(fip);
klauss 19:ab2088e0dec6 93 fclose(fmask);
klauss 19:ab2088e0dec6 94 fclose(fgate);
klauss 19:ab2088e0dec6 95 fclose(fport);
klauss 19:ab2088e0dec6 96 fclose(fsip);
klauss 19:ab2088e0dec6 97 fclose(fsport);
klauss 19:ab2088e0dec6 98
klauss 19:ab2088e0dec6 99 }
klauss 19:ab2088e0dec6 100
klauss 19:ab2088e0dec6 101 if (type == 'i' ){ // Check if files exist, if not create the files
klauss 19:ab2088e0dec6 102 fip = fopen("/qspi/myip.txt", "r");
klauss 19:ab2088e0dec6 103 if (fip == NULL){
klauss 19:ab2088e0dec6 104 fip = fopen("/qspi/myip.txt", "w");
klauss 19:ab2088e0dec6 105 fprintf(fip, "192.168.120.169\n\r"); //myip
klauss 19:ab2088e0dec6 106 }
klauss 19:ab2088e0dec6 107 fmask = fopen("/qspi/mymask.txt", "r");
klauss 19:ab2088e0dec6 108 if (fmask == NULL){
klauss 19:ab2088e0dec6 109 fmask = fopen("/qspi/mymask.txt", "w");
klauss 19:ab2088e0dec6 110 fprintf(fmask, "255.255.255.0\n\r"); //mymask
klauss 19:ab2088e0dec6 111 }
klauss 19:ab2088e0dec6 112 fgate = fopen("/qspi/mygateway.txt", "r");
klauss 19:ab2088e0dec6 113 if (fgate == NULL){
klauss 19:ab2088e0dec6 114 fgate = fopen("/qspi/mygate.txt", "w");
klauss 19:ab2088e0dec6 115 fprintf(fgate, "192.168.2.254\n\r"); //mygateway
klauss 19:ab2088e0dec6 116 }
klauss 19:ab2088e0dec6 117 fport = fopen("/qspi/mysipport.txt", "r");
klauss 19:ab2088e0dec6 118 if (fport == NULL){
klauss 19:ab2088e0dec6 119 fport = fopen("/qspi/mysipport.txt", "w");
klauss 19:ab2088e0dec6 120 fprintf(fport, "5075\n\r"); //mysipport
klauss 19:ab2088e0dec6 121 }
klauss 19:ab2088e0dec6 122 fsip = fopen("/qspi/serverip.txt", "r");
klauss 19:ab2088e0dec6 123 if (fsip == NULL){
klauss 19:ab2088e0dec6 124 fsip = fopen("/qspi/serverip.txt", "w");
klauss 19:ab2088e0dec6 125 fprintf(fsip, "192.168.30.25\n\r"); //asterisk ip
klauss 19:ab2088e0dec6 126 }
klauss 19:ab2088e0dec6 127 fsport = fopen("/qspi/serverport.txt", "r");
klauss 19:ab2088e0dec6 128 if (fsport == NULL){
klauss 19:ab2088e0dec6 129 fsport = fopen("/qspi/serverport.txt", "w");
klauss 19:ab2088e0dec6 130 fprintf(fsport, "5060\n\r"); //asterisk port
klauss 19:ab2088e0dec6 131 pc.printf("\n\r Default configurations set! \n\r");
klauss 19:ab2088e0dec6 132 }
klauss 19:ab2088e0dec6 133
klauss 19:ab2088e0dec6 134 }
klauss 19:ab2088e0dec6 135
klauss 19:ab2088e0dec6 136 if (type == 'r' ){ // Just open for read
klauss 19:ab2088e0dec6 137 fip = fopen("/qspi/myip.txt", "r");
klauss 19:ab2088e0dec6 138 fmask = fopen("/qspi/mymask.txt", "r");
klauss 19:ab2088e0dec6 139 fgate = fopen("/qspi/mygateway.txt", "r");
klauss 19:ab2088e0dec6 140 fport = fopen("/qspi/mysipport.txt", "r");
klauss 19:ab2088e0dec6 141 fsip = fopen("/qspi/serverip.txt", "r");
klauss 19:ab2088e0dec6 142 fsport = fopen("/qspi/serverport.txt", "r");
klauss 19:ab2088e0dec6 143 }
klauss 19:ab2088e0dec6 144
klauss 19:ab2088e0dec6 145 if (type == 'w'){ // Create and write the default configs
klauss 19:ab2088e0dec6 146 fip = fopen("/qspi/myip.txt", "w");
klauss 19:ab2088e0dec6 147 fmask = fopen("/qspi/mymask.txt", "w");
klauss 19:ab2088e0dec6 148 fgate = fopen("/qspi/mygateway.txt", "w");
klauss 19:ab2088e0dec6 149 fport = fopen("/qspi/mysipport.txt", "w");
klauss 19:ab2088e0dec6 150 fsip = fopen("/qspi/serverip.txt", "w");
klauss 19:ab2088e0dec6 151 fsport = fopen("/qspi/serverport.txt", "w");
klauss 19:ab2088e0dec6 152
klauss 19:ab2088e0dec6 153 fprintf(fip, "192.168.120.169\n\r"); //myip
klauss 19:ab2088e0dec6 154 fprintf(fmask, "255.255.255.0\n\r"); //mymask
klauss 19:ab2088e0dec6 155 fprintf(fgate, "192.168.2.254\n\r"); //mygateway
klauss 19:ab2088e0dec6 156 fprintf(fport, "5075\n\r"); //mysipport
klauss 19:ab2088e0dec6 157 fprintf(fsip, "192.168.30.25\n\r"); //asterisk ip
klauss 19:ab2088e0dec6 158 fprintf(fsport, "5060\n\r"); //asterisk port
klauss 19:ab2088e0dec6 159
klauss 19:ab2088e0dec6 160 files('c');
klauss 19:ab2088e0dec6 161
klauss 19:ab2088e0dec6 162 pc.printf("\n\r Default configurations set! \n\r");
klauss 19:ab2088e0dec6 163
klauss 19:ab2088e0dec6 164 }
klauss 19:ab2088e0dec6 165
klauss 19:ab2088e0dec6 166 }
klauss 19:ab2088e0dec6 167
klauss 19:ab2088e0dec6 168 void init_fsystem(){ // init file system and check if files exist
klauss 19:ab2088e0dec6 169 //if (!qspifs.isformatted()) {
klauss 19:ab2088e0dec6 170 // qspifs.format();
klauss 19:ab2088e0dec6 171 // pc.printf("File system configured!!\n\r");
klauss 19:ab2088e0dec6 172 // }
klauss 19:ab2088e0dec6 173
klauss 19:ab2088e0dec6 174 // files('i'); // check if the files are created
klauss 19:ab2088e0dec6 175 // files('c');
klauss 19:ab2088e0dec6 176 // pc.printf("*******System Ready*******\n\r");
klauss 19:ab2088e0dec6 177 }
klauss 19:ab2088e0dec6 178
klauss 19:ab2088e0dec6 179
klauss 19:ab2088e0dec6 180 void prompt_process(){ // main prompt process
klauss 19:ab2088e0dec6 181 volatile char b = 0;
klauss 19:ab2088e0dec6 182 static uint8_t bufret = 0;
klauss 19:ab2088e0dec6 183
klauss 19:ab2088e0dec6 184 if (pc.readable()){
klauss 19:ab2088e0dec6 185
klauss 19:ab2088e0dec6 186 b = pc.getc();
klauss 19:ab2088e0dec6 187
klauss 19:ab2088e0dec6 188 if (b == 0x0D){
klauss 19:ab2088e0dec6 189 bufret = 1;
klauss 19:ab2088e0dec6 190 }
klauss 19:ab2088e0dec6 191 else{
klauss 19:ab2088e0dec6 192 pc.putc(b);
klauss 19:ab2088e0dec6 193 debug_buf[bufptr] = b;
klauss 19:ab2088e0dec6 194 bufptr++;
klauss 19:ab2088e0dec6 195 }
klauss 19:ab2088e0dec6 196 }
klauss 19:ab2088e0dec6 197
klauss 19:ab2088e0dec6 198 if (bufret == 1){ // Prompt commands here
klauss 19:ab2088e0dec6 199
klauss 19:ab2088e0dec6 200
klauss 19:ab2088e0dec6 201 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "sconfig" )) {
klauss 19:ab2088e0dec6 202 pc.printf("\n\r");
klauss 19:ab2088e0dec6 203 files('s');
klauss 19:ab2088e0dec6 204 }
klauss 19:ab2088e0dec6 205
klauss 19:ab2088e0dec6 206
klauss 19:ab2088e0dec6 207 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "format" )) {
klauss 19:ab2088e0dec6 208 pc.printf("\n Formatando o sistema de arquivos... espere o sistema reiniciar \n\r");
klauss 19:ab2088e0dec6 209 //qspifs.format();
klauss 19:ab2088e0dec6 210 NVIC_SystemReset();
klauss 19:ab2088e0dec6 211 }
klauss 19:ab2088e0dec6 212
klauss 19:ab2088e0dec6 213 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ipset ",6 )) {
klauss 19:ab2088e0dec6 214 fip = fopen("/qspi/myip.txt", "w");
klauss 19:ab2088e0dec6 215 fprintf(fip,"%s\n\r",(debug_buf+6));
klauss 19:ab2088e0dec6 216 fclose(fip);
klauss 19:ab2088e0dec6 217 pc.printf("\n\r");
klauss 19:ab2088e0dec6 218 files('s');
klauss 19:ab2088e0dec6 219 }
klauss 19:ab2088e0dec6 220
klauss 19:ab2088e0dec6 221 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "maskset ",8 )) {
klauss 19:ab2088e0dec6 222 fmask = fopen("/qspi/mymask.txt", "w");
klauss 19:ab2088e0dec6 223 fprintf(fmask,"%s\n\r",(debug_buf+8));
klauss 19:ab2088e0dec6 224 fclose(fmask);
klauss 19:ab2088e0dec6 225 pc.printf("\n\r");
klauss 19:ab2088e0dec6 226 files('s');
klauss 19:ab2088e0dec6 227 }
klauss 19:ab2088e0dec6 228
klauss 19:ab2088e0dec6 229 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "gatewayset ",11 )) {
klauss 19:ab2088e0dec6 230 fgate = fopen("/qspi/mygate.txt", "w");
klauss 19:ab2088e0dec6 231 fprintf(fgate,"%s\n\r",(debug_buf+11));
klauss 19:ab2088e0dec6 232 fclose(fgate);
klauss 19:ab2088e0dec6 233 pc.printf("\n\r");
klauss 19:ab2088e0dec6 234 files('s');
klauss 19:ab2088e0dec6 235 }
klauss 19:ab2088e0dec6 236
klauss 19:ab2088e0dec6 237
klauss 19:ab2088e0dec6 238 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "msipport ",9 )) {
klauss 19:ab2088e0dec6 239 fport = fopen("/qspi/mysipport.txt", "w");
klauss 19:ab2088e0dec6 240 fprintf(fport,"%s\n\r",(debug_buf+9));
klauss 19:ab2088e0dec6 241 fclose(fport);
klauss 19:ab2088e0dec6 242 pc.printf("\n\r");
klauss 19:ab2088e0dec6 243 files('s');
klauss 19:ab2088e0dec6 244 }
klauss 19:ab2088e0dec6 245
klauss 19:ab2088e0dec6 246 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "serverip ",9 )) {
klauss 19:ab2088e0dec6 247 fsip = fopen("/qspi/serverip.txt", "w");
klauss 19:ab2088e0dec6 248 fprintf(fsip,"%s\n\r",(debug_buf+9));
klauss 19:ab2088e0dec6 249 fclose(fsip);
klauss 19:ab2088e0dec6 250 pc.printf("\n\r");
klauss 19:ab2088e0dec6 251 files('s');
klauss 19:ab2088e0dec6 252 }
klauss 19:ab2088e0dec6 253
klauss 19:ab2088e0dec6 254 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "ssport ",7 )) {
klauss 19:ab2088e0dec6 255 fsport = fopen("/qspi/serverport.txt", "w");
klauss 19:ab2088e0dec6 256 fprintf(fsport,"%s\n\r",(debug_buf+7));
klauss 19:ab2088e0dec6 257 fclose(fsport);
klauss 19:ab2088e0dec6 258 pc.printf("\n\r");
klauss 19:ab2088e0dec6 259 files('s');
klauss 19:ab2088e0dec6 260 }
klauss 19:ab2088e0dec6 261
klauss 19:ab2088e0dec6 262
klauss 19:ab2088e0dec6 263 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dconfig" )) {
klauss 19:ab2088e0dec6 264 files('w');
klauss 19:ab2088e0dec6 265 files('s');
klauss 19:ab2088e0dec6 266
klauss 19:ab2088e0dec6 267 }
klauss 19:ab2088e0dec6 268
klauss 19:ab2088e0dec6 269 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "reset" )) {
klauss 19:ab2088e0dec6 270 pc.printf("\n\r reset!!! \n\r");
klauss 19:ab2088e0dec6 271 pc.putc(0x01);
klauss 19:ab2088e0dec6 272 NVIC_SystemReset();
klauss 19:ab2088e0dec6 273 }
klauss 19:ab2088e0dec6 274
klauss 19:ab2088e0dec6 275 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "dog" )) {
klauss 19:ab2088e0dec6 276 pc.printf("\n\r MUUUUUUUuuuuUUUUUU - I'm not a dog!!!! \n\r");
klauss 19:ab2088e0dec6 277 dog = 0;
klauss 19:ab2088e0dec6 278 }
klauss 19:ab2088e0dec6 279
Cola 21:0bd688722e81 280 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "flood ",6 )) {
Cola 21:0bd688722e81 281 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "on",2 )){
Cola 21:0bd688722e81 282 pc.printf("\n\r\t Flood ON\n\r\t");
Cola 21:0bd688722e81 283 tflood.start();
Cola 21:0bd688722e81 284 tflood.reset();
Cola 21:0bd688722e81 285 floodcount =0;
Cola 21:0bd688722e81 286 pflood = 1;
Cola 21:0bd688722e81 287 }
Cola 21:0bd688722e81 288 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "off",3 )){
Cola 21:0bd688722e81 289 pc.printf("\n\r\t Flood OFF\n\r\t");
Cola 21:0bd688722e81 290 pflood = 0;
Cola 21:0bd688722e81 291 tflood.stop();
Cola 21:0bd688722e81 292 }
Cola 21:0bd688722e81 293 }
klauss 19:ab2088e0dec6 294
Cola 21:0bd688722e81 295 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "debug ",6 )) {
Cola 21:0bd688722e81 296 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "on",2 )){
Cola 21:0bd688722e81 297 pc.printf("\n\r\tDebug ON\n\r\t");
Cola 21:0bd688722e81 298 debug_alive = 1;
Cola 21:0bd688722e81 299 }
Cola 21:0bd688722e81 300 if (xmemmatch( (uint8_t*)(debug_buf+6), (uint8_t*) "off",3 )){
Cola 21:0bd688722e81 301 pc.printf("\n\r\tDebug OFF\n\r\t");
Cola 21:0bd688722e81 302 debug_alive = 0;
Cola 21:0bd688722e81 303 }
klauss 19:ab2088e0dec6 304 }
klauss 19:ab2088e0dec6 305
Cola 21:0bd688722e81 306 if( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "promptcb ", 9)) { //promptcb ramal porta comando
Cola 21:0bd688722e81 307 static int id_msg = 0x10;
Cola 21:0bd688722e81 308 uint8_t write_buffer[300];
Cola 21:0bd688722e81 309 unsigned int ext,port;
Cola 21:0bd688722e81 310 int ant1,ant2;
klauss 19:ab2088e0dec6 311
Cola 21:0bd688722e81 312 debug_buf[bufptr++] = 0x0D;
Cola 21:0bd688722e81 313 debug_buf[bufptr++] = 0x00;
Cola 21:0bd688722e81 314
Cola 21:0bd688722e81 315 ant1 = str2uint( (debug_buf+9), &ext);
Cola 21:0bd688722e81 316 ant2 = str2uint( ((debug_buf+9)+ant1+1), &port);
Cola 21:0bd688722e81 317
Cola 21:0bd688722e81 318 pc.printf("\r\next=%d port=%d\r\ncmd=%s\r\n",ext, port, debug_buf+9+ant1+2+ant2);
Cola 21:0bd688722e81 319
Cola 21:0bd688722e81 320 __send_to_cb__( __build_cb_package__( ext, port, __PROMPT__, debug_buf+9+ant1+2+ant2, id_msg++, __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__, write_buffer ) );
Cola 21:0bd688722e81 321 pc.printf("\n\rComando enviado\n\r");
klauss 19:ab2088e0dec6 322 }
klauss 19:ab2088e0dec6 323
klauss 19:ab2088e0dec6 324
klauss 19:ab2088e0dec6 325 if( xstrmatch( (uint8_t*)debug_buf, (uint8_t*) "help" )) {
klauss 19:ab2088e0dec6 326 pc.printf("\n\r****************************PROMPT HELP******************\n\r");
klauss 19:ab2088e0dec6 327 pc.printf("sconfig - mostra o arquivo de configuracao do sistema\n\r");
klauss 19:ab2088e0dec6 328 pc.printf("dconfig - volta as configuracoes do sistema para o padrao de fabrica\n\r");
klauss 19:ab2088e0dec6 329 pc.printf("callme [ramal porta] - envia o pedido de ligacao para o callbox com o ramal e porta indicada\n\r");
klauss 19:ab2088e0dec6 330 pc.printf("format - formata o sistema de arquivos\n\r");
klauss 19:ab2088e0dec6 331 pc.printf("reset - resta o sistema\n\r");
klauss 19:ab2088e0dec6 332 pc.printf("ipset [ip] - Configura o IP da cabeceira\n\r");
klauss 19:ab2088e0dec6 333 pc.printf("maskset [mask] - Configura a mascara da cabeceira\n\r");
klauss 19:ab2088e0dec6 334 pc.printf("gatewayset [gateway] - Configura o gateway da cabeceira\n\r");
klauss 19:ab2088e0dec6 335 pc.printf("msipport [port] - Configura a porta SIP da cabeceira\n\r");
klauss 19:ab2088e0dec6 336 pc.printf("serverip [ip] - Configura o ip do servidor asterisk\n\r");
klauss 19:ab2088e0dec6 337 pc.printf("ssport [port] - Configura a porta SIP do servidor asterisk\n\r");
klauss 19:ab2088e0dec6 338 pc.printf("\n\rPROMPT VERSION: V%d\n\r",PVERSION);
klauss 19:ab2088e0dec6 339 }
klauss 19:ab2088e0dec6 340 /*
klauss 19:ab2088e0dec6 341 if ( xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "callme ", 7 )) {
klauss 19:ab2088e0dec6 342 if ( debug_buf[16] != 0 && debug_buf[11] != 0x20 )
klauss 19:ab2088e0dec6 343 pc.printf("\n\r Error: formato errado! ramal=xxxx porta=xxxx \n\r");
klauss 19:ab2088e0dec6 344 else {
klauss 19:ab2088e0dec6 345 uint8_t data[300];
klauss 19:ab2088e0dec6 346 uint16_t cks=0;
klauss 19:ab2088e0dec6 347
klauss 19:ab2088e0dec6 348 //data[0] = (uint8_t)( (debug_buf[7]&0xf0)<<4 + (debug_buf[8]&0x0f) ) ;
klauss 19:ab2088e0dec6 349 //data[1] = (uint8_t)( (debug_buf[9]&0xf0)<<4 + (debug_buf[10]&0x0f) ) ;
klauss 19:ab2088e0dec6 350 //data[2] = (uint8_t)( (debug_buf[12]&0xf0)<<4 + (debug_buf[13]&0x0f) ) ;
klauss 19:ab2088e0dec6 351 /data[3] = (uint8_t)( (debug_buf[14]&0xf0)<<4 + (debug_buf[15]&0x0f) ) ;
klauss 19:ab2088e0dec6 352
klauss 19:ab2088e0dec6 353 data[0] = (uint8_t)( debug_buf[ 7 ] & 0xFF00 >> 8 );
klauss 19:ab2088e0dec6 354 data[1] = (uint8_t)( debug_buf[ 9 ] & 0x00FF );
klauss 19:ab2088e0dec6 355 data[2] = (uint8_t)( debug_buf[ 12 ] & 0xFF00 >> 8 );
klauss 19:ab2088e0dec6 356 data[3] = (uint8_t)( debug_buf[ 14 ] & 0x00FF );
klauss 19:ab2088e0dec6 357
klauss 19:ab2088e0dec6 358 data[6] = 0x04;
klauss 19:ab2088e0dec6 359 for (int i = 7; i < 300; i++) data[i] = 0x00;
klauss 19:ab2088e0dec6 360 cks = __checksum__(data,300);
klauss 19:ab2088e0dec6 361 data[4] = cks>>8;
klauss 19:ab2088e0dec6 362 data[5] = cks&0xff;
klauss 19:ab2088e0dec6 363
klauss 19:ab2088e0dec6 364 pc.printf("\n\r");
klauss 19:ab2088e0dec6 365 for( int i = 0; i < 300; i++ )
klauss 19:ab2088e0dec6 366 pc.printf("%x ", data[ i ] );
klauss 19:ab2088e0dec6 367 pc.printf("\n\r");
klauss 19:ab2088e0dec6 368
klauss 19:ab2088e0dec6 369 xmemcpy(TXBuffer,data,300);
klauss 19:ab2088e0dec6 370
klauss 19:ab2088e0dec6 371 pc.printf("\n\r");
klauss 19:ab2088e0dec6 372 for( int i = 0; i < 300; i++ )
klauss 19:ab2088e0dec6 373 pc.printf("%x ", data[ i ] );
klauss 19:ab2088e0dec6 374 pc.printf("\n\r");
klauss 19:ab2088e0dec6 375
klauss 19:ab2088e0dec6 376 send2callboxes();
klauss 19:ab2088e0dec6 377
klauss 19:ab2088e0dec6 378 pc.printf("\n\r calling callbox %s \n\r",debug_buf+7);
klauss 19:ab2088e0dec6 379 }
klauss 19:ab2088e0dec6 380
klauss 19:ab2088e0dec6 381 }
klauss 19:ab2088e0dec6 382 */
klauss 19:ab2088e0dec6 383 }
klauss 19:ab2088e0dec6 384
klauss 19:ab2088e0dec6 385 if (b == 0x0D || bufret == 1 || bufptr > DEBUGBUFSIZE ){
klauss 19:ab2088e0dec6 386 bufptr = 0;
klauss 19:ab2088e0dec6 387 for (uint8_t i =0; i < DEBUGBUFSIZE; i++){
klauss 19:ab2088e0dec6 388 debug_buf[i] = 0;
klauss 19:ab2088e0dec6 389 }
klauss 19:ab2088e0dec6 390 bufret = 0;
klauss 19:ab2088e0dec6 391 pc.putc(0x0A);
klauss 19:ab2088e0dec6 392 pc.putc(0x0D);
klauss 19:ab2088e0dec6 393 }
klauss 19:ab2088e0dec6 394 }