Index: trunk/absroot/source/absc/Control_Module/ServidorTCP.c =================================================================== diff --git a/trunk/absroot/source/absc/Control_Module/ServidorTCP.c b/trunk/absroot/source/absc/Control_Module/ServidorTCP.c --- a/trunk/absroot/source/absc/Control_Module/ServidorTCP.c (revision 77) +++ b/trunk/absroot/source/absc/Control_Module/ServidorTCP.c (revision 78) @@ -56,7 +56,7 @@ typedef struct control_module_parameters cmp; - +cmp parameters; /* * Zona de declaracion de cabeceras. */ @@ -79,7 +79,7 @@ int servSocket; int clntSocket; - cmp parameters; + char *rx_buffer = (char *) malloc(TAM_BUFFER); char *tx_buffer = (char *) malloc(TAM_BUFFER); @@ -230,10 +230,7 @@ tx_data = "OK"; } else if(strcmp(cmd,"CHGB") == 0){ - //cambia_apuntamiento(rx_data); - printf("%s\n",rx_data); - //cambia_apuntamiento(rx_data); - cambia_apuntamiento("1"); + cambia_apuntamiento(rx_data); tx_data = (char*)malloc(3); tx_data = "OK"; @@ -265,6 +262,8 @@ strcat(tx_buffer,tx_data); strcat(tx_buffer,":"); strcat(tx_buffer,crc); + strcat(tx_buffer,":"); + strcat(tx_buffer,"quit"); } @@ -325,7 +324,7 @@ // la longitud del archivo fread(buffer_temporal, sizeof(char), num_bytes, Archivo_Fd); - char *puntero= strstr(buffer_temporal,".abs"); // Se procede a eliminar la cabecera del archivo + char *puntero= strstr(buffer_temporal,".ab1"); // Se procede a eliminar la cabecera del archivo puntero= puntero + 12; buff_experimento = (char *) malloc(7*(num_filas-3)); // num_bytes_fila*(num_filas-3); @@ -356,7 +355,7 @@ int base= 7*puntero; // base= cantidad_bytes del dato x puntero // cantidad de bytes es el numero de bytes que - printf("%s\n%i\n",puntero_char,puntero); // contiene cada dato, para este caso es 7 + printf("%s\n",puntero_char); // contiene cada dato, para este caso es 7 // porque es 6 bits de datos + 1 bit del cambio // de linea. char valor_char; @@ -366,8 +365,7 @@ int offset; // Defino offset para el desplazamiento a traves for(offset=0;offset<6;offset++){ // de cada dato que se obtiene del "buff_experimento" - printf("tp1\n"); - printf("%i\n",base+offset); + valor_char= buff_experimento[base+offset]; // Obtengo el dato if (valor_char == '0'){ // Obtengo el nĂºmero acumulado segun sea un cero o un uno @@ -378,11 +376,8 @@ acumulado_unos= acumulado_unos + (1 << desplazamiento[offset]); } } - printf("tp2\n"); pio_out(pioc, maskc_out, acumulado_unos, 1); - printf("tp3\n"); pio_out(pioc, maskc_out, acumulado_ceros, 0); - printf("tp4\n"); return 1; @@ -401,6 +396,7 @@ FILE *fd; fd=fopen(filename,"w"); fprintf(fd,"%s\n","Verificacion"); + fprintf(fd,"%s",parameters.ID); fprintf(fd,"%s\n","------------"); cnt=0; do @@ -437,15 +433,18 @@ fclose(fd); - return 7*atoi(numero_muestras) + 26 + 1; //incluye eof + return 7*atoi(numero_muestras) + 26 + 4 + 1; //incluye eof } char* File2buffer(char *filename, int n){ FILE *fd; char* tx_data = (char *)malloc(n); fd = fopen(filename,"r"); - fread(tx_data, 1, n, fd); + fread(tx_data, 1, n-1, fd); fclose(fd); + tx_data = tx_data + n - 1; + *tx_data = '\0'; + tx_data = tx_data - n + 1; return tx_data; }