¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io
Date

Re: User Module vs. Simpl Symbols - File Size, Compile Time, and Resources

Heath Volmer
 

Sorry I'm not specifically addressing your question but it sounds like you
could benefit from crosspoints here. That seems like a huge program for 29
zones, but of course I can't know that. I've never experienced compile
times more than 2 minutes. I'll bet you have way more logic / signals than
you really need to accomplish what you're doing.







On Mon, Sep 17, 2012 at 11:20 AM, Jason Andersen
<jandersen@...>wrote:

**


User Module or Simpl Symbols as it relates to Program Size, Compile Time,
and Resources Used.

I'm looking for some specifics here because I haven't figured out the best
approach yet.

I have a module that I use to manage an AV zone. A while ago I thought it
would be better organization to wrap it up in a User Module. After some
time that module has grown in size and so has my compile times. As an
experiment I took out the code in the module and placed it back in my
program.

This program has 29 AV rooms and 6 interfaces, so there are 174 instances
of this module.

When I made this change I noticed a few things.

Program Size Increased

So a file that was 4 MBs grew to just over 10 MBs and the only thing I
changed was removing the module and placing the code that was in the module
in the Simpl program.

Compile Time Decreased

For the 4 MB Simpl program that was using the User Modules the compile
time was around 15 minutes.

For the 10 MB Simpl program that was not using modules but was using only
Simpl logic symbols the compile time was only 2 minutes.

Resources Used Stayed The Same

CPU load and RAM used didn't seem to move.

What factors affect this? Do other symbols increase or decrease any of
these changes? I'm using quite a few digital and analog buffers although
for the most part they only have a few signals in each one. Do buffers with
more inputs and outputs increase this? Or is it the number of buffers?

Any help would be great. Trying to figure out how to manage my programs as
they get more complicated.

Jason Andersen



[Non-text portions of this message have been removed]


Re: Sprinkler Control

 

Thanks for the reply, it was very helpful. I may bug you later about your scheduler but that'll be down the road right now we are just trying to put together some options.

Nate
On Sep 14, 2012, at 8:33 PM, "gogolftoday" <grant@...> wrote:

I personally have Rain8Net. It has no built-in programming, so it basically a glorified set of serial controlled relays - on/off/feedback. It took a little bit, but I created my own "scheduler" with different runtimes for drip zones vs. rotor heads. It also goes out to the weather channel and picks up precipitation forecasts and temperature ranges (freeze protection and longer runtimes for 80 degree+ overnight lows).

There is another one out there that I have seen integrated, but I can't remember the name off the top of my head.

--- In Crestron@..., "Nate" <soccerquist@...> wrote:

Hey Group,

This may be a really dumb question but I've got to ask cuz my boss asked me to find this out. Anyway does anyone know if its possible to control a Rainbird Sprinkler system model number ESP-LXME? I tried looking up the model on Rainbirds website but I couldn't find any information. Also if it's not possible to control that system is there a sprinkler system that is controllable?

Thanks everyone for all the help,
Nate





[Non-text portions of this message have been removed]


Re: ipad landscape orientation locks upside down in wall dock (mobile pro g)

 

The problem is for some stupid reason the wall dock and the table dock are opposite of each other. The ipad goes into the wall dock one way and you have to flip it over to dock it into the table dock.
horrible design.

--- In Crestron@..., "Brendan McAlpine" <brendan@...> wrote:

Yep, V2.00.42.00 does just that! Updated mine and came across the same problem. Set lock orientation to "none" on the app, and lock the iPad in the landscape orientation (correct way up).

--- In Crestron@..., "mtcolombo" <mtcolombo@> wrote:

hello all,

i am using crestron mobile pro g on an ipad2 and ipad3 with a crestron wall dock (left hinge & left ipad connect interface.) my design is landscape from vtproE.

my problem...i used to just 'lock' the entire ipad orientation for my landscape design. now, crestron has added the 'lock orientation' feature within the software. when i use this feature and turn off the ipad rotation lock, the crestron software locks the landscape orientation upside from the way the ipad is docked into the wall.

anyone else run into this problem? it should lock rotation in either landscape option, but most importantly at least in the SAME orientation of the crestron wall dock.

suggestions? solutions? is crestron working on correcting this?

thanks in advance,
missy


TVOne 1T-VS-658 control via one-way serial via IR port.

 

I can control the device just fine via viewport directly from my computer, but cannot seem to get it to work via an IR port as serial on a CP2e.

I've tried replacing the driver in the program with no change, I can see the command being sent from Crestron when I hook the port into my PC via hyperterminal. Buad rate and associated data is correct in the program.

