example project to explain how to write a class library
test_LM75B.cpp@0:6ecb302da815, 2014-11-03 (annotated)
- Committer:
- okano
- Date:
- Mon Nov 03 00:06:50 2014 +0000
- Revision:
- 0:6ecb302da815
- Child:
- 1:239684cd8ae9
device access is made as a class
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okano | 0:6ecb302da815 | 1 | #include "test_LM75B.h" |
okano | 0:6ecb302da815 | 2 | |
okano | 0:6ecb302da815 | 3 | test_LM75B::test_LM75B( PinName sda, PinName scl ) : i2c( sda, scl ) |
okano | 0:6ecb302da815 | 4 | { |
okano | 0:6ecb302da815 | 5 | init(); |
okano | 0:6ecb302da815 | 6 | } |
okano | 0:6ecb302da815 | 7 | |
okano | 0:6ecb302da815 | 8 | test_LM75B::~test_LM75B() |
okano | 0:6ecb302da815 | 9 | { |
okano | 0:6ecb302da815 | 10 | } |
okano | 0:6ecb302da815 | 11 | |
okano | 0:6ecb302da815 | 12 | void test_LM75B::init( void ) |
okano | 0:6ecb302da815 | 13 | { |
okano | 0:6ecb302da815 | 14 | char command[ 2 ]; |
okano | 0:6ecb302da815 | 15 | |
okano | 0:6ecb302da815 | 16 | command[ 0 ] = LM75B_Conf; |
okano | 0:6ecb302da815 | 17 | command[ 1 ] = 0x00; |
okano | 0:6ecb302da815 | 18 | |
okano | 0:6ecb302da815 | 19 | i2c.write( ADDRESS_LM75B, command, 2 ); |
okano | 0:6ecb302da815 | 20 | } |
okano | 0:6ecb302da815 | 21 | |
okano | 0:6ecb302da815 | 22 | float test_LM75B::read( void ) |
okano | 0:6ecb302da815 | 23 | { |
okano | 0:6ecb302da815 | 24 | char command[ 2 ]; |
okano | 0:6ecb302da815 | 25 | |
okano | 0:6ecb302da815 | 26 | command[ 0 ] = LM75B_Temp; |
okano | 0:6ecb302da815 | 27 | |
okano | 0:6ecb302da815 | 28 | i2c.write( ADDRESS_LM75B, command, 1 ); // Send command string |
okano | 0:6ecb302da815 | 29 | i2c.read( ADDRESS_LM75B, command, 2 ); // read two bytes data |
okano | 0:6ecb302da815 | 30 | |
okano | 0:6ecb302da815 | 31 | return ( (float)( (command[ 0 ] << 8)| command[1] ) / 256.0 ); |
okano | 0:6ecb302da815 | 32 | } |
okano | 0:6ecb302da815 | 33 | |
okano | 0:6ecb302da815 | 34 |