A simply library for the LM75B I2C temperature sensor
Fork of LM75B by
LM75B.cpp@2:c5b96558c242, 2017-04-28 (annotated)
- 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?
User | Revision | Line number | New 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 | } |