I've tried grounding Pin 2 on the scaler to Ground with no love either (and tried using signal to pin 2 as well for a test)

Any ideas why I can control it fine via a console program and not a one way IR serial port?


User Module vs. Simpl Symbols - File Size, Compile Time, and Resources

Jason Andersen
 

User Module or Simpl Symbols as it relates to Program Size, Compile Time, and Resources Used.

I'm looking for some specifics here because I haven't figured out the best approach yet.

I have a module that I use to manage an AV zone. A while ago I thought it would be better organization to wrap it up in a User Module. After some time that module has grown in size and so has my compile times. As an experiment I took out the code in the module and placed it back in my program.

This program has 29 AV rooms and 6 interfaces, so there are 174 instances of this module.

When I made this change I noticed a few things.


Program Size Increased

So a file that was 4 MBs grew to just over 10 MBs and the only thing I changed was removing the module and placing the code that was in the module in the Simpl program.


Compile Time Decreased

For the 4 MB Simpl program that was using the User Modules the compile time was around 15 minutes.

For the 10 MB Simpl program that was not using modules but was using only Simpl logic symbols the compile time was only 2 minutes.


Resources Used Stayed The Same

CPU load and RAM used didn't seem to move.


What factors affect this? Do other symbols increase or decrease any of these changes? I'm using quite a few digital and analog buffers although for the most part they only have a few signals in each one. Do buffers with more inputs and outputs increase this? Or is it the number of buffers?

Any help would be great. Trying to figure out how to manage my programs as they get more complicated.


Jason Andersen


Re: ipad landscape orientation locks upside down in wall dock (mobile pro g)

 

Yep, V2.00.42.00 does just that! Updated mine and came across the same problem. Set lock orientation to "none" on the app, and lock the iPad in the landscape orientation (correct way up).

--- In Crestron@..., "mtcolombo" <mtcolombo@...> wrote:

hello all,

i am using crestron mobile pro g on an ipad2 and ipad3 with a crestron wall dock (left hinge & left ipad connect interface.) my design is landscape from vtproE.

my problem...i used to just 'lock' the entire ipad orientation for my landscape design. now, crestron has added the 'lock orientation' feature within the software. when i use this feature and turn off the ipad rotation lock, the crestron software locks the landscape orientation upside from the way the ipad is docked into the wall.

anyone else run into this problem? it should lock rotation in either landscape option, but most importantly at least in the SAME orientation of the crestron wall dock.

suggestions? solutions? is crestron working on correcting this?

thanks in advance,
missy


Re: String Parsing

Stig
 

Been there :)

--- In Crestron@..., Neil Dorin <neildorin@...> wrote:

Haha,

Thanks for the correction Stig.

Poorly.formatted.code.example = iPad.Splus.edits + not.enough.sleep +
hangover.from.wedding; //Equation to defend programmer's ego

-Neil

On Mon, Sep 17, 2012 at 5:02 AM, Stig <ska@...> wrote:

**


With all respect Neil, Don't use iPad to edit simpl+ code ;)
The index counter must also be after the first occurance of "actor Name".

-Stig


#DEFINE_CONSTANT maxnames 10
#DEFINE_CONSTANT maxlength 40
#ENABLE_TRACE

Digital_Input Get_Names;
Buffer_Input RxData$[1000];
String_Output Actor$[maxnames];//[maxlength]; //Define an output array of
10 outputs, each up to 40 bytes in length


Integer i; //Define a global integer as the index
Integer semaphore; //Define a semaphore to prevent re-entrancy
String sTemp[100], sDump[50];

Push Get_Names
{
i = 1; //reset index to 1 when new request for name is sent.
}

Change RxData$
{
IF(semaphore = 0)
{
Semaphore = 1;
while(len(RxData$))
{//assuming strings are like "<person job="Actor" name="Brandon Lee" />"

sTemp = Gather("/>", RxData$); //this will remove each line from the
buffer to be parsed individually
IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{
sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);
IF(i>=1 && i <=maxnames && IsSignalDefined(Actor$[i]) ) // parse names if
index <=10 and if signalout(i) is defined in simpl)
{
Actor$[i]=left(sTemp, find("/>", sTemp)-3); //assign the parsed string to
the output specified by the index [i]
IF(i >= 1 && i < maxnames) {i = i + 1;} //increment index value if between
2 and 9
}
}
Semaphore = 0;
}
}
}


Function Main()
{
Semaphore = 0;

}

--- In Crestron@..., Neil Dorin <neildorin@> wrote:

