#include <c++/TemperatureSensor.H>
Inheritance diagram for TemperatureSensor:
Public Types | |
enum | Port { S1 = 0, S2, S3, Battery } |
List of sensor identifiers (IDs). Possible Sensor Port Values. More... | |
Public Member Functions | |
TemperatureSensor (const Sensor::Port port) | |
Construct a temperature sensor. | |
~TemperatureSensor () | |
Destroy this instance of TemperatureSensor. | |
float | C () const |
Get the current temperature in Celsius. | |
float | F () const |
Get the current temperature in F. | |
int | tenths () const |
Get the current temperature in C * 10, as an int. | |
int | degrees () const |
Get the current temperature in C, as an int. | |
unsigned int | get () const |
Get the current sensor reading. | |
void | mode (bool makeActive) const |
Set the sensor (mode) to active or passive. | |
void | passive () const |
Set the sensor to passive (turn off voltage to connector). | |
void | active () const |
Set the sensor to active (provide voltage to connector). | |
void | on () const |
Turn the sensor on (provide voltage to connector). | |
void | off () const |
Turn the sensor off (turn off voltage to connector). | |
void | strobe () const |
Quickly turn sensor off then back on. | |
void | strobe (const int ms) const |
Turn sensor off, wait for {ms} milliSeconds, then then turn it back on. | |
unsigned int | sample (unsigned int size=10, int wait=2) const |
Get the average of {size} samples, waiting {wait} mSec between each sample. | |
Protected Attributes | |
volatile unsigned int & | sensor |
The address of our sensor value. |
This is class deals with temperature sensors
The methods include: TemperatureSensor(sensor port) C() returns a float which is the temperature in C. The sensor appears to have a resolution of ~1/8 degree. F() returns a float which is the temperature in F. tenths() returns an int which is the temperature in C * 10 degrees() returns an int which is the temperature in C
It also includes all methods in Sensor
N.B. the transform from sensor reading to temperature is done using a simple linear regression compared to my outdoor thermometer over the range of -20 to +30 C. I can not vouch for the accuracy or precision of these numbers! So if you have a well calibrated temperature monitor, and you can check my conversions, please let me know the results, and I can clean up the regression parameters.
Definition at line 53 of file TemperatureSensor.H.
|
List of sensor identifiers (IDs). Possible Sensor Port Values. S1, S2, S3 are connector pads 1, 2 and 3 on the RCX. Battery is the internal sensor allowing a program to read the current battery voltage in milliVolts
|
|
Construct a temperature sensor. At time of construction identify where it is connected.
Definition at line 62 of file TemperatureSensor.H. |
|
Destroy this instance of TemperatureSensor.
Definition at line 67 of file TemperatureSensor.H. |
|
Set the sensor to active (provide voltage to connector).
Definition at line 133 of file Sensor.H. References ds_active(), and Sensor::sensor. Referenced by Sensor::mode(), Sensor::on(), and Sensor::Sensor(). |
|
Get the current temperature in Celsius.
Definition at line 74 of file TemperatureSensor.H. References Sensor::get(). |
|
Get the current temperature in C, as an int.
Definition at line 97 of file TemperatureSensor.H. References C(). |
|
Get the current temperature in F.
Definition at line 83 of file TemperatureSensor.H. References C(). |
|
Get the current sensor reading.
Reimplemented in LightSensor. Definition at line 109 of file Sensor.H. References Sensor::sensor. Referenced by C(), and Sensor::sample(). |
|
Set the sensor (mode) to active or passive.
Definition at line 118 of file Sensor.H. References Sensor::active(), and Sensor::passive(). |
|
Turn the sensor off (turn off voltage to connector).
Reimplemented in RotationSensor. Definition at line 145 of file Sensor.H. References Sensor::passive(). Referenced by Sensor::strobe(), and Sensor::~Sensor(). |
|
Turn the sensor on (provide voltage to connector).
Reimplemented in RotationSensor. Definition at line 139 of file Sensor.H. References Sensor::active(). Referenced by Sensor::strobe(). |
|
Set the sensor to passive (turn off voltage to connector).
Definition at line 127 of file Sensor.H. References ds_passive(), and Sensor::sensor. Referenced by Sensor::mode(), Sensor::off(), and Sensor::Sensor(). |
|
Get the average of {size} samples, waiting {wait} mSec between each sample.
Reimplemented in LightSensor. Definition at line 167 of file Sensor.H. References delay(), and Sensor::get(). |
|
Turn sensor off, wait for {ms} milliSeconds, then then turn it back on.
Definition at line 158 of file Sensor.H. References delay(), Sensor::off(), and Sensor::on(). |
|
Quickly turn sensor off then back on.
Definition at line 151 of file Sensor.H. References Sensor::off(), and Sensor::on(). |
|
Get the current temperature in C * 10, as an int.
Definition at line 90 of file TemperatureSensor.H. References C(). |
|
The address of our sensor value.
Definition at line 181 of file Sensor.H. Referenced by Sensor::active(), Sensor::get(), Sensor::passive(), and Sensor::Sensor(). |
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2002 by the authors. |