[PROGRAMMING] The SIMPL tips and tricks megathreadProgramming


If you know of a trick or shortcut in SIMPL, add it to the comments section

Series 3 Processors can load code/files via ftpft

p://<processor ip> do anonymous login

they also support SFTP, use the username crestron and no password

I drop my lpz files into program1-10 then open text console or ssh using crestron:<empty> and type progload -p:01 this will load program 1 and if you have debug messages that print on startup you actually get to see them and loads more information about the system.

Other useful commands change -p:01 to your program slot up to -p:10

stopprog -p:01

progreset -p:01

progreg -u -p:01 Use the stop command first then use this command to unregister a program and it will not start next reboot you’ll have to reload the program progreset will say no program is available

All TSx panels also support ftp/sftp access drop a vtz into the display folder go to text console/ssh and


How about firmware? There is a firmware folder you have access to drop a puf file there hit the trusty text console/ssh and


Now sit back and watch as the device does its own firmware upgrade no more wondering if Package update tool locked up or if a packet got corrupted mid transfer and the firmware upgrade needs to start over. This method will check the puf file first then do the self check if either fail you get an error and it doesn’t start only time wasted is the data transfer time.

Need more logs well there’s plog if memory serves me right there’s at least 3 reboots worth of logs there open the folder and do a regular file transfer.

  FTP can be a very handy time saver and text console should be your very best friend


Commands I use on a regular basis

  • ipt -p:01 IP table
  • addm 91 Add IPID 91 as master and point to
  • adds 91 Add IPID 91 as slave and point to
  • webport <8080> Tells you what the current webport is or sets it, iPad can’t download check this first.
  • reportcresnet Why wait for sysinfo or network device tree just to see cresnet devices
  • splustasks Ever want to know why your system is slow check this to see how many Simpl+ modules are active
  • mycrestron <host> <password> Tells you mycrestron info or sets it
  • addd Add a dns entry

Hope this helps someone.

*Cntrl + D to open a selected symbol

  • Cntl + F4 to close current active symbol in detail pain
  • Cntrl + X to close all symbols in detail pain
  • Cntrl + Q to pin active symbol(prevents it from being closed with cntrl + X)
  • Cntrl + Tab cycles though symbols open in detail pain
  • F8 switches between detail pain and symbol list
  • Cntrl + G open dialog to go to specified signal number on a symbol. symbol must be opened and selected in details pain

Double click on any empty item in config view and a window will open with the only options available for that slot.

Right click and drag on any symbol to another to copy all of its signals and parameters to that symbol. This is very useful when doing lots of touch panels that contain the same signal names. Then all you have to do it change the prefix of the signals with F9.

Alt + 1 through 5 for predefined suffix’s. I use Alt + 1 for .fb, Alt + 2 for .b, and so on. Set them up in the preference menu (Options > Preferences > Program Editing > Append Suffix Setup)



Creating custom bookmarks in Simpl prior to compiling is very useful for segmenting out your debugging. Open all the symbols that you want to look at and select Bookmarks > Add and add the name for the bookmark (i.e. North Display). Now you can quickly view the signals that are attached to those symbols in debugger and not have to hunt for them every time debugger refreshes.1Reply

Also, whatever symbols are open at compile time will show up under the bookmarks section of debugger.

Following up with the F9 function- Add a prefix for all of your panel-based signals (page flips, button visibility, etc.) and save those signals in a designated folder. When it comes time to duplicate the panel logic, copy and paste that folder then ‘F9’ to search and replace your prefix.

For example, I have [tp01]rack_panel which is identical to the manager’s panel. I copy my [tp01]rack_panel logic folder and joins to the next panel, then just ‘F9’ and replace [tp01] with [tp02]. Voila, independent panel control with half the work!

Alt-P to show/hide Program View Alt-Y to show/hide Symbol View


Fairly new: Project -> Resynch Project Data to quickly update modules in the project folder only

Open Symbols to debug in Simpl Windows then save, reload program in Simpl Debugger and see only those signals on the left under SIMPL Bookmark.

Alt-B to show/hide Both the Program and Symbol views. Useful if you need to open up your screen to see lots of symbols at the same time.

When programming a block with a Digital/Analog/Serial section, such as a TP or EISC use:

Alt-A – Switch to the analog values Alt-S – Switch to the serial values Alt-D – Switch to the digital values

One I just found out today, if you don’t have the source code for a program and you need to change the IP-ID for something like an intersystems communication symbol, you can change the IP-ID of the IP table entry to whatever you want, but set the Device ID to match the old IP-ID and it will essentially do an internal map from the new IP-ID to the old.

It’s used when you have a bunch of IP clients that need to communicate with a master, and you don’t want to write different versions of the client. For example we have a project with 50 GLPAC lighting panels communicating to a single CP3. We have the same SIMPL program loaded to all 50 GLPACs, but the IP Table for each GLPAC is different. Within the GLPAC program the EISC for the master is always the same IPID, but in the IP Table the Device ID differs so it matches up with a different EISC symbol in the CP3. Side note: we use a toolbox script to automagically build the IP Tables for all 50 GLPACS at once.

We should start one of these for building macros too. I’ve found that there are tons of little tricks and such that are undocumented for modules.

Such as:

When defining parameters in the argument definition, you can type “==30d” at the end of the signal name to define the default value, 30d in this case. The default value will not show up Simpl Windows when the module is added.

Honestly….if we could just get rid of parameter fields in 100% of modules, that would be just dandy…

In fact, every time a new Biamp module comes out, I edit them to eliminate the parameter fields and turn them into analog or serial inputs. That way I can use a config file to set the parameters at runtime instead of compile time, and have those parameters change as necessary.

It will populate the parameter slot, but not be listed as part of the param name1Reply

While the documentation is sometimes lacking or hard to understand, Script Manager in Toolbox is great for repetitive tasks, especially for jobs with a lot of devices to load. Here’s a sample of a script I use, modify for your particulars:


TPPath=C:\your folder\VTP\
SWPath=C:\your folder\SIMPL\


[Latest Date Is]

[Main Pro3 Program 01_Main]
Program01.ProgramSend "|SWPath|JobName-MainPro3-01_Main-|LatestDate|.lpz"

[Main Pro3 Program 02_Climate]
Program02.ProgramSend "|SWPath|JobName-MainPro3-02_Climate-|LatestDate|.lpz"

DisplayListSend "|TPPath|JobName-GeneralTSW-|LatestDate|.vtz"

Connect=auto CRST-MEDIA-TSR
DisplayListSend "|TPPath|JobName-GeneralTSR-|LatestDate|.vtz"

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s