A simply library for the LM75B I2C temperature sensor

Dependents:   projectlab

Fork of LM75B by Chris Styles

Committer:
RianDeRous
Date:
Fri Apr 28 15:08:39 2017 +0000
Revision:
2:c5b96558c242
Parent:
1:6a70c9303bbe
school project;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris 0:1be38995591b 1 #include "LM75B.h"
chris 0:1be38995591b 2
RianDeRous 2:c5b96558c242 3
chris 0:1be38995591b 4 LM75B::LM75B(PinName sda, PinName scl) : i2c(sda, scl)
chris 0:1be38995591b 5 {
chris 0:1be38995591b 6 char cmd[2];
chris 0:1be38995591b 7 cmd[0] = LM75B_Conf;
chris 0:1be38995591b 8 cmd[1] = 0x0;
chris 0:1be38995591b 9 i2c.write( LM75B_ADDR, cmd, 2);
chris 0:1be38995591b 10 }
chris 0:1be38995591b 11
chris 0:1be38995591b 12
chris 0:1be38995591b 13
chris 0:1be38995591b 14 LM75B::~LM75B()
chris 0:1be38995591b 15 {
chris 0:1be38995591b 16
chris 0:1be38995591b 17 }
chris 0:1be38995591b 18
chris 0:1be38995591b 19 float LM75B::read()
chris 0:1be38995591b 20 {
chris 0:1be38995591b 21 char cmd[2];
chris 0:1be38995591b 22 cmd[0] = LM75B_Temp;
chris 0:1be38995591b 23
chris 0:1be38995591b 24 i2c.write( LM75B_ADDR, cmd, 1); // Send command string
chris 0:1be38995591b 25 i2c.read( LM75B_ADDR, cmd, 2); // Send command string
chris 0:1be38995591b 26 return ( float((cmd[0]<<8)|cmd[1]) / 256.0 );
chris 0:1be38995591b 27 }
RianDeRous 2:c5b96558c242 28
RianDeRous 2:c5b96558c242 29
RianDeRous 2:c5b96558c242 30 void LM75B::readRaw(int* a,int* b){
RianDeRous 2:c5b96558c242 31 char cmd[2];
RianDeRous 2:c5b96558c242 32 cmd[0] = LM75B_Temp;
RianDeRous 2:c5b96558c242 33
RianDeRous 2:c5b96558c242 34 i2c.write( LM75B_ADDR, cmd, 1); // Send command string
RianDeRous 2:c5b96558c242 35 i2c.read( LM75B_ADDR, cmd, 2); // Send command string
RianDeRous 2:c5b96558c242 36 if(cmd[1]&&0xf8>0) cmd[1]=cmd[1]||0xf8;
RianDeRous 2:c5b96558c242 37 *a = cmd[0];
RianDeRous 2:c5b96558c242 38 *b = cmd[1];
RianDeRous 2:c5b96558c242 39
RianDeRous 2:c5b96558c242 40 }