Re: Help with S+ File Operations
And don't forget - even if your browser module asks for a chunk of data that's going to wind up being >256 chars, it doesn't mean that the central module has to send them all out in one shot - you can break the data up over several chunks if needed.
So - if the browser asks for movie data for movies 7-11, and you know that data for a single movie will never be greater than 256 chars, have your central module do a loop - send the data for movie 7 first, then movie 8 next, then 9, etc...
- Chip
toggle quoted message
Show quoted text
--- In Crestron@..., "giblp44" <peteboz13@...> wrote: David,
Thank you for your detailed reply. Yeah, now that makes sense the approach Chip was explaining, I guess I totally missed that the first time! I've been just stuck on passing this huge string and letting the sub modules parse it...
This is a LOT more logical in keeping things light weight and I think I understand how to proceed. I will definitely check out your demo.
Thank you again I appreciate it!
--- In Crestron@..., "floyd1212" <floyd1212@> wrote:
Trying to send all the data to each browser context module is not an efficient way to do it, even if you *could* find a way to overcome the 256 char limitation, because each touchpanel only really needs to know about the 10 movies (or however many) that the user is seeing on the page at a time, right?
What if the browser module "asked" the main module for the chunk of data it needs only when the user presses the page up/down button? Your Movies module could have a serial in and out for each Context module you might have, then they could each have their own conversation independent of each other. This keeps the context module light-weight since you could possibly have many instances of it in your program.
For example, if the user is looking at movies 21 through 30, the Context module sends a string to the Movies module like "GT:021-030;" where GT might mean Get Titles in your custom protocol.
When the Movies module sees that string come in from that instance of the Context module it responds with something like "T01:Iron Man; T02:Marry Poppins; T03:Pulp Fiction;" etc, where T01 is the movie title that populates line 1 of your touchpanel and so on.
I think this is the approach that Chip was suggesting in his reply as well when he talked about "rolling your own protocol" and letting the Context modules "decode" your string you are sending it.
You are welcome to take a look at a module I posted to the files section a while ago that works this way. The module is designed to control a Lutron Homeworks system by using a text file on the processor with each load in the house. The main Processor module reads the file and builds a structured array with all the data, then multiple instances of the Browser module communicate back and forth with the Processor module to populate the text fields on the touchpanels. The file is called Lutron Load Schedule Interface Demo.
-David
--- In Crestron@..., "giblp44" <peteboz13@> wrote:
Thanks again, I really appreciate everyone's input and help with my mini project...
So, I've had some successes in learning more about these types of operations and experimenting, but I have not been able to get the full delimited movie text data out of the main "Movies" module and into the "context" modules properly.
The main issue I found is that a STRING_OUTPUT variable can only handle 256 characters. So, outputting a single string of movie data for 400 discs isn't going to work. I could make an array of 400 string variables, but that's crazy, right? Or I could chunk it, by say movies 1-5, 5-10, etc. But that is still a lot of variables to define and pass.
Do I have any other options?
Just to recap what I'm trying to accomplish... I have a movies module that writes dvd changer disc meta data to a file, on startup it reads it to a Structure array in memory. (That works OK) I then want to have multiple UI "context" modules, one for each touchpanel to be able to browse the disc information. I'm stuck on trying to get the bulk movie data out of the main module into the context modules. I thought I could send one large movie data string, delimited by "|" out of the main module. Then the context modules (on CHANGE Movie_Data$ {}) would parse the string and populate the local structures for each module to use.
Thanks.
--- In Crestron@..., "Chip" <cfm@> wrote:
Nah - just a matter of deciding how you want to "roll your own".
So your global module could have sets of arrayed digital inputs like "refresh_1" through "refresh_10", "page_up_1" through "page_up_10", etc - whatever you need to "request" data from it, and then likewise arrayed outputs to match. You could make an individual output for each element of the structure, or you could get clever - send all the structure data out a single serial signal with delimiters and make your "context" modules decode it.
- Chip
--- In Crestron@..., "giblp44" <peteboz13@> wrote:
Just a clarifation... To distrubute the structure vars from the "global" module to the sub modules does anything special need to be done?
|
Re: Help with S+ File Operations
David,
Thank you for your detailed reply. Yeah, now that makes sense the approach Chip was explaining, I guess I totally missed that the first time! I've been just stuck on passing this huge string and letting the sub modules parse it...
This is a LOT more logical in keeping things light weight and I think I understand how to proceed. I will definitely check out your demo.
Thank you again I appreciate it!
toggle quoted message
Show quoted text
--- In Crestron@..., "floyd1212" <floyd1212@...> wrote: Trying to send all the data to each browser context module is not an efficient way to do it, even if you *could* find a way to overcome the 256 char limitation, because each touchpanel only really needs to know about the 10 movies (or however many) that the user is seeing on the page at a time, right?
What if the browser module "asked" the main module for the chunk of data it needs only when the user presses the page up/down button? Your Movies module could have a serial in and out for each Context module you might have, then they could each have their own conversation independent of each other. This keeps the context module light-weight since you could possibly have many instances of it in your program.
For example, if the user is looking at movies 21 through 30, the Context module sends a string to the Movies module like "GT:021-030;" where GT might mean Get Titles in your custom protocol.
When the Movies module sees that string come in from that instance of the Context module it responds with something like "T01:Iron Man; T02:Marry Poppins; T03:Pulp Fiction;" etc, where T01 is the movie title that populates line 1 of your touchpanel and so on.
I think this is the approach that Chip was suggesting in his reply as well when he talked about "rolling your own protocol" and letting the Context modules "decode" your string you are sending it.
You are welcome to take a look at a module I posted to the files section a while ago that works this way. The module is designed to control a Lutron Homeworks system by using a text file on the processor with each load in the house. The main Processor module reads the file and builds a structured array with all the data, then multiple instances of the Browser module communicate back and forth with the Processor module to populate the text fields on the touchpanels. The file is called Lutron Load Schedule Interface Demo.
-David
--- In Crestron@..., "giblp44" <peteboz13@> wrote:
Thanks again, I really appreciate everyone's input and help with my mini project...
So, I've had some successes in learning more about these types of operations and experimenting, but I have not been able to get the full delimited movie text data out of the main "Movies" module and into the "context" modules properly.
The main issue I found is that a STRING_OUTPUT variable can only handle 256 characters. So, outputting a single string of movie data for 400 discs isn't going to work. I could make an array of 400 string variables, but that's crazy, right? Or I could chunk it, by say movies 1-5, 5-10, etc. But that is still a lot of variables to define and pass.
Do I have any other options?
Just to recap what I'm trying to accomplish... I have a movies module that writes dvd changer disc meta data to a file, on startup it reads it to a Structure array in memory. (That works OK) I then want to have multiple UI "context" modules, one for each touchpanel to be able to browse the disc information. I'm stuck on trying to get the bulk movie data out of the main module into the context modules. I thought I could send one large movie data string, delimited by "|" out of the main module. Then the context modules (on CHANGE Movie_Data$ {}) would parse the string and populate the local structures for each module to use.
Thanks.
--- In Crestron@..., "Chip" <cfm@> wrote:
Nah - just a matter of deciding how you want to "roll your own".
So your global module could have sets of arrayed digital inputs like "refresh_1" through "refresh_10", "page_up_1" through "page_up_10", etc - whatever you need to "request" data from it, and then likewise arrayed outputs to match. You could make an individual output for each element of the structure, or you could get clever - send all the structure data out a single serial signal with delimiters and make your "context" modules decode it.
- Chip
--- In Crestron@..., "giblp44" <peteboz13@> wrote:
Just a clarifation... To distrubute the structure vars from the "global" module to the sub modules does anything special need to be done?
|
Re: Help with S+ File Operations
Trying to send all the data to each browser context module is not an efficient way to do it, even if you *could* find a way to overcome the 256 char limitation, because each touchpanel only really needs to know about the 10 movies (or however many) that the user is seeing on the page at a time, right?
What if the browser module "asked" the main module for the chunk of data it needs only when the user presses the page up/down button? Your Movies module could have a serial in and out for each Context module you might have, then they could each have their own conversation independent of each other. This keeps the context module light-weight since you could possibly have many instances of it in your program.
For example, if the user is looking at movies 21 through 30, the Context module sends a string to the Movies module like "GT:021-030;" where GT might mean Get Titles in your custom protocol.
When the Movies module sees that string come in from that instance of the Context module it responds with something like "T01:Iron Man; T02:Marry Poppins; T03:Pulp Fiction;" etc, where T01 is the movie title that populates line 1 of your touchpanel and so on.
I think this is the approach that Chip was suggesting in his reply as well when he talked about "rolling your own protocol" and letting the Context modules "decode" your string you are sending it.
You are welcome to take a look at a module I posted to the files section a while ago that works this way. The module is designed to control a Lutron Homeworks system by using a text file on the processor with each load in the house. The main Processor module reads the file and builds a structured array with all the data, then multiple instances of the Browser module communicate back and forth with the Processor module to populate the text fields on the touchpanels. The file is called Lutron Load Schedule Interface Demo.
-David
toggle quoted message
Show quoted text
--- In Crestron@..., "giblp44" <peteboz13@...> wrote:
Thanks again, I really appreciate everyone's input and help with my mini project...
So, I've had some successes in learning more about these types of operations and experimenting, but I have not been able to get the full delimited movie text data out of the main "Movies" module and into the "context" modules properly.
The main issue I found is that a STRING_OUTPUT variable can only handle 256 characters. So, outputting a single string of movie data for 400 discs isn't going to work. I could make an array of 400 string variables, but that's crazy, right? Or I could chunk it, by say movies 1-5, 5-10, etc. But that is still a lot of variables to define and pass.
Do I have any other options?
Just to recap what I'm trying to accomplish... I have a movies module that writes dvd changer disc meta data to a file, on startup it reads it to a Structure array in memory. (That works OK) I then want to have multiple UI "context" modules, one for each touchpanel to be able to browse the disc information. I'm stuck on trying to get the bulk movie data out of the main module into the context modules. I thought I could send one large movie data string, delimited by "|" out of the main module. Then the context modules (on CHANGE Movie_Data$ {}) would parse the string and populate the local structures for each module to use.
Thanks.
--- In Crestron@..., "Chip" <cfm@> wrote:
Nah - just a matter of deciding how you want to "roll your own".
So your global module could have sets of arrayed digital inputs like "refresh_1" through "refresh_10", "page_up_1" through "page_up_10", etc - whatever you need to "request" data from it, and then likewise arrayed outputs to match. You could make an individual output for each element of the structure, or you could get clever - send all the structure data out a single serial signal with delimiters and make your "context" modules decode it.
- Chip
--- In Crestron@..., "giblp44" <peteboz13@> wrote:
Just a clarifation... To distrubute the structure vars from the "global" module to the sub modules does anything special need to be done?
|
Re: Best way to widen my programming ablility
On Apr 13, 2012, at 12:35 PM, matt_rasmussen_2000 wrote: There's no substitute for practice... to make it more realistic, be sure you sit on a 5-gallon bucket in an active sawmill and give yourself a deadline of 15 minutes until the CEO's presentation starts.
And for further practice: Wear some decent slacks and remove the bucket. Try to see how clean you can keep your notebook as the painters and drywallers are sanding and painting the wall-patches the electrician (or very likely the A/V installer!) cut into the walls of the "clean" room you have so carefully established... But seriously (I guess that was serious) get some toys and play with them, even if they are a bit old or slow. ...and learn Crosspoints!
|
Re: Help with S+ File Operations
Thanks again, I really appreciate everyone's input and help with my mini project...
So, I've had some successes in learning more about these types of operations and experimenting, but I have not been able to get the full delimited movie text data out of the main "Movies" module and into the "context" modules properly.
The main issue I found is that a STRING_OUTPUT variable can only handle 256 characters. So, outputting a single string of movie data for 400 discs isn't going to work. I could make an array of 400 string variables, but that's crazy, right? Or I could chunk it, by say movies 1-5, 5-10, etc. But that is still a lot of variables to define and pass.
Do I have any other options?
Just to recap what I'm trying to accomplish... I have a movies module that writes dvd changer disc meta data to a file, on startup it reads it to a Structure array in memory. (That works OK) I then want to have multiple UI "context" modules, one for each touchpanel to be able to browse the disc information. I'm stuck on trying to get the bulk movie data out of the main module into the context modules. I thought I could send one large movie data string, delimited by "|" out of the main module. Then the context modules (on CHANGE Movie_Data$ {}) would parse the string and populate the local structures for each module to use.
Thanks.
toggle quoted message
Show quoted text
--- In Crestron@..., "Chip" <cfm@...> wrote:
Nah - just a matter of deciding how you want to "roll your own".
So your global module could have sets of arrayed digital inputs like "refresh_1" through "refresh_10", "page_up_1" through "page_up_10", etc - whatever you need to "request" data from it, and then likewise arrayed outputs to match. You could make an individual output for each element of the structure, or you could get clever - send all the structure data out a single serial signal with delimiters and make your "context" modules decode it.
- Chip
--- In Crestron@..., "giblp44" <peteboz13@> wrote:
Just a clarifation... To distrubute the structure vars from the "global" module to the sub modules does anything special need to be done?
|
Re: DHCP, Video Switch and Logic
Jesus @ Audio& Net Artist
Would be appreciated!!! :audioandnetartist@... On Apr 13, 2012 9:07 PM, "matt_rasmussen_2000" <mjrtoo@...> wrote: **
Use analog initialize to create a source value. Run that analog output into multiple equates to switch your various subsystems based upon that value. You can jam the outputs of equates so if the device that the equate is switching needs to select the same input for multiple values, put the same digital name on those outputs. If you'd like I could send you a simple example, just shoot me an email.
--- In Crestron@..., "gsusmood" <audioandnetartist@...> wrote:
Hey, I Finished this project with a 4x4 Binary Video Switch, but every time I select the room> >source it goes the stepper with all the propper sequence that includes video Switching, if I change from room or source then back again to that source it will execute the stepper and go to black Display while the DHCP does his work for about 2@5 secs, Customer wont mind but I would like to improve my coding. what could be the best efficient way to tell the system, bypass the Video switch if selecting the same source again. thanks!!!
[Non-text portions of this message have been removed]
|
Re: DHCP, Video Switch and Logic
Use analog initialize to create a source value. Run that analog output into multiple equates to switch your various subsystems based upon that value. You can jam the outputs of equates so if the device that the equate is switching needs to select the same input for multiple values, put the same digital name on those outputs. If you'd like I could send you a simple example, just shoot me an email.
toggle quoted message
Show quoted text
--- In Crestron@..., "gsusmood" <audioandnetartist@...> wrote: Hey, I Finished this project with a 4x4 Binary Video Switch, but every time I select the room> >source it goes the stepper with all the propper sequence that includes video Switching, if I change from room or source then back again to that source it will execute the stepper and go to black Display while the DHCP does his work for about 2@5 secs, Customer wont mind but I would like to improve my coding. what could be the best efficient way to tell the system, bypass the Video switch if selecting the same source again. thanks!!!
|
Re: Simple + Guru Question - Differences for IP modules between 2 and 3 series
Indeed, I've always used wave logic for critical situations, but I was posting because what Rob said and what I was told at masters were contradictory.
toggle quoted message
Show quoted text
--- In Crestron@..., Neil Dorin <neildorin@...> wrote: You are correct Matt. The "tick" increment is much smaller in the 3-series which is why we were encouraged to use logic waves for timed event management rather than ticks.
On Fri, Apr 13, 2012 at 4:13 PM, matt_rasmussen_2000 <mjrtoo@...>wrote:
**
I was told in the last masters the smallest timeslice in 3 series is .000000000001s rather than the .01s in 2 series. Is that not true?
--- In Crestron@..., "RobK" <fooguy89@> wrote:
A "tick" (i.e. 1d in a time based symbol) is 0.01s in terms of crestron programming. That's the same for both 3 series and 2 series.
Gates run faster on the MC3 than they do on the 2 series, but I'm not sure if that's going to really get in your way. Most pure SIMPL solutions work the same. There have been some SIMPL+ gotchas since it's a new platform, but they have endeavored to make most of it the same (and if you do have access to the labs, you CAN post a message to them saying that XXX works on a 2 but not on a 3 series).
But there never was a "time" for a logic wave, anyway, since a "wave" is variable to begin with.
--- In Crestron@..., stranded <strandedyahoo@> wrote:
Is the module completely Simpl+? Having not used a MC3 yet all I can
tell
you is that if you are using anything that uses ticks for timing it will
cause timing issues. This is because a tick in the MC3 is much much shorter than in a 2 series.
On Fri, Apr 13, 2012 at 10:29 AM, waltonad0283 <waltonad0283@>wrote:
**
Hi All,
I have a Simpl+ module that I wrote for an IP controlled device, it
works
fine with my Cp2E processor in the office. - However - when It got
sent out
to a client site that has an MC3 in it - it doesn't work.
I am trying to switch audio/video sources - on my Cp2E - everything happens fine. On the MC3, toolbox shows making a successful socket connection, but the switch never happens. Then the socket closes
like it's
supposed to.. Has anyone else had this happen - on any IP module that worked on a 2 series and not on a 3 series - and if so what was the resolution?
Thanks
[Non-text portions of this message have been removed]
|
Re: Simple + Guru Question - Differences for IP modules between 2 and 3 series
They led me to believe that that was the new tick value, not .01s as in 2 series.
toggle quoted message
Show quoted text
--- In Crestron@..., Jeremy Weatherford <xidus.net@...> wrote: That might be the smallest nonzero value you can enter, but I have a hard time believing it will really trigger the next signal a thousandth of a nanosecond later, especially when a 1GHz processor only has a clock pulse once every nanosecond.
On Fri, Apr 13, 2012 at 6:13 PM, matt_rasmussen_2000 <mjrtoo@...> wrote:
I was told in the last masters the smallest timeslice in 3 series is .000000000001s rather than the .01s in 2 series. ?Is that not true?
--- In Crestron@..., "RobK" <fooguy89@> wrote:
A "tick" (i.e. 1d in a time based symbol) is 0.01s in terms of crestron programming. ?That's the same for both 3 series and 2 series.
Gates run faster on the MC3 than they do on the 2 series, but I'm not sure if that's going to really get in your way. ?Most pure SIMPL solutions work the same. ?There have been some SIMPL+ gotchas since it's a new platform, but they have endeavored to make most of it the same (and if you do have access to the labs, you CAN post a message to them saying that XXX works on a 2 ?but not on a 3 series).
But there never was a "time" for a logic wave, anyway, since a "wave" is variable to begin with.
--- In Crestron@..., stranded <strandedyahoo@> wrote:
Is the module completely Simpl+? ?Having not used a MC3 yet all I can tell you is that if you are using anything that uses ticks for timing it will cause timing issues. ?This is because a tick in the MC3 is much much shorter than in a 2 series.
On Fri, Apr 13, 2012 at 10:29 AM, waltonad0283 <waltonad0283@>wrote:
**
Hi All,
I have a Simpl+ module that I wrote for an IP controlled device, it works fine with my Cp2E processor in the office. - However - when It got sent out to a client site that has an MC3 in it - it doesn't work.
I am trying to switch audio/video sources - on my Cp2E - everything happens fine. On the MC3, toolbox shows making a successful socket connection, but the switch never happens. Then the socket closes like it's supposed to.. Has anyone else had this happen - on any IP module that worked on a 2 series and not on a 3 series - and if so what was the resolution?
Thanks
[Non-text portions of this message have been removed]
------------------------------------
Check out the Files area for useful modules, documents, and drivers.
A contact list of Crestron dealers and programmers can be found in the Database area. Yahoo! Groups Links
-- Jeremy Weatherford
|
Re: Simple + Guru Question - Differences for IP modules between 2 and 3 series
Actually a processor cycle is not a set time. So 1 logic wave can be shorter then .01s or then .01s because of the way it works.
Also is the SIMPL+ direct socket or does it run through a tcp/ip client?
If direct, the condition for the send may not be correct.
If you are using SOCKETSTATUS with the simpl+ and you are saving the status as a variable (ex CurrentStatus) with CurrentStatus = SOCKETGETSTATUS(); i have found that is the most reliable. That way when it shows a 2 you can set the string to send.
The other problem i came across is that when the CurrentStatus = ( 4 || 5), i needed to make sure to SOCKETDISCONNECTCLIENT(socketname)
else sometime it would think it was connected and not really be.
toggle quoted message
Show quoted text
--- In Crestron@..., "l_codd" <lindsayc@...> wrote: Since that is less than a single processor cycle I think it is safe to say that it's not true. With the current programming tools the shortest time-able period is still 0.01 seconds. With new tools that is likely to change. However, timing in Crestron is not guaranteed. Timed events are executed on the first available S+ or logic slot AFTER the elapsed time. If the time required to process core tasks takes longer, length of time 'after' can be considerable. In fact, I used this attribute to demonstrate the time taken for various tasks in the demonstration program that I wrote a couple of years ago (still in the files section I think).
Lindsay
--- In Crestron@..., "matt_rasmussen_2000" <mjrtoo@> wrote:
I was told in the last masters the smallest timeslice in 3 series is .000000000001s rather than the .01s in 2 series. Is that not true?
--- In Crestron@..., "RobK" <fooguy89@> wrote:
A "tick" (i.e. 1d in a time based symbol) is 0.01s in terms of crestron programming. That's the same for both 3 series and 2 series.
Gates run faster on the MC3 than they do on the 2 series, but I'm not sure if that's going to really get in your way. Most pure SIMPL solutions work the same. There have been some SIMPL+ gotchas since it's a new platform, but they have endeavored to make most of it the same (and if you do have access to the labs, you CAN post a message to them saying that XXX works on a 2 but not on a 3 series).
But there never was a "time" for a logic wave, anyway, since a "wave" is variable to begin with.
--- In Crestron@..., stranded <strandedyahoo@> wrote:
Is the module completely Simpl+? Having not used a MC3 yet all I can tell you is that if you are using anything that uses ticks for timing it will cause timing issues. This is because a tick in the MC3 is much much shorter than in a 2 series.
On Fri, Apr 13, 2012 at 10:29 AM, waltonad0283 <waltonad0283@>wrote:
**
Hi All,
I have a Simpl+ module that I wrote for an IP controlled device, it works fine with my Cp2E processor in the office. - However - when It got sent out to a client site that has an MC3 in it - it doesn't work.
I am trying to switch audio/video sources - on my Cp2E - everything happens fine. On the MC3, toolbox shows making a successful socket connection, but the switch never happens. Then the socket closes like it's supposed to.. Has anyone else had this happen - on any IP module that worked on a 2 series and not on a 3 series - and if so what was the resolution?
Thanks
|
DHCP, Video Switch and Logic
Hey, I Finished this project with a 4x4 Binary Video Switch, but every time I select the room> >source it goes the stepper with all the propper sequence that includes video Switching, if I change from room or source then back again to that source it will execute the stepper and go to black Display while the DHCP does his work for about 2@5 secs, Customer wont mind but I would like to improve my coding. what could be the best efficient way to tell the system, bypass the Video switch if selecting the same source again. thanks!!!
|
Re: guidelines for using MSP?
thanks Lincoln
toggle quoted message
Show quoted text
On Apr 13, 2012, at 6:54 PM, Lincoln King-Cliby wrote: If you want to make sure the serial will be propagated when the crosspoint is connected the serial going in to the left side has a MSP on it.
If you want to make sure that it will pop up on a touchpanel if the touchpanel drops offline and comes back _and_ the touchpanel doesn't have a PermanentStringSize parameter you'd also need it on the serials going to the touchpanel.
I tend to view logic blocks as "dams" with the signal (water) flowing left-to-right. If you want the serial to persist through the dam opening and closing (ABUF enable, Crosspoint connect, TP online) you need a MSP "upstream" on of that logic block
-- Lincoln King-Cliby, CTS Sr. Systems Architect | Crestron Certified Master Programmer (Silver) ControlWorks Consulting, LLC Crestron Authorized Independent Programmer
-----Original Message----- From: Crestron@... [mailto:Crestron@...] On Behalf Of Joseph Vossen Sent: Friday, April 13, 2012 6:45 PM To: Crestron@... Subject: [Crestron] guidelines for using MSP?
I keep forgetting this....when sending serial text through a crosspoint, where is the correct/optimal/accepted/best place to use a MSP? Does one place it on the input (left) side of the equipment symbol or the output (right) side of the control symbol?
thanks
|
Pulled mine out and took it to a local Batteries Plus and they moved the little electronic board to a new battery. Works great.
toggle quoted message
Show quoted text
On Apr 13, 2012, at 9:05 AM, Jon Spackman <fueler1@...> wrote: Crestron still sells them, I got a few the other day.
Sent from my iPad
|
Re: PTX-3 and Buffers for Hardkeys
Buffer or crosspoint is the easiest and fastest way. Compile times on some panels are absurd. I wrote a couple of crosspoint modules just for this purpose because I carve out about 70 joins on every panel for common commands.
toggle quoted message
Show quoted text
On Apr 13, 2012, at 8:31 AM, "gsusmood" <audioandnetartist@...> wrote: Hey Guys, been working on this control, but the way I learned with older models or a TPS-6X for use hard keys between sources was true a buffer, called to crestron and they told me that was the older way, with new controls use hard button manager, am doing this right now gonna test it in few minutes, any comments regarding this that can shine!!!
|
Re: Simple + Guru Question - Differences for IP modules between 2 and 3 series
Since that is less than a single processor cycle I think it is safe to say that it's not true. With the current programming tools the shortest time-able period is still 0.01 seconds. With new tools that is likely to change. However, timing in Crestron is not guaranteed. Timed events are executed on the first available S+ or logic slot AFTER the elapsed time. If the time required to process core tasks takes longer, length of time 'after' can be considerable. In fact, I used this attribute to demonstrate the time taken for various tasks in the demonstration program that I wrote a couple of years ago (still in the files section I think).
Lindsay
toggle quoted message
Show quoted text
--- In Crestron@..., "matt_rasmussen_2000" <mjrtoo@...> wrote: I was told in the last masters the smallest timeslice in 3 series is .000000000001s rather than the .01s in 2 series. Is that not true?
--- In Crestron@..., "RobK" <fooguy89@> wrote:
A "tick" (i.e. 1d in a time based symbol) is 0.01s in terms of crestron programming. That's the same for both 3 series and 2 series.
Gates run faster on the MC3 than they do on the 2 series, but I'm not sure if that's going to really get in your way. Most pure SIMPL solutions work the same. There have been some SIMPL+ gotchas since it's a new platform, but they have endeavored to make most of it the same (and if you do have access to the labs, you CAN post a message to them saying that XXX works on a 2 but not on a 3 series).
But there never was a "time" for a logic wave, anyway, since a "wave" is variable to begin with.
--- In Crestron@..., stranded <strandedyahoo@> wrote:
Is the module completely Simpl+? Having not used a MC3 yet all I can tell you is that if you are using anything that uses ticks for timing it will cause timing issues. This is because a tick in the MC3 is much much shorter than in a 2 series.
On Fri, Apr 13, 2012 at 10:29 AM, waltonad0283 <waltonad0283@>wrote:
**
Hi All,
I have a Simpl+ module that I wrote for an IP controlled device, it works fine with my Cp2E processor in the office. - However - when It got sent out to a client site that has an MC3 in it - it doesn't work.
I am trying to switch audio/video sources - on my Cp2E - everything happens fine. On the MC3, toolbox shows making a successful socket connection, but the switch never happens. Then the socket closes like it's supposed to.. Has anyone else had this happen - on any IP module that worked on a 2 series and not on a 3 series - and if so what was the resolution?
Thanks
[Non-text portions of this message have been removed]
|
Re: guidelines for using MSP?
If you want to make sure the serial will be propagated when the crosspoint is connected the serial going in to the left side has a MSP on it.
If you want to make sure that it will pop up on a touchpanel if the touchpanel drops offline and comes back _and_ the touchpanel doesn't have a PermanentStringSize parameter you'd also need it on the serials going to the touchpanel.
I tend to view logic blocks as "dams" with the signal (water) flowing left-to-right. If you want the serial to persist through the dam opening and closing (ABUF enable, Crosspoint connect, TP online) you need a MSP "upstream" on of that logic block
-- Lincoln King-Cliby, CTS Sr. Systems Architect | Crestron Certified Master Programmer (Silver) ControlWorks Consulting, LLC Crestron Authorized Independent Programmer
toggle quoted message
Show quoted text
-----Original Message----- From: Crestron@... [mailto:Crestron@...] On Behalf Of Joseph Vossen Sent: Friday, April 13, 2012 6:45 PM To: Crestron@... Subject: [Crestron] guidelines for using MSP?
I keep forgetting this....when sending serial text through a crosspoint, where is the correct/optimal/accepted/best place to use a MSP? Does one place it on the input (left) side of the equipment symbol or the output (right) side of the control symbol?
thanks
------------------------------------
Check out the Files area for useful modules, documents, and drivers.
A contact list of Crestron dealers and programmers can be found in the Database area. Yahoo! Groups Links
|
Re: Simple + Guru Question - Differences for IP modules between 2 and 3 series
Ah, that's an excellent point, Jeremy.
toggle quoted message
Show quoted text
--- In Crestron@..., Jeremy Weatherford <xidus.net@...> wrote: That might be the smallest nonzero value you can enter, but I have a hard time believing it will really trigger the next signal a thousandth of a nanosecond later, especially when a 1GHz processor only has a clock pulse once every nanosecond.
|
Re: Simple + Guru Question - Differences for IP modules between 2 and 3 series
That might be the smallest nonzero value you can enter, but I have a hard time believing it will really trigger the next signal a thousandth of a nanosecond later, especially when a 1GHz processor only has a clock pulse once every nanosecond. On Fri, Apr 13, 2012 at 6:13 PM, matt_rasmussen_2000 <mjrtoo@...> wrote: I was told in the last masters the smallest timeslice in 3 series is .000000000001s rather than the .01s in 2 series. ?Is that not true?
--- In Crestron@..., "RobK" <fooguy89@...> wrote:
A "tick" (i.e. 1d in a time based symbol) is 0.01s in terms of crestron programming. ?That's the same for both 3 series and 2 series.
Gates run faster on the MC3 than they do on the 2 series, but I'm not sure if that's going to really get in your way. ?Most pure SIMPL solutions work the same. ?There have been some SIMPL+ gotchas since it's a new platform, but they have endeavored to make most of it the same (and if you do have access to the labs, you CAN post a message to them saying that XXX works on a 2 ?but not on a 3 series).
But there never was a "time" for a logic wave, anyway, since a "wave" is variable to begin with.
--- In Crestron@..., stranded <strandedyahoo@> wrote:
Is the module completely Simpl+? ?Having not used a MC3 yet all I can tell you is that if you are using anything that uses ticks for timing it will cause timing issues. ?This is because a tick in the MC3 is much much shorter than in a 2 series.
On Fri, Apr 13, 2012 at 10:29 AM, waltonad0283 <waltonad0283@>wrote:
**
Hi All,
I have a Simpl+ module that I wrote for an IP controlled device, it works fine with my Cp2E processor in the office. - However - when It got sent out to a client site that has an MC3 in it - it doesn't work.
I am trying to switch audio/video sources - on my Cp2E - everything happens fine. On the MC3, toolbox shows making a successful socket connection, but the switch never happens. Then the socket closes like it's supposed to.. Has anyone else had this happen - on any IP module that worked on a 2 series and not on a 3 series - and if so what was the resolution?
Thanks
[Non-text portions of this message have been removed]
------------------------------------
Check out the Files area for useful modules, documents, and drivers.
A contact list of Crestron dealers and programmers can be found in the Database area. Yahoo! Groups Links
-- Jeremy Weatherford
|
guidelines for using MSP?
I keep forgetting this....when sending serial text through a crosspoint, where is the correct/optimal/accepted/best place to use a MSP? Does one place it on the input (left) side of the equipment symbol or the output (right) side of the control symbol?
thanks
|
Re: Simple + Guru Question - Differences for IP modules between 2 and 3 series
Wow, really? Stupid ticks....
toggle quoted message
Show quoted text
--- In Crestron@..., Neil Dorin <neildorin@...> wrote: You are correct Matt. The "tick" increment is much smaller in the 3-series which is why we were encouraged to use logic waves for timed event management rather than ticks.
On Fri, Apr 13, 2012 at 4:13 PM, matt_rasmussen_2000 <mjrtoo@...>wrote:
**
I was told in the last masters the smallest timeslice in 3 series is .000000000001s rather than the .01s in 2 series. Is that not true?
--- In Crestron@..., "RobK" <fooguy89@> wrote:
A "tick" (i.e. 1d in a time based symbol) is 0.01s in terms of crestron programming. That's the same for both 3 series and 2 series.
Gates run faster on the MC3 than they do on the 2 series, but I'm not sure if that's going to really get in your way. Most pure SIMPL solutions work the same. There have been some SIMPL+ gotchas since it's a new platform, but they have endeavored to make most of it the same (and if you do have access to the labs, you CAN post a message to them saying that XXX works on a 2 but not on a 3 series).
But there never was a "time" for a logic wave, anyway, since a "wave" is variable to begin with.
--- In Crestron@..., stranded <strandedyahoo@> wrote:
Is the module completely Simpl+? Having not used a MC3 yet all I can
tell
you is that if you are using anything that uses ticks for timing it will
cause timing issues. This is because a tick in the MC3 is much much shorter than in a 2 series.
On Fri, Apr 13, 2012 at 10:29 AM, waltonad0283 <waltonad0283@>wrote:
**
Hi All,
I have a Simpl+ module that I wrote for an IP controlled device, it
works
fine with my Cp2E processor in the office. - However - when It got
sent out
to a client site that has an MC3 in it - it doesn't work.
I am trying to switch audio/video sources - on my Cp2E - everything happens fine. On the MC3, toolbox shows making a successful socket connection, but the switch never happens. Then the socket closes
like it's
supposed to.. Has anyone else had this happen - on any IP module that worked on a 2 series and not on a 3 series - and if so what was the resolution?
Thanks
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]
|