problem with EPSON EMP-1825 Projector
nishadsyd
Posts: 7
We recently replaced EPSON EMP 835 with New EMP-1825 Projector in one of the board room.It is in a remote location and the RS 232 codes for New and old is exactly same, so we didn't update the programming part.Now the problem is ,everything works....except that there is a lag time in controlling the new projector.Any idea?
0
Comments
The protocol may be similar but the 2 projectors respond differently and feedback different information from a common poll PWR?. Take a look at the ESC/VP21 Command User guide from Epson.
I suspect the old code is looking for specific feedback and is not finding that feedback to cancel default wait times. You can't know for sure without looking at the code.
Here is the part of code.Please note that we have 3 projector in this room.Other 2 are EMP-835 and one is EMP-1825
DEFINE_CONSTANT
PROJ_ON = 'PWR ON'
PROJ_OFF = 'PWR OFF'
PROJ_VIDEO = 'SOURCE 41'
PROJ_PC1 = 'SOURCE 11'
DEFINE_CALL 'PROJ1 CONTROL'
{
INPUT_PROJ_1 = INPUT
IF(SYSTEM_1_FIRST_RUN)
{
DO_PUSH (dvTP_LIGHTS,LIGHT_50)//DIM LIGHTS
OFF[SYSTEM_1_FIRST_RUN]
}
IF(PROJ1_PWR_STATUS = 0)
{
SEND_STRING dvProj_1, "PROJ_ON,$0D"
DO_PUSH (DVTP,SELECT_SCREEN_DOWN)
DO_PUSH (DVTP,SELECT_LIFT_DOWN)
WAIT 250 SEND_STRING dvProj_1, "INPUT_PROJ_1,$0D"
}
ELSE SEND_STRING dvProj_1, "INPUT_PROJ_1,$0D"
}
DATA_EVENT[dvProj_1]
{
ONLINE:
{
TIMEARRAY[1] = 5000
TIMELINE_CREATE (TL_PROJ_RM01_POLL, TimeArray, 1, TIMELINE_RELATIVE, TIMELINE_REPEAT)
//SEND_COMMAND DATA.DEVICE, 'SET BAUD 9600,N,8,1 485 DISABLE'
SEND_COMMAND dvProj_1,'SET BAUD 9600,N,8,1 485 DISABLE'
//SEND_STRING dvProj_1,"'PWR?',$0D"
}
STRING:
{
RM01_PROJECTOR_BUFFER = DATA.TEXT
IF (RM01_PROJECTOR_BUFFER = "'PWR=00',$0D,':'")
{
PROJ1_PWR_STATUS = 0
OFF [dvTP,SELECT_PROJECTOR_ON]
ON[dvTP,SELECT_PROJECTOR_OFF]
IF(LIFT1_POS = DOWN)
DO_PUSH(dvTP,SELECT_LIFT_UP)
IF((SIGNAL1 = VIDEO_SIGNAL)OR(SIGNAL1= VGA_SIGNAL))
{
SEND_STRING dvProj_1, "PROJ_ON,$0D"
DO_PUSH (DVTP,SELECT_SCREEN_DOWN)
DO_PUSH (DVTP,SELECT_LIFT_DOWN)
WAIT 250 SEND_STRING dvProj_1, "INPUT_PROJ_1,$0D"
}
}
IF (RM01_PROJECTOR_BUFFER= "'PWR=01',$0D,':'")
{
PROJ1_PWR_STATUS = 1
IF(LIFT1_POS = UP)
DO_PUSH (DVTP,SELECT_LIFT_DOWN)
ON [dvTP,SELECT_PROJECTOR_ON]
OFF [dvTP,SELECT_PROJECTOR_OFF]
}
IF (RM01_PROJECTOR_BUFFER= "'SOURCE=11',$0D,':'")
{
CURRENT_INPUT_PROJ_1 = PROJ_PC1
}
IF (RM01_PROJECTOR_BUFFER= "'SOURCE=41',$0D,':'")
{
CURRENT_INPUT_PROJ_1 = PROJ_VIDEO
}
}
}
TIMELINE_EVENT[TL_PROJ_RM01_POLL]
{
SEND_STRING dvProj_1, "'PWR?',$0D"
WAIT 5 SEND_STRING dvProj_1, "'SOURCE?',$0D"
}
BUTTON_EVENT[dvTP,SELECT_PROJECTOR_ON]
{
PUSH:
{
SEND_STRING dvProj_1,"'PWR ON',$0D"
DO_PUSH (dvTP,SELECT_LIFT_DOWN)
DO_PUSH (dvTP,SELECT_SCREEN_DOWN)
ON[dvTP,SELECT_PROJECTOR_ON]
OFF[dvTP,SELECT_PROJECTOR_OFF]
}
}
BUTTON_EVENT[dvTP,SELECT_PROJECTOR_OFF]
{
PUSH:
{
SEND_STRING dvProj_1,"'PWR OFF',$0D"
SIGNAL1 = 0
WAIT 200 DO_PUSH (DVTP,SELECT_LIFT_UP)
DO_PUSH (dvTP,SELECT_SCREEN_UP)
OFF[dvTP,SELECT_PROJECTOR_ON]
ON[dvTP,SELECT_PROJECTOR_OFF]
}
}
I cannot see that the Epson responds with a CR in it's feedback but the code is looking for a CR. Since the variable PROJ1_PWR_STATUS never goes to 1 the code will constantly turn on the projector and wait 25 seconds to send the input command when ever you change inputs. AMX has a Duet Module that should work with your projectors with a simple command interface. Like channel 255 gives you the power status of the projector.
I hope this helps.