OpenLCP  0.2.0
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
RDM::Device Class Reference

The RDM::Device class. More...

#include <device.h>

Inheritance diagram for RDM::Device:
Inheritance graph
[legend]

Public Member Functions

 Device (UID id=UID(), Device *parent=nullptr)
 Device::Device. More...
 
virtual ~Device ()
 Device::~Device.
 
void addSubDevice (uint16_t number, Device *dev)
 Device::addSubDevice. More...
 
DevicesubDevice (uint16_t number)
 Device::subDevice. More...
 
uint16_t subDeviceCount () const
 Device::subDeviceCount. More...
 
void addProductDetailId (uint16_t)
 Device::addProductDetailId. More...
 
void get (const MsgPtr message, MsgPtr response)
 Device::get. More...
 
void set (const MsgPtr message, MsgPtr response)
 Device::set. More...
 
virtual void identify (bool state)
 Device::identify. More...
 
virtual void reset (bool hard)
 Device::reset. More...
 
- Public Member Functions inherited from DMX::Device
 Device ()
 Device::Device.
 
uint16_t footprint () const
 Device::footprint. More...
 
uint8_t personality () const
 Device::personality. More...
 
uint8_t personalityCount () const
 Device::personalityCount. More...
 
uint16_t address () const
 Device::address. More...
 
virtual void setPersonality (uint8_t mode)
 Device::setPersonality. More...
 
virtual bool setAddress (uint16_t start)
 Device::setAddress. More...
 

Public Attributes

uint16_t deviceModelID
 model ID number
 
std::string deviceModelDescription
 model description
 
uint16_t deviceProductCategory
 device category
 

Protected Member Functions

void enqueueMessage (MsgPtr message, bool urgent=false)
 Device::enqueueMessage. More...
 
void enqueueStatus (StatusPtr status)
 Device::enqueueStatus. More...
 
bool actionPrep_ (const MsgPtr message, MsgPtr response)
 Device::actionPrep_. More...
 
void actionGetSupportedParameters (const MsgPtr message, MsgPtr response)
 Device::actionGetSupportedParameters. More...
 
void actionSetClearStatusId (const MsgPtr message, MsgPtr response)
 Device::actionSetClearStatusId. More...
 
void actionGetSubdeviceThreshold (const MsgPtr message, MsgPtr response)
 Device::actionGetSubdeviceThreshold. More...
 
void actionSetSubdeviceThreshold (const MsgPtr message, MsgPtr response)
 Device::actionSetSubdeviceThreshold. More...
 
void actionGetDeviceInfo (const MsgPtr message, MsgPtr response)
 Device::actionGetDeviceInfo. More...
 
void actionGetProductDetailIdList (const MsgPtr message, MsgPtr response)
 Device::actionGetProductDetailIdList. More...
 
void actionGetDevModelDescription (const MsgPtr message, MsgPtr response)
 Device::actionGetDevModelDescription. More...
 
void actionGetManufacturerLabel (const MsgPtr message, MsgPtr response)
 Device::actionGetManufacturerLabel. More...
 
void actionGetLanguage (const MsgPtr message, MsgPtr response)
 Device::actionGetLanguage. More...
 
void actionSetLanguage (const MsgPtr message, MsgPtr response)
 Device::actionSetLanguage. More...
 
void actionGetSoftwareVersionLabel (const MsgPtr message, MsgPtr response)
 Device::actionGetSoftwareVersionLabel. More...
 
void actionGetDmxPersonality (const MsgPtr message, MsgPtr response)
 Device::actionGetDmxPersonality. More...
 
void actionSetDmxPersonality (const MsgPtr message, MsgPtr response)
 Device::actionSetDmxPersonality. More...
 
void actionGetDmxPersonalityDesc (const MsgPtr message, MsgPtr response)
 Device::actionGetDmxPersonalityDesc. More...
 
void actionGetDmxStartAddress (const MsgPtr message, MsgPtr response)
 Device::actionGetDmxStartAddress. More...
 
void actionSetDmxStartAddress (const MsgPtr message, MsgPtr response)
 Device::actionSetDmxStartAddress. More...
 
void actionSensorDispatch (const MsgPtr message, MsgPtr response)
 Device::actionSensorDispatch. More...
 
void actionGetIdentifyDevice (const MsgPtr message, MsgPtr response)
 Device::actionGetIdentifyDevice. More...
 
void actionSetIdentifyDevice (const MsgPtr message, MsgPtr response)
 Device::actionSetIdentifyDevice. More...
 
