Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

LOW_devUnknown Class Reference

Device class for (yet) unknown 1-Wire devices. More...

#include <LOW_devUnknown.h>

Inheritance diagram for LOW_devUnknown:

Inheritance graph
[legend]
Collaboration diagram for LOW_devUnknown:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< LOW_devUnknown * > devUnknownPtrVec_t
 Vector type of class device pointers.

typedef std::vector< LOW_device * > devPtrVec_t
 Vector type of class device pointers.

typedef std::map< LOW_deviceID,
LOW_device * > 
deviceMap_t
 Map type of devices with LOW_deviceID as key.


Public Member Functions

 LOW_devUnknown (LOW_netSegment &inSegment, const LOW_deviceID &inDevID)
 Real constructor corresponding to static pseudo constructor new_Instance().

virtual ~LOW_devUnknown ()
 Destructor.

virtual const LOW_deviceIDRaw::devFamCode_t getFamilyCode () const
 Get the device's family code.

virtual const std::string getFamilyName () const
 Get the device's family name.

virtual LOW_deviceID getID () const
 Get the device's ROM ID.

virtual LOW_netSegmentgetNetSegment () const
 Get the network segment the device is on.

virtual bool verifyDevice (const bool inOnlyAlarm=false, const bool inDoReset=true) const
 Shortcut method to verify the presence of the device on it's network segment.


Static Public Attributes

const LOW_deviceIDRaw::devFamCode_t familyCode = LOW_device::unknownDev_famCode
 Family code of this specific device.

const std::string familyName = "Unknown device type"
 Family name of this specific device.

const LOW_deviceIDRaw::devFamCode_t anyDev_famCode = 0x00
 Pseudo family code for selecting any/all device types.

const LOW_deviceIDRaw::devFamCode_t unknownDev_famCode = 0xff
 Pseudo family code for unknown device types.

const owCommand_t MatchROM_COMMAND = 0x55
 1-Wire command byte constant

const owCommand_t ReadROM_COMMAND = 0x33
 1-Wire command byte constant

const owCommand_t SkipROM_COMMAND = 0xcc
 1-Wire command byte constant

const owCommand_t SearchROM_COMMAND = 0xf0
 1-Wire command byte constant

const owCommand_t SearchAlarmROM_COMMAND = 0xec
 1-Wire command byte constant


Protected Member Functions

virtual LOW_linkgetLink () const
 Get the link the device is on.

virtual void cmd_MatchROM () const
 Shortcut for issuing a matchROM command for a device.


Static Protected Member Functions

LOW_devicenew_Instance (LOW_netSegment &inNetSegment, const LOW_deviceID &inDevID)
 Static pseudo constructor for registering with LOW_deviceFactory.


Protected Attributes

const LOW_deviceID ID
 1-Wire ROM ID of the device

LOW_netSegmentnetSegment
 Network segment where the device is located.


Static Private Member Functions

int initialize ()
 Static inizializer to register the class with LOW_deviceFactory.


Static Private Attributes

int initHelper = initialize()
 Needed for dirty little C++ hack to force static initialization on application start.


Friends

class linkLock
 Needed to grant access to the protected getLink() method.


Detailed Description

Device class for (yet) unknown 1-Wire devices.

This class is thread-safe.

Author:
Harald Roelle

Definition at line 32 of file LOW_devUnknown.h.


Member Typedef Documentation

typedef std::map<LOW_deviceID,LOW_device*> LOW_device::deviceMap_t [inherited]
 

Map type of devices with LOW_deviceID as key.

Definition at line 101 of file LOW_device.h.

typedef std::vector<LOW_device*> LOW_device::devPtrVec_t [inherited]
 

Vector type of class device pointers.

Definition at line 100 of file LOW_device.h.

Referenced by LOW_netSegment::searchDevices().

typedef std::vector<LOW_devUnknown*> LOW_devUnknown::devUnknownPtrVec_t
 

Vector type of class device pointers.

Definition at line 42 of file LOW_devUnknown.h.


Constructor & Destructor Documentation

LOW_devUnknown::LOW_devUnknown LOW_netSegment inSegment,
const LOW_deviceID inDevID
 

Real constructor corresponding to static pseudo constructor new_Instance().

External power supply status is initially detected here.

Parameters:
inSegment Reference to network segment the device is on.
inDevID Reference to device's ID.

Definition at line 56 of file LOW_devUnknown.cpp.

Referenced by new_Instance().

LOW_devUnknown::~LOW_devUnknown  )  [virtual]
 

Destructor.

Definition at line 62 of file LOW_devUnknown.cpp.


Member Function Documentation

void LOW_device::cmd_MatchROM  )  const [protected, virtual, inherited]
 

Shortcut for issuing a matchROM command for a device.

Calls the corresponding method in LOW_netSegment.

Definition at line 102 of file LOW_device.cpp.

References LOW_netSegment::cmd_MatchROM(), and LOW_device::netSegment.

