test

Committer:
nk_ralph
Date:
Tue Jun 08 08:22:16 2021 +0000
Revision:
0:54613210d97a
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nk_ralph 0:54613210d97a 1 #include "mbed.h"
nk_ralph 0:54613210d97a 2 #include "ltc2309.h"
nk_ralph 0:54613210d97a 3
nk_ralph 0:54613210d97a 4 volatile unsigned int IKPa0[8];
nk_ralph 0:54613210d97a 5
nk_ralph 0:54613210d97a 6
nk_ralph 0:54613210d97a 7 I2C LTC2309(PB_9,PB_8);
nk_ralph 0:54613210d97a 8
nk_ralph 0:54613210d97a 9 // rem S/D O/S S1 S0 UNI SLP tableau de config pour les 8 entrées
nk_ralph 0:54613210d97a 10 volatile char LTC2309config[] = {0b10001000,0b11001000,0b10011000,0b11011000,0b10101000,0b11101000,0b10111000,0b11111000};
nk_ralph 0:54613210d97a 11 // calcul pression a partir de autozero
nk_ralph 0:54613210d97a 12 float pression(unsigned int IKPa, unsigned int IKPa_0)
nk_ralph 0:54613210d97a 13 {
nk_ralph 0:54613210d97a 14 float IKPai = IKPa; // AutoZéro
nk_ralph 0:54613210d97a 15 float IKPa_0i = IKPa_0; // Pression lue en temps réél
nk_ralph 0:54613210d97a 16 return (IKPai-IKPa_0i); // AutoZéro - Pression lue en temps réél = Valeur en Pascal
nk_ralph 0:54613210d97a 17 }
nk_ralph 0:54613210d97a 18
nk_ralph 0:54613210d97a 19 // Pour recuperer la valeur de la première case LTC2309config[0];
nk_ralph 0:54613210d97a 20 void LTC2309Init(void)
nk_ralph 0:54613210d97a 21 {
nk_ralph 0:54613210d97a 22 LTC2309.frequency(LTC2309Frequence);
nk_ralph 0:54613210d97a 23 }
nk_ralph 0:54613210d97a 24 void LTC2309Autozero(void)
nk_ralph 0:54613210d97a 25 {
nk_ralph 0:54613210d97a 26 // mesure a vide soufflerie arretee
nk_ralph 0:54613210d97a 27 IKPa0[0] = LTC2309read(CH0c); // AutoZéro de l'entrée 0
nk_ralph 0:54613210d97a 28 IKPa0[1] = LTC2309read(CH1c); // AutoZéro de l'entrée 1
nk_ralph 0:54613210d97a 29 IKPa0[2] = LTC2309read(CH2c); // AutoZéro de l'entrée 2
nk_ralph 0:54613210d97a 30 IKPa0[3] = LTC2309read(CH3c); // AutoZéro de l'entrée 3
nk_ralph 0:54613210d97a 31 IKPa0[4] = LTC2309read(CH4c); // AutoZéro de l'entrée 4
nk_ralph 0:54613210d97a 32 IKPa0[5] = LTC2309read(CH5c); // AutoZéro de l'entrée 5
nk_ralph 0:54613210d97a 33 IKPa0[6] = LTC2309read(CH6c); // AutoZéro de l'entrée 6
nk_ralph 0:54613210d97a 34 IKPa0[7] = LTC2309read(CH7c); // AutoZéro de l'entrée 7
nk_ralph 0:54613210d97a 35 }
nk_ralph 0:54613210d97a 36 // entree 0 a 7....
nk_ralph 0:54613210d97a 37 float LTC2309read(unsigned NumEntree)
nk_ralph 0:54613210d97a 38 {
nk_ralph 0:54613210d97a 39 LTC2309.start();
nk_ralph 0:54613210d97a 40 LTC2309.write(LTC2309Adresse); // adresse + r/w = 0 en lecture
nk_ralph 0:54613210d97a 41 LTC2309.write(LTC2309config[NumEntree]); // mot de config de l'entre
nk_ralph 0:54613210d97a 42 LTC2309.stop();
nk_ralph 0:54613210d97a 43 LTC2309.start();
nk_ralph 0:54613210d97a 44 LTC2309.write((LTC2309Adresse+1)); // r/w a 1 pour lectur
nk_ralph 0:54613210d97a 45 unsigned a = LTC2309.read(1) * 16 + LTC2309.read(1)/16; // decale a droite de 4 bit.
nk_ralph 0:54613210d97a 46 LTC2309.stop();
nk_ralph 0:54613210d97a 47 return pression(a,IKPa0[NumEntree]);
nk_ralph 0:54613210d97a 48 }