void actionSetResetDevice (const MsgPtr message, MsgPtr response)
 Device::actionSetResetDevice. More...
 

Protected Attributes

UID id_
 device UID
 
std::unordered_map< uint16_t, Device * > sub_devices_
 sub devices
 
std::unordered_map< PID, Parameter * > parameters_
 parameters
 
std::vector< Sensor * > sensors_
 sensors
 
std::list< uint16_t > product_detail_list_
 product detail list
 
std::deque< MsgPtrqueued_messages_
 outbound message queue
 
UID controller_uid_
 controller UID
 
std::unordered_map< uint8_t, std::queue< StatusPtr > > queued_statuses_
 outbound status queue
 
- Protected Attributes inherited from DMX::Device
std::vector< Personality * > personalities_
 available personalities
 
uint8_t personality_
 index of current personality
 
uint16_t startAddress_
 DMX start address.
 

Friends

class Responder
 

Detailed Description

The RDM::Device class.

Constructor & Destructor Documentation

◆ Device()

RDM::Device::Device ( UID  id = UID(),
Device parent = nullptr 
)

Device::Device.

Parameters
id
parent

9.2.3 Required Sub-Device Messages Devices supporting the use of sub-devices shall support the SUPPORTED_PARAMETERS message in order for the controller to determine which additional messages are supported by the sub-devices.

10.3.4 Clear Status ID (CLEAR_STATUS_ID) This parameter is used to clear the status message queue.

10.3.5 Get/Set Sub-Device Status Reporting Threshold (SUB_DEVICE_STATUS_REPORT_THRESHOLD) This parameter is used to set the verbosity of Sub-Device reporting using the Status Type codes as enumerated in Table A-4 .

10.5.1 Get Device Info (DEVICE_INFO) This parameter is used to retrieve a variety of information about the device that is normally required by a controller.

10.5.2 Get Product Detail ID List (PRODUCT_DETAIL_ID_LIST) This parameter shall be used for requesting technology details for a device.

10.5.3 Get Device Model Description (DEVICE_MODEL_DESCRIPTION) This parameter provides a text description of up to 32 characters for the device model type.

10.5.4 Get Manufacturer Label (MANUFACTURER_LABEL) This parameter provides an ASCII text response with the Manufacturer name for the device of up to 32 characters.

10.5.7 Get Language Capabilities (LANGUAGE_CAPABILITIES) This parameter is used to identify languages that the device supports for using the LANGUAGE parameter.

10.5.8 Get/Set Language (LANGUAGE) This parameter is used to change the language of the messages from the device.

10.5.9 Get Software Version Label (SOFTWARE_VERSION_LABEL) This parameter is used to get a descriptive ASCII text label for the device’s operating software version.

10.6.1 Get/Set DMX512 Personality (DMX_PERSONALITY) This parameter is used to set the responder’s DMX512 Personality.

10.6.2 Get DMX512 Personality Description (DMX_PERSONALITY_DESCRIPTION) This parameter is used to get a descriptive ASCII text label for a given DMX512 Personality.

10.6.3 Get/Set DMX512 Starting Address (DMX_START_ADDRESS) This parameter is used to set or get the DMX512 start address.

10.7.1 Get Sensor Definition (SENSOR_DEFINITION) This parameter is used to retrieve the definition of a specific sensor.

10.7.2 Get/Set Sensor (SENSOR_VALUE) This parameter shall be used to retrieve or reset sensor data.

10.7.3 Record Sensors (RECORD_SENSORS) This parameter instructs devices such as dimming racks that monitor load changes to store the current value for monitoring sensor changes.

10.11.1 Get/Set Identify Device (IDENTIFY_DEVICE) This parameter is used for the user to physically identify the device represented by the UID.

10.11.2 Reset Device (RESET_DEVICE) This parameter is used to instruct the responder to reset itself.

Here is the call graph for this function:

Member Function Documentation

◆ actionGetDeviceInfo()

void RDM::Device::actionGetDeviceInfo ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetDeviceInfo.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ actionGetDevModelDescription()

void RDM::Device::actionGetDevModelDescription ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetDevModelDescription.

Parameters
message
response
Here is the caller graph for this function:

◆ actionGetDmxPersonality()

void RDM::Device::actionGetDmxPersonality ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetDmxPersonality.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ actionGetDmxPersonalityDesc()

void RDM::Device::actionGetDmxPersonalityDesc ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetDmxPersonalityDesc.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ actionGetDmxStartAddress()