Here: //Based on the sample data you've given I'm making the assumption
that you'll get all the names you're after in a single query. This code
will parse up to 10 names and those names would be overwritten with the
next query.

#DEFINE_CONSTANT maxnames 10
#DEFINE_CONSTANT maxlength 40

Digital_Input Get_Names;
Buffer_Input RxData$[1000];
String_Output Actor$[maxnames][maxlength]; //Define an output array of
10 outputs, each up to 40 bytes in length

Integer i; //Define a global integer as the index

Push Get_Names
{
i = 1; //reset index to 1 when new request for name is sent.
}


Change RxData$
{
Integer semaphore; //Define a semaphore to prevent re-entrancy
String sTemp[100], sDump[50];

While(semaphore = 0)
{
Semaphore = 1;

sTemp = Gather("/>", RxData$); //this will remove each line from the
buffer to be parsed individually

IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{

IF(i >= 1 && < maxnames){i = i + 1}; //increment index value if between
2 and 9

//parse as usual:

sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);

Actor1[i]=left(sTemp, find("/>", sTemp)-3); //assign the parsed string
to the output specified by the index [i]

Semaphore = 0;

}
}
}

You'll have to pardon any syntax errors as my iPad email app is not the
best S+ text editor environment.

Hope that makes sense for you. This could also be done using a for loop
but I thought you might understand this method more easily. You could also
parse the name with a single mid statement and have no need to define sDump
and save some memory but thats really irrelevant.

Ex. Actor$[i] = mid(sTemp, find("name=",sTemp) + 7,Len(sTemp) -
((find("/>", sTemp)-3) - (find("name=",sTemp))); //I'm almost sure to have
missed a parenthesis but you get the idea.

-Neil Dorin

Sent from my iPad

On Sep 16, 2012, at 10:16 PM, "chrmac68" <chrmac68@> wrote:

Can you possibly give me an example of how to do this.
I have tried so many ways all without success.

Thanks

--- In Crestron@..., Neil Dorin <neildorin@> wrote:

You're overwriting Actor1$ each time you parse a name. You need an
integer variable to track how many names you've already parsed and use that
as the index of the string output array you want to assign it to.

-Neil Dorin

Sent from my iPhone

On 2012-09-16, at 6:09 PM, "Chris" <chrmac68@> wrote:

Sorry posted this in wrong place...

maybe im missing something here.
in s+
<person job="Actor" name="Brandon Lee" />
<person job="Actor" name="Rochelle Davis" />
<person job="Actor" name="Jon Thompson" />

im doing this:

IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{

sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);

Actor1$=left(sTemp, find("/>", sTemp)-3);

}

My output is always Jon Thompson. How can i get it to pull out 1
at a time and
assign to
Actor1$
Actor2$
etc.

Thanks


[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]




Re: masters 2012

 

You'll just have to come out to the west coast Chip!

On Mon, Sep 17, 2012 at 8:35 AM, chipmoodycs <cfm@...> wrote:


Ahh, but some of us are gonna miss seeing you in NJ!

- Chip


--- In Crestron@..., Nathan Hesson <nhesson@...> wrote:

I'm confirmed for Nov 12th-14th in Cypress. No more 6 hour flight across
the country!

On Sat, Sep 15, 2012 at 5:14 PM, lincster2010 <lincster2010@...>wrote:

The Northeast in the fall is definitely worth the drive.

--- In Crestron@..., "Tony Golden" <mrgolden@> wrote:

It's not as bad as it seems - if you like to drive :-)


--- On Saturday, September 15, 2012 at 12:05 AM, Chip wrote:

Wow - *that's* a long drive!

- Chip

--- In Crestron@..., "Tony Golden" <mrgolden@> wrote:

I drove last year, but I'm not sure if I'll do it again this
year or
not...


--- On Friday, September 14, 2012 at 10:21 PM, Chip wrote:

For anyone that's close enough that they *drive* to Rockleigh
coming
from the south, I highly recommend taking 287 North to the NY
Throughway if at ALL possible. MUCH nicer drive than taking
95/Turnpike...

- Chip

--- In Crestron@..., "eagrubbs" <eagrubbs@> wrote:

You and me both. The farthest North I have been is DC. So
this
should be
an experience in all shape forms and fashions.

--- In Crestron@..., "richard_leek"
<leek.richard@>
wrote:

I signed up for dec 5 - 7. Wanted October but have too much
work. I sure do hope it's nice in NJ in December



------------------------------------




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








------------------------------------




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: masters 2012

 

Cypress, CA Nov 14 - 16.

