Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Class: Projector
#1
General Discussion

[INDENT]This thread is for discussion of the Projector device class. Projectors, for the most part, are very similar to the TV device class, however they have special needs enough to warrant their own device class. Given that they aren't very complex, in terms of this device class anyway, the overhead for a separate class isn't great.

The biggest difference between projectors and TVs, in general, is that projectors are much heavier weight devices, which often have high output and generate lots of heat. They therefore often require a warm up and cool down phase, to get the bulb up to working temperature on startup and down to safe levels before the fans can be turned off.[/INDENT]

Fields provided
[INDENT]Fields in this device class are in the form:

PROJ#fieldname

PROJ# indicates that it is part of the Projector device class and the fieldname part is defined below for each required field. There are no multi-unit considerations for projectors.
  • AspectRatio. This is a read/write field used to set the aspect ratio the projector should use. Projectors usually provide various aspect ratios to fit content of different shapes onto the available screen shapes. This MUST be a String field with an enumerated limit that lists the available aspect ratios. No pre-defined list is really practical, so client code MUST look at the values available in the field limit and present that list to the user. See below for a discussion of limited projector functionality wrt to AR.
  • OpAspectRatio. This MUST be a read-only string field used to indicate the current operating aspect ratio. See the comments below for why there are two fields. This one MAY have an enumerated limit but doesn't have to and generic client code shouldn't expect one.

Because some projectors have an asymmetrical set of settable vs. current aspect ratio settings, this class defines two separate fields. The AspectRatio is used to set an AR mode. And it always shows the last mode written to it, i.e. the last mode set. The OpAspectRatio is the current operating AR mode, which may be different. The reason being that some settable modes are 'auto' type modes, and they will result in a different actual operating AR.

If the projector allows you to read the current mode, then upon startup just store that in both fields. After that, only update the operating mode to show the current operating mode as reported by the projector. The settable mode field should only be updated via writes from the clients, and represents the last settable mode that was set. The exception would be if the projector actually exposes both modes separately and they are readable. In that case, then update both fields using reported values from the projector. Probably few would do this.

If the projector doesn't allow you to read the current mode, then include an Unknown value and set the operating AR field to that upon startup. Set the 'set' AR field to something reasonable initially. When clients set the mode by writing to Aspect ratio, just store that value in both fields as the currently set and operating modes. That's the best you can do. The driver MUST document this limitation. DO NOT include un-settable values in the set field, such as Unknown, since these are presented to the user to select from.
[/INDENT]

Multi-Unit Considerations
[INDENT]There is really no reasonable chance that there will ever be multi-unit concerns for projectors. [/INDENT]

Power Management Issues
[INDENT]Any drivers that implements this class MUST also implement Power.

Devices of this type typically use the full capabilities of the Power class. For many devices the PWR#Status field is a formality and all power transitions have occurred before the write to the PWR#Power fields has even returned, but in this case that's generally not going to happen. It will update the PWR#Status field as it goes through any warm-up or cool-down periods and eventually getting to the Ready or Off states requested.

[INDENT]* If a projector supports a standby mode, that is something outside of this device class and must be provided by driver specific functionality if the projector supports it. From the Power class' standpoint it would be considered Off.[/INDENT]
[/INDENT]

Backdoor Commands/Queries

[INDENT]There are none at this time[/INDENT]
Dean Roddey
Explorans limites defectum
Reply


Messages In This Thread
Class: Projector - by Dean Roddey - 05-01-2013, 05:56 PM
Class: Projector - by Dean Roddey - 05-01-2013, 05:56 PM
Class: Projector - by Dean Roddey - 05-01-2013, 05:56 PM
Class: Projector - by Dean Roddey - 05-01-2013, 05:56 PM
Class: Projector - by pjgregory - 05-14-2013, 12:53 AM
Class: Projector - by wuench - 05-14-2013, 04:18 AM
Class: Projector - by Dean Roddey - 05-14-2013, 11:00 AM
Class: Projector - by Dean Roddey - 05-27-2013, 12:47 PM
Class: Projector - by Mark Stega - 05-28-2013, 02:32 AM
Class: Projector - by Dean Roddey - 05-28-2013, 10:15 AM
Class: Projector - by Mark Stega - 09-23-2013, 09:19 AM
Class: Projector - by Dean Roddey - 09-23-2013, 10:58 AM
Class: Projector - by Dean Roddey - 09-23-2013, 12:19 PM
Class: Projector - by Mark Stega - 10-04-2013, 10:44 AM
Class: Projector - by Dean Roddey - 10-04-2013, 01:25 PM
Class: Projector - by Mark Stega - 10-05-2013, 03:46 AM
Class: Projector - by Dean Roddey - 10-05-2013, 12:28 PM
Class: Projector - by Dean Roddey - 10-05-2013, 09:13 PM
Class: Projector - by Mark Stega - 10-06-2013, 03:28 AM
Class: Projector - by Dean Roddey - 10-06-2013, 12:51 PM
Class: Projector - by Dean Roddey - 10-07-2013, 09:03 PM
Class: Projector - by rtarver - 05-09-2014, 05:54 PM
Class: Projector - by Dean Roddey - 05-10-2014, 04:36 AM
Class: Projector - by Dean Roddey - 05-10-2014, 04:42 AM
Class: Projector - by Mark Stega - 06-20-2014, 08:00 AM
Class: Projector - by Dean Roddey - 06-20-2014, 08:03 AM
Class: Projector - by Dean Roddey - 06-20-2014, 08:06 AM
Class: Projector - by Dean Roddey - 07-31-2014, 12:56 PM
Class: Projector - by Dean Roddey - 08-07-2014, 11:17 AM
Class: Projector - by Dean Roddey - 08-11-2014, 08:56 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Class: Security Dean Roddey 34 35,424 01-02-2019, 12:26 PM
Last Post: Dean Roddey
  Class: Weather Dean Roddey 6 6,688 10-11-2018, 11:09 AM
Last Post: Dean Roddey
  Class: Thermostat Dean Roddey 17 26,481 01-29-2016, 10:15 AM
Last Post: Dean Roddey
  Class: SceneCtrl Dean Roddey 20 20,841 03-31-2015, 12:38 PM
Last Post: Dean Roddey
  Class: Irrigation Dean Roddey 8 9,532 01-28-2015, 12:09 PM
Last Post: Dean Roddey
  Class: NowPlaying Dean Roddey 8 9,788 09-23-2014, 02:01 PM
Last Post: Dean Roddey
  Class: Switcher Dean Roddey 9 10,626 08-20-2014, 08:17 AM
Last Post: Dean Roddey
  Class: Lock Dean Roddey 5 7,197 07-31-2014, 01:24 PM
Last Post: Dean Roddey
  Class: ContactClosure Dean Roddey 7 8,746 07-31-2014, 10:14 AM
Last Post: Dean Roddey
  Class: DIO Dean Roddey 7 9,183 07-31-2014, 10:08 AM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)