Crestron Serial Join Propagation

148 views
Skip to first unread message

Jeremy Aston

unread,
Jun 10, 2013, 3:53:47 AM6/10/13
to comman...@googlegroups.com
Hi,

I am maintaining a site that uses series 2 Crestron processors and iViewer 4.0.242 build 242 on a variety of iPad 2 and 3 devices.  We are using some serial joins to present messages to the iPad users about sources in use by another zone (e.g. "Apple TV in use by master bedroom").  There is also some code that will prevent the zone from being used by an ipad/zone if already in use elsewhere.

The logic that updates the messages is working 100% fine.  We are using a serial i/o symbol to trigger the message change and then a buffer to propagate out to each iPad. e,g,

Serial i/o (trigger signal -> Message -> output serial signal)
cinema_tv_source_selected13 -> "Apple TV In use by cinema" -> appletv_current_zone_message$
kitchen_tv_source_selected13 -> "Apple TV In use by kitchen" -> appletv_current_zone_message$


Ipad message serial buffer (input serial string-> output serial string)
appletv_current_zone_message$ -> ipad1_serial_join27
appletv_current_zone_message$ -> ipad2_serial_join27
appletv_current_zone_message$ -> ipad3_serial_join27
appletv_current_zone_message$ -> ipad4_serial_join27

If the source zone changes we can see the serial strings changing with no problem.

Now, I know that the serial i/o symbol only transmits the serial data on a rising edge of the input digital signal.  I also know that a serial buffer on transmits the serial data on a rising edge on the enable line or  if the incoming serial values change.  All the debugging we have done shows this is working fine.  Serial values are propagating across buffers and processors (via intersystem comms objects) with no problems.

What we are seeing, however, is ipads not showing the serial output until an activity on that ipad has caused the serial data to be changed.  So, for example:

1. user picks up iPad 1 and chooses appletv in cinema.  Serial data on all ipadX_serial_join27 signals changes to "AppleTV in use by cinema".  The logic that locks out other zones does it stuff.
2. user picks up iPad 2 and chooses appletv in kitchen.  The user gets a warning box (i.e. zone lockout logic working) but the message is blank, even though the join has the correct data.
3. user selects sky in kitchen on iPad2.  Source changes
4. user selects appletv in kitchen. The user gets a warning box (i.e. zone lockout logic working) and the message is now correct.
5. everything works fine from then on until a processor reboot or similar

It appears that the serial signal is not being picked up in the same way that digital and analogue signals are.  We are using the most up to date released Crestron V3 JS file and looking at that I can see no reason why the serial data would not be picked up.

What is important to bear in mind is that this issue only seems to occur if the second ipad was not in use when the serial data is originally changed. It's as if the serial signal state is not picked up by the second ipad when it wakes up.

The other thing to point out is that all signals are in "make string permanent" symbols as well.

I am a bit flummoxed now.  Has anyone experienced anything similar?  Is there any more debugging I could do?

TIA - jez




vmailtk5

unread,
Jun 10, 2013, 3:58:55 AM6/10/13
to commandfusion
Try using an Analog buffer instead of a Serial buffer, once data has passed the serial buffer it is lost, I think.






--
You received this message because you are subscribed to the Google Groups "CommandFusion Software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commandfusio...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

vmailtk5

unread,
Jun 10, 2013, 4:25:14 AM6/10/13
to commandfusion
Also check that the PermanentStringSize is big enough 

Jeremy Aston

unread,
Jun 10, 2013, 4:25:23 AM6/10/13
to comman...@googlegroups.com, vmai...@gmail.com
Thanks for the suggestion.  I can try it but I am not 100% sure it will make a difference.

We are seeing the final serial string change correctly so the buffer is working.  The final serial string is tied to a make string permanent symbol so should that not maintain the data?  Looking at my example below we see that ipadX_serial_join274 has the correct data.  If that signal is in a MSP then it should be available for iViewer to pick up when it starts up?

How would an analog buffer make a difference?

Cheers

jez 

Jeremy Aston

unread,
Jun 10, 2013, 5:49:11 AM6/10/13
to comman...@googlegroups.com, vmai...@gmail.com
good point.  I think it should be OK but will double check.

Mqsack

unread,
Jun 10, 2013, 7:35:27 AM6/10/13
to comman...@googlegroups.com
I always use ABUFS instead of SBUFS. Try running the output of the Ethernet offline manager into a NOT for each panel and tie it to the enable if your main ABUF that sits before the panel definition ( I have one large ABUF that has all my analog and serial commands for each panel).

If you need to delay the propagation you could always use a delay on the NOT output.

I understand what you are currently doing " should" work I theory. But of course we always have to massage things a bit...

Also: where is your MSP or MSP's ?

I know with certain symbols ( like cross points ) you actually need one on both sides in some cases.

Matt

Reply all
Reply to author
Forward
0 new messages