In this post, I'm going to explore the different threading options on 3- and 4-series processors. I find it difficult to keep everything straight when working in different Crestron environments, so hopefully this post will be a good refresher when I need it. What are threads? Threads are an execution path through your program. See … Continue reading Multithreaded Programming
Tag: simpl sharp pro
HTML5 Cleanup
The last post took me way too long to write (like an entire month), and I think it's the format of trying to step through every single change, every single time that's slowing me down. We're going to be moving into program sizes where that just isn't going to work. But before we make that … Continue reading HTML5 Cleanup
HTML5 + 4-series
We've already run into a couple things we need to be mindful of when using HTML5 and 4-series processors (see HTML5 XPanel for details about licensing and authentication). In this post, my goal is to break away from 3-series sandboxes and SIMPL Windows, so that means we're moving into the realm of C# and Visual … Continue reading HTML5 + 4-series
Contract Editor
The Contract Editor is a tool released by Crestron to put an end to arbitrary join numbers. Of course, there's NO documentation, so figuring it out is left up to us! It's a good idea: what meaning does join 253 hold to a JavaScript or C# programmer? What if that join had a name like … Continue reading Contract Editor
Debugging SIMPL# Pro (3-series)
I've run into a problem in my Standard UI program: a button that used to work like a toggle is now toggling on and off immediately. Is it getting called twice? How am I going to track this error down? CrestronConsole.PrintLine Sometimes the easiest form of debugging is what is referred to as "printf statements." … Continue reading Debugging SIMPL# Pro (3-series)
Short Take: Button Presses
I've been working on rewriting our Standard UI in SIMPL# Pro and have tried a couple different approaches to map button presses to program logic. I figured a short post about what I've been exploring might be helpful. Button presses are treated much like any other device signal change: User presses a button on touchpanelBooleanOutputs[sig] … Continue reading Short Take: Button Presses
SIMPL# Pro Primer: Smart Graphics
In this part, we're going to explore how to interact with Smart Objects from SIMPL# Pro. You'll need to have an XPanel layout to follow along. You can download my project from GitHub. It looks something like this: Open the VTP file and explore it a little bit. We have a few Smart Objects that … Continue reading SIMPL# Pro Primer: Smart Graphics
Huddle Room: Part 2
In the previous post, we created a simple Huddle Room system... but the logic is tightly-coupled, it's rigid, and I wouldn't call it a framework. Let's refactor it! There are 3 areas that I think will be easy to immediately refactor: Display controlSwitcher controlRoom vacancy timeout Display control Let's start off by creating a new … Continue reading Huddle Room: Part 2
Huddle Room: Part 1
This series of posts is going to put together some of what we learned in the Simple Sharp Primer and VC-4 posts. For an idea, here is what we're going to build in Part 1: A simple Huddle Room space Let's take a quick inventory of what's in this system: RMC3 is the brain deciding … Continue reading Huddle Room: Part 1
VC-4: Breaking out of the Sandbox
One of the coolest features of the new 4-series platform is Crestron has removed the sandbox environment. We're now free to use modern tools and languages to develop for their devices! In this post, I'll walk through how to create a new project in VS2019 for the VC-4. No longer stuck in 2008! These instructions … Continue reading VC-4: Breaking out of the Sandbox