Crestron + ZRC

Last time, I hinted that I wanted to explore connecting Crestron to Zoom Room Controls. I mostly run into this setup when a customer is replacing their video conference systems with Zoom rooms.

The scenario I’ll explore is: the user has a DMPS they’d like to continue using. They also want to be able to route non-computer sources to the displays once in a while (such as a cable TV box). They want to have 3 favorite channels available in Zoom. The user should have some flexibility to change the Zoom Room Controls without needing to touch the Crestron program (say they want to add another source).

Continue reading “Crestron + ZRC”

SIMPL+ and Delegates

I’ve been working on my Gold Exam and a good chunk of it is written in SIMPL#. It’s been a good reminder that getting code in SIMPL# to play nicely with SIMPL logic can sometimes turn into a chore. We have SIMPL+ to thank for most of the hair-pulling. I thought a post about delegates and getting them to work in SIMPL+ would be a good thing to write down.

Continue reading “SIMPL+ and Delegates”

SIMPL Crosspoints Best Practices

When I started Crestron programming in 2010, you had to take two classes. One covered almost the entire Crestron catalog. All I can remember is my eyes glazing over after a couple days of that. We might have built a touchpanel layout, too. The second class actually got into SIMPL programming, but we only covered button presses, feedback, interlocks, and maybe a toggle. It was fairly basic, but it was enough to get started programming Crestron systems.

After passing the exam at the end of class, they told us to go program systems for a year then come back and take the 201 class.

Continue reading “SIMPL Crosspoints Best Practices”

VC4 and SIMPL

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?

Continue reading “VC4 and SIMPL”

SIMPL Module Best Practices

When I started programming Crestron systems, there were two other programmers on my team. One was a senior programmer who had been doing it for years already; the other was a junior programmer who had been doing it for a year maybe? I feel like I fit into the middle slot between them quite nicely. So, I tried to follow the senior guy’s example and help the junior guy out when I felt that I could.

The workflow I picked up from the senior programmer was:

  • Copy-and-paste the previous program you worked on and only change the bits needed for the new system. 90% of the code is probably going to be the same anyway.
  • Don’t jam ANY signals together, always buffer them or use an OR.
  • Never hide program logic inside of a module.

I can already tell this is going to be a divisive post because of how different people treat user modules. I want to present 3 modules in this post, talking about why they were written, how they evolved, and why they were the best approach.

Continue reading “SIMPL Module Best Practices”

SIMPL Best Practices

I recently received an email asking if I could document some of the things I wished I had known when I started Crestron programming. I didn’t touch Crestron until the twilight years of the 2-series (2010), but it was thankfully a solid platform to learn SIMPL Windows on. I had several years of AMX under my belt, so at least SIMPL+ wasn’t strange to me.

I’d like to write a few posts that explore how I approach programming now that I have a little hindsight. I’ll also reveal areas where I still struggle to find the best methods.

Crestron has a SIMPL Windows Best Practices guide that is useful. The release notes also contain some good rules to follow. I’ll try not to repeat what’s already stated there.

Let’s dig in!

Continue reading “SIMPL Best Practices”

SIMPL Tricks: 4-series

If you’re starting to get into 4-series projects but you don’t have actual hardware to test with you can load SIMPL programs targeted for 4-series processors to a 3-series. I’d heard the reverse was true: a 3-series programs should run unmodified on a 4-series. But it looks like for testing purposes, you can also run 4-series SIMPL programs on a 3-series.

Of course, your program would need to be written such that it runs on a 3-series and a 4-series. This is different from the 2-series to 3-series transition where the architectures must have been wildly different.

Soup-to-Nuts: Phonebook Module (Part 4)

Here is the final part to this module: wrapping it up and making it easy to use. SIMPL Windows is a powerful tool because it easily abstracts away a lot of details about how things happen. The way our phonebook works under the hood will be a detail we needn’t worry about, it will just plug into our larger programs.

Continue reading “Soup-to-Nuts: Phonebook Module (Part 4)”

SIMPL Tips and Tricks: Logic Wave Delay

SIMPL is an amazing tool to build control system logic with, but it can bite you sometimes in the way it evaluates a solution. Let me be clear: SIMPL is doing the right thing, but we have to train our brain to think around it to get the result we want. Here’s a simple example using the Logic Wave Delay symbol.

Continue reading “SIMPL Tips and Tricks: Logic Wave Delay”