SONY PROJECTOR WIERDNESS
Hi all,
I am wondering if anyone out there has encountered this before. I have 2 similar SONY VPL-EX175 projectors connected to a Ni-3000. Both are configured the same:
dvPROJ1 = 5001:2:1 // Sony VPL-EX175
dvPROJ2 = 5001:3:1 // Sony VPL-EX175
..and...after some trial and error...
send_command dvPROJ1,'SET BAUD 38400,N,8,1 485 DISABLE'
send_command dvPROJ2,'SET BAUD 38400,N,8,1 485 DISABLE'
works...BUT...
PROJ1 responds to commands but has does not reply
PROJ2 on port 3 does not respond to commands, but when PROJ2 is pluged into port 2 it does respond and replies
when PROJ1 is placed on port 3 it does not respond to commands
same goes for other serial ports on the NI3000 - no response.
The cables are wired up the same, and should be ok since when PROJ2 is shifted to port 2 it responds.
SONY has no documentation on setting up the serial port settings. Does anyone have any advice on these projectors? Or am I working with a flakey Ni3000?
Regards,
Brian
I am wondering if anyone out there has encountered this before. I have 2 similar SONY VPL-EX175 projectors connected to a Ni-3000. Both are configured the same:
dvPROJ1 = 5001:2:1 // Sony VPL-EX175
dvPROJ2 = 5001:3:1 // Sony VPL-EX175
..and...after some trial and error...
send_command dvPROJ1,'SET BAUD 38400,N,8,1 485 DISABLE'
send_command dvPROJ2,'SET BAUD 38400,N,8,1 485 DISABLE'
works...BUT...
PROJ1 responds to commands but has does not reply
PROJ2 on port 3 does not respond to commands, but when PROJ2 is pluged into port 2 it does respond and replies
when PROJ1 is placed on port 3 it does not respond to commands
same goes for other serial ports on the NI3000 - no response.
The cables are wired up the same, and should be ok since when PROJ2 is shifted to port 2 it responds.
SONY has no documentation on setting up the serial port settings. Does anyone have any advice on these projectors? Or am I working with a flakey Ni3000?
Regards,
Brian
Comments
SET BAUD 38400,E,8,1 485 DISABLE
this is the setting i use to control a VPL-VW100
I have also attached the protocol manual for the EX175.
Thanks Dave,
The HSOFF seemed to do the trick. Now the projectors can both be controlled. But I am still not getting replies from PROJ1. PROJ2 seems to reply (Rx flashes) but nothing in the buffer. I am still a little suspicious about the flakey ports...does anyone have a good serial port testing procedure/program?
I might try a direct connect to my laptop to see if they behave the same way.
These are the strings that I found on the forums to control the projectors.
strProjPowerOn[] = {$A9,$17,$2E,$00,$00,$00,$3F,$9A} //Power on ** Must be sent twice **
strProjPowerOff[] = {$A9,$17,$2F,$00,$00,$00,$3F,$9A} //Power off
strProjVideo[] = {$A9,$17,$2A,$00,$00,$00,$3F,$9A} //Composite
strProjSVideo[] = {$A9,$17,$5F,$00,$00,$00,$5F,$9A} //SVideo
strProjVGA[] = {$A9,$17,$2B,$00,$00,$00,$3F,$9A} //Input A
strProjComponent[]= {$A9,$17,$2C,$00,$00,$00,$3F,$9A} //Component
strProjHDMI1[] = {$A9,$17,$6F,$00,$00,$00,$7F,$9A} //HDMI 1
strProjHDMI2[] = {$A9,$17,$70,$00,$00,$00,$77,$9A} //HDMI 2
strProjBlank[] = {$A9,$00,$30,$00,$00,$01,$31,$9A} //Picture Mute on
strProjUnblank[] = {$A9,$00,$30,$00,$00,$00,$30,$9A} //Picture Mute off
strProjGetPower[] = {$A9,$01,$02,$01,$00,$00,$03,$9A}
strProjGetInput[] = {$A9,$00,$01,$01,$00,$00,$01,$9A}
strProjGetBlank[] = {$A9,$00,$30,$01,$00,$00,$31,$9A}
strProjGetError[] = {$A9,$01,$01,$01,$00,$00,$01,$9A}
strProjGetLamp[] = {$A9,$01,$13,$01,$00,$00,$13,$9A}
// Replies from the SONY projector
pwrIsStandby[] = {$A9,$01,$02,$02,$00,$00,$03,$9A}
pwrIsStartUp[] = {$A9,$01,$02,$02,$00,$01,$03,$9A}
pwrIsStartUpLamp[] = {$A9,$01,$02,$02,$00,$02,$03,$9A}
pwrIsPowerOn[] = {$A9,$01,$02,$02,$00,$03,$03,$9A}
pwrIsCooling1[] = {$A9,$01,$02,$02,$00,$04,$07,$9A}
pwrIsCooling2[] = {$A9,$01,$02,$02,$00,$05,$07,$9A}
Thanks for the attachment. The codes I used was from someone else on another forum post before this.
I wonder if they are any different from the ones you sent.
Also note that anything you type into Hyperterminal will be reported on the Telnet screen to test communication in that direction.
PROGRAM_NAME='Controller' (***********************************************************) (* DEVICE NUMBER DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_DEVICE dvSerial_1 = 5001: 1: 0 dvSerial_2 = 5001: 2: 0 dvSerial_3 = 5001: 3: 0 dvSerial_4 = 5001: 4: 0 dvSerial_5 = 5001: 5: 0 dvSerial_6 = 5001: 6: 0 dvSerial_7 = 5001: 7: 0 dvRelays = 5001: 8: 0 dvIO = 5001:17: 0 vdvInterface = 33001: 1: 0 (***********************************************************) (* CONSTANT DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_CONSTANT IO_TEST = 1 RELAY_TEST = 2 SERIAL_TEST = 3 (***********************************************************) (* VARIABLE DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_VARIABLE VOLATILE LONG nIterate[] = {1000} ; VOLATILE DEV dvSerialPorts[] = {dvSerial_1, dvSerial_2, dvSerial_3, dvSerial_4, dvSerial_5, dvSerial_6, dvSerial_7} ; VOLATILE DEVCHAN dvIO_Ports[] = {{dvIO, 1}, {dvIO, 2}, {dvIO, 3}, {dvIO, 4}, {dvIO, 5}, {dvIO, 6}, {dvIO, 7}, {dvIO, 8}} ; VOLATILE DEVCHAN dvRelay_Ports[] = {{dvRelays, 1}, {dvRelays, 2}, {dvRelays, 3}, {dvRelays, 4}, {dvRelays, 5}, {dvRelays, 6}, {dvRelays, 7}, {dvRelays, 8}} ; (***********************************************************) (* STARTUP CODE GOES BELOW *) (***********************************************************) DEFINE_START (***********************************************************) (* THE EVENTS GO BELOW *) (***********************************************************) DEFINE_EVENT DATA_EVENT[vdvInterface] { COMMAND : { STACK_VAR CHAR sCmd[255] ; sCmd = UPPER_STRING(DATA.TEXT) ; SELECT { ACTIVE(sCmd == "'START IO TEST'") : TIMELINE_CREATE(IO_TEST, nIterate, 1, TIMELINE_ABSOLUTE, TIMELINE_REPEAT) ; ACTIVE(sCmd == "'START RELAY TEST'") : TIMELINE_CREATE(RELAY_TEST, nIterate, 1, TIMELINE_ABSOLUTE, TIMELINE_REPEAT) ; ACTIVE(sCmd == "'START SERIAL TEST'") : TIMELINE_CREATE(SERIAL_TEST, nIterate, 1, TIMELINE_ABSOLUTE, TIMELINE_REPEAT) ; ACTIVE(sCmd == "'STOP IO TEST'") : TIMELINE_KILL(IO_TEST) ; ACTIVE(sCmd == "'STOP RELAY TEST'") : TIMELINE_KILL(RELAY_TEST) ; ACTIVE(sCmd == "'STOP SERIAL TEST'") : TIMELINE_KILL(SERIAL_TEST) ; } } } CHANNEL_EVENT[dvIO_Ports] { ON : SEND_STRING 0, "'IO Port ', ITOA(CHANNEL.CHANNEL), ' ON'" ; OFF: SEND_STRING 0, "'IO Port ', ITOA(CHANNEL.CHANNEL), ' OFF'" ; } DATA_EVENT[dvSerialPorts] { ONLINE : SEND_COMMAND DATA.DEVICE.PORT, "'SET BAUD 9600,N,8,1'" ; STRING : SEND_STRING 0, "'Serial Port ', ITOA(DATA.DEVICE.PORT), ' sent: ', DATA.TEXT" ; } TIMELINE_EVENT[IO_TEST] { LOCAL_VAR CHAR nPass ; IF(nPass < 8) nPass ++ ; ELSE nPass = 1 ; PULSE[dvIO_Ports[nPass]] ; } TIMELINE_EVENT[RELAY_TEST] { LOCAL_VAR CHAR nPass ; IF(nPass < 8) nPass ++ ; ELSE nPass = 1 ; PULSE[dvRelay_Ports[nPass]] ; } TIMELINE_EVENT[SERIAL_TEST] { LOCAL_VAR CHAR nPass ; IF(nPass < LENGTH_ARRAY(dvSerialPorts)) nPass ++ ; ELSE nPass = 1 ; SEND_STRING dvSerialPorts[nPass], "'Test string out from serial port ', ITOA(nPass)" ; } (***********************************************************) (* THE ACTUAL PROGRAM GOES BELOW *) (***********************************************************) DEFINE_PROGRAM