I was recently asked if we could get a customer with an old PRO2 upgraded to VC4, probably to support new hardware they wanted to install. Looking at the existing system, there were a couple devices that needed a hardware controller: DSP and lighting control over RS-232, cable TV control over IR, and a Cresnet button panel for basic room functions. I told them we’d need to keep the PRO2 for all the connectivity, but maybe we could get it to talk to a new program running on VC4?
Software Upgrade
First thing I needed to do was update my VC4 installation to support SIMPL programs. I downloaded the latest software from Crestron and unpacked it:

Updating from 2.7000 to 4.0000 seems like a big jump…

I just accepted all the default port numbers:

Reboot to make sure all services start up correctly. I refreshed the VC4 settings page to make sure everything was still communicating. OK, time to grab a PRO2 for testing!
2-Series
The 2-series are workhorses. As long as the power supply hasn’t died, these things run great. Probably the easiest way to use one just for its physical ports though is to put it into slaved mode. You do this by adding a master IP table entry:
PRO2> ADDM DB 172.20.10.88
After a reboot, the PRO2 won’t accept new programs. We can check the IP table status though:
EslavePRO2> IPTABLE
IP Table:
CIP_ID Type Status DevID Port IP Address/SiteName
M DB EMstr ONLINE 41794 172.20.10.88
172.20.10.88 is the IP address of my VC4 server. PRO2 says it’s connected (since I already loaded a program to the VC4). Let’s look at that program next.
VC4 Programs in SIMPL
Create a new SIMPL program, but for the Control Processor select “Ethernet-Only 4-series”:

In the program configuration (BBQ mode), you’ll see there is only Slot-1 : Ethernet Devices available. Expand it and scroll down to IP-ID : DB and double-click to add our remote PRO2:

Switch to program (bug mode), and we’ll create a very simple program to test that our remote processing works:

This program looks for a contact closure on IO pin 1 then it closes each relay in sequence, spaced 1/2 a second apart. When IO pin 1 opens, each relay opens again 1/2 a second apart. But remember: this program will be running on the VC4, and the VC4 will tell the PRO2 what to do with its ports. To test this, I loaded the program to VC4 and shorted IO pin 1 to ground on the PRO2. The sequence starts. If I unplug the LAN cable and try this again, nothing happens (because VC4 can’t instruct the PRO2 what to do).
Weirdness
From the PRO2 side, everything looks good. It says it’s online with the VC4:

But when I look at the VC4 side, it says the PRO2 is offline:

It’s definitely working though, so I’m not sure why it says OFFLINE.
I also expected to have to associate the PRO2 to the correct room on VC4 since there’s nowhere to enter a Room ID in the PRO2 IP Table. But I didn’t have to do that. I expected the PRO2 to show up as an unclaimed device:

Debugging
I can’t get VC4 debugging to work with SIMPL programs. I think I’ve followed Crestron’s instructions pretty closely, but I just can’t seem to get that one piece to work. So I’d probably opt for developing and testing my code on a real processor (like an RMC4) then porting it over to VC4 once it was ready.
I’m not going to give up on debugging on VC4, but it’s not very high on my list of things to do right now.
Another Option
There’s also no reason you have to put the PRO2 into slaved mode, it can happily accept a connection from VC4 using an Ethernet Intersystem Communication (EISC) symbol. I originally went this route when testing because I wanted to simulate things happening on the PRO2 side, and to do that, you need a program running to connect to. This would let you handle some device processing on the PRO2 and only pass what you need back-and-forth with VC4. This does complicate programming a little because now you have to manage two programs, and tracking a bug down might involve looking in both places.
Thanks for reading! I hope this post encourages you to save some of those old 2-series processors from the landfill since you can still use them for physical connections.
I was just in a meeting and thought – it would be great to use an old Pro2 to hook up to VC-4. Crestron does not support – but you just proved it works! Thanks for the great post.
LikeLiked by 1 person
Thank you, Greg! That is true, I don’t think Crestron would support this if you called in with a problem, but it might get you by until hardware processors start shipping.
LikeLike
Awesome!
LikeLiked by 1 person
Thanks for the great post – your blog is very helpful! Have you had a chance to go back to debugging a SIMPL program on VC-4 yet? I’m having the same problem, where it doesn’t work even though I too have followed Crestron’s instructions…
LikeLiked by 1 person
Thank you, Rebecca! I did setup a new VC4 server on “bare metal” to see if I’d have better luck that way, but it looks like it was still blocking connections from Debugger. I’d like to give it another shot, just need to find a little time to play around with it again. If you have any success, please let me know!
LikeLike
Hi Kiel, I did get it figured out in the end! I’m running VC-4 in a Hyper-V VM for local testing, and I had to give it access to 2 virtual processors instead of 1 (the default setting) before debugging would work.
LikeLiked by 1 person
That’s awesome!
LikeLike
I got it working, too! This time I ran the scripts provided at https://support.crestron.com/app/answers/detail/a_id/1001249 to harden my server rather than following the manual instructions.
LikeLike
Oh, that’s great to hear! I’ll definitely bookmark that link for future – thanks š
LikeLike
Iām glad I found your blog. I was just playing with VC4-PC-3 and trying to figure out how to debug it. Your link to instructions is helpful.
How did you use EISC WITH VC4? Help file for Ethernet Only 4 series says EISC is not supportedā¦.
LikeLiked by 1 person
Good question. I opened up my old program to see what I did and of course SIMPL Windows says there are updated symbols and default logic and would I like to update. Sure. I checked the help file for “Ethernet-Only 4-Series” and see that “3-Series EISC” is not supported but my demo program uses the 2-series compatible “EISC (Packed)” symbol. Next time I’m at the office, I’ll confirm if this demo program still works.
LikeLike