Your Universal Remote Control Center
RemoteCentral.com
Crestron Control Systems Forum - View Post
Previous section Next section Previous page Next page Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Page 1 of 2
Topic:
Crestron SB Programming Questions and Understanding.....
This thread has 25 replies. Displaying posts 1 through 15.
Post 1 made on Thursday September 9, 2010 at 14:01
sofa_king_CI
Super Member
Joined:
Posts:
June 2009
4,230
So I'm finally starting to understand SB and wrap my head around how it works. Enough to where I can usually track down its "nests" of programming to see where the macro lays or whatever.

I'm hoping somebody that has programming expereince with RTI/URC can help put a solid connection between the different terminology and programming techniques. Hopefully that makes sense.

For example, with RTI you build "SYSTEM MACRO's" on the processor and then can point to or use these system macros throughout the project. In system builder is a "GLOBAL EXPRESSION" pretty much the same thing?

With URC, you can build a short macro and have it on a button or even just a discrete command stored on a hidden button. Then later in macro programming you can point to that button to either nest in a macro or just use that command in a macro. In tearing down SB programs, I found ZONE 1 SOURCE buttons that basically had the macros for switching to that source. However the front button that is pushed just has "SOURCE SELECT_LINE 1" or something similar, is this the same idea around what URC does, or is this just the way SB runs to work with the Wizard Composers that most systems are started with?


JOINS:

Please explain joins? If I build a button with join #62 on it and put some macro programming on it (like I would with URC/RTI), then later build another button on another page that I want to do the same thing, do I just give it the same Join number? Or is it better to create that first button as a subpage and pull the exact button into any page needed?

I'm asking these questions b/c I find myself frustrated with some of the ways Composer/SB set up things. Now that I'm started to see how it works, it isn't so bad. I would like to create some custom graphics and templates, but really I can't. However I can build the system and then go to VTPro through SB or even outside of SB and copy and paste my graphic pages in and then just assign the programming, similar to how I would with RTI. Is there any problems with this or any catches that I may run into?

Thanks for all the help.
do wino hue?
Post 2 made on Thursday September 9, 2010 at 14:32
39 Cent Stamp
Elite Member
Joined:
Posts:
May 2007
17,515
On September 9, 2010 at 14:01, sofa_king_CI said...
So I'm finally starting to understand SB and wrap my head around how it works. Enough to where I can usually track down its "nests" of programming to see where the macro lays or whatever.

I'm hoping somebody that has programming expereince with RTI/URC can help put a solid connection between the different terminology and programming techniques. Hopefully that makes sense.

For example, with RTI you build "SYSTEM MACRO's" on the processor and then can point to or use these system macros throughout the project. In system builder is a "GLOBAL EXPRESSION" pretty much the same thing?

With URC, you can build a short macro and have it on a button or even just a discrete command stored on a hidden button. Then later in macro programming you can point to that button to either nest in a macro or just use that command in a macro. In tearing down SB programs, I found ZONE 1 SOURCE buttons that basically had the macros for switching to that source. However the front button that is pushed just has "SOURCE SELECT_LINE 1" or something similar, is this the same idea around what URC does, or is this just the way SB runs to work with the Wizard Composers that most systems are started with?

I haven't used system builder in a while and i dont know what Global Expressions are. I used Global Presets to create system macros. I made all of my source on and system OFF macros there. I would make macros like this..

Audio Zone 1 Source 1
Audio Zone 2 Source 1
Audio Zone 3 Source 1
Audio Zone 1 Source 2
Audio Zone 2 Source 2
Audio Zone 3 Source 2
Video Zone 1 Source 1
Video Zone 2 Source 1
Video Zone 3 Source 1
Video Zone 1 Source 2
Video Zone 2 Source 2
Video Zone 3 Source 2

I would lay these out for the number of sources X the possible I/O's for the switchers. Then i would create room specific macros for the TV's/local sources/surround receivers.

Then i would use those to piece together complex macros. By breaking them up this way i could give the client the ability to select DirecTV and then easily switch to CD audio while leaving the TV at DirecTV. It also let me create what i call a "send to" menu. It was a page attached to every source that let you send the currently selected source to any room or all rooms and adjust volume for them.

You would go in and assign each of those global presets as a macro command to a button and all of the commands would stack. Then you could use the join number of that button to assign the monster macro you just created to any button you want.

JOINS:

Please explain joins? If I build a button with join #62 on it and put some macro programming on it (like I would with URC/RTI), then later build another button on another page that I want to do the same thing, do I just give it the same Join number? Or is it better to create that first button as a subpage and pull the exact button into any page needed?

Lets use volume buttons as the example. You can create a subpage with the volume buttons on it and give them join 50 Vol up, 51 Vol down, 52 Mute. Then have that subpage appear on every page. This is a no brainer because its literally the same subpage & buttons showing up everywhere.

