#include <c++/Sensor.H>
Public Types | |
enum | Port { S1 = 0, S2, S3, Battery } |
List of sensor identifiers (IDs). More... | |
Public Member Functions | |
Sensor (const Port port, bool makeActive=false) | |
Construct a new sensor instance. More... | |
~Sensor () | |
Destroy this sensor instance. 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... | |
Basic sensor interface. 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:
enum Sensor::Port |
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 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) |
|
inline |
|
inline |
Set the sensor to active (provide voltage to connector)
Definition at line 133 of file Sensor.H.
References ds_active(), and sensor.
|
inline |
Get the current sensor reading.
Definition at line 109 of file Sensor.H.
References sensor.
Referenced by TemperatureSensor::C(), and sample().
|
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) |
|
inline |
Turn the sensor off (turn off voltage to connector)
Definition at line 145 of file Sensor.H.
References passive().
|
inline |
Turn the sensor on (provide voltage to connector)
Definition at line 139 of file Sensor.H.
References active().
Referenced by strobe().
|
inline |
Set the sensor to passive (turn off voltage to connector)
Definition at line 127 of file Sensor.H.
References ds_passive(), and sensor.
|
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) |
|
inline |
Quickly turn sensor off then back on.
|
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 |
|
protected |
The address of our sensor value.
Definition at line 181 of file Sensor.H.
Referenced by active(), LightSensor::get(), 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. |