Basic sensor interface. More...
#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.
|
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) |
Definition at line 167 of file Sensor.H.
References delay().
|
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. |
1.8.9.1