Guest User

Untitled

a guest
Oct 17th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.61 KB | None | 0 0
  1. Archivo DB_BED_S.C:
  2. -------------------
  3.  
  4. - Línea 138:
  5. /* Instancia las variables involucradas */
  6. float kraft,          /* Fuerza de presión en MN                       */
  7.       kraft_diff=0.2, /* Diferencia de fuerza por refresco de pantalla */
  8.       kraft_old=0,    /* Fuerza anterior (cache)                       */
  9.       kraft_mitt,     /* Fuerza media en movimiento (Gleitender Mittelwert Kraft)                   */
  10.       ffak=0.5;       /* Factor para el promedio de movimiento (Filterfaktor für gleitende Mittelwertbildung) */
  11.  
  12.  
  13. - Línea 483:
  14. /* kraft (fuerza) = dw[2][14]. No puede ser menor de 4000 */
  15.  
  16. if (DB_DW[2][14] < 4000) kraft = 4000;
  17.   else kraft = DB_DW[2][14];
  18.  
  19. kraft = (((float) (kraft - 4000) * 0.03125) / 32.0) * 1.8;
  20.  
  21.  
  22. - Línea 794:
  23.  
  24. /* Si la diferencia entre la fuerza dada por el S5 y el promedio de fuerza anterior
  25.    es mayor de 0.2 calcula el nuevo promedio y lo escribe en pantalla.
  26.    Hará el cálculo también si init_proz es diferente de 0, es decir, si se encuentra
  27.    en proceso de inicialización de variables ya que, al principio, kraft_mitt está
  28.    sin inicializar y las dos primeras condiciones no tendrían sentido.
  29. */
  30.  
  31. if ((kraft - kraft_mitt) > kraft_diff || (kraft_mitt - kraft) > kraft_diff || init_proz)
  32. {
  33.   /* Valor resultante que escribe en pantalla en formato XX.X es
  34.   promedio = fuerza_anterior + factor * (diferencia de fuerza actual con respecto a la anterior) */
  35.  
  36.   kraft_mitt = kraft_old + ffak * (kraft - kraft_old);
  37.   cprintf("%2.1f", kraft_mitt);
  38.  
  39.   /* guarda la fuerza actual para hallar el promedio en el siguiente refresco */
  40.   kraft_old = kraft;
  41. }
Add Comment
Please, Sign In to add comment