voltando a versao de n aberturas e fechamentos de sockets data 19/09

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed EALib

Fork of header_main_publish by VZTECH

Committer:
klauss
Date:
Sat Sep 20 11:27:47 2014 +0000
Revision:
19:ab2088e0dec6
colinas_02

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