example project to explain how to write a class library

Committer:
okano
Date:
Tue Nov 11 00:41:14 2014 +0000
Revision:
7:9a7235e5fe27
Parent:
5:863659ef0231
??????????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okano 0:6ecb302da815 1 #include "test_LM75B.h"
okano 0:6ecb302da815 2
okano 5:863659ef0231 3 test_LM75B::test_LM75B( PinName sda, PinName scl, char address )
okano 5:863659ef0231 4 : i2c_p( new I2C( sda, scl ) ), i2c( *i2c_p ), adr( address )
okano 5:863659ef0231 5 {
okano 5:863659ef0231 6 init();
okano 5:863659ef0231 7 }
okano 5:863659ef0231 8
okano 5:863659ef0231 9 test_LM75B::test_LM75B( I2C &i2c_obj, char address )
okano 5:863659ef0231 10 : i2c_p( NULL ), i2c( i2c_obj ), adr( address )
okano 0:6ecb302da815 11 {
okano 0:6ecb302da815 12 init();
okano 0:6ecb302da815 13 }
okano 0:6ecb302da815 14
okano 0:6ecb302da815 15 test_LM75B::~test_LM75B()
okano 0:6ecb302da815 16 {
okano 5:863659ef0231 17 if ( NULL != i2c_p )
okano 5:863659ef0231 18 delete i2c_p;
okano 0:6ecb302da815 19 }
okano 0:6ecb302da815 20
okano 0:6ecb302da815 21 void test_LM75B::init( void )
okano 0:6ecb302da815 22 {
okano 0:6ecb302da815 23 char command[ 2 ];
okano 0:6ecb302da815 24
okano 0:6ecb302da815 25 command[ 0 ] = LM75B_Conf;
okano 0:6ecb302da815 26 command[ 1 ] = 0x00;
okano 0:6ecb302da815 27
okano 1:239684cd8ae9 28 i2c.write( adr, command, 2 );
okano 0:6ecb302da815 29 }
okano 0:6ecb302da815 30
okano 0:6ecb302da815 31 float test_LM75B::read( void )
okano 0:6ecb302da815 32 {
okano 0:6ecb302da815 33 char command[ 2 ];
okano 0:6ecb302da815 34
okano 0:6ecb302da815 35 command[ 0 ] = LM75B_Temp;
okano 0:6ecb302da815 36
okano 1:239684cd8ae9 37 i2c.write( adr, command, 1 ); // Send command string
okano 1:239684cd8ae9 38 i2c.read( adr, command, 2 ); // read two bytes data
okano 0:6ecb302da815 39
okano 0:6ecb302da815 40 return ( (float)( (command[ 0 ] << 8)| command[1] ) / 256.0 );
okano 0:6ecb302da815 41 }
okano 0:6ecb302da815 42
okano 1:239684cd8ae9 43 test_LM75B::operator float( void )
okano 1:239684cd8ae9 44 {
okano 1:239684cd8ae9 45 return( read() );
okano 1:239684cd8ae9 46 }