Or.. You could have the Vol up vol down and mute buttons physically copy/pasted to every page. And if you assign the same joins to those buttons they will all be the same.

Either way will work but its faster to use the subpage. One reason to do it manually is lets say you have your volume buttons stacked vertically on mostof the pages but horizontally on the home page. Here you couldn't use the same subpage.

I'm asking these questions b/c I find myself frustrated with some of the ways Composer/SB set up things. Now that I'm started to see how it works, it isn't so bad. I would like to create some custom graphics and templates, but really I can't. However I can build the system and then go to VTPro through SB or even outside of SB and copy and paste my graphic pages in and then just assign the programming, similar to how I would with RTI. Is there any problems with this or any catches that I may run into?

Thanks for all the help.

This is exactly how i use system builder. I set every device to not auto generate pages. I create my entire GUI outside of system builder then copy/paste the pages in. Then i treat it like RTI where you assign every command to every button. I use Global Presets for macros and scheduler for things like an alarm clock.

The only problem with this is that your not taking advantage of the wizard and your going to have a difficult time trying to create your own 2way device menus. Those i usually let autogenerate and then skin it with my graphics.

It takes a little longer to get rolling like this but you wont find yourself trying to figure out why something is doing what its doing. At this point i realized that i wasnt able to use System Builder the way it was intended and i wished i had tried to learn simpl. Keep in mind i attended no training or spent any time viewing howto videos. Maybe if you stick to their "rules" you will have better luck than i did.
Avid Stamp Collector - I really love 39 Cent Stamps
Post 3 made on Thursday September 9, 2010 at 20:00
Bruce Sinclair
Active Member
Joined:
Posts:
April 2003
694
I generally do source select macros based on the feedback that a particular source has been selected. If you go to programming, audio zone, outputs, rising edge of feedback of say source one zone one, place your commands here. That way whensource is selected, the macro is issued no matter what interface is used
Bruce Sinclair CMB Integrations LLC DMC-E
"Those who are most critical, often have no real skills themsevles"
OP | Post 4 made on Thursday September 9, 2010 at 23:28
sofa_king_CI
Super Member
Joined:
Posts:
June 2009
4,230
I'm surprised all the new Prodigy guys aren't in here asking more questions.
do wino hue?
Post 5 made on Friday September 10, 2010 at 11:30
lites4u
Active Member
Joined:
Posts:
August 2006
745
Global Expressions are events that trigger automatically with no customer interaction. Example, you could create a variable for system shutdown based on time of day and have that variable shut down the system when it becomes true using a Global expression. I hope this makes sense!!!!
Post 6 made on Friday September 10, 2010 at 14:06
Audible Solutions
Super Member
Joined:
Posts:
March 2004
3,246
The key to programming Systembuilder is to understand you do not program it as you would in Simpl, RTI, URC or Niles. You do as was said above, and program macros off the feedback state. RF remote or touch panel triggers the soruce. You write global expressions such that if Source_1_fb=true, then turn on tv, (wait,100), turn on reciever, (wait 400) TV_input_HDMI, (Wait 100), receiver_input_DVD, (wait 10),Bluray_power_on.

You do not stack commands on the tigger button press. Why? Underlying macros are predicated on scrolling lists and you don't know what will be selected from the list. Because of this, logic in Systembuilder macros is feedback based.

Alan
"This is a Christian Country,Charlie,founded on Christian values...when you can't put a nativiy scene in front fire house at Christmas time in Nacogdoches Township, something's gone terribly wrong"
Post 7 made on Friday September 10, 2010 at 14:21
thecynic315
Senior Member
Joined:
Posts:
August 2008
1,001
On September 10, 2010 at 14:06, Audible Solutions said...

You do not stack commands on the tigger button press. Why? Underlying macros are predicated on scrolling lists and you don't know what will be selected from the list. Because of this, logic in Systembuilder macros is feedback based.

Alan

That only applies IF you are using SB to build up all your panels and never want to edit the panels to your style.

Though I do like your way of using the Globals to set up macros, however I like to add in some state logic for the TV so I only send the on....wait....input when the TV is off.
Post 8 made on Friday September 10, 2010 at 19:20
Audible Solutions
Super Member
Joined:
Posts:
March 2004
3,246
if you employ logic macros and import those into Systembuilder you don't have to worry about your preference to base input switching on state variables.

i use the same macros for on/off tracking in Simpl that I do in Systembuilder. I just imported them as Logic macros. Thus receiver and display input triggering is accounted for and I'd suggest this is a much better way of accomplishing the goal then yours.

The logical trigger based on feedback would send triggers into the macros as if they were triggered on the button press. Even with your preference for doing this with state variables it's still possible to nest a conditional in the global expression so that you determine when or how fast an input command is generated.

