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

LOW_devDS2401 Class Reference

Device class for DS2401 Silicon Serial Number. More...

#include <LOW_devDS2401.h>

Inheritance diagram for LOW_devDS2401:

Inheritance graph
[legend]
Collaboration diagram for LOW_devDS2401:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< LOW_devDS2401 * > devDS2401PtrVec_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_devDS2401 (LOW_netSegment &inSegment, const LOW_deviceID &inDevID)
 Real constructor corresponding to static pseudo constructor new_Instance().

virtual ~LOW_devDS2401 ()
 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 = 0x01
 Family code of this specific device.

const std::string familyName = "DS2401"
 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 DS2401 Silicon Serial Number.

DS2401 features:

This class is thread-safe.

Author:
Harald Roelle

Parts of the documentation by Dallas Semiconductors / Maxim Integrated Products

Definition at line 50 of file LOW_devDS2401.h.


Member Typedef Documentation

typedef std::vector<LOW_devDS2401*> LOW_devDS2401::devDS2401PtrVec_t
 

Vector type of class device pointers.

Definition at line 60 of file LOW_devDS2401.h.

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().


Constructor & Destructor Documentation

LOW_devDS2401::LOW_devDS2401 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_devDS2401.cpp.

Referenced by new_Instance().

LOW_devDS2401::~LOW_devDS2401  )  [virtual]
 

Destructor.

Definition at line 62 of file LOW_devDS2401.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_devDS2401::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 104 of file LOW_devDS2401.h.

References LOW_deviceIDRaw::devFamCode_t, and familyCode.

virtual const std::string LOW_devDS2401::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 111 of file LOW_devDS2401.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_devDS2401::initialize  )  [static, private]
 

Static inizializer to register the class with LOW_deviceFactory.

See also:
initHelper

Definition at line 31 of file LOW_devDS2401.cpp.

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

LOW_device * LOW_devDS2401::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_devDS2401.cpp.

References LOW_devDS2401().

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_devDS2401::familyCode = 0x01 [static]
 

Family code of this specific device.

Reimplemented from LOW_device.

Definition at line 69 of file LOW_devDS2401.h.

Referenced by getFamilyCode(), and initialize().

const std::string LOW_devDS2401::familyName = "DS2401" [static]
 

Family name of this specific device.

Reimplemented from LOW_device.

Definition at line 28 of file LOW_devDS2401.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_devDS2401::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_devDS2401.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:50 2004 for OneWireLibrary++ by doxygen 1.3.2