Temperature-sensor interface. More...
#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. More... | |
~TemperatureSensor () | |
Destroy this instance of TemperatureSensor. More... | |
float | C () const |
Get the current temperature in Celsius. More... | |
float | F () const |
Get the current temperature in F. More... | |
int | tenths () const |
Get the current temperature in C * 10, as an int. More... | |
int | degrees () const |
Get the current temperature in C, as an int. More... | |
unsigned int | get () const |
Get the current sensor reading. More... | |
void | mode (bool makeActive) const |
Set the sensor (mode) to active or passive. More... | |
void | passive () const |
Set the sensor to passive (turn off voltage to connector) More... | |
void | active () const |
Set the sensor to active (provide voltage to connector) More... | |
void | on () const |
Turn the sensor on (provide voltage to connector) More... | |
void | off () const |
Turn the sensor off (turn off voltage to connector) More... | |
void | strobe () const |
Quickly turn sensor off then back on. More... | |
void | strobe (const int ms) const |
Turn sensor off, wait for {ms} milliSeconds, then then turn it back on. More... | |
unsigned int | sample (unsigned int size=10, int wait=2) const |
Get the average of {size} samples, waiting {wait} mSec between each sample. More... | |
Protected Attributes | |
volatile unsigned int & | sensor |
The address of our sensor value. More... | |
Temperature-sensor interface.
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.
|
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
Enumerator | |
---|---|
S1 | RCX sensor port 1. |
S2 | RCX sensor port 2. |
S3 | RCX sensor port 3. |
Battery | RCX battery sensor. |
|
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.
|
inline |
Destroy this instance of TemperatureSensor.
Definition at line 67 of file TemperatureSensor.H.
|
inlineinherited |
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().
|
inline |
Get the current temperature in Celsius.
Definition at line 74 of file TemperatureSensor.H.
References Sensor::get().
|
inline |
Get the current temperature in C, as an int.
Definition at line 97 of file TemperatureSensor.H.
References C().
|
inline |
Get the current temperature in F.
Definition at line 83 of file TemperatureSensor.H.
References C().
|
inlineinherited |
Get the current sensor reading.
Definition at line 109 of file Sensor.H.
References Sensor::sensor.
Referenced by C(), and Sensor::sample().
|
inlineinherited |
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().
|
inlineinherited |
Turn the sensor off (turn off voltage to connector)
Definition at line 145 of file Sensor.H.
References Sensor::passive().
Referenced by Sensor::strobe(), and Sensor::~Sensor().
|
inlineinherited |
Turn the sensor on (provide voltage to connector)
Definition at line 139 of file Sensor.H.
References Sensor::active().
Referenced by Sensor::strobe().
|
inlineinherited |
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().
|
inlineinherited |
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) |
Definition at line 167 of file Sensor.H.
References delay(), and Sensor::get().
|
inlineinherited |
Quickly turn sensor off then back on.
Definition at line 151 of file Sensor.H.
References Sensor::off(), and Sensor::on().
|
inlineinherited |
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().
|
inline |
Get the current temperature in C * 10, as an int.
Definition at line 90 of file TemperatureSensor.H.
References C().
|
protectedinherited |
The address of our sensor value.
Definition at line 181 of file Sensor.H.
Referenced by Sensor::active(), LightSensor::get(), Sensor::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. |