TempSensor_NXP_Arduino 1.1.0
Temperature sensor device operation sample code for Arduino
Loading...
Searching...
No Matches
TempSensor.h
Go to the documentation of this file.
1
9#ifndef ARDUINO_TEMP_SENSOR_H
10#define ARDUINO_TEMP_SENSOR_H
11
12#include <Arduino.h>
13#include <stdint.h>
14
15#include "I2C_device.h"
16
25class TempSensor : public I2C_device
26{
27public:
32
33 /*
34 * Methods to define class fundamental features, overridden by sub-classes
35 */
36 TempSensor( uint8_t i2c_address );
37 TempSensor( TwoWire& wire, uint8_t i2c_address );
38 virtual ~TempSensor();
39 virtual float temp( void ) = 0;
40
47 virtual float read( void );
48};
49
50
59class LM75B : public TempSensor
60{
61public:
69
74 LM75B( uint8_t i2c_address = (0x90 >> 1) );
75
81 LM75B( TwoWire& wire, uint8_t i2c_address = (0x90 >> 1) );
82
85 virtual ~LM75B();
86
91 virtual float temp( void ) override;
92
101 virtual void thresholds( float v0, float v1 );
102
107 virtual void os_mode( mode flag );
108
109#if DOXYGEN_ONLY
116 virtual float read( void );
117
122 bool ping( void );
123
131 int reg_w( uint8_t reg_adr, const uint8_t *data, uint16_t size );
132
140 int reg_w( uint8_t reg_adr, uint8_t data );
141
149 int reg_r( uint8_t reg_adr, uint8_t *data, uint16_t size );
150
156 uint8_t reg_r( uint8_t reg_adr );
157
163 void write_r8( uint8_t reg, uint8_t val );
164
172 void write_r16( uint8_t reg, uint16_t val );
173
179 uint8_t read_r8( uint8_t reg );
180
188 uint16_t read_r16( uint8_t reg );
189
198 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
199 void bit_op16( uint8_t reg, uint16_t mask, uint16_t value );
200#endif // DOXYGEN_ONLY
201};
202
203
212class PCT2075 : public LM75B
213{
214public:
223
228 PCT2075( uint8_t i2c_address = (0x90 >> 1) );
229
235 PCT2075( TwoWire& wire, uint8_t i2c_address = (0x90 >> 1) );
236
239 virtual ~PCT2075();
240
241#if DOXYGEN_ONLY
246 virtual float temp( void );
247
254 virtual float read( void );
255
264 virtual void thresholds( float v0, float v1 );
265
270 virtual void os_mode( mode flag );
271
276 bool ping( void );
282 void write_r8( uint8_t reg, uint8_t val );
283
291 void write_r16( uint8_t reg, uint16_t val );
292
298 uint8_t read_r8( uint8_t reg );
299
307 uint16_t read_r16( uint8_t reg );
308
317 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
318 void bit_op16( uint8_t reg, uint16_t mask, uint16_t value );
319#endif // DOXYGEN_ONLY
320};
321
322
331class P3T1755 : public LM75B
332{
333public:
341
346 P3T1755( uint8_t i2c_address = (0x98 >> 1) );
347
353 P3T1755( TwoWire& wire, uint8_t i2c_address = (0x98 >> 1) );
354
357 virtual ~P3T1755();
358
367 virtual void thresholds( float v0, float v1 ) override;
368
369#if DOXYGEN_ONLY
374 virtual float temp( void );
375
382 virtual float read( void );
383
388 virtual void os_mode( mode flag );
389
394 bool ping( void );
395
401 void write_r8( uint8_t reg, uint8_t val );
402
410 void write_r16( uint8_t reg, uint16_t val );
411
417 uint8_t read_r8( uint8_t reg );
418
426 uint16_t read_r16( uint8_t reg );
427
436 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
437 void bit_op16( uint8_t reg, uint16_t mask, uint16_t value );
438#endif // DOXYGEN_ONLY
439};
440
441
450class P3T1085 : public P3T1755
451{
452public:
457 P3T1085( uint8_t i2c_address = (0x90 >> 1) );
458
464 P3T1085( TwoWire& wire, uint8_t i2c_address = (0x90 >> 1) );
465
468 virtual ~P3T1085();
469
474 virtual void os_mode( mode flag ) override;
475
480 virtual bool clear( void );
481
482#if DOXYGEN_ONLY
487 virtual float temp( void );
488
495 virtual float read( void );
496
505 virtual void thresholds( float v0, float v1 );
506
511 bool ping( void );
512
520 void write_r16( uint8_t reg, uint16_t val );
521
529 uint16_t read_r16( uint8_t reg );
530
539 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
540 void bit_op16( uint8_t reg, uint16_t mask, uint16_t value );
541#endif // DOXYGEN_ONLY
542};
543
544
553class P3T1035 : public P3T1755
554{
555public:
563
568 P3T1035( uint8_t i2c_address = (0xE4 >> 1) );
569
575 P3T1035( TwoWire& wire, uint8_t i2c_address = (0xE0 >> 1) );
576
579 virtual ~P3T1035();
580
587 virtual void os_mode( mode flag );
588
589#if DOXYGEN_ONLY
594 virtual float temp( void );
595
602 virtual float read( void );
603
612 virtual void thresholds( float v0, float v1 ) override;
613
618 bool ping( void );
619
625 void write_r8( uint8_t reg, uint8_t val );
626
634 void write_r16( uint8_t reg, uint16_t val );
635
641 uint8_t read_r8( uint8_t reg );
642
650 uint16_t read_r16( uint8_t reg );
651
660 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
661 void bit_op16( uint8_t reg, uint16_t mask, uint16_t value );
662#endif // DOXYGEN_ONLY
663};
664
665
674class P3T2030 : public P3T1035
675{
676public:
684
689 P3T2030( uint8_t i2c_address = (0xE0 >> 1) );
690
696 P3T2030( TwoWire& wire, uint8_t i2c_address = (0xE4 >> 1) );
697
700 virtual ~P3T2030();
701
702#if DOXYGEN_ONLY
707 virtual float temp( void );
708
715 virtual float read( void );
716
725 virtual void thresholds( float v0, float v1 ) override;
726
733 virtual void os_mode( mode flag );
734
739 bool ping( void );
740
746 void write_r8( uint8_t reg, uint8_t val );
747
755 void write_r16( uint8_t reg, uint16_t val );
756
762 uint8_t read_r8( uint8_t reg );
763
771 uint16_t read_r16( uint8_t reg );
772
781 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
782 void bit_op16( uint8_t reg, uint16_t mask, uint16_t value );
783#endif // DOXYGEN_ONLY
784};
785
786#endif // ARDUINO_TEMP_SENSOR_H
bool ping(void)
virtual float read(void)
@ Thyst
Definition TempSensor.h:66
uint16_t read_r16(uint8_t reg)
void write_r16(uint8_t reg, uint16_t val)
int reg_w(uint8_t reg_adr, const uint8_t *data, uint16_t size)
void bit_op16(uint8_t reg, uint16_t mask, uint16_t value)
virtual float temp(void) override
uint8_t read_r8(uint8_t reg)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
int reg_r(uint8_t reg_adr, uint8_t *data, uint16_t size)
virtual ~LM75B()
void write_r8(uint8_t reg, uint8_t val)
virtual void thresholds(float v0, float v1)
int reg_w(uint8_t reg_adr, uint8_t data)
virtual void os_mode(mode flag)
LM75B(uint8_t i2c_address=(0x90 > > 1))
uint8_t reg_r(uint8_t reg_adr)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
void write_r16(uint8_t reg, uint16_t val)
uint16_t read_r16(uint8_t reg)
virtual float read(void)
void write_r8(uint8_t reg, uint8_t val)
virtual float temp(void)
virtual void thresholds(float v0, float v1) override
virtual ~P3T1035()
uint8_t read_r8(uint8_t reg)
bool ping(void)
void bit_op16(uint8_t reg, uint16_t mask, uint16_t value)
P3T1035(uint8_t i2c_address=(0xE4 > > 1))
virtual void os_mode(mode flag)
virtual float read(void)
void write_r16(uint8_t reg, uint16_t val)
P3T1085(uint8_t i2c_address=(0x90 > > 1))
virtual bool clear(void)
bool ping(void)
void bit_op16(uint8_t reg, uint16_t mask, uint16_t value)
virtual void os_mode(mode flag) override
virtual void thresholds(float v0, float v1)
virtual float temp(void)
virtual ~P3T1085()
uint16_t read_r16(uint8_t reg)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
void write_r8(uint8_t reg, uint8_t val)
virtual void os_mode(mode flag)
void bit_op16(uint8_t reg, uint16_t mask, uint16_t value)
void write_r16(uint8_t reg, uint16_t val)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
uint8_t read_r8(uint8_t reg)
virtual float temp(void)
virtual float read(void)
virtual ~P3T1755()
uint16_t read_r16(uint8_t reg)
P3T1755(uint8_t i2c_address=(0x98 > > 1))
bool ping(void)
virtual void thresholds(float v0, float v1) override
uint8_t read_r8(uint8_t reg)
virtual float temp(void)
void write_r16(uint8_t reg, uint16_t val)
virtual float read(void)
virtual ~P3T2030()
bool ping(void)
void write_r8(uint8_t reg, uint8_t val)
virtual void thresholds(float v0, float v1) override
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
virtual void os_mode(mode flag)
P3T2030(uint8_t i2c_address=(0xE0 > > 1))
uint16_t read_r16(uint8_t reg)
void bit_op16(uint8_t reg, uint16_t mask, uint16_t value)
virtual void os_mode(mode flag)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
PCT2075(uint8_t i2c_address=(0x90 > > 1))
void write_r16(uint8_t reg, uint16_t val)
virtual float temp(void)
virtual ~PCT2075()
bool ping(void)
void bit_op16(uint8_t reg, uint16_t mask, uint16_t value)
uint8_t read_r8(uint8_t reg)
virtual void thresholds(float v0, float v1)
void write_r8(uint8_t reg, uint8_t val)
uint16_t read_r16(uint8_t reg)
virtual float read(void)
virtual float read(void)
Definition TempSensor.cpp:9
TempSensor(uint8_t i2c_address)
Definition TempSensor.cpp:5
virtual ~TempSensor()
Definition TempSensor.cpp:7
virtual float temp(void)=0