As much as I have enjoyed the mother-ship in the past, its a long haul from Vancouver, Canada.

--- In Crestron@..., Brett Vitaz <brett@...> wrote:

Confirmed:
Cypress, CA Nov 12
See you there!


On Mon, Sep 17, 2012 at 11:35 AM, chipmoodycs <cfm@...> wrote:

**



Ahh, but some of us are gonna miss seeing you in NJ!

- Chip


--- In Crestron@..., Nathan Hesson <nhesson@> wrote:

I'm confirmed for Nov 12th-14th in Cypress. No more 6 hour flight across
the country!

On Sat, Sep 15, 2012 at 5:14 PM, lincster2010 <lincster2010@>wrote:

The Northeast in the fall is definitely worth the drive.

--- In Crestron@..., "Tony Golden" <mrgolden@> wrote:

It's not as bad as it seems - if you like to drive :-)


--- On Saturday, September 15, 2012 at 12:05 AM, Chip wrote:

Wow - *that's* a long drive!

- Chip

--- In Crestron@..., "Tony Golden" <mrgolden@> wrote:

I drove last year, but I'm not sure if I'll do it again this
year or
not...


--- On Friday, September 14, 2012 at 10:21 PM, Chip wrote:

For anyone that's close enough that they *drive* to Rockleigh
coming
from the south, I highly recommend taking 287 North to the NY
Throughway if at ALL possible. MUCH nicer drive than taking
95/Turnpike...

- Chip

--- In Crestron@..., "eagrubbs" <eagrubbs@> wrote:

You and me both. The farthest North I have been is DC. So
this
should be
an experience in all shape forms and fashions.

--- In Crestron@..., "richard_leek"
<leek.richard@>
wrote:

I signed up for dec 5 - 7. Wanted October but have too much
work. I sure do hope it's nice in NJ in December



------------------------------------




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




[Non-text portions of this message have been removed]


[Non-text portions of this message have been removed]


ir code for planet iTV?

 

hello all
does anyone has the ir code for the planet iTV receiver box?
thanks in advance



Re: Tstat change 74,3 degrees to 74

 

Someone already suggested that Chip :). But yes, that's one of the
standard ways to deal with rounding number off and a lot easier than
playing around with the remainder.

Geoff

On Mon, Sep 17, 2012 at 10:18 AM, Chip <cfm@...> wrote:

**



Can't you just add 5 to the initial value before DIVMODing it, or is my
math off?

- Chip

--- In Crestron@..., "h2oskr2001" <h2oskr2001@...> wrote:

and if you do want to round, no S+ needed. It isn't that difficut to do
'SIMPL' rounding. Take the remainder from the divmod though an acomp, If
greater than 5 add one to the quotient (abufs to select a 0 or 1 addend ->
an asum) and use an aos to tigger the sequence.


Re: masters 2012

 

Confirmed:
Cypress, CA Nov 12
See you there!


On Mon, Sep 17, 2012 at 11:35 AM, chipmoodycs <cfm@...> wrote:

**



Ahh, but some of us are gonna miss seeing you in NJ!

- Chip


--- In Crestron@..., Nathan Hesson <nhesson@...> wrote:

I'm confirmed for Nov 12th-14th in Cypress. No more 6 hour flight across
the country!

On Sat, Sep 15, 2012 at 5:14 PM, lincster2010 <lincster2010@...>wrote:

The Northeast in the fall is definitely worth the drive.

--- In Crestron@..., "Tony Golden" <mrgolden@> wrote:

It's not as bad as it seems - if you like to drive :-)


--- On Saturday, September 15, 2012 at 12:05 AM, Chip wrote:

Wow - *that's* a long drive!

- Chip

--- In Crestron@..., "Tony Golden" <mrgolden@> wrote:

I drove last year, but I'm not sure if I'll do it again this
year or
not...


--- On Friday, September 14, 2012 at 10:21 PM, Chip wrote:

For anyone that's close enough that they *drive* to Rockleigh
coming
from the south, I highly recommend taking 287 North to the NY
Throughway if at ALL possible. MUCH nicer drive than taking
95/Turnpike...

- Chip

--- In Crestron@..., "eagrubbs" <eagrubbs@> wrote:

You and me both. The farthest North I have been is DC. So
this
should be
an experience in all shape forms and fashions.

--- In Crestron@..., "richard_leek"
<leek.richard@>
wrote:

I signed up for dec 5 - 7. Wanted October but have too much
work. I sure do hope it's nice in NJ in December



------------------------------------




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




[Non-text portions of this message have been removed]


[Non-text portions of this message have been removed]