void RDM::Device::actionGetDmxStartAddress ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetDmxStartAddress.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ actionGetIdentifyDevice()

void RDM::Device::actionGetIdentifyDevice ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetIdentifyDevice.

Parameters
message
response
Here is the caller graph for this function:

◆ actionGetLanguage()

void RDM::Device::actionGetLanguage ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetLanguage.

Parameters
message
response
Here is the caller graph for this function:

◆ actionGetManufacturerLabel()

void RDM::Device::actionGetManufacturerLabel ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetManufacturerLabel.

Parameters
message
response
Here is the caller graph for this function:

◆ actionGetProductDetailIdList()

void RDM::Device::actionGetProductDetailIdList ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetProductDetailIdList.

Parameters
message
response
Here is the caller graph for this function:

◆ actionGetSoftwareVersionLabel()

void RDM::Device::actionGetSoftwareVersionLabel ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetSoftwareVersionLabel.

Parameters
message
response
Here is the caller graph for this function:

◆ actionGetSubdeviceThreshold()

void RDM::Device::actionGetSubdeviceThreshold ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetSubdeviceThreshold.

Parameters
message
response
Here is the caller graph for this function:

◆ actionGetSupportedParameters()

void RDM::Device::actionGetSupportedParameters ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionGetSupportedParameters.

Parameters
message
response
Here is the caller graph for this function:

◆ actionPrep_()

bool RDM::Device::actionPrep_ ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionPrep_.

Parameters
message
response
Returns
Here is the caller graph for this function:

◆ actionSensorDispatch()

void RDM::Device::actionSensorDispatch ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionSensorDispatch.

Parameters
message
response
Here is the caller graph for this function:

◆ actionSetClearStatusId()

void RDM::Device::actionSetClearStatusId ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionSetClearStatusId.

Parameters
message
response
Here is the caller graph for this function:

◆ actionSetDmxPersonality()

void RDM::Device::actionSetDmxPersonality ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionSetDmxPersonality.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ actionSetDmxStartAddress()

void RDM::Device::actionSetDmxStartAddress ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionSetDmxStartAddress.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ actionSetIdentifyDevice()

void RDM::Device::actionSetIdentifyDevice ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionSetIdentifyDevice.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ actionSetLanguage()

void RDM::Device::actionSetLanguage ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionSetLanguage.

Parameters
message
response
Here is the caller graph for this function:

◆ actionSetResetDevice()

void RDM::Device::actionSetResetDevice ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionSetResetDevice.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ actionSetSubdeviceThreshold()

void RDM::Device::actionSetSubdeviceThreshold ( const MsgPtr  message,
MsgPtr  response 
)
protected

Device::actionSetSubdeviceThreshold.

Parameters
message
response
Here is the caller graph for this function:

◆ addProductDetailId()

void RDM::Device::addProductDetailId ( uint16_t  id)

◆ addSubDevice()

void RDM::Device::addSubDevice ( uint16_t  number,
Device dev 
)

Device::addSubDevice.

Parameters
number
devRoot devices (ie. Respoders) shall override with a meaningful implimentation

◆ enqueueMessage()

void RDM::Device::enqueueMessage ( MsgPtr  message,
bool  urgent = false 
)
protected

Device::enqueueMessage.

Parameters
message
urgent

only root devices have a message queue

◆ enqueueStatus()

void RDM::Device::enqueueStatus ( StatusPtr  status)
protected

Device::enqueueStatus.

Parameters
status

◆ get()

void RDM::Device::get ( const MsgPtr  message,
MsgPtr  response 
)

Device::get.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ identify()

void RDM::Device::identify ( bool  state)
virtual

Device::identify.

Parameters
state
Here is the caller graph for this function:

◆ reset()

void RDM::Device::reset ( bool  hard)
virtual

Device::reset.

Parameters
hard

Reimplemented in RDM::Responder.

Here is the caller graph for this function:

◆ set()

void RDM::Device::set ( const MsgPtr  message,
MsgPtr  response 
)

Device::set.

Parameters
message
response
Here is the call graph for this function:
Here is the caller graph for this function:

◆ subDevice()

Device * RDM::Device::subDevice ( uint16_t  number)

Device::subDevice.

Parameters
number
Returns

◆ subDeviceCount()

uint16_t RDM::Device::subDeviceCount ( ) const

Device::subDeviceCount.

Returns
Here is the call graph for this function:
Here is the caller graph for this function:

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