I would not code this way in Simpl. But Systembuilder is not Simpl and there's many things one can do in Simpl that are much more convoluted in Systembuilder--how to handle multiple keypads or shades, what's called jamming serial signals --is done all the time in Simpl but cannot be done in Sysetmbuilder. When you have multiple keypads or shades that would normally have its own macro per room you either have to put this into a custom macro with wrapper or you need to turn the keypad macros into logic macros and have an other macro handle the com port.

The point is that you can do what you want but you need to do it differently in both utilities.

Alan
"This is a Christian Country,Charlie,founded on Christian values...when you can't put a nativiy scene in front fire house at Christmas time in Nacogdoches Township, something's gone terribly wrong"
OP | Post 9 made on Saturday September 18, 2010 at 20:33
sofa_king_CI
Super Member
Joined:
Posts:
June 2009
4,230
I notice when I open a SB project in VTPRO, that each page has a join and then the buttons on that page of joins, why does each page have a join? I just notice that subpages will also have joins.
do wino hue?
Post 10 made on Saturday September 18, 2010 at 20:46
mrfreeze
Long Time Member
Joined:
Posts:
November 2004
167
On September 18, 2010 at 20:33, sofa_king_CI said...
I notice when I open a SB project in VTPRO, that each page has a join and then the buttons on that page of joins, why does each page have a join? I just notice that subpages will also have joins.

I would think each page has a join so it can be recalled by logic rather than page flips on the remote itself.

By giving everything a join number you could then on the logic side recall and track any page / sub page / button press / button fb etc.
OP | Post 11 made on Monday September 20, 2010 at 03:51
sofa_king_CI
Super Member
Joined:
Posts:
June 2009
4,230
Okay, new SB programming question. How do I do multiple page flips within a macro? Or how do I create a "Please Wait Page"?

I know how to set a button to do a page flip, but I want to make a please wait page for some custom buttons that I'm adding. I can't figure out at all how to do it.
do wino hue?
Post 12 made on Monday September 20, 2010 at 05:01
Gman-north
Select Member
Joined:
Posts:
February 2009
2,243
On September 9, 2010 at 20:00, Bruce Sinclair said...
I generally do source select macros based on the feedback that a particular source has been selected. If you go to programming, audio zone, outputs, rising edge of feedback of say source one zone one, place your commands here. That way when source is selected, the macro is issued no matter what interface is used

This is the correct way of doing do it. It saves alot of time if you have a ton of interfaces triggering that same event. Here's an example of how to do it

[Link: electronicinteriors.ca]

Last edited by Gman-north on September 20, 2010 05:56.
Post 13 made on Monday September 20, 2010 at 08:58
MrDigitronic
Long Time Member
Joined:
Posts:
May 2007
127
One way to do it.

1 Create a separate Please wait page in VTPro and give the page a join number along with your device page.

2 add the page flip as a step in your macro when selecting the button, by selecting the user interface from your device list, select page flip and chosse the page.

3 add a delay and then the next page flip as you wish.

To do a page flip through programming, the page needs to have a join number. Otherwise the page won't show up in the list.
Post 14 made on Monday September 20, 2010 at 10:01
Audible Solutions
Super Member
Joined:
Posts:
March 2004
3,246
I'd suggest using subpage logic to accomplish this.

Draw a Sub page and drop it on to all pages in the project. I'd suggest having the logic in place on the first so that when you copy and paste on to other pages you don't have to go back and waste time adding the logic.

How you activate this subpage depends on the device. If you have a display or projector that will provide "ready" or "on line" status you can base the subpage being high on this being false.

Or you can use the built in timing logic macro in Systembuilder and have the subpage triggered by that logic.

Alternatively, if you have logic macros that track device ready, you can have the subpage linked to that logic.

This same programming logic can be used to launch "do you want to turn system off" sub page, if that's how you want the client to turn the system off.

Alan
"This is a Christian Country,Charlie,founded on Christian values...when you can't put a nativiy scene in front fire house at Christmas time in Nacogdoches Township, something's gone terribly wrong"
Post 15 made on Monday September 20, 2010 at 15:18
cgav
Select Member
Joined:
Posts:
September 2009
1,568
I have a question about the HardButton programming on PTX3's. I keep losing my hard button programming every time it builds. How do I make it where it doesn't overwrite my hard button programming. My vol+ and Vol- is a long variable based on room selection, and it's a real pain in the ass to reprogram every time. I don't understand why it's changing it.
Page 1 of 2


Jump to


Protected Feature Before you can reply to a message...
You must first register for a Remote Central user account - it's fast and free! Or, if you already have an account, please login now.

Please read the following: Unsolicited commercial advertisements are absolutely not permitted on this forum. Other private buy & sell messages should be posted to our Marketplace. For information on how to advertise your service or product click here. Remote Central reserves the right to remove or modify any post that is deemed inappropriate.

Hosting Services by ipHouse