Re: TPMC-4SMFD hard button feedback

Chip
 

I can concur 1000% with Lincoln with regards to the TPCS-4. Same "lags sometimes" when doing the most simplistic attempts at lighting buttons. (Whoda thunk that???)

Likewise, yes - you can access the "multi state" buttons individually through analogs on said device extender...

- Chip

--- In Crestron@..., Lincoln King-Cliby <lincoln@...> wrote:

The TPMC-4SM (and TPCS-4SM, not sure about the "D" version, though) do via the System3 Reserved Joins device extender with an analog value for each button (0 - off, 1 - green, 2 - red, IIRC)

Beware, though, I'm not sure why but changing the backlight color seems to be a particularly intensive task, especially on the TPCS. Depending on what else the touchpanel is doing at the moment it can range from "slight lag" to "OMG, it's not working! <beat> Oh, wait, there it goes!"

Needless to say, I have not found acceptable results with trying to use the backlight color as a "Yes, you pressed me!" indication. I have, however, in a few projects used it to indicate things like audio and video mute status. But again, be ware of the hardware limitations: I generally prefer to make mute buttons "blink" (driven by a common 0.5s/0.5s OSC) so they jump out at the user, this does not work well on the TP**-4SM family.

On the TPMC-4SM doing this tends to get the panel farther and farther behind so that after a few seconds the panel is so far behind that the observed blink rate is more like 1.0s/1.0s -- and the worst part is that it queues them up, so the button will continue to blink well after it's no longer being told to blink by the program.

So, in other words, don't try changing the color too frequently :)

--
Lincoln King-Cliby, CTS
Sr. Systems Architect | Crestron Certified Master Programmer (Silver)
ControlWorks Consulting, LLC
V: 440.449.1100 x1107 | F: 440.449.1106 | I:
Crestron Authorized Independent Programmer

-----Original Message-----
From: Crestron@... [mailto:Crestron@...] On Behalf Of Neil Dorin
Sent: Monday, September 17, 2012 1:32 AM
To: Crestron@...
Subject: Re: [Crestron] TPMC-4SMFD hard button feedback

IIRC the TPMC-4SM does not support individual led feedback for hard buttons. You can select green or red as the backlight colour and then turn the whole backlight on/off.

-Neil Dorin

Sent from my iPad

On Sep 16, 2012, at 10:50 PM, "ihaia09" <ihaia@...> wrote:

Hi Guys,

I am having a play with our campuses first TPMC-4SMFD and have gotten stuck on the feedback for the LED hardbuttons. I have limited experience with Crestron touch panels as all we have on campus TPSG-TPI's with different manufacturer touch panels so any help would be gladly appreciated.

The result I am after is to get the LED hardbuttons to illuminate individually dependant on feedback. Currently all i'm getting is all hard buttons illuminated constantly whilst the panel is awake :(.
I presume this can be done as it mentions in a crestron document that the buttons can operate individually or globally. However I cannot find where this is configured.

Additionally I have not made this a core-3ui project as I need to keep a similar look to our existing user interfaces. Does it need to be a core-3ui project to get the outcome I want?

Thanks in advance for any help you can offer.

Cheers,

Ihaia


[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


Re: String Parsing

 

Just say it was beta code. ;) You can get away with anything then.

On Mon, Sep 17, 2012 at 8:23 AM, Neil Dorin <neildorin@...> wrote:

Haha,

Thanks for the correction Stig.

Poorly.formatted.code.example = iPad.Splus.edits + not.enough.sleep +
hangover.from.wedding; //Equation to defend programmer's ego

-Neil

On Mon, Sep 17, 2012 at 5:02 AM, Stig <ska@...> wrote:

**


With all respect Neil, Don't use iPad to edit simpl+ code ;)
The index counter must also be after the first occurance of "actor Name".

-Stig


#DEFINE_CONSTANT maxnames 10
#DEFINE_CONSTANT maxlength 40
#ENABLE_TRACE

Digital_Input Get_Names;
Buffer_Input RxData$[1000];
String_Output Actor$[maxnames];//[maxlength]; //Define an output array of
10 outputs, each up to 40 bytes in length


Integer i; //Define a global integer as the index
Integer semaphore; //Define a semaphore to prevent re-entrancy
String sTemp[100], sDump[50];

Push Get_Names
{
i = 1; //reset index to 1 when new request for name is sent.
}

