TP CAN DII4A

Dependencies:   mbed-rtos mbed

tHIH6130.cpp

Committer:
yoshiz37
Date:
2017-06-03
Revision:
0:f7a3b8c3f8ce

File content as of revision 0:f7a3b8c3f8ce:

#include "tHIH6130.h"

tHIH6130::tHIH6130(unsigned char aAdrHIH,I2C* apI2c)
{
    pI2c = apI2c;
    WrAdr = ((aAdrHIH)<<1) & 0xFE ;
    RdAdr = WrAdr | 0x01;
    
    
}


float   tHIH6130::getTemp(void)
{
    return Temp;
}



float   tHIH6130::getHumi(void)
{
    return Humi;
}
    
int     tHIH6130::StartMesure(void)
{
    int Res;
    pI2c->start();
    Res = pI2c->write(WrAdr);
    pI2c->stop();
    
    return Res;
}
    
int     tHIH6130::UpdateData(void)
{
    int Res;
    unsigned char   Data[4];
    unsigned int    Tmp;
    
    Res = pI2c->read(RdAdr,(char*)Data,4);
    
    // MAJ Humidité
    Tmp = Data[0] & 0x3F;
    Tmp <<= 8;
    Tmp += Data[1];
    
    Humi = ((float)Tmp / (float)16383)*float(100); 
    
    
    // MAJ Température
    Tmp = Data[2];
    Tmp <<= 8;
    Tmp += (Data[3] & 0xFC);
    Tmp >>=2;
    
    Temp = ((float)Tmp / (float)16383)*(float)165;
    Temp -= 40;
    
    return Res;
}