Referenced by LOW_devDS2406::cmd_ChannelAccess::cmd_ChannelAccess(), LOW_devDS1820::cmd_ConvertT(), LOW_devDS1820::cmd_CopyScratchpad(), LOW_devDS2890::cmd_Decrement(), LOW_devDS2890::cmd_Increment(), LOW_devDS2405::cmd_Match(), LOW_devDS2890::cmd_ReadControlRegister(), LOW_devDS2890::cmd_ReadPosition(), LOW_devDS1820::cmd_ReadPowerSupply(), LOW_devDS1820::cmd_ReadScratchpad(), LOW_devDS1820::cmd_RecallE2(), LOW_devDS2890::cmd_WriteControlRegister(), LOW_devDS2890::cmd_WritePosition(), LOW_devDS1820::cmd_WriteScratchpad(), LOW_devDS2406::cmd_WriteStatus(), and LOW_devDS2406::readMemUniversal().

virtual const LOW_deviceIDRaw::devFamCode_t LOW_devUnknown::getFamilyCode  )  const [inline, virtual]
 

Get the device's family code.

Note: Subclasses must implement this method to return their specific family code.

Returns:
Family name of the device.

Reimplemented from LOW_device.

Definition at line 86 of file LOW_devUnknown.h.

References LOW_deviceIDRaw::devFamCode_t, and familyCode.

virtual const std::string LOW_devUnknown::getFamilyName  )  const [inline, virtual]
 

Get the device's family name.

Note: Subclasses must implement this method to return a clear text name of their family.

Returns:
Family name of the device.

Reimplemented from LOW_device.

Definition at line 93 of file LOW_devUnknown.h.

References familyName.

LOW_deviceID LOW_device::getID  )  const [virtual, inherited]
 

Get the device's ROM ID.

Returns:
ROM ID of the device.

Definition at line 73 of file LOW_device.cpp.

References LOW_device::ID.

Referenced by LOW_netSegment::buryDevice(), LOW_netSegment::cmd_MatchROM(), LOW_compJalousieController::LOW_compJalousieController(), LOW_netSegment::removeDevice(), and LOW_netSegment::revitalizeDevice().

LOW_link & LOW_device::getLink  )  const [protected, virtual, inherited]
 

Get the link the device is on.

Returns:
Link the device is on.

Definition at line 96 of file LOW_device.cpp.

References LOW_netSegment::getLink(), and LOW_device::netSegment.

Referenced by LOW_devDS2406::cmd_ChannelAccess::cmd_ChannelAccess(), LOW_devDS1820::cmd_ConvertT(), LOW_devDS1820::cmd_CopyScratchpad(), LOW_devDS2890::cmd_Decrement(), LOW_devDS2890::cmd_Increment(), LOW_devDS2405::cmd_MatchRead(), LOW_devDS2890::cmd_ReadControlRegister(), LOW_devDS2890::cmd_ReadPosition(), LOW_devDS1820::cmd_ReadPowerSupply(), LOW_devDS1820::cmd_ReadScratchpad(), LOW_devDS1820::cmd_RecallE2(), LOW_devDS2405::cmd_SearchRead(), LOW_devDS2890::cmd_WriteControlRegister(), LOW_devDS2890::cmd_WritePosition(), LOW_devDS1820::cmd_WriteScratchpad(), LOW_devDS2406::cmd_WriteStatus(), LOW_devDS2406::cmd_ChannelAccess::readData(), LOW_devDS2406::cmd_ChannelAccess::readDataBit(), LOW_devDS2406::cmd_ChannelAccess::readDataByte(), LOW_devDS2406::readMemUniversal(), LOW_devDS2406::cmd_ChannelAccess::writeData(), and LOW_devDS2406::cmd_ChannelAccess::~cmd_ChannelAccess().

LOW_netSegment & LOW_device::getNetSegment  )  const [virtual, inherited]
 

Get the network segment the device is on.

Returns:
Network segment the device is on.

Definition at line 79 of file LOW_device.cpp.

References LOW_device::netSegment.

Referenced by LOW_compJalousieController::LOW_compJalousieController(), and LOW_compTwinSwitch::LOW_compTwinSwitch().

int LOW_devUnknown::initialize  )  [static, private]
 

Static inizializer to register the class with LOW_deviceFactory.

See also:
initHelper

Definition at line 31 of file LOW_devUnknown.cpp.

References familyCode, new_Instance(), and LOW_deviceFactory::registerSpecificCtor().

LOW_device * LOW_devUnknown::new_Instance LOW_netSegment inNetSegment,
const LOW_deviceID inDevID
[static, protected]
 

Static pseudo constructor for registering with LOW_deviceFactory.

Parameters:
inSegment Reference to network segment the device is on.
inDevID Reference to device's ID.
Returns:
New dynamic instance of specific device class.

Reimplemented from LOW_device.

Definition at line 44 of file LOW_devUnknown.cpp.

References LOW_devUnknown().

Referenced by initialize().

bool LOW_device::verifyDevice const bool  inOnlyAlarm = false,
const bool  inDoReset = true
const [virtual, inherited]
 

Shortcut method to verify the presence of the device on it's network segment.

See also:
LOW_netSegment::verifyDevice()

Definition at line 85 of file LOW_device.cpp.

References LOW_device::ID, LOW_device::netSegment, and LOW_netSegment::verifyDevice().

