Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Archivo DB_BED_S.C:
- -------------------
- - Línea 138:
- /* Instancia las variables involucradas */
- float kraft, /* Fuerza de presión en MN */
- kraft_diff=0.2, /* Diferencia de fuerza por refresco de pantalla */
- kraft_old=0, /* Fuerza anterior (cache) */
- kraft_mitt, /* Fuerza media en movimiento (Gleitender Mittelwert Kraft) */
- ffak=0.5; /* Factor para el promedio de movimiento (Filterfaktor für gleitende Mittelwertbildung) */
- - Línea 483:
- /* kraft (fuerza) = dw[2][14]. No puede ser menor de 4000 */
- if (DB_DW[2][14] < 4000) kraft = 4000;
- else kraft = DB_DW[2][14];
- kraft = (((float) (kraft - 4000) * 0.03125) / 32.0) * 1.8;
- - Línea 794:
- /* Si la diferencia entre la fuerza dada por el S5 y el promedio de fuerza anterior
- es mayor de 0.2 calcula el nuevo promedio y lo escribe en pantalla.
- Hará el cálculo también si init_proz es diferente de 0, es decir, si se encuentra
- en proceso de inicialización de variables ya que, al principio, kraft_mitt está
- sin inicializar y las dos primeras condiciones no tendrían sentido.
- */
- if ((kraft - kraft_mitt) > kraft_diff || (kraft_mitt - kraft) > kraft_diff || init_proz)
- {
- /* Valor resultante que escribe en pantalla en formato XX.X es
- promedio = fuerza_anterior + factor * (diferencia de fuerza actual con respecto a la anterior) */
- kraft_mitt = kraft_old + ffak * (kraft - kraft_old);
- cprintf("%2.1f", kraft_mitt);
- /* guarda la fuerza actual para hallar el promedio en el siguiente refresco */
- kraft_old = kraft;
- }
Add Comment
Please, Sign In to add comment