10-10-2013, 12:15 PM
(This post was last modified: 07-31-2014, 10:45 AM by Dean Roddey.)
General Description
This thread is for discussion of the device class for the power and power status aspects of devices. After discussion it has become clear that there is enough to power state management and reporting to justify its being made into a separate class in order to support generic access to it.
The underlying reason for this device being created is that many devices, though powered on, are not necessarily ready to be used. So there will be good reasons to generically be able to power on or off a device, and then wait for the device to actually get up and ready or to be fully off. So we need a field to do the powering off and on, and a field to indicate standard power states.
Other device classes will be updated to remove power stuff from them, on the assumption that all V2 device (which have power concerns) will implement this device class.
Fields Provided
[INDENT]The fields provided by this device class have pre-determined names, and these MUST be implemented as indicated here. They are all prefixed by the device class prefix in the form:
PWR#sub~fieldname
where PWR# indicates it is a field of this device class, and fieldname meets the general requirements of CQC field names. It will not be uncommon that there will be multi-unit concerns, since many devices that support multiple internal powered units. If the device provides more than one powered source, then the sub~ part will be present and will indicate the specific source instances, see the Multi-Unit section below.
The fields provided by this class are:
Multi-Unit Considerations
[INDENT]It is not unlikely that this device class will be used within a device that supports multiple powered units. Where that is the case, apply the same per-unit prefix to these fields that are otherwise being used in that driver. That may be a fixed prefix driven by the type of device (say zones within an A/V receiver), or a user provided name applied to the units. So PWR#Z1~Status, and so forth.
If the device also has an overall power control, it MUST be give the sub-unit name Main, so PWR#Main~Power, etc... That of course means that none of the other sub-units can be called Main, which may require adjustment if the names are queried from the device.
[/INDENT]
Backdoor Commands/Queries
[INDENT]None are required at this time.[/INDENT]
This thread is for discussion of the device class for the power and power status aspects of devices. After discussion it has become clear that there is enough to power state management and reporting to justify its being made into a separate class in order to support generic access to it.
The underlying reason for this device being created is that many devices, though powered on, are not necessarily ready to be used. So there will be good reasons to generically be able to power on or off a device, and then wait for the device to actually get up and ready or to be fully off. So we need a field to do the powering off and on, and a field to indicate standard power states.
Other device classes will be updated to remove power stuff from them, on the assumption that all V2 device (which have power concerns) will implement this device class.
Fields Provided
[INDENT]The fields provided by this device class have pre-determined names, and these MUST be implemented as indicated here. They are all prefixed by the device class prefix in the form:
PWR#sub~fieldname
where PWR# indicates it is a field of this device class, and fieldname meets the general requirements of CQC field names. It will not be uncommon that there will be multi-unit concerns, since many devices that support multiple internal powered units. If the device provides more than one powered source, then the sub~ part will be present and will indicate the specific source instances, see the Multi-Unit section below.
The fields provided by this class are:
- Power. This field supports powering the device off and on. It MUST implement the Power semantic field type and MUST conform to the definition of that type.
- Status. This field is an enumerated, read-only field that indicates the power status of the device. It MUST implement the PowerState semantic field type and MUST conform to the definition of that type.
Multi-Unit Considerations
[INDENT]It is not unlikely that this device class will be used within a device that supports multiple powered units. Where that is the case, apply the same per-unit prefix to these fields that are otherwise being used in that driver. That may be a fixed prefix driven by the type of device (say zones within an A/V receiver), or a user provided name applied to the units. So PWR#Z1~Status, and so forth.
If the device also has an overall power control, it MUST be give the sub-unit name Main, so PWR#Main~Power, etc... That of course means that none of the other sub-units can be called Main, which may require adjustment if the names are queried from the device.
[/INDENT]
Backdoor Commands/Queries
[INDENT]None are required at this time.[/INDENT]
Dean Roddey
Explorans limites defectum
Explorans limites defectum