#include <c++/TemperatureSensor.H>
Public Types | |
enum | Port { S1 = 0, S2, S3, Battery } |
List of sensor identifiers (IDs). 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.
enum Sensor::Port [inherited] |
List of sensor identifiers (IDs).
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
Possible Sensor Port Values
TemperatureSensor::TemperatureSensor | ( | const Sensor::Port | port | ) | [inline] |
Construct a temperature sensor.
At time of construction identify where it is connected.
port | The port to be associated with this instance |
Definition at line 62 of file TemperatureSensor.H.
TemperatureSensor::~TemperatureSensor | ( | ) | [inline] |
float TemperatureSensor::C | ( | ) | const [inline] |
Get the current temperature in Celsius.
Definition at line 74 of file TemperatureSensor.H.
float TemperatureSensor::F | ( | ) | const [inline] |
Get the current temperature in F.
Definition at line 83 of file TemperatureSensor.H.
References C().
int TemperatureSensor::tenths | ( | ) | const [inline] |
Get the current temperature in C * 10, as an int.
Definition at line 90 of file TemperatureSensor.H.
References C().
int TemperatureSensor::degrees | ( | ) | const [inline] |
Get the current temperature in C, as an int.
Definition at line 97 of file TemperatureSensor.H.
References C().
unsigned int Sensor::get | ( | ) | const [inline, inherited] |
Get the current sensor reading.
Reimplemented in LightSensor.
Definition at line 109 of file Sensor.H.
References Sensor::sensor.
void Sensor::mode | ( | bool | makeActive | ) | const [inline, inherited] |
Set the sensor (mode) to active or passive.
makeActive | - T/F - Where true means to go active (voltage is supplied to the connector pad) |
Definition at line 118 of file Sensor.H.
References Sensor::active(), and Sensor::passive().
void Sensor::passive | ( | ) | const [inline, inherited] |
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().
void Sensor::active | ( | ) | const [inline, inherited] |
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().
void Sensor::on | ( | ) | const [inline, inherited] |
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().
void Sensor::off | ( | ) | const [inline, inherited] |
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().
void Sensor::strobe | ( | ) | const [inline, inherited] |
Quickly turn sensor off then back on.
Definition at line 151 of file Sensor.H.
References Sensor::off(), and Sensor::on().
void Sensor::strobe | ( | const int | ms | ) | const [inline, inherited] |
Turn sensor off, wait for {ms} milliSeconds, then then turn it back on.
ms | - Number of milliSeconds to wait between off and back on |
Definition at line 158 of file Sensor.H.
References delay(), Sensor::off(), and Sensor::on().
unsigned int Sensor::sample | ( | unsigned int | size = 10 , |
|
int | wait = 2 | |||
) | const [inline, inherited] |
Get the average of {size} samples, waiting {wait} mSec between each sample.
size | - Number of samples to average (default = 10 samples) | |
wait | - time (in mS) to wait between samples (default = 2mS) |
Reimplemented in LightSensor.
Definition at line 167 of file Sensor.H.
References delay().
volatile unsigned int& Sensor::sensor [protected, inherited] |
The address of our sensor value.
Definition at line 181 of file Sensor.H.
Referenced by Sensor::active(), Sensor::get(), LightSensor::get(), RotationSensor::off(), RotationSensor::on(), Sensor::passive(), RotationSensor::pos(), and TouchSensor::pressed().
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2005 by the authors. |