Change RxData$
{
IF(semaphore = 0)
{
Semaphore = 1;
while(len(RxData$))
{//assuming strings are like "<person job="Actor" name="Brandon Lee" />"

sTemp = Gather("/>", RxData$); //this will remove each line from the
buffer to be parsed individually
IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{
sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);
IF(i>=1 && i <=maxnames && IsSignalDefined(Actor$[i]) ) // parse names if
index <=10 and if signalout(i) is defined in simpl)
{
Actor$[i]=left(sTemp, find("/>", sTemp)-3); //assign the parsed string to
the output specified by the index [i]
IF(i >= 1 && i < maxnames) {i = i + 1;} //increment index value if
between
2 and 9
}
}
Semaphore = 0;
}
}
}


Function Main()
{
Semaphore = 0;

}

--- In Crestron@..., Neil Dorin <neildorin@...> wrote:

Here: //Based on the sample data you've given I'm making the assumption
that you'll get all the names you're after in a single query. This code
will parse up to 10 names and those names would be overwritten with the
next query.

#DEFINE_CONSTANT maxnames 10
#DEFINE_CONSTANT maxlength 40

Digital_Input Get_Names;
Buffer_Input RxData$[1000];
String_Output Actor$[maxnames][maxlength]; //Define an output array of
10 outputs, each up to 40 bytes in length

Integer i; //Define a global integer as the index

Push Get_Names
{
i = 1; //reset index to 1 when new request for name is sent.
}


Change RxData$
{
Integer semaphore; //Define a semaphore to prevent re-entrancy
String sTemp[100], sDump[50];

While(semaphore = 0)
{
Semaphore = 1;

sTemp = Gather("/>", RxData$); //this will remove each line from the
buffer to be parsed individually

IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{

IF(i >= 1 && < maxnames){i = i + 1}; //increment index value if between
2 and 9

//parse as usual:

sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);

Actor1[i]=left(sTemp, find("/>", sTemp)-3); //assign the parsed string
to the output specified by the index [i]

Semaphore = 0;

}
}
}

You'll have to pardon any syntax errors as my iPad email app is not the
best S+ text editor environment.

Hope that makes sense for you. This could also be done using a for loop
but I thought you might understand this method more easily. You could
also
parse the name with a single mid statement and have no need to define
sDump
and save some memory but thats really irrelevant.

Ex. Actor$[i] = mid(sTemp, find("name=",sTemp) + 7,Len(sTemp) -
((find("/>", sTemp)-3) - (find("name=",sTemp))); //I'm almost sure to
have
missed a parenthesis but you get the idea.

-Neil Dorin

Sent from my iPad

On Sep 16, 2012, at 10:16 PM, "chrmac68" <chrmac68@...> wrote:

Can you possibly give me an example of how to do this.
I have tried so many ways all without success.

Thanks

--- In Crestron@..., Neil Dorin <neildorin@> wrote:

You're overwriting Actor1$ each time you parse a name. You need an
integer variable to track how many names you've already parsed and use
that
as the index of the string output array you want to assign it to.

-Neil Dorin

Sent from my iPhone

On 2012-09-16, at 6:09 PM, "Chris" <chrmac68@> wrote:

Sorry posted this in wrong place...

maybe im missing something here.
in s+
<person job="Actor" name="Brandon Lee" />
<person job="Actor" name="Rochelle Davis" />
<person job="Actor" name="Jon Thompson" />

im doing this:

IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{

sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);

Actor1$=left(sTemp, find("/>", sTemp)-3);

}

My output is always Jon Thompson. How can i get it to pull out 1
at a time and
assign to
Actor1$
Actor2$
etc.

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: masters 2012

chipmoodycs
 

Ahh, but some of us are gonna miss seeing you in NJ!

- Chip

--- In Crestron@..., Nathan Hesson <nhesson@...> wrote:

I'm confirmed for Nov 12th-14th in Cypress. No more 6 hour flight across
the country!

On Sat, Sep 15, 2012 at 5:14 PM, lincster2010 <lincster2010@...>wrote:

The Northeast in the fall is definitely worth the drive.

--- In Crestron@..., "Tony Golden" <mrgolden@> wrote:

It's not as bad as it seems - if you like to drive :-)


--- On Saturday, September 15, 2012 at 12:05 AM, Chip wrote:

Wow - *that's* a long drive!

- Chip

--- In Crestron@..., "Tony Golden" <mrgolden@> wrote:

I drove last year, but I'm not sure if I'll do it again this year or
not...


--- On Friday, September 14, 2012 at 10:21 PM, Chip wrote:

For anyone that's close enough that they *drive* to Rockleigh
coming
from the south, I highly recommend taking 287 North to the NY
Throughway if at ALL possible. MUCH nicer drive than taking
95/Turnpike...

