Home AMX User Forum AMX General Discussion

Sharp projector module question

Evening all!

I am having some problems with a system that is using Sharp XG-C335 projectors. I am loosing the ON/OFF state of the projector. Nothing fancy -

DEFINE_CALL 'Projector_On' // Turn on projector
{
PULSE [Proj, 27] // 27 is channel for POWER ON in Projector module
ON [BUTTON.INPUT.DEVICE, BUTTON.INPUT.CHANNEL]
}

DEFINE_CALL 'Projector_Off' // Turn off projector
{
PULSE [Proj, 28] // 28 is channel for POWER ON in Projector module
ON [BUTTON.INPUT.DEVICE, BUTTON.INPUT.CHANNEL]
}

The ON and OFF buttons on the TP are defined as mutually exclusive so the projector 'should' be either ON or OFF - not much choice.

On several visits to the site, some on/off buttons are displaying the wrong state or are off completely so I thought why not 'just' query the projector to determine if it is on or off and then update the button state in mainline.

I can't seem to find how/where to query if the projector is on or off. It must be in the module somewhere.

The projectors are controlled via IP.

Any suggestions would be welcome.

Comments

  • Assuming you're using the duet module for that projector, you should be able to tell power status based on channel feedback from the virtual device associated with the module. From the 'Sharp Generic VideoProjector Interface.doc' supplied with the 'Sharp_GenericVideoProjector_v1_0_2_dr1_0_0' module, it should be as follows:
    Channel 255 On or Off = Projector Power On or Off
    Channel 253 On = Projector Warming Up
    Channel 254 On = Projector Cooling Down
    
    For feedback, instead of manually turning the buttons on or off, you could simply set:
    [dvPanel,chProjPwrOnBtn] = [vdvProjector,255]
    [dvPanel,chProjPwrOffBtn] = ![vdvProjector,255]
    
    or something similar.

    I've found the duet modules for these projectors to be pretty reliable when I've used them. Hope that helps somewhat.
  • a_riot42a_riot42 Posts: 1,624
    PyroGuy wrote: »
    DEFINE_CALL 'Projector_On' // Turn on projector
    {
    PULSE [Proj, 27] // 27 is channel for POWER ON in Projector module
    ON [BUTTON.INPUT.DEVICE, BUTTON.INPUT.CHANNEL]
    }


    Excuse my ignorance but how can you use button.input outside of a button event?
    Paul
  • DHawthorneDHawthorne Posts: 4,584
    a_riot42 wrote: »
    Excuse my ignorance but how can you use button.input outside of a button event?
    Paul

    BUTTON.INPUT is a global variable and will store the very last button pressed. So, technically, it's good until another button event happens. It's not exactly safe, though, to use outside the event, because you can't absolutely guarantee nothing else is going to happen meanwhile.
  • PyroGuyPyroGuy Posts: 121
    Thanks Matt.

    That will do it - I overlooked Channel 255 as being the one for POWER.

    I'll put it in place next week when on site.

    Much appreciated!

    FYI - the button.input.device is in the sub-routine, called as part of the event. I suppose it is a bit sloppy and open to the 'meantime' noted by DHawthorne. Perhaps I should put that in the event so it is already captured before going to the sub-routine.

    Happy New Year to all.
Sign In or Register to comment.