RDM::Device Class Reference

The RDM::Device class. More...

`#include <device.h>`

Inheritance diagram for RDM::Device:
[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...
Device * | subDevice (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< MsgPtr > | queued_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 | ) |

Device::addProductDetailId.

Parameters

  id |

## addSubDevice()

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

Device::addSubDevice.

Parameters

  number |
  dev | Root 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:

- /home/kevin/Code/viewer/lib/OpenLCP/protocols/rdm/device.h
- /home/kevin/Code/viewer/lib/OpenLCP/protocols/rdm/device.cpp