- Chip

--- In Crestron@..., "eagrubbs" <eagrubbs@> wrote:

You and me both. The farthest North I have been is DC. So this
should be
an experience in all shape forms and fashions.

--- In Crestron@..., "richard_leek" <leek.richard@>
wrote:

I signed up for dec 5 - 7. Wanted October but have too much
work. I sure do hope it's nice in NJ in December



------------------------------------




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




[Non-text portions of this message have been removed]


Re: Tstat change 74,3 degrees to 74

Chip
 

Yeah - what he said. :)

(You beat me to it - damn Yahoo! Groups "update")

- Chip

--- In Crestron@..., Geoffrey Reynolds <greynlds@...> wrote:

Another way to deal with rounding is to add 5 to the number before sending
it through the DIVMOD. For example, 740-744 would become 745-749 and end
up as 74, while 745-749 would become 750-754 and end up as 75.

Geoff

On Sun, Sep 16, 2012 at 6:01 PM, Jon Spackman <fueler1@...> wrote:

**


Thanks all for the answers I will try this rounding in simpl and report my
results.

Thanks again for all the replies

[Non-text portions of this message have been removed]


Re: Lifesize stops communicating

 

What latest modules? Did they actually release modules for the 220 series?

On Mon, Sep 17, 2012 at 5:45 AM, Mark Delzer <mdelzer@...> wrote:

I have a system with an Express 220 using the latest modules over TCP/IP
and currently I have had zero issues. I don't have the code in front of me
but I believe I am only connecting to it if it is in use.

Mark


On Sun, Sep 16, 2012 at 10:46 PM, stl_programmer <bendossip@...
wrote:
**


I realize this is an old thread, but I'm wondering if other people are
still having issues controlling Lifesize systems reliably. I have a
customer that has a Lifesize Express 220 and claims that twice in the
past
month the control system has stopped communicating with the Lifesize
system. The customer has stated that in order to fix the issue they
unplugged the usb to serial dongle and then plugged it back in and
everything worked again. The usb to serial dongle is one that was on
Lifesize's approved list. I'm just trying to find out if anyone else has
had similar issues and how they have resolved/worked around them.

Thanks!


--- In Crestron@..., "wretaudio" <wretaudio@...> wrote:

I just finished my work around for the LifeSize communication problem.
I
called LifeSize to let them know the issue is still there even after
updating to the latest firmware which they told me would fix it. They
told
me that I was the only one that has ever called in with this problem and
that I would have to get further control support directly from Crestron
or
the LifeSize distributor. What in the world is that all about?! LifeSize
seems to have no problem telling me it can be controlled by Crestron, but
no one seems to want to support it. I guess you're just on your own when
it
comes to controlling LifeSize. I need to find a different line of VTC
gear
to spec for the next job. Goodbye LifeSize.

--- In Crestron@..., Phil Bridges <gravityhammer@> wrote:

I'm working with a client-furnished LifeSize Room that the client
says
stops communicating with the Crestron processor after X amount of
time. Allegedly, a reboot of the LifeSize unit doesn't resume
communications, but a reboot of the processor does. I'm using the
Crestron Modules (plus Chip's extra remote keys module).

Has anybody here seen this happening?






------------------------------------




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: Tstat change 74,3 degrees to 74

 

There was a tstat rounding module already in the files section. Been there since 2004.

TB

--- In Crestron@..., Jon Spackman <fueler1@...> wrote:

Thanks all, I did the combo of Most suggestions and used a asum to add 5, then into a divmod and the output is a perfect 2- digit number like me old Tstat and work great.

Thanks for all the replies, I love this group.

Sent from my pocket computer


Re: String Parsing

 

Haha,

Thanks for the correction Stig.

Poorly.formatted.code.example = iPad.Splus.edits + not.enough.sleep +
hangover.from.wedding; //Equation to defend programmer's ego

-Neil

On Mon, Sep 17, 2012 at 5:02 AM, Stig <ska@...> wrote:

**


With all respect Neil, Don't use iPad to edit simpl+ code ;)
The index counter must also be after the first occurance of "actor Name".

-Stig


#DEFINE_CONSTANT maxnames 10
#DEFINE_CONSTANT maxlength 40
#ENABLE_TRACE

Digital_Input Get_Names;
Buffer_Input RxData$[1000];
String_Output Actor$[maxnames];//[maxlength]; //Define an output array of
10 outputs, each up to 40 bytes in length


Integer i; //Define a global integer as the index
Integer semaphore; //Define a semaphore to prevent re-entrancy
String sTemp[100], sDump[50];

Push Get_Names
{
i = 1; //reset index to 1 when new request for name is sent.
}

Change RxData$
{
IF(semaphore = 0)
{
Semaphore = 1;
while(len(RxData$))
{//assuming strings are like "<person job="Actor" name="Brandon Lee" />"

sTemp = Gather("/>", RxData$); //this will remove each line from the
buffer to be parsed individually
IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{
sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);
IF(i>=1 && i <=maxnames && IsSignalDefined(Actor$[i]) ) // parse names if
index <=10 and if signalout(i) is defined in simpl)
{
Actor$[i]=left(sTemp, find("/>", sTemp)-3); //assign the parsed string to
the output specified by the index [i]
IF(i >= 1 && i < maxnames) {i = i + 1;} //increment index value if between
2 and 9
}
}
Semaphore = 0;
}
}
}


