Re: Not having any luck w/ a Phillips TV
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.
toggle quoted message
Show quoted text
--- 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 \x05\x01\x18\x02\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 \x05\x01\x18\x01\x1D for power off, on would be \x05\x01\x18\x02\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
|
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"
More very useful insight, thanks Ian.
toggle quoted message
Show quoted text
--- 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 "\x0D\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"
This was a VERY enlightening explanation.
Thanks Ian !
toggle quoted message
Show quoted text
--- 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 "\x0D\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.
|
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
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
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
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
toggle quoted message
Show quoted text
--- 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"
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
toggle quoted message
Show quoted text
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 "\x0D\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
<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
toggle quoted message
Show quoted text
--- 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
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
toggle quoted message
Show quoted text
--- 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@...>
|
Hi Rick,
Still crashing under 1.9.0.5
- Jeff
toggle quoted message
Show quoted text
--- 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:\HTWin\HTWin.exe Faulting module path: C:\Windows\SYSTEM32\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:\HTWin\HTWin.exe Faulting module path: C:\Windows\system32\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]
|
Oops. sent that twice.
toggle quoted message
Show quoted text
--- In Crestron@..., "rickmcneely" <rickmcneely@...> wrote: goto www.rickmcneely.com/files and try HTWin_1.0.9.5.zip. Lemme know how that works.
|
I uploaded an update at www.rickmcneely.com/files. It is named HTWin_1.9.0.5.
Let me know if it helps.
Rick
toggle quoted message
Show quoted text
--- 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:\HTWin\HTWin.exe Faulting module path: C:\Windows\SYSTEM32\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:\HTWin\HTWin.exe Faulting module path: C:\Windows\system32\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
toggle quoted message
Show quoted text
--- 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
|
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
toggle quoted message
Show quoted text
--- 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
The last byte is the checksum, but you're right, the checksum for on should be 1E, so \x05\x01\x18\x02\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 \x05\x01\x18\x01\x1D for power off, on would be \x05\x01\x18\x02\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"
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 "\x0D\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
toggle quoted message
Show quoted text
--- 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"
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
|