TempSensor_NXP_Arduino 0.2.4
Temperature sensor device operation sample code for Arduino
Loading...
Searching...
No Matches
TempSensor.cpp
Go to the documentation of this file.
1#include "TempSensor.h"
2
3/* TempSensor class ******************************************/
4
5TempSensor::TempSensor( uint8_t i2c_address ) : I2C_device( i2c_address )
6{
7 // do nothing.
8 // leave it in default state.
9}
10
12{
13}
14
16{
17 return temp();
18}
19
20/* LM75B class ******************************************/
21
22LM75B::LM75B( uint8_t i2c_address ) : TempSensor( i2c_address )
23{
24 // do nothing.
25 // leave it in default state.
26}
27
29{
30}
31
33{
34 return read_r16( Temp ) / 256.0;
35}
36
37void LM75B::thresholds( float v0, float v1 )
38{
39 float higher = (v0 < v1) ? v1 : v0;
40 float lower = (v0 < v1) ? v0 : v1;
41
42 write_r16( Tos, ((uint16_t)(higher * 256.0)) & 0xFF80 );
43 write_r16( Thyst, ((uint16_t)(lower * 256.0)) & 0xFF80 );
44}
45
46void LM75B::os_mode( mode flag )
47{
48 bit_op8( Conf, ~0x02, flag << 1 );
49}
50
51
52/* PCT2075 class ******************************************/
53PCT2075::PCT2075( uint8_t i2c_address ) : LM75B( i2c_address )
54{
55 // do nothing.
56 // leave it in default state.
57}
58
60{
61}
62
63/* P3T1085 class ******************************************/
64
65P3T1085::P3T1085( uint8_t i2c_address ) : LM75B( i2c_address )
66{
67 // do nothing.
68 // leave it in default state.
69}
70
72{
73}
74
75void P3T1085::thresholds( float v0, float v1 )
76{
77 float higher = (v0 < v1) ? v1 : v0;
78 float lower = (v0 < v1) ? v0 : v1;
79
80 write_r16( T_HIGH, ((uint16_t)(higher * 256.0)) & 0xFFF0 );
81 write_r16( T_LOW, ((uint16_t)(lower * 256.0)) & 0xFFF0 );
82}
83
85{
86 bit_op16( Conf, ~0x0400, flag << 10 );
87}
88
89bool P3T1085::clear( void )
90{
91 return (read_r16( Conf ) & 0x1000) ? true : false;
92}
93
virtual float temp(void)
Definition: TempSensor.cpp:32
@ Temp
Definition: TempSensor.h:64
@ Conf
Definition: TempSensor.h:65
@ Tos
Definition: TempSensor.h:67
@ Thyst
Definition: TempSensor.h:66
virtual ~LM75B()
Definition: TempSensor.cpp:28
virtual void thresholds(float v0, float v1)
Definition: TempSensor.cpp:37
virtual void os_mode(mode flag)
Definition: TempSensor.cpp:46
LM75B(uint8_t i2c_address=(0x90 > > 1))
Definition: TempSensor.cpp:22
P3T1085(uint8_t i2c_address=(0x90 > > 1))
Definition: TempSensor.cpp:65
virtual bool clear(void)
Definition: TempSensor.cpp:89
virtual ~P3T1085()
Definition: TempSensor.cpp:71
virtual void os_mode(mode flag)
Definition: TempSensor.cpp:84
virtual void thresholds(float v0, float v1)
Definition: TempSensor.cpp:75
PCT2075(uint8_t i2c_address=(0x90 > > 1))
Definition: TempSensor.cpp:53
virtual ~PCT2075()
Definition: TempSensor.cpp:59
virtual float read(void)
Definition: TempSensor.cpp:15
TempSensor(uint8_t i2c_address)
Definition: TempSensor.cpp:5
virtual ~TempSensor()
Definition: TempSensor.cpp:11
virtual float temp(void)=0