Function Main()
{
Semaphore = 0;

}

--- In Crestron@..., Neil Dorin <neildorin@...> wrote:

Here: //Based on the sample data you've given I'm making the assumption
that you'll get all the names you're after in a single query. This code
will parse up to 10 names and those names would be overwritten with the
next query.

#DEFINE_CONSTANT maxnames 10
#DEFINE_CONSTANT maxlength 40

Digital_Input Get_Names;
Buffer_Input RxData$[1000];
String_Output Actor$[maxnames][maxlength]; //Define an output array of
10 outputs, each up to 40 bytes in length

Integer i; //Define a global integer as the index

Push Get_Names
{
i = 1; //reset index to 1 when new request for name is sent.
}


Change RxData$
{
Integer semaphore; //Define a semaphore to prevent re-entrancy
String sTemp[100], sDump[50];

While(semaphore = 0)
{
Semaphore = 1;

sTemp = Gather("/>", RxData$); //this will remove each line from the
buffer to be parsed individually

IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{

IF(i >= 1 && < maxnames){i = i + 1}; //increment index value if between
2 and 9

//parse as usual:

sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);

Actor1[i]=left(sTemp, find("/>", sTemp)-3); //assign the parsed string
to the output specified by the index [i]

Semaphore = 0;

}
}
}

You'll have to pardon any syntax errors as my iPad email app is not the
best S+ text editor environment.

Hope that makes sense for you. This could also be done using a for loop
but I thought you might understand this method more easily. You could also
parse the name with a single mid statement and have no need to define sDump
and save some memory but thats really irrelevant.

Ex. Actor$[i] = mid(sTemp, find("name=",sTemp) + 7,Len(sTemp) -
((find("/>", sTemp)-3) - (find("name=",sTemp))); //I'm almost sure to have
missed a parenthesis but you get the idea.

-Neil Dorin

Sent from my iPad

On Sep 16, 2012, at 10:16 PM, "chrmac68" <chrmac68@...> wrote:

Can you possibly give me an example of how to do this.
I have tried so many ways all without success.

Thanks

--- In Crestron@..., Neil Dorin <neildorin@> wrote:

You're overwriting Actor1$ each time you parse a name. You need an
integer variable to track how many names you've already parsed and use that
as the index of the string output array you want to assign it to.

-Neil Dorin

Sent from my iPhone

On 2012-09-16, at 6:09 PM, "Chris" <chrmac68@> wrote:

Sorry posted this in wrong place...

maybe im missing something here.
in s+
<person job="Actor" name="Brandon Lee" />
<person job="Actor" name="Rochelle Davis" />
<person job="Actor" name="Jon Thompson" />

im doing this:

IF(FIND("person job=&#92;x22Actor&#92;x22 name=&#92;x22",sTemp))
{

sDump = remove("person job=&#92;x22Actor&#92;x22 name=&#92;x22", sTemp);

Actor1$=left(sTemp, find("/>", sTemp)-3);

}

My output is always Jon Thompson. How can i get it to pull out 1
at a time and
assign to
Actor1$
Actor2$
etc.

Thanks


[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]


[Non-text portions of this message have been removed]


Re: masters 2012

 

Confirmed Oct 17-19 in NJ.

--- In Crestron@..., "eagrubbs" <eagrubbs@...> wrote:

Waiting on confirmation, but trying to set for Dec 3-5.

--- In Crestron@..., "mcqsack" <mqsack@> wrote:

Session #2...Oct 17-19

Bring on the ###...



--- In Crestron@..., "Chip" <cfm@> wrote:


Nope.

--- In Crestron@..., "eagrubbs" <eagrubbs@> wrote:

Has anyone got their invite yet? I was told they were suppose to go out the first week of September.