¿ªÔÆÌåÓý

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

Interpretation help?

Heath Volmer
 

Can someone give me a hint what these might be about? I've got a stack of them in my log. Trying to nail down the causes for a system that is randomly going wonky, starting here.

Thanks, Heath

11. Error: CList: could not obtain list mutex (status=-50),(TaskHoldingMutex=)
TimeStamp: 10:12:27 2-14-11 UpTime: 0 days 00:06:12.60 Task: TCP_Read
12. Error: Unable to get m_pLogicSocketList Protection
TimeStamp: 10:12:27 2-14-11 UpTime: 0 days 00:06:12.60 Task: TCP_Read


Re: HTWin

Rick McNeely
 

There is a new exe at the download site. It is just the exe. I have a
machine with win7/64 and can't find drivers for the belkin adapter for that
version, but I have found and addressed two possible issues.

Please let me know if this helps

Rick

On Tue, Feb 15, 2011 at 2:36 PM, jbudz1977 <jbudz1977@...> wrote:



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]


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


Re: Control of dbx ZonePro 640

 

Nope but a good bit with the Biamp Nexia. Works very well with Crestron.

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

Just wondering if anyone has experience with the Integrated Partner module for this device? Wanted to get feedback before spec'ing it for a job.


Control of dbx ZonePro 640

 

Just wondering if anyone has experience with the Integrated Partner module for this device? Wanted to get feedback before spec'ing it for a job.


Re: Sirius or XM API or Webservice for Guide Data?

Bart J. Podkowka
 

Have you looked at xmfan.com<>?

Regards,

Bart J. Podkowka
CISoftware Mallorca

Tel. 971570971 Mov. 616273563
www.cisoftware.eu<>

Control your home from your iPhone and iPad. Call us for demonstration.

On 15 Feb 2011, at 04:11, "Brad Gibbs" <bradgibbs@...<mailto:bradgibbs@...>> wrote:



Does anyone know of a Sirius or XM API or webservice for guide data? I saw something about Niveus using a service called Zing, but the trail sort of stopped there. It looks like there was an API back for XM back in 2008, but not much on it since then. Maybe my Googling just sucks but it seems like they should want to provide an API for their internet streaming service and I can't find any mention of it on either XM or Sirious' site.

Thanks in advance.

Brad




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


Re: ARAM Limits

Witmarquzot
 

the first 40 are the only ones defined properly?

that is my most common problem, put the output on the input and vice versa

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

Is there any limit on the number of analog signals that can be stored in ARAM?

If I had 100 analog signals into an ARAM, is there a reason that only the first 40 get recalled?


Re: Crestron RS232 to USB

Rowan Maclachlan
 

You might find the device is contains a ft232 chip or similar as an USB to rs232, so there might be potential to access TTL level rs232 inside the sign.

On 16/02/2011, at 6:05 AM, "Chip" <cfm@...> wrote:


That device would be a dedicated PC running custom "gateway" software. :)

Or......get an older/different model Betabrite that has RS232 already. The one I have here in the shop (announces song/artist/album of songs as they come up on the iPod) is ancient, but it's RS232...

- Chip

--- In Crestron@..., "Bryan" <bmorris.gm@...> wrote:

Rats.my gut was telling me that it was not going to work.but I was hoping
there was a magical device out there.

Now to design a device that you could load the USB driver only onto it, send
RS232 to it and have it talk with the end device..hmmm

Looks like I get to try and find a remote and use IR after I learn the
remote.

Thanks

From: Crestron@... [mailto:Crestron@...] On Behalf
Of Block-O-Matic
Sent: Tuesday, February 15, 2011 1:09 PM
To: Crestron@...
Subject: [Crestron] Re: Crestron RS232 to USB


USB accessories require a driver in order for it to operate. So, to even
have a fighting chance of this working, the LED sign board would have to
have a specific USB adapter that it is designed to work with. It would also
be running some embedded version of Windows or *nix as custom USB drivers
are quite pricey to make.

A great example of this is the DirecTV STBs, which have a USB type A female
connector and a specific list of USB to Serial dongles (presumably, due to
the chipset and not the manufacturer) that will work.

mb

--- In Crestron@... <mailto:Crestron%40yahoogroups.com> ,
"Bryan" <bmorris.gm@> wrote:

Has anyone done a DB9 RS232 to USB "B" for serial control of a device?

I have a Betabrite LED sign board that we want to control using a Pro2.

Thanks,
B




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


Re: ARAM Limits

 

Not that low, at least (I think the symbol maxes out at 999). Most of my projects have at least 60 values in ARAM; many have 200+ [including both of my systems at home], a few have 400 or more [it's easy to do when you have a 120 output video matrix, a 64 output audio matrix and a whole bunch of displays you're tracking status for] and I have never seen an issue like that.

Are you sure that there's no other logic toying with the analog at startup (like the out* of something driving an INIT)?

Lincoln

--
Lincoln King-Cliby, CTS
Applications Engineer
ControlWorks Consulting, LLC
V: 440.449.1100 x1107 F: 440.449.1106 I:
Crestron Authorized Independent Programmer

-----Original Message-----
From: Crestron@... [mailto:Crestron@...] On Behalf Of jbudz1977
Sent: Tuesday, February 15, 2011 12:30 PM
To: Crestron@...
Subject: [Crestron] ARAM Limits

Is there any limit on the number of analog signals that can be stored in ARAM?

If I had 100 analog signals into an ARAM, is there a reason that only the first 40 get recalled?



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


Check out the Files area for useful modules, documents, and drivers.

A contact list of Crestron dealers and programmers can be found in the Database area.
Yahoo! Groups Links


Re: 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@...>