Lamp Class Reference

Lamp control interface. More...

#include <c++/Lamp.H>

Collaboration diagram for Lamp:

Public Types

enum  Port { A, B, C }
 The RCX output pad to which the Lamp is connected. More...
 

Public Member Functions

 Lamp (enum Port port)
 construct a lamp connected to {port} More...
 
 ~Lamp ()
 destroy our lamp instance More...
 
const void on () const
 Turn the Lamp on. More...
 
const void off () const
 Turn the Lamp off. More...
 
const void brightness (const unsigned char level) const
 Set the power to the lamp. More...
 

Private Member Functions

const void speed (const unsigned char speed) const
 
const void direction (const MotorDirection dir) const
 

Private Attributes

void(* ms )(unsigned char speed)
 
void(* md )(const MotorDirection dir)
 

Detailed Description

Lamp control interface.

Define a lamp connection to the RCX so we can turn the lamp on(), off() or set its brightness().

Note
Lamps are controlled via motor ports so this is based on the Motor.H code
See also
The other control classes: Motor, MotorPair, Sound

Definition at line 39 of file Lamp.H.

Member Enumeration Documentation

◆ Port

enum Lamp::Port

The RCX output pad to which the Lamp is connected.

Enumerator

RCX output pad A.

RCX output pad B.

RCX output pad C.

Definition at line 44 of file Lamp.H.

Constructor & Destructor Documentation

◆ Lamp()

Lamp::Lamp ( enum Port  port)
inline

construct a lamp connected to {port}

Parameters
portdesignator of pad to which this lamp is connected

Definition at line 54 of file Lamp.H.

◆ ~Lamp()

Lamp::~Lamp ( )
inline

destroy our lamp instance

Note
the lamp is turned off when the instance is destroyed

Definition at line 66 of file Lamp.H.

References off().

Member Function Documentation

◆ brightness()

const void Lamp::brightness ( const unsigned char  level) const
inline

Set the power to the lamp.

Parameters
levelthe desired power setting specifying the intensity of the light. [must be between min (0) and max (255)]
Returns
Nothing

Definition at line 83 of file Lamp.H.

References speed().

◆ direction()

const void Lamp::direction ( const MotorDirection  dir) const
inlineprivate

Definition at line 86 of file Lamp.H.

Referenced by off(), and on().

◆ off()

const void Lamp::off ( ) const
inline

Turn the Lamp off.

Returns
Nothing

Definition at line 76 of file Lamp.H.

References direction().

Referenced by ~Lamp().

◆ on()

const void Lamp::on ( ) const
inline

Turn the Lamp on.

Returns
Nothing

Definition at line 71 of file Lamp.H.

References direction(), and fwd.

◆ speed()

const void Lamp::speed ( const unsigned char  speed) const
inlineprivate

Definition at line 85 of file Lamp.H.

References speed().

Referenced by brightness(), and speed().

Member Data Documentation

◆ md

void(* Lamp::md) (const MotorDirection dir)
private

Definition at line 89 of file Lamp.H.

◆ ms

void(* Lamp::ms) (unsigned char speed)
private

Definition at line 88 of file Lamp.H.


The documentation for this class was generated from the following file:

brickOS is released under the Mozilla Public License.
Original code copyright 1998-2005 by the authors.

Generated for brickOS Kernel Developer by doxygen 1.8.13