Keyboard Shortcuts
Likes
- Crestron
- Messages
Search
D-Nav Objects
I am altering a project I did about a year and a half ago with a DGE-2 and V24. ?It included a NavBar. ?The NavBar doesn't work with the most recent compilation. ?When I hit the D-Nav selection button, it brings up the popup to choose the D-Nav Object to use but nothing populates. I thought it might be software related so I used the version I used to create the original project (5.5) but nothing different. ?I, also, toyed with the idea that it might be a Windows 10 issue but tried it on a Windows 7 laptop, still nothing populates in the D-Nav Selection window. I'm obviously headed down the wrong path....anyone have any ideas? Thanks |
Re: Sony VPLFHZ60 RS232?
Sammy Truong
¿ªÔÆÌåÓýOk, I see now?that the protocol is totally different. Maybe somebody has written a json parser that you can use (I am somewhat surprised that there isn't one already in the files section).?It would have been good if Sony?used json for responses in all cases instead of just cases that had multiple values. Good luck.
-Sammy
From: Crestron@... on behalf of cfm@... [Crestron]
Sent: Thursday, January 21, 2016 5:19 PM To: Crestron@... Subject: Re: [Crestron] Sony VPLFHZ60 RS232? ?
?
"Chip, I'm currently working with the VPL-FHZ55 and?just
obtained the protocol document from Sony a few days ago (it's?uploaded
it?to the files section -?your model is
not specifically listed, but it does have VPL-FHZ55). ?Also not wanting to recreate work,?I?found that the VPL-FH500L in the application market?has common commands with regard to power and input selection (up to "Input D")" |
Re: Sony VPLFHZ60 RS232?
"Chip, I'm currently working with the VPL-FHZ55 and?just obtained the
protocol document from Sony a few days ago (it's?uploaded it?to
the files section -?your model is not specifically listed, but it does have VPL-FHZ55). ?Also not wanting to recreate work,?I?found that the VPL-FH500L in the application market?has common commands with regard to power and input selection (up to "Input
D")"
Thanks, but that module still uses the older hex A9/9A command set rather than the newer protocol on the projector I'm using... ? - Chip |
Re: Sony VPLFHZ60 RS232?
Sammy Truong
¿ªÔÆÌåÓýChip, I'm currently working with the VPL-FHZ55 and?just obtained the
protocol document from Sony a few days ago (it's?uploaded it?to
the files section -?your model is not specifically listed, but it does have VPL-FHZ55). ?Also not wanting to recreate work,?I?found that the VPL-FH500L in the application market?has common commands with regard to power and input selection (up to "Input
D"). From: Crestron@... on behalf of cfm@... [Crestron]
Sent: Wednesday, January 20, 2016 2:46 PM To: Crestron@... Subject: [Crestron] Sony VPLFHZ60 RS232? ?
?
Has anyone worked with this or the 65 model?? They seem to have a newer protocol than the Sonys I've worked with previously, and while I could probably whip up a module to handle power & input selection easily enough - I also
certainly wouldn't mind saving the time if someone else has one written they can share...
|
New file uploaded to Crestron
Hello,
This email message is a notification to let you know that a file has been uploaded to the Files area of the Crestron group. File : /Sony VPL Protocol 1st Ed Rev2 PM_Install_PJ_Laser Rev2.pdf Uploaded by : laqmer <struong@...> Description : ## VPL-FX30 Series VPL-FX30 VPL-FX35 VPL-FX37 ## VPL-FH30 Series VPL-FH30 VPL-FH31 VPL-FH35 VPL-FH36 ## VPL-F400X Series VPL-F400X VPL-F500X VPL-F600X ## VPL-F400H Series VPL-F400H VPL-F401H VPL-F500H VPL-F501H ## VPL-FX500 Series VPL-FX500L ## VPL-FH500 Series VPL-FH500L ## VPL-F700X Series VPL-F700XL ## VPL-F700H Series VPL-F700HL ## VPL-FHZ55 Series VPL-FHZ55 ## VPL-F420HZ Series VPL-F420HZ You can access this file at the URL: To learn more about file sharing for your group, please visit: Regards, laqmer <struong@...> |
OT: Hiring in Nashville, TN
Logan Media Services is seeking a tech to support and troubleshoot AV equipment in a corporate environment. Experience with Crestron Toolbox and Biamp software, 2 yrs AV exp. Reqd. Great benefits. Please contact me at jeremy@... for a more detailed description of the position if interested. If it unacceptable to post this on this forum, please let me know and I'll take it down. |
Re: UDP control
SIO On Thu, Jan 21, 2016 at 12:26 PM, gentleman169@... [Crestron] <Crestron@...> wrote:
|
Re: Panasonic AW-HE130
I had major issues with these cameras in the past. ?The problem is that if you send a GET command before the previous one is processed, the camera will seize up until you reboot it. ?I made a simpl+ module to handle the TX strings from the released module, the key to this is to invoke THREADSAFE on the string input here. The IP of the camera is defined as a parameter.
#DEFAULT_VOLATILE #ENABLE_STACK_CHECKING #ENABLE_TRACE #ENCODING_ASCII #define_constant RxBuf 10000 #define_constant debug 1 STRING_INPUT _skip_,_skip_,Panasonic_GET_Command$[100]; STRING_OUTPUT _skip_,_skip_,From_Camera$; /* ? SOCKETS ? (Uncomment and define socket definitions as needed) */ TCP_CLIENT tcpCamera[RxBuf]; /* ? Parameters ? (Uncomment and declare parameters as needed) */ STRING_PARAMETER Panasonic_IP[30]; INTEGER_PARAMETER HTTP_Port; /* ? Parameter Properties ? (Uncomment and declare parameter properties as needed) */ #BEGIN_PARAMETER_PROPERTIES Panasonic_IP ? ?propDefaultUnit = unitString; #END_PARAMETER_PROPERTIES #BEGIN_PARAMETER_PROPERTIES HTTP_Port? ? ?propValidUnits = unitDecimal; ? ?propDefaultUnit = unitDecimal; ? ?propBounds = 1d , 65535d; ? ?propDefaultValue = 80d; #END_PARAMETER_PROPERTIES INTEGER Busy; function TCPStatus (integer status) { ? if(debug)Switch(status) { ? ? ? Case(0): { print("Not Connected\n"); } ? ? ? Case(1): { print("Waiting for Connection\n"); } ? ? ? Case(2): { print("Connected\n"); } ? ? ? Case(3): { print("Connection Failed\n"); } ? ? ? Case(4): { print("Connection Broken Remotely\n"); delay(30); print("delayed busy\n"); Busy = 0; } ? ? ? Case(5): { print("Connection Broken Locally\n"); } ? ? ? Case(6): { print("Performing DNS Lookup\n"); } ? ? ? Case(7): { print("DNS Lookup Failed\n"); } ? ? ? Case(8): { print("DNS Lookup Resolved\n"); } ? ? ? Case(9): { print("Link Loss\n"); } ? ? ? default: { print("Unknown TCP Status\n"); } } } THREADSAFE CHANGE Panasonic_GET_Command$ { SIGNED_INTEGER tcpCameraStatus; if(!Busy) { ? ? Busy = 1; ? tcpCameraStatus=SocketConnectClient (tcpCamera, Panasonic_IP, HTTP_Port,0); if(debug)trace("tcpCamera status=%d",tcpCameraStatus); } } threadsafe socketconnect tcpCamera { socketsend(tcpCamera, Panasonic_GET_Command$); } threadsafe SOCKETRECEIVE tcpCamera { ? string sData[RxBuf]; sData = Gather("\n\n", tcpCamera.SocketRxBuf); if(debug)trace("%s",sData); clearbuffer(tcpCamera.SocketRxBuf); From_Camera$ = sData; } socketstatus tcpCamera { ? TCPStatus(tcpCamera.SocketStatus); } /* ? Main() ? Uncomment and place one-time startup code here ? (This code will get called when the system starts up) */ Function Main() { ? WaitForInitializationComplete(); Busy = 0; } |
Re: UDP control
What exactly are you looking for?? How to send UDP messages? Drop in a UDP client, set the proper broadcast address for your network, set the port you are transmitting on, enable the client, and send your message. On Thu, Jan 21, 2016 at 10:33 AM, gentleman169@... [Crestron] <Crestron@...> wrote:
|
Re: Panasonic AW-HE130
Preset commands are in here too.
#DEFINE_CONSTANT SIZE 12 #CATEGORY "19" // Camera #DEFAULT_VOLATILE #ENABLE_STACK_CHECKING #ENABLE_TRACE #HELP_BEGIN use port 80 put a 1 for IP or rs422 analog inputs for speed are to set a different speed other than default of 15. analog values need to be between 10 to 40 #HELP_END DIGITAL_INPUT??? IP, RS422, _SKIP_; DIGITAL_INPUT??? pan_left,pan_right; //Cam left right DIGITAL_INPUT??? tilt_up,tilt_dn;??? //Cam Up Down DIGITAL_INPUT ??? zoom_in, zoom_out;??? //Cam Zoom DIGITAL_INPUT??? _SKIP_, pwrOn, pwrOff; DIGITAL_INPUT??? _SKIP_, preset[SIZE,SIZE]; ANALOG_INPUT ??? _SKIP_, PanSpeed, TiltSpeed, ZoomSpeed; STRING_OUTPUT??? cmd$; digital_output??? storingPreset; integer temp, pan_spd, tilt_spd, zoom_spd; integer storePreset, currentPreset; function fnStorePreset() { ??? if(IP) ??? ??? makestring(cmd$, "GET /cgi-bin/aw_ptz?cmd=#M%02u&res=1 HTTP/1.0\n\n", currentPreset-1); ??? else if(RS422) ??? ??? makestring(cmd$, "\x23M%02u\x0d", currentPreset-1); } function fnRecallPreset() { ??? if(IP) ??? ??? makestring(cmd$, "GET /cgi-bin/aw_ptz?cmd=#R%02u&res=1 HTTP/1.0\n\n", currentPreset-1); ??? else if(RS422) ??? ??? makestring(cmd$, "\x23R%02u\x0d", currentPreset-1); } ? //////////////////////////////////////////////////////////////////////////////////////////////////// ?????? push pan_left//1:max-49:min { ??? temp=50-pan_spd;??? //left ??? IF(IP) ??? { ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#P%02u&res=1 HTTP/1.0\n\n",temp); ??? } ??? IF(RS422) ??? { ??? ??? makestring(cmd$,"#P%02u\x0d",temp); ??? } ??? wait(200) ??? { ??? ??? temp=45-pan_spd; ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#P%02u&res=1 HTTP/1.0\n\n",temp); ??? } } push pan_right//51:min-99:max { ??? temp=50+pan_spd;??? //Right ??? IF(IP) ??? { ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#P%02u&res=1 HTTP/1.0\n\n",temp); ??? } ??? IF(RS422) ??? { ??? ??? makestring(cmd$,"#P%02u\x0d",temp); ??? } ??? wait(200) ??? { ??? ??? temp=55+pan_spd; ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#P%02u&res=1 HTTP/1.0\n\n",temp); ??? } } release pan_left,pan_right { ??? CancelAllWait(); ??? IF(IP) ??? { ??? ??? cmd$="GET /cgi-bin/aw_ptz?cmd=#P50&res=1 HTTP/1.0\n\n";??? ??? ??? ??? ??? wait(25) cmd$="GET /cgi-bin/aw_ptz?cmd=#P50&res=1 HTTP/1.0\n\n"; ??? ??? //cmd$="GET /cgi-bin/aw_ptz?cmd=#PTS5050&res=1 HTTP/1.0\n\n"; ??? } ??? IF(RS422) ??? { ??? ??? delay(10);??? ??? ??? cmd$="#PTS5050\x0d"; ??? } } ? //////////////////////////////////////////////////////////////////////////////////////////////////// push tilt_up//51:min-99:max { ??? temp=50+tilt_spd;??? //Up ??? IF(IP) ??? { ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#T%02u&res=1 HTTP/1.0\n\n",temp); ??? } ??? IF(RS422) ??? { ??? ??? makestring(cmd$,"#T%02u\x0d",temp); ??? } ??? wait(200) ??? { ??? ??? temp=45-tilt_spd; ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#T%02u&res=1 HTTP/1.0\n\n",temp); ??? } } push tilt_dn//1:max-49:min { ??? temp=50-tilt_spd;??? //Down ??? IF(IP) ??? { ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#T%02u&res=1 HTTP/1.0\n\n",temp); ??? } ??? IF(RS422) ??? { ??? ??? makestring(cmd$,"#T%02u\x0d",temp); ??? } ??? wait(200) ??? { ??? ??? temp=55+tilt_spd; ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#T%02u&res=1 HTTP/1.0\n\n",temp); ??? } } release tilt_up,tilt_dn { ??? CancelAllWait(); ??? IF(IP) ??? { ??? ??? cmd$="GET /cgi-bin/aw_ptz?cmd=#T50&res=1 HTTP/1.0\n\n"; ??? ??? wait(25) cmd$="GET /cgi-bin/aw_ptz?cmd=#T50&res=1 HTTP/1.0\n\n";??? ??? ??? //cmd$="GET /cgi-bin/aw_ptz?cmd=#PTS5050&res=1 HTTP/1.0\n\n"; ??? } ??? IF(RS422) ??? { ??? ??? delay(10);??? ??? ??? cmd$="#PTS5050\x0d"; ??? } } ? ////////////////////////////////////////////////////////////////////////////////////////////////////v push zoom_in//51:min-99:max { ??? integer temp; ??? temp=50+pan_spd;??? //Right ??? IF(IP) ??? { ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#Z%02u&res=1 HTTP/1.0\n\n",temp); ??? } ??? IF(RS422) ??? { ??? ??? makestring(cmd$,"#P%02u\x0d",temp); ??? } } push zoom_out//1:max-49:min { ??? integer temp; ??? temp=50-pan_spd;??? //left ??? IF(IP) ??? { ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#Z%02u&res=1 HTTP/1.0\n\n",temp); ??? } ??? IF(RS422) ??? { ??? ??? makestring(cmd$,"#P%02u\x0d",temp); ??? } } release zoom_in,zoom_out { ??? IF(IP) ??? { ??? ??? cmd$="GET /cgi-bin/aw_ptz?cmd=#Z50&res=1 HTTP/1.0\n\n";??? ??? ??? ??? ??? wait(25) cmd$="GET /cgi-bin/aw_ptz?cmd=#Z50&res=1 HTTP/1.0\n\n"; ??? ??? //cmd$="GET /cgi-bin/aw_ptz?cmd=#PTS5050&res=1 HTTP/1.0\n\n"; ??? } ??? IF(RS422) ??? { ??? ??? delay(10);??? ??? ??? cmd$="#Z50\x0d"; ??? } } //////////////////////////////////////////////////////////////////////////////////////////////////// push preset { ??? currentPreset = GetLastModifiedArrayIndex(); ??? ??? wait(400, storePresetWait) //4s ??? { ??? ??? storePreset = 1; ??? ??? pulse(200, storingPreset); ??? ??? fnStorePreset(); ??? }??? } release preset { ??? CancelWait(storePresetWait); ??? if(!storePreset) ??? ??? fnRecallPreset(); ??? storePreset = 0; } //////////////////////////////////////////////////////////////////////////////////////////////////// push pwrOn {??? ??? IF(IP) ??? { ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#O1&res=1 HTTP/1.0\n\n");??? } ??? IF(RS422) ??? { ??????? makestring(cmd$,"\x23O1\x0D"); ??? } } ???? push pwrOff { ??? IF(IP) ??? { ??? ??? makestring(cmd$,"GET /cgi-bin/aw_ptz?cmd=#O0&res=1 HTTP/1.0\n\n"); ??? } ??? IF(RS422) ??? { ??????? makestring(cmd$,"\x23O0\x0D"); ??? } } ?? Function Main() { ??? WaitForInitializationComplete(); ??? pan_spd = 15; ??? tilt_spd = 15; ??? zoom_spd = 15; } |