Versión sin post-procesado del software del VmRideR

Dependencies:   mbed

Committer:
JuanManuelAmador
Date:
Mon Jun 15 15:34:27 2015 +0000
Revision:
0:3d456b8ce449
prueba

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JuanManuelAmador 0:3d456b8ce449 1 #include "ParametrosCalibracion.h"
JuanManuelAmador 0:3d456b8ce449 2
JuanManuelAmador 0:3d456b8ce449 3 extern ScreenManager SC;
JuanManuelAmador 0:3d456b8ce449 4 extern SelecManager SM;
JuanManuelAmador 0:3d456b8ce449 5
JuanManuelAmador 0:3d456b8ce449 6
JuanManuelAmador 0:3d456b8ce449 7 void ParametrosCalibracion::leerValores(float* valores){ // Esta función guarda en un array de 6 float los valores de calibración
JuanManuelAmador 0:3d456b8ce449 8 // Se lee el archivo de valores de calibracion
JuanManuelAmador 0:3d456b8ce449 9 FILE* file;
JuanManuelAmador 0:3d456b8ce449 10 if((file = fopen("/local/Calibrat.vme","rb")) == NULL){ // Si no existe
JuanManuelAmador 0:3d456b8ce449 11 // Se crea un fichero con valores por defecto
JuanManuelAmador 0:3d456b8ce449 12 createDefaults();
JuanManuelAmador 0:3d456b8ce449 13 // Se devuelven los valores por defecto
JuanManuelAmador 0:3d456b8ce449 14 valores[0] = AX;
JuanManuelAmador 0:3d456b8ce449 15 valores[1] = AY;
JuanManuelAmador 0:3d456b8ce449 16 valores[2] = AZ;
JuanManuelAmador 0:3d456b8ce449 17 valores[3] = KX;
JuanManuelAmador 0:3d456b8ce449 18 valores[4] = KY;
JuanManuelAmador 0:3d456b8ce449 19 valores[5] = KZ;
JuanManuelAmador 0:3d456b8ce449 20 }else{ // El archivo ya existe
JuanManuelAmador 0:3d456b8ce449 21 // Se leen los 6 valores y se guardan en la dirección pasada como argumento
JuanManuelAmador 0:3d456b8ce449 22 fread(valores, 4, 6, file);
JuanManuelAmador 0:3d456b8ce449 23 }
JuanManuelAmador 0:3d456b8ce449 24 // Se cierra el fichero
JuanManuelAmador 0:3d456b8ce449 25 if(file != NULL){
JuanManuelAmador 0:3d456b8ce449 26 fclose(file);
JuanManuelAmador 0:3d456b8ce449 27 }
JuanManuelAmador 0:3d456b8ce449 28 }
JuanManuelAmador 0:3d456b8ce449 29
JuanManuelAmador 0:3d456b8ce449 30 void ParametrosCalibracion::createDefaults(){ // Esta función guarda en un array de 6 float los valores de calibración
JuanManuelAmador 0:3d456b8ce449 31 // Se cre un archivo con los valores por defecto de calibración
JuanManuelAmador 0:3d456b8ce449 32 FILE* file;
JuanManuelAmador 0:3d456b8ce449 33 file = fopen("/local/Calibrat.vme","wb");
JuanManuelAmador 0:3d456b8ce449 34
JuanManuelAmador 0:3d456b8ce449 35 // datos a aguradar en el fichero
JuanManuelAmador 0:3d456b8ce449 36 float datos[] = {AX, AY, AZ, KX, KY, KZ};
JuanManuelAmador 0:3d456b8ce449 37
JuanManuelAmador 0:3d456b8ce449 38 // Tamaño de los datos: 32 bits (4 bytes), número de datos : 6
JuanManuelAmador 0:3d456b8ce449 39 fwrite(datos, 4, 6, file);
JuanManuelAmador 0:3d456b8ce449 40
JuanManuelAmador 0:3d456b8ce449 41 // Se cierra el fichero
JuanManuelAmador 0:3d456b8ce449 42 fclose(file);
JuanManuelAmador 0:3d456b8ce449 43 }
JuanManuelAmador 0:3d456b8ce449 44
JuanManuelAmador 0:3d456b8ce449 45 // Guarda 6 nuevos valores de calibración
JuanManuelAmador 0:3d456b8ce449 46 void ParametrosCalibracion::saveValores(float valores[]){ // Esta función guarda en un array de 6 float los valores de calibración
JuanManuelAmador 0:3d456b8ce449 47 // Se cre un archivo con los valores por defecto de calibración
JuanManuelAmador 0:3d456b8ce449 48 FILE* file;
JuanManuelAmador 0:3d456b8ce449 49 file = fopen("/local/Calibrat.vme","wb");
JuanManuelAmador 0:3d456b8ce449 50
JuanManuelAmador 0:3d456b8ce449 51 // Tamaño de los datos: 32 bits (4 bytes), número de datos: 6
JuanManuelAmador 0:3d456b8ce449 52 fwrite(valores, 4, 6, file);
JuanManuelAmador 0:3d456b8ce449 53
JuanManuelAmador 0:3d456b8ce449 54 // Se cierra el fichero
JuanManuelAmador 0:3d456b8ce449 55 fclose(file);
JuanManuelAmador 0:3d456b8ce449 56 }