#include <c++/Sensor.H>
Inheritance diagram for Sensor:
Public Types | |
enum | Port { S1 = 0, S2, S3, Battery } |
List of sensor identifiers (IDs).Possible Sensor Port Values. More... | |
Public Member Functions | |
Sensor (const Port port, bool makeActive=false) | |
Construct a new sensor instance. | |
~Sensor () | |
Destroy this sensor instance. | |
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 the base class for all sensors.
At construction time you specify the RCX connector pad [Port] to which the sensor is attached and whether it should be powered (active/on) or not (passive/off).
The Sensor class provides methods to:
Definition at line 54 of file Sensor.H.
enum Sensor::Port |
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
Sensor::Sensor | ( | const Port | port, | |
bool | makeActive = false | |||
) | [inline] |
Construct a new sensor instance.
At time of construction identify where the sensor is connected and whether it should be active or passive (default is passive).
port | The port to be associated with this instance of a sensor | |
makeActive | T/F - Where true means make active (default is false, passive) |
Sensor::~Sensor | ( | ) | [inline] |
unsigned int Sensor::get | ( | ) | const [inline] |
Get the current sensor reading.
Reimplemented in LightSensor.
Definition at line 109 of file Sensor.H.
References sensor.
Referenced by TemperatureSensor::C(), and sample().
void Sensor::mode | ( | bool | makeActive | ) | const [inline] |
Set the sensor (mode) to active or passive.
makeActive | - T/F - Where true means to go active (voltage is supplied to the connector pad) |
void Sensor::passive | ( | ) | const [inline] |
Set the sensor to passive (turn off voltage to connector).
Definition at line 127 of file Sensor.H.
References ds_passive(), and sensor.
void Sensor::active | ( | ) | const [inline] |
Set the sensor to active (provide voltage to connector).
Definition at line 133 of file Sensor.H.
References ds_active(), and sensor.
void Sensor::on | ( | ) | const [inline] |
Turn the sensor on (provide voltage to connector).
Reimplemented in RotationSensor.
Definition at line 139 of file Sensor.H.
References active().
Referenced by strobe().
void Sensor::off | ( | ) | const [inline] |
Turn the sensor off (turn off voltage to connector).
Reimplemented in RotationSensor.
Definition at line 145 of file Sensor.H.
References passive().
void Sensor::strobe | ( | ) | const [inline] |
Quickly turn sensor off then back on.
void Sensor::strobe | ( | const int | ms | ) | const [inline] |
Turn sensor off, wait for {ms} milliSeconds, then then turn it back on.
ms | - Number of milliSeconds to wait between off and back on |
unsigned int Sensor::sample | ( | unsigned int | size = 10 , |
|
int | wait = 2 | |||
) | const [inline] |
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.
volatile unsigned int& Sensor::sensor [protected] |
The address of our sensor value.
Definition at line 181 of file Sensor.H.
Referenced by active(), get(), LightSensor::get(), RotationSensor::off(), RotationSensor::on(), passive(), RotationSensor::pos(), and TouchSensor::pressed().
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2005 by the authors. |