¿ªÔÆÌåÓý

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

Re: Not having any luck w/ a Phillips TV

cyberbri24
 

I've tried all the above. I have every test cable I could find and make. I get the monitor to power on/off just by outputing my laptop. But no power on or off commands work. I checked the 232 cable and made sure its in the com port input and not output. I wish there was a class....... on patience.

Thanks for any other ideas.

--- In Crestron@..., Jeremy Weatherford <xidus.net@...> wrote:

The last byte is the checksum, but you're right, the checksum for on
should be 1E, so &#92;x05&#92;x01&#92;x18&#92;x02&#92;x1E

On Tue, Feb 15, 2011 at 3:05 PM, Chip <cfm@...> wrote:

?So what does 1E do? ?What goes inbetween Off and On? ?:)

? ?- Chip


--- In Crestron@..., Jeremy Weatherford <xidus.net@> wrote:

Manual you posted has &#92;x05&#92;x01&#92;x18&#92;x01&#92;x1D for power off, on would be
&#92;x05&#92;x01&#92;x18&#92;x02&#92;x1F. ?A3 is for the "power state at Cold Start"
setting, which I assume means whether it turns back on after power
loss.

On Tue, Feb 15, 2011 at 1:36 PM, cyberbri24 <cyberbri24@> wrote:
Have the 232 ran to my Pro. Pins 2-3, 3-2, and 5-5. Not responding to the data from the protocol manual (I've added to the files docs page). I am sending "0x050x010xA30x010xA5" for Power On but no response. Anyone work this model? Phillips BDL4635 LCD monitor.
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





--
Jeremy Weatherford




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



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: OMG SB 3.10.....

Simon Cope
 

I tried looking at the weather module myself yesterday with the same aim,
but couldn't find it in SB - where should I be looking?

Ta,

Simon C

On 15 February 2011 18:00, neil.dorin <neildorin@...> wrote:



Ok, so has anyone tried the new SB release since yesterday...

I just added the new Crestron Weather device to my AMP-AIP system at home
to test the intended functionality and translate it to a SIMPL system I'm
currently programming.

When I read the release notes, I was skeptical at best....

My average build time for my home system was about 12 minutes.

I just added another MLX-2 to the program as well as the weather module and
a few other small changes.

Interface build time - about the same
Program generation - 2:33!!!!!!!!!!!!!!!!
Compile time - about the same

On the Finish tab, there are not options to simply "update system" which
according to the release notes can update portions of the program without
rebuilding in it's entirety.

This is revolutionary.... all my complaining was worth it LOL!

Cheers,

-Neil



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


Re: "GATHER" VERSUS "REMOVE"

mjrtoo2000
 

More very useful insight, thanks Ian.

--- In Crestron@..., Ian Epperson <ian@...> wrote:

That first should not perform a find before moving to the gather, it should
just loop forever.

<Using GATHER>

WHILE(1)
{
TempString$=GATHER(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......


FIND is expensive, and REMOVE and GATHER are already doing a find - you
don't need to do it twice. You may be able to rewrite your other routine to
remove the 2nd find, but it's not as easy.

An important thing to note about GATHER, is that it will only search through
the new data that comes in, significantly speeding things along. So, if
you've got a pile of data in the buffer that GATHER has already gone
through, *it will not go through it again* looking for the delimiter, but
will only look through the new data. (I found this out by once trying to
trip the GATHER by putting a delimiter at the front of a buffer that it
already searched through, but it would never find it.)

So, looking at the GATHER code, it's only searching through the new data for
your delimiter, then pulling out the substring when it finds it. In the
REMOVE code, you first search through the buffer starting at *the
beginning* looking
for the delimiter to satisfy the WHILE(FIND..), then *again* search through
the buffer *from the beginning* when you do the REMOVE to pull out the temp
string.

Say you're looking for a 1 in a string of 0's coming in.

in -> *0000000*

FIND/REMOVE
(2 searches through all 7 positions - 14 comparisons - no dice).
GATHER
(1 search through all 7 positions - 7 comparisons - no dice).

in -> 0000000*001*
*
*
FIND/REMOVE
(2 searched through all 10 positions - 20 comparisons - oh, there it is)
GATHER
(1 search through the most recent data - 3 comparisons - oh, there it is)

They both function, but the GATHER did 10 total comparisons, while the
FIND/REMOVE did 34, which can translate to a big difference in performance.
Also you didn't have to play with reentrancy issues, think about memory
requirements for each new thread, etc.

Ian Epperson


On Tue, Feb 15, 2011 at 12:10 PM, Stig <stig.karlsen@...> wrote:

I was reffering to their similarity in result when continous extracting
data to a tempstring from large serial buffer with constant traffic.

i.e a CHANGE event from a videoconference-device has a delimiter on each
line of information "&#92;x0D&#92;x0A"(CRLF) in the datastructure.

<Using GATHER>

WHILE(FIND(CRLF,Device_rx$)>0)
{
TempString$=GATHER(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......

<Using REMOVE>

WHILE(FIND(CRLF,Device_rx$)>0)
{
TempString$=REMOVE(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......

Both techniques seems to work equal, but is there a preferred way "Best
practice" here ?

-Stig

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

I look at them is as part of techniques / event structures to process
incoming data, e.g. PUSH/gather(), CHANGE/remove().

I use CHANGE/remove when the frequency of input is relatively low and/or
I expect the whole string I care about to arrive within 1 or 2 CHANGE
events. The general behavior is that you get signaled with a CHANGE when
something gets added to the buffer and then use the remove() to see if what
you are looking for is there. If not, exit the event. You incur the task
startup overhead on each CHANGE and the same event can occur while you're
processing one (need re-entrancy protection). If the incoming data rate is
high enough and you spend a lot of time processing in 1 event, you can
experience a number of issues that stem from the system spending more time
creating CHANGE tasks than you spend in processing and getting out.

I use a PUSH/gather() when connected to a device that is going to be
sending info relatively frequently or I want to minimize the overhead when
data does come in. The general behavior is that a task, PUSH or MAIN, is
already running and you call gather() which blocks until the the condition
is met (or it times out). After processing you call the gather() again.
There is only ever 1 task running for the activity and there is no
additional task startup overhead.

HTH,
Dave

--- In Crestron@..., "Stig" <stig.karlsen@> wrote:

I have with great interest following the ongoing "GATHER" thread, and I
am wondering if there is a best practice for using GATHER versus REMOVE ?

Up until now I have only used REMOVE, and out of curiosity i made a
comparison today with two exact modules. One with GATHER and the other with
REMOVE. I could not see any timeleaps(timedifferences) between them. I
swapped place (order) in simple and still they appeared to parse at the same
speed.
Any experiences ?

-Stig



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




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




--
This email is intended for the use of the individual addressee(s) named
above and may contain information that is confidential, privileged or
unsuitable for overly sensitive persons with low self-esteem, no sense of
humor or irrational religious beliefs. If you are not the intended
recipient, any dissemination, distribution or copying of this email is not
authorized (either explicitly or implicitly) and constitutes an irritating
social faux pas. Unless the word absquatulation has been used in its correct
context somewhere other than in this warning, it does not have any legal or
grammatical use and may be ignored. No animals were harmed in the
transmission of this email, although the yorkshire terrier next door is
living on borrowed time, let me tell you. Those of you with an overwhelming
fear of the unknown will be gratified to learn that there is no hidden
message revealed by reading this warning backwards, so just ignore that
Alert Notice from Microsoft: However, by pouring a complete circle of salt
around yourself and your computer you can ensure that no harm befalls you
and your pets. If you have received this email in error, please add some
nutmeg and egg whites and place it in a warm oven for 40 minutes. Whisk
briefly and let it stand for 2 hours before icing.




Re: "GATHER" VERSUS "REMOVE"

Stig
 

This was a VERY enlightening explanation.

Thanks Ian !

--- In Crestron@..., Ian Epperson <ian@...> wrote:

That first should not perform a find before moving to the gather, it should
just loop forever.

<Using GATHER>

WHILE(1)
{
TempString$=GATHER(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......


FIND is expensive, and REMOVE and GATHER are already doing a find - you
don't need to do it twice. You may be able to rewrite your other routine to
remove the 2nd find, but it's not as easy.

An important thing to note about GATHER, is that it will only search through
the new data that comes in, significantly speeding things along. So, if
you've got a pile of data in the buffer that GATHER has already gone
through, *it will not go through it again* looking for the delimiter, but
will only look through the new data. (I found this out by once trying to
trip the GATHER by putting a delimiter at the front of a buffer that it
already searched through, but it would never find it.)

So, looking at the GATHER code, it's only searching through the new data for
your delimiter, then pulling out the substring when it finds it. In the
REMOVE code, you first search through the buffer starting at *the
beginning* looking
for the delimiter to satisfy the WHILE(FIND..), then *again* search through
the buffer *from the beginning* when you do the REMOVE to pull out the temp
string.

Say you're looking for a 1 in a string of 0's coming in.

in -> *0000000*

FIND/REMOVE
(2 searches through all 7 positions - 14 comparisons - no dice).
GATHER
(1 search through all 7 positions - 7 comparisons - no dice).

in -> 0000000*001*
*
*
FIND/REMOVE
(2 searched through all 10 positions - 20 comparisons - oh, there it is)
GATHER
(1 search through the most recent data - 3 comparisons - oh, there it is)

They both function, but the GATHER did 10 total comparisons, while the
FIND/REMOVE did 34, which can translate to a big difference in performance.
Also you didn't have to play with reentrancy issues, think about memory
requirements for each new thread, etc.

Ian Epperson


On Tue, Feb 15, 2011 at 12:10 PM, Stig <stig.karlsen@...> wrote:

I was reffering to their similarity in result when continous extracting
data to a tempstring from large serial buffer with constant traffic.

i.e a CHANGE event from a videoconference-device has a delimiter on each
line of information "&#92;x0D&#92;x0A"(CRLF) in the datastructure.

<Using GATHER>

WHILE(FIND(CRLF,Device_rx$)>0)
{
TempString$=GATHER(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......

<Using REMOVE>

WHILE(FIND(CRLF,Device_rx$)>0)
{
TempString$=REMOVE(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......

Both techniques seems to work equal, but is there a preferred way "Best
practice" here ?

-Stig

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

I look at them is as part of techniques / event structures to process
incoming data, e.g. PUSH/gather(), CHANGE/remove().

I use CHANGE/remove when the frequency of input is relatively low and/or
I expect the whole string I care about to arrive within 1 or 2 CHANGE
events. The general behavior is that you get signaled with a CHANGE when
something gets added to the buffer and then use the remove() to see if what
you are looking for is there. If not, exit the event. You incur the task
startup overhead on each CHANGE and the same event can occur while you're
processing one (need re-entrancy protection). If the incoming data rate is
high enough and you spend a lot of time processing in 1 event, you can
experience a number of issues that stem from the system spending more time
creating CHANGE tasks than you spend in processing and getting out.

I use a PUSH/gather() when connected to a device that is going to be
sending info relatively frequently or I want to minimize the overhead when
data does come in. The general behavior is that a task, PUSH or MAIN, is
already running and you call gather() which blocks until the the condition
is met (or it times out). After processing you call the gather() again.
There is only ever 1 task running for the activity and there is no
additional task startup overhead.

HTH,
Dave

--- In Crestron@..., "Stig" <stig.karlsen@> wrote:

I have with great interest following the ongoing "GATHER" thread, and I
am wondering if there is a best practice for using GATHER versus REMOVE ?

Up until now I have only used REMOVE, and out of curiosity i made a
comparison today with two exact modules. One with GATHER and the other with
REMOVE. I could not see any timeleaps(timedifferences) between them. I
swapped place (order) in simple and still they appeared to parse at the same
speed.
Any experiences ?

-Stig



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




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




--
This email is intended for the use of the individual addressee(s) named
above and may contain information that is confidential, privileged or
unsuitable for overly sensitive persons with low self-esteem, no sense of
humor or irrational religious beliefs. If you are not the intended
recipient, any dissemination, distribution or copying of this email is not
authorized (either explicitly or implicitly) and constitutes an irritating
social faux pas. Unless the word absquatulation has been used in its correct
context somewhere other than in this warning, it does not have any legal or
grammatical use and may be ignored. No animals were harmed in the
transmission of this email, although the yorkshire terrier next door is
living on borrowed time, let me tell you. Those of you with an overwhelming
fear of the unknown will be gratified to learn that there is no hidden
message revealed by reading this warning backwards, so just ignore that
Alert Notice from Microsoft: However, by pouring a complete circle of salt
around yourself and your computer you can ensure that no harm befalls you
and your pets. If you have received this email in error, please add some
nutmeg and egg whites and place it in a warm oven for 40 minutes. Whisk
briefly and let it stand for 2 hours before icing.




New Prodigy package

mk
 

A certified Crestron Dealer will sell ONLY to a dealer.
Total asking price is $2,100.

Package includes:
PMC2+ - Prodigy?? Control System + PTX3, 3" Handheld Active-Matrix Touchpanel (the improved one)
PTL4 - Prodigy?? In-Wall 4" Touchpanel
P-IDOCV - Interface for Apple?? iPod??
P-DIMEX-6-W-S KIT - 6 pack Prodigy?? Wireless Dimmers + Accessories
PAMP-4X100 - Processor Amplifier Six audio sources to four rooms at 50 watts per channel
P-TSTATRF -Prodigy 2-Way Wireless Thermostat
P-MNETGW - Prodigy Wireless Gateway

All equipment carry original Crestron warranties


Re: New Crestron Weather Device Module

Steve Kaudle
 

I¡¯m not familiar with the module in question, but -62d = 65473d



-62d is a signed value, 65473 is its unsigned equivalent.





_____

From: Crestron@... [mailto:Crestron@...] On Behalf
Of neil.dorin
Sent: Tuesday, February 15, 2011 4:02 PM
To: Crestron@...
Subject: [Crestron] Re: New Crestron Weather Device Module





HA!

If only a simple Fahrenheit to Celsius conversion would work!!

Ironically, the module has a parameter that defines the output format
already, and yes, I tested it with Fahrenheit, but guess what, I fed it the
Latitude and Longditude of somewhere in the Arctic Circle and Lo and
Behold!!!! CRAP, it does exactly the same thing with negative Fahrenheit
values....

Apparently -62?F is 65473?F according to Crestron's Weather Device...

BTW that's the forecast low temp for tomorrow morning in Rankin Inlet,
Nunavut, Canada if anyone was curious lol.

-Neil

--- In Crestron@... <mailto:Crestron%40yahoogroups.com> , "Stig"
<stig.karlsen@...> wrote:

Hi,

I have just posted a file in the module directory that converts Fahrenheit
to Celsius. It is based on serial strings but it explain the math.

-Stig

--- In Crestron@... <mailto:Crestron%40yahoogroups.com> ,
"neil.dorin" <neildorin@> wrote:

So, as part of the new software release yesterday, the Crestron Weather
Device is now available and operational (After I spent a day two weeks ago
updating and customizing the old Yahoo Direct Socket module...).

Anyway, I'm testing it out on my home system today and discovered an
interesting glitch. When displaying temperatures in Celcius (I imagine this
would also occur in Fahrenheit but you'd have to have temps below 0?F) and
negative values output as serial text are displayed as negative subtracted
analogs (i.e. -5?C is displayed as -65530?C, or 0 - 5).

There's two modules, one is the Crestron Weather Processor v1.2 (cm) and
the other is the Crestron Weather Touchpanel Interface v1.0 (cm).

The Processor v1.2 module has analog outputs for temp values that
display as the same negative value (-65530d) in debugger, but if I right
click on the signal and set the display format to signed decimal, then it
corrects to -5d.

I haven't opened them up in SIMPL to have a look at what's going on yet
(I imagine this is a S+ issue), but does anyone have an obvious clue as to
the error or how to correct it?

I'm sending a bug report to TB too.

Thanks,

-Neil


Re: New Crestron Weather Device Module

Jeremy Weatherford
 

I haven't followed this thread completely, and I don't have the module
to play with, but if you're talking about an analog value showing
65473 instead of -62, you need to change the properties of the Analog
Gauge in VTPro to show signed numbers.

Analogs are normally treated as unsigned in Debugger and VTPro unless
you tell them otherwise. If this is a problem in a serial string
being output by the module, then please ignore this and carry on...

On Tue, Feb 15, 2011 at 4:01 PM, neil.dorin <neildorin@...> wrote:
HA!

If only a simple Fahrenheit to Celsius conversion would work!!

Ironically, the module has a parameter that defines the output format already, and yes, I tested it with Fahrenheit, but guess what, I fed it the Latitude and Longditude of somewhere in the Arctic Circle and Lo and Behold!!!! CRAP, it does exactly the same thing with negative Fahrenheit values....

Apparently -62?F is 65473?F according to Crestron's Weather Device...

BTW that's the forecast low temp for tomorrow morning in Rankin Inlet, Nunavut, Canada if anyone was curious lol.

-Neil

--- In Crestron@..., "Stig" <stig.karlsen@...> wrote:

Hi,

I have just posted a file in the module directory that converts Fahrenheit to Celsius. It is based on serial strings but it explain the math.

-Stig

--- In Crestron@..., "neil.dorin" <neildorin@> wrote:

So, as part of the new software release yesterday, the Crestron Weather Device is now available and operational (After I spent a day two weeks ago updating and customizing the old Yahoo Direct Socket module...).

Anyway, I'm testing it out on my home system today and discovered an interesting glitch. ?When displaying temperatures in Celcius (I imagine this would also occur in Fahrenheit but you'd have to have temps below 0?F) and negative values output as serial text are displayed as negative subtracted analogs (i.e. -5?C is displayed as -65530?C, or 0 - 5).

There's two modules, one is the Crestron Weather Processor v1.2 (cm) and the other is the Crestron Weather Touchpanel Interface v1.0 (cm).

The Processor v1.2 module has analog outputs for temp values that display as the same negative value (-65530d) in debugger, but if I right click on the signal and set the display format to signed decimal, then it corrects to -5d.

I haven't opened them up in SIMPL to have a look at what's going on yet (I imagine this is a S+ issue), but does anyone have an obvious clue as to the error or how to correct it?

I'm sending a bug report to TB too.

Thanks,

-Neil



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



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: New Crestron Weather Device Module

neil.dorin
 

HA!

If only a simple Fahrenheit to Celsius conversion would work!!

Ironically, the module has a parameter that defines the output format already, and yes, I tested it with Fahrenheit, but guess what, I fed it the Latitude and Longditude of somewhere in the Arctic Circle and Lo and Behold!!!! CRAP, it does exactly the same thing with negative Fahrenheit values....

Apparently -62?F is 65473?F according to Crestron's Weather Device...

BTW that's the forecast low temp for tomorrow morning in Rankin Inlet, Nunavut, Canada if anyone was curious lol.

-Neil

--- In Crestron@..., "Stig" <stig.karlsen@...> wrote:

Hi,

I have just posted a file in the module directory that converts Fahrenheit to Celsius. It is based on serial strings but it explain the math.

-Stig

--- In Crestron@..., "neil.dorin" <neildorin@> wrote:

So, as part of the new software release yesterday, the Crestron Weather Device is now available and operational (After I spent a day two weeks ago updating and customizing the old Yahoo Direct Socket module...).

Anyway, I'm testing it out on my home system today and discovered an interesting glitch. When displaying temperatures in Celcius (I imagine this would also occur in Fahrenheit but you'd have to have temps below 0?F) and negative values output as serial text are displayed as negative subtracted analogs (i.e. -5?C is displayed as -65530?C, or 0 - 5).

There's two modules, one is the Crestron Weather Processor v1.2 (cm) and the other is the Crestron Weather Touchpanel Interface v1.0 (cm).

The Processor v1.2 module has analog outputs for temp values that display as the same negative value (-65530d) in debugger, but if I right click on the signal and set the display format to signed decimal, then it corrects to -5d.

I haven't opened them up in SIMPL to have a look at what's going on yet (I imagine this is a S+ issue), but does anyone have an obvious clue as to the error or how to correct it?

I'm sending a bug report to TB too.

Thanks,

-Neil


Re: "GATHER" VERSUS "REMOVE"

Ian Epperson
 

That first should not perform a find before moving to the gather, it should
just loop forever.

<Using GATHER>

WHILE(1)
{
TempString$=GATHER(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......


FIND is expensive, and REMOVE and GATHER are already doing a find - you
don't need to do it twice. You may be able to rewrite your other routine to
remove the 2nd find, but it's not as easy.

An important thing to note about GATHER, is that it will only search through
the new data that comes in, significantly speeding things along. So, if
you've got a pile of data in the buffer that GATHER has already gone
through, *it will not go through it again* looking for the delimiter, but
will only look through the new data. (I found this out by once trying to
trip the GATHER by putting a delimiter at the front of a buffer that it
already searched through, but it would never find it.)

So, looking at the GATHER code, it's only searching through the new data for
your delimiter, then pulling out the substring when it finds it. In the
REMOVE code, you first search through the buffer starting at *the
beginning* looking
for the delimiter to satisfy the WHILE(FIND..), then *again* search through
the buffer *from the beginning* when you do the REMOVE to pull out the temp
string.

Say you're looking for a 1 in a string of 0's coming in.

in -> *0000000*

FIND/REMOVE
(2 searches through all 7 positions - 14 comparisons - no dice).
GATHER
(1 search through all 7 positions - 7 comparisons - no dice).

in -> 0000000*001*
*
*
FIND/REMOVE
(2 searched through all 10 positions - 20 comparisons - oh, there it is)
GATHER
(1 search through the most recent data - 3 comparisons - oh, there it is)

They both function, but the GATHER did 10 total comparisons, while the
FIND/REMOVE did 34, which can translate to a big difference in performance.
Also you didn't have to play with reentrancy issues, think about memory
requirements for each new thread, etc.

Ian Epperson

On Tue, Feb 15, 2011 at 12:10 PM, Stig <stig.karlsen@...> wrote:

I was reffering to their similarity in result when continous extracting
data to a tempstring from large serial buffer with constant traffic.

i.e a CHANGE event from a videoconference-device has a delimiter on each
line of information "&#92;x0D&#92;x0A"(CRLF) in the datastructure.

<Using GATHER>

WHILE(FIND(CRLF,Device_rx$)>0)
{
TempString$=GATHER(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......

<Using REMOVE>

WHILE(FIND(CRLF,Device_rx$)>0)
{
TempString$=REMOVE(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......

Both techniques seems to work equal, but is there a preferred way "Best
practice" here ?

-Stig

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

I look at them is as part of techniques / event structures to process
incoming data, e.g. PUSH/gather(), CHANGE/remove().

I use CHANGE/remove when the frequency of input is relatively low and/or
I expect the whole string I care about to arrive within 1 or 2 CHANGE
events. The general behavior is that you get signaled with a CHANGE when
something gets added to the buffer and then use the remove() to see if what
you are looking for is there. If not, exit the event. You incur the task
startup overhead on each CHANGE and the same event can occur while you're
processing one (need re-entrancy protection). If the incoming data rate is
high enough and you spend a lot of time processing in 1 event, you can
experience a number of issues that stem from the system spending more time
creating CHANGE tasks than you spend in processing and getting out.

I use a PUSH/gather() when connected to a device that is going to be
sending info relatively frequently or I want to minimize the overhead when
data does come in. The general behavior is that a task, PUSH or MAIN, is
already running and you call gather() which blocks until the the condition
is met (or it times out). After processing you call the gather() again.
There is only ever 1 task running for the activity and there is no
additional task startup overhead.

HTH,
Dave

--- In Crestron@..., "Stig" <stig.karlsen@> wrote:

I have with great interest following the ongoing "GATHER" thread, and I
am wondering if there is a best practice for using GATHER versus REMOVE ?

Up until now I have only used REMOVE, and out of curiosity i made a
comparison today with two exact modules. One with GATHER and the other with
REMOVE. I could not see any timeleaps(timedifferences) between them. I
swapped place (order) in simple and still they appeared to parse at the same
speed.
Any experiences ?

-Stig



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




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



--
This email is intended for the use of the individual addressee(s) named
above and may contain information that is confidential, privileged or
unsuitable for overly sensitive persons with low self-esteem, no sense of
humor or irrational religious beliefs. If you are not the intended
recipient, any dissemination, distribution or copying of this email is not
authorized (either explicitly or implicitly) and constitutes an irritating
social faux pas. Unless the word absquatulation has been used in its correct
context somewhere other than in this warning, it does not have any legal or
grammatical use and may be ignored. No animals were harmed in the
transmission of this email, although the yorkshire terrier next door is
living on borrowed time, let me tell you. Those of you with an overwhelming
fear of the unknown will be gratified to learn that there is no hidden
message revealed by reading this warning backwards, so just ignore that
Alert Notice from Microsoft: However, by pouring a complete circle of salt
around yourself and your computer you can ensure that no harm befalls you
and your pets. If you have received this email in error, please add some
nutmeg and egg whites and place it in a warm oven for 40 minutes. Whisk
briefly and let it stand for 2 hours before icing.


Re: New Crestron Weather Device Module

neil.dorin
 

<RANT>

It turns out I can't even open the module to have a look inside either. Crestron has locked it somehow.

Anyway, I know the issue you're describing, but it only applies to analog outputs (whether they're displayed as signed decimal or unsigned decimal). However, these are serial text outputs and as such display however they're formatted in the first place.

I already sent a bug report to TB. Hopefully they find an easy fix and update soon because I've been complaining about having a native Crestron Weather module for years now (just to be able to compete with Control4). They finally release it with EVERY feature I asked for (including built in SB implementation) and it doesn't work with negative temperatures. (you should see the hourly forecast on my TPS-6L at home. There so many 655XX values it's almost impossible to read lol.)

Of course, I happen to be from Canada, where negative temperatures this time of year are a daily occurrence, despite the balmy 4?C it currently is outside...

</RANT>

-Neil

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

Don't think it's an issue with Simpl+... I had a similar issue working with Modbus strings not using Simpl+. Modbus would show -5 and I would get a -65530 or something. It was like I was getting the inverse of what I was expecting (minus the whole negative sign thing).

I think the problem has more to do with how analogs are treated but I could be (and most times are) wrong.

JRW

--- In Crestron@..., "neil.dorin" <neildorin@> wrote:

So, as part of the new software release yesterday, the Crestron Weather Device is now available and operational (After I spent a day two weeks ago updating and customizing the old Yahoo Direct Socket module...).

Anyway, I'm testing it out on my home system today and discovered an interesting glitch. When displaying temperatures in Celcius (I imagine this would also occur in Fahrenheit but you'd have to have temps below 0?F) and negative values output as serial text are displayed as negative subtracted analogs (i.e. -5?C is displayed as -65530?C, or 0 - 5).

There's two modules, one is the Crestron Weather Processor v1.2 (cm) and the other is the Crestron Weather Touchpanel Interface v1.0 (cm).

The Processor v1.2 module has analog outputs for temp values that display as the same negative value (-65530d) in debugger, but if I right click on the signal and set the display format to signed decimal, then it corrects to -5d.

I haven't opened them up in SIMPL to have a look at what's going on yet (I imagine this is a S+ issue), but does anyone have an obvious clue as to the error or how to correct it?

I'm sending a bug report to TB too.

Thanks,

-Neil


Re: New Crestron Weather Device Module

Stig
 

Hi,

I have just posted a file in the module directory that converts Fahrenheit to Celsius. It is based on serial strings but it explain the math.

-Stig

--- In Crestron@..., "neil.dorin" <neildorin@...> wrote:

So, as part of the new software release yesterday, the Crestron Weather Device is now available and operational (After I spent a day two weeks ago updating and customizing the old Yahoo Direct Socket module...).

Anyway, I'm testing it out on my home system today and discovered an interesting glitch. When displaying temperatures in Celcius (I imagine this would also occur in Fahrenheit but you'd have to have temps below 0?F) and negative values output as serial text are displayed as negative subtracted analogs (i.e. -5?C is displayed as -65530?C, or 0 - 5).

There's two modules, one is the Crestron Weather Processor v1.2 (cm) and the other is the Crestron Weather Touchpanel Interface v1.0 (cm).

The Processor v1.2 module has analog outputs for temp values that display as the same negative value (-65530d) in debugger, but if I right click on the signal and set the display format to signed decimal, then it corrects to -5d.

I haven't opened them up in SIMPL to have a look at what's going on yet (I imagine this is a S+ issue), but does anyone have an obvious clue as to the error or how to correct it?

I'm sending a bug report to TB too.

Thanks,

-Neil


New file uploaded to Crestron

 

Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the Crestron
group.

File : /Modules/FahrenheitToCelsius.zip
Uploaded by : avprosjekt <stig.karlsen@...>
Description : Converts Fahrenheit To Celsius (Serial)

You can access this file at the URL:


To learn more about file sharing for your group, please visit:

Regards,

avprosjekt <stig.karlsen@...>


Re: HTWin

 

Hi Rick,

Still crashing under 1.9.0.5

- Jeff

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

I uploaded an update at www.rickmcneely.com/files. It is named HTWin_1.9.0.5.

Let me know if it helps.

Rick


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

goto www.rickmcneely.com/files and try HTWin_1.0.9.5.zip. Lemme know how that works.

Thanks for the feedback.

Rick


--- In Crestron@..., Eric Walters <sentry07@> wrote:

I have two types of errors in the event viewer for HTWin. I believe the
OLEAUT32.dll is the one dealing with the Belkin hardware.

Faulting application name: HTWin.exe, version: 1.0.8.280, time stamp:
0x00003039
Faulting module name: ntdll.dll, version: 6.1.7600.16385, time stamp:
0x4a5bdadb
Exception code: 0xc0000005
Fault offset: 0x0005205b
Faulting process id: 0x1854
Faulting application start time: 0x01cbbdb181fa32b0
Faulting appliecation path: C:&#92;HTWin&#92;HTWin.exe
Faulting module path: C:&#92;Windows&#92;SYSTEM32&#92;ntdll.dll
Report Id: adcfe320-29a5-11e0-987f-60fb4284da83

Faulting application name: HTWin.exe, version: 1.0.8.280, time stamp:
0x00003039
Faulting module name: OLEAUT32.DLL, version: 6.1.7600.16385, time stamp:
0x4a5bdaca
Exception code: 0xc0000005
Fault offset: 0x00003e8d
Faulting process id: 0x19b8
Faulting application start time: 0x01cbbdb3b1941a20
Faulting application path: C:&#92;HTWin&#92;HTWin.exe
Faulting module path: C:&#92;Windows&#92;system32&#92;OLEAUT32.DLL
Report Id: 017de520-29a7-11e0-987f-60fb4284da83

On Mon, Feb 14, 2011 at 6:30 AM, Rick McNeely <rickmcneely@> wrote:

Thanks Jeff,

My Belkin is on it's way. I'll let you know what I find.


[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




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


Re: HTWin

rickmcneely
 

Oops. sent that twice.

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

goto www.rickmcneely.com/files and try HTWin_1.0.9.5.zip. Lemme know how that works.


Re: HTWin

rickmcneely
 

I uploaded an update at www.rickmcneely.com/files. It is named HTWin_1.9.0.5.

Let me know if it helps.

Rick

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

goto www.rickmcneely.com/files and try HTWin_1.0.9.5.zip. Lemme know how that works.

Thanks for the feedback.

Rick


--- In Crestron@..., Eric Walters <sentry07@> wrote:

I have two types of errors in the event viewer for HTWin. I believe the
OLEAUT32.dll is the one dealing with the Belkin hardware.

Faulting application name: HTWin.exe, version: 1.0.8.280, time stamp:
0x00003039
Faulting module name: ntdll.dll, version: 6.1.7600.16385, time stamp:
0x4a5bdadb
Exception code: 0xc0000005
Fault offset: 0x0005205b
Faulting process id: 0x1854
Faulting application start time: 0x01cbbdb181fa32b0
Faulting appliecation path: C:&#92;HTWin&#92;HTWin.exe
Faulting module path: C:&#92;Windows&#92;SYSTEM32&#92;ntdll.dll
Report Id: adcfe320-29a5-11e0-987f-60fb4284da83

Faulting application name: HTWin.exe, version: 1.0.8.280, time stamp:
0x00003039
Faulting module name: OLEAUT32.DLL, version: 6.1.7600.16385, time stamp:
0x4a5bdaca
Exception code: 0xc0000005
Fault offset: 0x00003e8d
Faulting process id: 0x19b8
Faulting application start time: 0x01cbbdb3b1941a20
Faulting application path: C:&#92;HTWin&#92;HTWin.exe
Faulting module path: C:&#92;Windows&#92;system32&#92;OLEAUT32.DLL
Report Id: 017de520-29a7-11e0-987f-60fb4284da83

On Mon, Feb 14, 2011 at 6:30 AM, Rick McNeely <rickmcneely@> wrote:

Thanks Jeff,

My Belkin is on it's way. I'll let you know what I find.


[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




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


Re: New Crestron Weather Device Module

 

Don't think it's an issue with Simpl+... I had a similar issue working with Modbus strings not using Simpl+. Modbus would show -5 and I would get a -65530 or something. It was like I was getting the inverse of what I was expecting (minus the whole negative sign thing).

I think the problem has more to do with how analogs are treated but I could be (and most times are) wrong.

JRW

--- In Crestron@..., "neil.dorin" <neildorin@...> wrote:

So, as part of the new software release yesterday, the Crestron Weather Device is now available and operational (After I spent a day two weeks ago updating and customizing the old Yahoo Direct Socket module...).

Anyway, I'm testing it out on my home system today and discovered an interesting glitch. When displaying temperatures in Celcius (I imagine this would also occur in Fahrenheit but you'd have to have temps below 0?F) and negative values output as serial text are displayed as negative subtracted analogs (i.e. -5?C is displayed as -65530?C, or 0 - 5).

There's two modules, one is the Crestron Weather Processor v1.2 (cm) and the other is the Crestron Weather Touchpanel Interface v1.0 (cm).

The Processor v1.2 module has analog outputs for temp values that display as the same negative value (-65530d) in debugger, but if I right click on the signal and set the display format to signed decimal, then it corrects to -5d.

I haven't opened them up in SIMPL to have a look at what's going on yet (I imagine this is a S+ issue), but does anyone have an obvious clue as to the error or how to correct it?

I'm sending a bug report to TB too.

Thanks,

-Neil


Re: SIMPL v3.01.22.00

 

There appears to be a problem with paths and filenames in v3.01.22 as well. Compiling now creates a new subfolder in the same directory as your .smw and fail to compile on programs that were working previously in version 2.12.44.01.

I've worked around the issue by creating a mapped drive to shorten the path, but I'm rolling back until they tackle some of these issues.

Quincy

--- In Crestron@..., Chris Armbrust <chris.armbrust@...> wrote:

Issues with new SIMPL v3.01.22.00. loaded 2 programs today that were fine
before installing new SIMPL

That now whack out the processor after loading. Watching processor shut off
and on. Cannot reconnect

To it. shows no program loaded. Going back to previous version of SIMPL.



Chris Armbrust

Tempus Electronic Lifestyles

Director of Engineering, Sr. Programmer

941-316-8812 office

941-238-8471 cell




Re: Not having any luck w/ a Phillips TV

Jeremy Weatherford
 

The last byte is the checksum, but you're right, the checksum for on
should be 1E, so &#92;x05&#92;x01&#92;x18&#92;x02&#92;x1E

On Tue, Feb 15, 2011 at 3:05 PM, Chip <cfm@...> wrote:

?So what does 1E do? ?What goes inbetween Off and On? ?:)

? ?- Chip


--- In Crestron@..., Jeremy Weatherford <xidus.net@...> wrote:

Manual you posted has &#92;x05&#92;x01&#92;x18&#92;x01&#92;x1D for power off, on would be
&#92;x05&#92;x01&#92;x18&#92;x02&#92;x1F. ?A3 is for the "power state at Cold Start"
setting, which I assume means whether it turns back on after power
loss.

On Tue, Feb 15, 2011 at 1:36 PM, cyberbri24 <cyberbri24@...> wrote:
Have the 232 ran to my Pro. Pins 2-3, 3-2, and 5-5. Not responding to the data from the protocol manual (I've added to the files docs page). I am sending "0x050x010xA30x010xA5" for Power On but no response. Anyone work this model? Phillips BDL4635 LCD monitor.
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





--
Jeremy Weatherford




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



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: "GATHER" VERSUS "REMOVE"

Stig
 

I was reffering to their similarity in result when continous extracting data to a tempstring from large serial buffer with constant traffic.

i.e a CHANGE event from a videoconference-device has a delimiter on each line of information "&#92;x0D&#92;x0A"(CRLF) in the datastructure.

<Using GATHER>

WHILE(FIND(CRLF,Device_rx$)>0)
{
TempString$=GATHER(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......

<Using REMOVE>

WHILE(FIND(CRLF,Device_rx$)>0)
{
TempString$=REMOVE(CRLF,Device_rx$);
IF(FIND(STRING,TempString)>0)
{
STARTINTEGER=FIND( and so on......

Both techniques seems to work equal, but is there a preferred way "Best practice" here ?

-Stig

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

I look at them is as part of techniques / event structures to process incoming data, e.g. PUSH/gather(), CHANGE/remove().

I use CHANGE/remove when the frequency of input is relatively low and/or I expect the whole string I care about to arrive within 1 or 2 CHANGE events. The general behavior is that you get signaled with a CHANGE when something gets added to the buffer and then use the remove() to see if what you are looking for is there. If not, exit the event. You incur the task startup overhead on each CHANGE and the same event can occur while you're processing one (need re-entrancy protection). If the incoming data rate is high enough and you spend a lot of time processing in 1 event, you can experience a number of issues that stem from the system spending more time creating CHANGE tasks than you spend in processing and getting out.

I use a PUSH/gather() when connected to a device that is going to be sending info relatively frequently or I want to minimize the overhead when data does come in. The general behavior is that a task, PUSH or MAIN, is already running and you call gather() which blocks until the the condition is met (or it times out). After processing you call the gather() again. There is only ever 1 task running for the activity and there is no additional task startup overhead.

HTH,
Dave

--- In Crestron@..., "Stig" <stig.karlsen@> wrote:

I have with great interest following the ongoing "GATHER" thread, and I am wondering if there is a best practice for using GATHER versus REMOVE ?

Up until now I have only used REMOVE, and out of curiosity i made a comparison today with two exact modules. One with GATHER and the other with REMOVE. I could not see any timeleaps(timedifferences) between them. I swapped place (order) in simple and still they appeared to parse at the same speed.
Any experiences ?

-Stig


Re: "GATHER" VERSUS "REMOVE"

Steve Kaudle
 

The Gather can be thought of as a Remove with a Find and a semaphore (with a
the ability to suspend a thread) built in. Assuming you're comfortable with
the function of:



Result$ = Remove(Delimiter,Source$);



Then Gather would function something like:



If (Find(Delimiter,Buffer_Input$) > 0)

{

Result$ = Remove(Delimiter,Buffer_Input$);
}

Else

{

Suspend Thread Until Find(Delimiter,Buffer_Input$) > 0
}



Remove is best used when you want to extract a substring of data from a
known string value (IE: you >know< that the delimiter is already contained
within your string value, and now you want to manipulate said string). In
many ways Remove is the Simpl+ equivalent of the Simpl SUB$ symbol.



Gather is better suited to situations when the source (typically a buffer
input) may or may not contain the delimiter.

_____

From: Crestron@... [mailto:Crestron@...] On Behalf
Of Stig
Sent: Tuesday, February 15, 2011 11:50 AM
To: Crestron@...
Subject: [Crestron] "GATHER" VERSUS "REMOVE"





I have with great interest following the ongoing "GATHER" thread, and I am
wondering if there is a best practice for using GATHER versus REMOVE ?

Up until now I have only used REMOVE, and out of curiosity i made a
comparison today with two exact modules. One with GATHER and the other with
REMOVE. I could not see any timeleaps(timedifferences) between them. I
swapped place (order) in simple and still they appeared to parse at the same
speed.
Any experiences ?

-Stig