Referenced by LOW_compTwinSwitch::alarmPollLoop(), LOW_compTempSensor::checkAlarm(), LOW_devDS2405::cmd_SearchActive(), and LOW_devDS2405::cmd_SearchRead().


Friends And Related Function Documentation

friend class linkLock [friend, inherited]
 

Needed to grant access to the protected getLink() method.

Definition at line 184 of file LOW_device.h.

Referenced by LOW_devDS1820::cmd_ConvertT(), LOW_devDS1820::cmd_CopyScratchpad(), LOW_devDS2890::cmd_Decrement(), LOW_devDS2890::cmd_Increment(), LOW_devDS2405::cmd_Match(), LOW_devDS2405::cmd_MatchRead(), LOW_devDS2890::cmd_ReadControlRegister(), LOW_devDS2890::cmd_ReadPosition(), LOW_devDS1820::cmd_ReadPowerSupply(), LOW_devDS1820::cmd_ReadScratchpad(), LOW_devDS1820::cmd_RecallE2(), LOW_devDS2405::cmd_SearchActive(), LOW_devDS2405::cmd_SearchRead(), LOW_devDS2890::cmd_WriteControlRegister(), LOW_devDS2890::cmd_WritePosition(), LOW_devDS1820::cmd_WriteScratchpad(), LOW_devDS2406::cmd_WriteStatus(), and LOW_devDS2406::readMemUniversal().


Member Data Documentation

const LOW_deviceIDRaw::devFamCode_t LOW_device::anyDev_famCode = 0x00 [static, inherited]
 

Pseudo family code for selecting any/all device types.

Definition at line 73 of file LOW_device.h.

Referenced by LOW_netSegment::cmd_SearchROMVerify(), LOW_netSegment::getDevice(), LOW_netSegment::getDevices(), LOW_deviceFactory::registerSpecificCtor(), LOW_linkDS2490::searchDevices(), and LOW_link::searchDevices().

const LOW_deviceIDRaw::devFamCode_t LOW_devUnknown::familyCode = LOW_device::unknownDev_famCode [static]
 

Family code of this specific device.

Reimplemented from LOW_device.

Definition at line 51 of file LOW_devUnknown.h.

Referenced by getFamilyCode(), and initialize().

const std::string LOW_devUnknown::familyName = "Unknown device type" [static]
 

Family name of this specific device.

Reimplemented from LOW_device.

Definition at line 28 of file LOW_devUnknown.cpp.

Referenced by getFamilyName().

const LOW_deviceID LOW_device::ID [protected, inherited]
 

1-Wire ROM ID of the device

Definition at line 192 of file LOW_device.h.

Referenced by LOW_device::getID(), LOW_device::LOW_device(), and LOW_device::verifyDevice().

int LOW_devUnknown::initHelper = initialize() [static, private]
 

Needed for dirty little C++ hack to force static initialization on application start.

See also:
initialize()

Definition at line 30 of file LOW_devUnknown.cpp.

const owCommand_t LOW_device::MatchROM_COMMAND = 0x55 [static, inherited]
 

1-Wire command byte constant

Definition at line 88 of file LOW_device.h.

Referenced by LOW_netSegment::cmd_MatchROM().

LOW_netSegment& LOW_device::netSegment [protected, inherited]
 

Network segment where the device is located.

Definition at line 193 of file LOW_device.h.

Referenced by LOW_device::cmd_MatchROM(), LOW_device::getLink(), LOW_device::getNetSegment(), LOW_device::LOW_device(), LOW_device::verifyDevice(), and LOW_device::~LOW_device().

const owCommand_t LOW_device::ReadROM_COMMAND = 0x33 [static, inherited]
 

1-Wire command byte constant

Definition at line 89 of file LOW_device.h.

Referenced by LOW_netSegment::cmd_ReadROM().

const owCommand_t LOW_device::SearchAlarmROM_COMMAND = 0xec [static, inherited]
 

1-Wire command byte constant

Definition at line 92 of file LOW_device.h.

Referenced by LOW_linkDS2490::searchDevices(), and LOW_link::searchDevices().

const owCommand_t LOW_device::SearchROM_COMMAND = 0xf0 [static, inherited]
 

1-Wire command byte constant

Definition at line 91 of file LOW_device.h.

Referenced by LOW_linkDS2490::searchDevices(), and LOW_link::searchDevices().

const owCommand_t LOW_device::SkipROM_COMMAND = 0xcc [static, inherited]
 

1-Wire command byte constant

Definition at line 90 of file LOW_device.h.

Referenced by LOW_netSegment::cmd_SkipROM().

const LOW_deviceIDRaw::devFamCode_t LOW_device::unknownDev_famCode = 0xff [static, inherited]
 

Pseudo family code for unknown device types.

Definition at line 76 of file LOW_device.h.

Referenced by LOW_netSegment::getDevice(), LOW_netSegment::getDevices(), and LOW_deviceFactory::registerSpecificCtor().


The documentation for this class was generated from the following files:
Generated on Tue Feb 3 11:30:57 2004 for OneWireLibrary++ by doxygen 1.3.2