URC PSX-2 iPod Dock
Module Application Guide
Description
This module allows a 2-Series or 3-Series Crestron processor to control the Universal Remote
Control PSX-2 via a combination of TCP and UDP. TCP and UDP communications and the wellengineered dock combine to make a fast module to provide a great user experience. Enabling
your clients to watch their favorite videos on a local or distributed video system, the dock
provides unbalanced audio and component video outputs. More details of the dock can be found
on Universal Remote Controls website.
The PSX-2 support includes:
•
•
•
•
•
•
Shortcuts for browsing immediately by playlists, artists, songs, albums, genres, podcasts,
audio books, and composers
Browse the iPod's contents on a touchpanel in a configurable list form
Ability to browse or manage the PSX-2's jukebox
Shuffle and repeat controls
Playback transport controls
On-screen navigation control with menu shortcuts
Supported Processors
This module is supported by any 2-series or 3-series processor equipped with an Ethernet port.
This module also requires that the 2-Series processor is running firmware version 4.xxx.xxxx or
later, or a 3-series processor running firmware version 1.002.000 or later.
Compatibility
Processor Requirements
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
Ethernet Configuration Information
This module requires that the processor have a TCP/IP and a UDP/IP connection to the URC PSX2. Insert a TCP/IP client symbol into your program. Configure the TCP/IP client as show below,
taking care to enter the IP address of the PSX-2 you are controlling. The IP ID will vary
depending on what order IP devices are entered into your program, or the IP ID number scheme
of your system.
Declare the TCP/IP client as shown below, taking care to set the port to 49749d.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
Ethernet Configuration Information
Configure the UDP/IP client as show below, taking care to enter the IP address of 239.255.85.82.
This address is the multicast address for the PSX-2 dock. The IP ID will vary depending on what
order IP devices are entered into your program, or the IP ID number scheme of your system.
Declare the TCP/IP client as shown below, taking care to set the port to 49749d.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
Module Application
UDP/IP Broadcast
The PSX-2 utilizes UDP/IP broadcast updates for real-time feedback. This can be very
taxing on the Crestron Ethernet port, especially when a track is playing and the dock is
updating the time of the currently playing track. Great care should be taken in when the
UDP/IP client is enabled. The caveat to this is that the dock sends several key status
updates, such as when an iPOD is inserted or removed, over UDP/IP only.
TCP/IP Connections
The PSX-2 utilizes TCP/IP for commands and some feedback as a result of those
commands. The dock will not allow a TCP/IP connection to be held open. Once connected,
it will allow for a command and response, and then it will drop the connection. It is
important to connect the signals between the module and the TCP/IP client as described
above in the “Ethernet Configuration Information” for the module to function properly.
Virtual Connection Logic
This module includes virtual connection logic. This enables the programmer to right-click
and drag the module to other program symbols to have the signals auto-connect.
To auto-connect signals between the PSX-2 module and the TCP/IP client, right-click the
module and drag your cursor to the TCP/IP Client symbol and release. Select “Import
Device Logic” from the context menu. You will then be prompted to enter a prefix for the
signals that are about to be created. “psx-2 tcp” is the suggested prefix, but you may enter
whatever fits your programming style, as long as this prefix differs from the one used for
the UDP/IP Client symbol.
To auto-connect signals between the PSX-2 module and the UDP/IP client, right-click the
module and drag your cursor to the UDP/IP Client symbol and release. Select “Import
Device Logic” from the context menu. You will then be prompted to enter a prefix for the
signals that are about to be created. “psx-2 udp” is the suggested prefix, but you may
enter whatever fits your programming style, as long as this prefix differs from the one used
for the TCP/IP Client symbol.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
Signal and Parameter Descriptions
Bracketed signals such as “[signal_name]” are optional signals
DIGITAL INPUTS
[dock_tcp-ip_client_connected.....................................Route from the TCP-IP symbol. This is latched high
when the tcp-ip client has successfully connected to
the device.
[dock_udp_enable_connection]....................................Pulse to enable UDP-IP communications with the
device. To avoid unnecessary traffic to the Crestron
processor’s Ethernet port, this should only be used
when real-time status from the device is needed.
[dock_udp_disable_connection] ...................................Pulse to disable UDP-IP communications with the
device.
[dock_udp_toggle_connection] ....................................Pulse to toggle UDP-IP connection to the device.
[transport_play].........................................................Pulse to play currently selected content on the device.
Play will only work if there is something selected, will
only work to play content that is paused.
[transport_pause] ......................................................Pulse to pause the currently playing content.
[transport_play-pause_toggle].....................................Pulse to toggle playback of content between play and
pause.
[transport_stop] ........................................................Pulse to stop playback of currently playing content.
Removes all items from the now playing queue.
[transport_fast_forward].............................................While being held high, fast forwards currently playing
content. Resumes playback at normal speed when
released.
[transport_rewind] .....................................................While being held high, fast reverses currently playing
content. Resumes playback at normal speed when
released.
[transport_next_track] ...............................................Pulse to skip to the next track in the now playing
queue.
[transport_previous_track]..........................................Pulse to skip to the previous track in the now playing
queue.
[transport_next_chapter] ............................................Pulse to skip to the next chapter in the now playing
queue. This is used for some video content.
[transport_previous_chapter] ......................................Pulse to skip to the previous chapter in the now playing
queue. This is used for some video content.
[transport_next_playlist].............................................Pulse to skip to the next playlist.
[transport_previous_playlist] .......................................Pulse to skip to the previous playlist.
[transport_next_album] ..............................................Pulse to skip to the next album.
[transport_previous_album] ........................................Pulse to skip to the previous album.
[transport_next_artist] ...............................................Pulse to skip to the next artist.
[transport_previous_artist] .........................................Pulse to skip to the previous artist.
[shuffle_off] ..............................................................Pulse to set shuffle mode to off.
[shuffle_track] ...........................................................Pulse to set shuffle mode to shuffle tracks.
[shuffle_album] .........................................................Pulse to set shuffle mode to shuffle album.
[repeat_off]...............................................................Pulse to set repeat mode to off.
[repeat_track] ...........................................................Pulse to set repeat mode to repeat tracks.
[repeat_album]..........................................................Pulse to set repeat mode to repeat album.
[browse_main_home] .................................................Pulse to start browsing from the main level.
[browse_audio_playlist_home] ....................................Pulse to browse to a list of playlists.
[browse_artist_home] ................................................Pulse to browse to a list of artists.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
[browse_album_home] ...............................................Pulse
[browse_genre_home]................................................Pulse
[browse_track_home].................................................Pulse
[browse_composer_home] ..........................................Pulse
[browse_audiobook_home] .........................................Pulse
[browse_podcast_home] .............................................Pulse
to
to
to
to
to
to
browse
browse
browse
browse
browse
browse
to
to
to
to
to
to
a
a
a
a
a
a
list
list
list
list
list
list
of
of
of
of
of
of
albums.
genres.
songs.
composers.
audiobooks.
podcasts.
[select_line1] - [select_line15] ....................................Pulse to select the line of text being displayed.
[play_line1] - [play_line15] .........................................Pulse to play the line of text being displayed.
[browse_back]...........................................................Pulse to browse back to the previous selection.
[browse_next_page]...................................................Pulse to browse to the next page of entries in the
current selection.
[browse_previous_page] .............................................Pulse to browse to the previous page of entries in the
current selection.
[browse_last_page]....................................................Pulse to browse to the last page of entries in the
current selection.
[browse_first_page] ...................................................Pulse to browse to the first page of entries in the
current selection.
[enable_tcp_polling] ...................................................Pulse to enable periodic polling over TCP-IP. This
should be used for keeping track of several status
items while not connected to the device via UDP-IP.
[refresh_play_status] .................................................Pulse to get current playback status and track
information.
[dock_get_track_info] ................................................Pulse to get currently playing track information.
[dock_get_info] .........................................................Pulse to get basic iPOD information.
[dock_get_preference_values] .....................................Pulse to get iPOD preference information.
[dock_get_dock_info] .................................................Pulse to get basic dock information.
[dock_get_dock_state_info] ........................................Pulse to get various dock status information
[jukebox_home] ........................................................Pulse to browse to a list that contains the contents of
the Jukebox.
[jukebox_add_current_song] .......................................Pulse to add the currently playing song to the Jukebox.
[jukebox_clear_all] ....................................................Pulse to clear the entire contents of the Jukebox.
[jukebox_play_all] .....................................................Pulse to immediately play the contents of the Jukebox,
starting from the first song in the Jukebox.
[osd_xxx] .................................................................Pulse these commands to navigate the on-screen
display of the dock.
ANALOG INPUTS
dock_tcp-ip_status .....................................................Route from the TCP/IP client symbol. Provides the
status of the TCP/IP connection to the module.
SERIAL INPUTS
dock_tcp-ip_rx$ .........................................................Route from the RX$ of the TCP/IP client symbol. This is
the data received from the device.
ipod_dock_udp_rx$ ....................................................Route from the RX$ of the UDP/IP client symbol. This
contains the unsolicited feedback fro the device.
DIGITAL OUTPUTS
dock_tcp-ip_connect...................................................Route to the Connect on the TCP/IP client symbol. This
allows the module to control when to connect and
disconnect to/from the device. It is important to let the
module handle this connection, as the dock will drop a
connection if it is held open.
[dock_udp_connect] ...................................................Route to the Connect on the UDP/IP client symbol.
[transport_playing] ....................................................Latched high when the dock reports that the iPOD is
currently playing a track.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
[transport_paused] ....................................................Latched high when the dock reports that the iPOD is
currently paused.
[transport_stopped] ...................................................Latched high when the dock reports that the iPOD is
currently stopped.
[transport_fast_forwarding] ........................................Latched high when the dock reports that the iPOD is
currently fast forwarding.
[transport_rewinding].................................................Latched high when the dock reports that the iPOD is
currently fast reversing.
[shuffle_off_fb] ..........................................................Latched high when the dock reports that the current
shuffle mode is off.
[shuffle_track_fb] ......................................................Latched high when the dock reports that the current
shuffle mode is set to shuffle tracks.
[shuffle_album_fb] .....................................................Latched high when the dock reports that the current
shuffle mode is set to shuffle albums.
[repeat_off_fb] ..........................................................Latched high when the dock reports that the current
repeat mode is set to off.
[repeat_track_fb].......................................................Latched high when the dock reports that the current
repeat mode is set to repeat tracks.
[repeat_album_fb] .....................................................Latched high when the dock reports that the current
repeat mode is set to repeat albums.
[tcp_polling_enabled] .................................................Latched high when TCP polling is set to on.
[dock_busy_downloading_cover_art_fb] .......................Latched high when the dock reports that it is busy
downloading cover art from the iPOD. The dock will
not accept commands when this is high.
[dock_no_ipod_fb] .....................................................Latched high when the dock reports that there is not
an iPOD docked.
[ipod_battery_charging_fb] .........................................Latched high when the dock reports that the iPOD
battery is currently charging.
[ipod_battery_charged_fb] ..........................................Latched high when the dock reports that the iPOD
battery is fully charged.
[ipod_video_out_ntsc] ................................................Latched high when the dock reports that the video
output format of the iPOD is set to NTSC.
[ipod_video_out_pal]..................................................Latched high when the dock reports that the video
output format of the iPOD is set to PAL.
[ipod_video_out_fullscreen_fb] ....................................Latched high when the dock reports that the video
output aspect of the iPOD is set to fullscreen.
[ipod_video_out_widescreen_fb]..................................Latched high when the dock reports that the video
output aspect of the iPOD is set to widescreen.
[ipod_video_out_mode_off_fb] ....................................Latched high when the dock reports that the video
output of the iPOD is turned off.
[ipod_video_out_mode_on_fb] ....................................Latched high when the dock reports that the video
output of the iPOD is turned on.
[ipod_video_out_mode_ask_fb] ...................................Latched high when the dock reports that the video
output of the iPOD is set to prompt the user when
attempting to play video content.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
ANALOG OUTPUTS
[browse_current_page]...............................................Outputs the current page of results displayed in the
list.
[browse_total_pages] .................................................Outputs the total number of pages available based on
the last query and the number of lines being displayed
on the user interface.
[playlist_total_tracks] .................................................Outputs the total number of tracks available in the
current playlist.
[playlist_current_track] ..............................................Outputs the currently playing track’s position in the
current playlist.
[current_track_elapsed_time]......................................Outputs the elapsed time of the currently playing
track, formatted to route to a Timer symbol on a user
interface.
[current_track_total_time] ..........................................Outputs the total track length of the currently playing
track, formatted to route to a Timer symbol on a user
interface.
[current_track_remaining_time] ..................................Outputs the time remaining of the currently playing
track, formatted to route to a Timer symbol on a user
interface.
[play_multimode_line1] - [play_multimode_line15]........Outputs a value of 1 or 0. Route to a multimode button
on the user interface. This is used to enable/disable
the display of a Play button next to a line in the browse
menu, based on whether there is a line displayed. 1 is
used to indicate that the button should be available to
the user. 0 indicates that the button should not be
displayed.
[browse_back_multmode] ...........................................As with the above multimode values. Indicates whether
the Browse Back button should be available on the
user interface or not.
[browse_previous_page_multimode] ............................As with the above multimode values. Indicates whether
the Browse Previous Page button should be available
on the user interface or not.
[browse_next_page_multimode] ..................................As with the above multimode values. Indicates whether
the Browse Next Page button should be available on
the user interface or not.
[browse_last_page_multimode] ...................................As with the above multimode values. Indicates whether
the Browse Last Page button should be available on the
user interface or not.
[browse_first_page_multimode]...................................As with the above multimode values. Indicates whether
the Browse First Page button should be available on
the user interface or not.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
SERIAL OUTPUTS
dock_tcp-ip_tx$ .........................................................Route to the TX$ of the TCP/IP client symbol.
[dock_udp-ip_tx$] .....................................................Route to the TX$ of the UDP/IP client symbol. This is
only included for the auto connect logic built in to the
module and is not actually used.
[current_playlist_name$] ............................................Contains the name of the currently playing playlist.
[current_track_title$] .................................................Contains the title of the currently playing song.
[current_album_name$] .............................................Contains the name of the currently playing album.
[current_artist_name$]...............................................Contains the name of the currently playing artist.
[current_genre$] .......................................................Contains the name of the currently playing genre.
[current_composer$] ..................................................Contains the name of the currently playing composer.
[display_list_title$].....................................................Contains text that describes what is currently being
browsed. i.e. “Playlist”, “Album”, etc.
[display_list_text1$] - [display_list_text15$] .................Contains the list of items that are currently being
browsed. Only 1 through the number defined on the
parameter, “number_of_browsing_lines” (up to 15) will
have strings output.
[dock_name$] ...........................................................Outputs the name of the dock that this instance of the
module is connected to.
[ipod_name$] ............................................................Outputs the name of the iPOD that is currently inserted
into the dock.
PARAMETERS
number_of_browsing_lines ..........................................Set to an analog value of 1d to 15d, depending on the
number of lines available on the user interface.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
Support
This module is supported by ControlWorks Consulting, LLC. Should you need support for this
module please email support@controlworks.com or call us at 440-449-1100. ControlWorks
normal office hours are 9 AM to 5 PM Eastern, Monday through Friday, excluding holidays.
Before calling for support, please ensure that you have loaded and tested operation using the
included demonstration program and touchpanel(s) to ensure that you understand the correct
operation of the module. It may be difficult for ControlWorks to provide support until the
demonstration program is loaded.
Updates, when available, are automatically distributed via Email notification to the address
entered when the module was purchased. In addition, updates may be obtained using your
username and password at http://www.controlworks.com/customerlogin.aspx .
Distribution Package Contents
The distribution package for this module should include:
urc_psx-2_v3.umc .....................................................Crestron User Module for controlling the dock
urc_psx-2_engine_v3.usp ...........................................SIMPL+ file used within the dock control module
urc_psx-2_engine_v3.ush ...........................................SIMPL+ header file
utf-8_processor_v1.usp ..............................................SIMPL+ file used withing the dock control module
utf-8_processor_v1.ush ..............................................SIMPL+ header file
urc_psx-2_demo_xpanel_v3.vtp ..................................Demo touchpanel file for XPANEL touchpanel
urc_psx-2_demo_v3.smw ...........................................Demo program for PRO2 processor
urc_psx-2_help_v3.pdf ...............................................Help file
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
Revision History
V1 gary@controlworks.com 03-29-2010
-initial release
V2 gary@controlworks.com 11-12-2010
-added support for IR emulation of OSD controls
-tested for 3-Series compatibility
V2.1 gary@controlworks.com 06-28-2011
-added page up and page down to osd functionality.
V3 gary@controlworks.com 03-16-2012
-fixed 3-Series issues.
Development Environment
This module version was developed on the following hardware and software. Different versions
of hardware or software may or may not operate properly. If you have questions, please contact
us.
URC Hardware
PSX-2
Software Version
1.2.0
Hardware
Firmware Version
Crestron MC3 Processor
Software
Crestron SIMPL Windows
Crestron Vision Tools Pro-e
Crestron Database
Device Database
1.002.0000
Software Version
3.11.06.00
5.0.23.02
30.01.004.00
40.01.004.00
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
ControlWorks Consulting, LLC
Module License Agreement
Definitions:
ControlWorks, We, and Us refer to ControlWorks Consulting, LLC, with headquarters located at 701 Beta Drive,
Suite 22 Mayfield Village, Ohio 44143-2330. You and Your refers to the individual or entity purchasing the
Module. Client and End User refer to the person or entity for whom the Crestron hardware is being installed
and/or will utilize the installed system. System refers to all components described herein (including the Module
and source files with extensions such as UMC, USP, SMW and VTP) as well as other components, services, or
utilities required to achieve the functionality described herein. Module refers to the software module and related
source code purchased and licensed pursuant to this agreement. Demo Program refers to a group of files used
to demonstrate the capabilities of the Module, for example a SIMPL Windows program and VisionTools
Touchpanel file(s) illustrating the use of the Module but not including the Module. Software refers to the Module
and the Demo Program.
Dealer Representation
By using the Software, you represent and warrant that You are an authorized dealer or partner of Crestron
Electronics, Inc. and are authorized to use the Crestron development tools. If you are an End User or do not
have a valid license to use the Crestron development tools we recommend that you have your Crestron dealer
purchase the Module in order to fully utilize the functionality and take advantage of future updates and technical
support.
Disclaimer of Warranties
ControlWorks software is licensed to You as is. CONTROLWORKS HEREBY DISCLAIMS ALL WARRANTIES OF
ANY KIND, EXPRESS OR IMPLIED, WITH RESPECT TO THE SOFTWARE OR ANY SERVICES PROVIDED BY
CONTROLWORKS, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT OF THIRD PARTY RIGHTS AND FITNESS FOR A PARTICULAR PURPOSE. You, and any other
parties using the Software, bear the entire risk relating to the use of the Software. In no event will
ControlWorks be liable for direct, indirect, incidental or consequential damages resulting from any use of the
Software, even if ControlWorks had reason to know of the possibility of such damage. If the Software proves to
have defects, You are solely liable for the cost of any necessary service or repair resulting from such defects.
Provision of Support
We provide limited levels of technical support only for the most recent version of the Module as determined by
Us and solely to those who are authorized to use the Software (see the “Dealer Representation” paragraph
above). We do not provide support for previous versions of the Module, modifications to the Module not made
by Us, or persons who have not purchased the module from Us. In addition, we may decline to provide support
if the Demo Program has not been utilized or for any other reason whatsoever. We may withdraw a Module from
sale and discontinue providing support at any time and for any reason, including, for example, if the equipment
for which the Module is written is discontinued or substantially modified. The remainder of your rights and
obligations pursuant to this license will not be affected should ControlWorks discontinue support for a Module.
Modification of Software
You may not decrypt (if encrypted), reverse engineer, modify, translate, disassemble, or de-compile the Module
in whole or part. You may modify the Demo Program; provided, however, if You modify the Module in any
manner you may be forfeiting Your right to receive support from ControlWorks as determined in its sole
discretion. If You request support for a Module that has been modified, You may be required to revert to the
unmodified version of the Module before ControlWorks will consider providing support. In no event will
ControlWorks be liable for direct, indirect, incidental or consequential damages resulting from You modifying the
Software in any manner.
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
Indemnification/Hold Harmless
ControlWorks, in its sole and absolute discretion, may refuse to provide support for the application of the
Module in such a manner that We feel has the potential for property damage, or physical injury to any person.
You shall indemnify and hold harmless ControlWorks, its employees, agents, and owners from any and all
liability, loss or damage, including, but not limited to, direct, indirect, and consequential damages (including
reasonable attorneys’ fees and expenses), personal injury, property damage, or lost profits, which may result
from (i) the operation of a program containing the Software (including a ControlWorks Module) or any
component thereof, (ii) any breach of this agreement by You, and (iii) use of any other third party software and
hardware.
License Grant
Software authored by ControlWorks remains the property of ControlWorks. Subject to the limitations set forth
below, ControlWorks grants You the non-exclusive, non-transferable, limited, perpetual license to use the
Software authored by ControlWorks as a component of Systems programmed by You. This Software is the
intellectual property of ControlWorks and is protected by law, including United States and International
copyright laws. This Software and the accompanying license may not be transferred, resold, or assigned to
other persons, organizations or other Crestron dealers via any means.
Limitations on License
If You are not an authorized Crestron dealer or partner with a valid license to use the Crestron development
tools, Your ability to legally utilize the Software is severely limited and Your use thereof may be in violation of
this agreement and the proprietary rights of other third parties, including Crestron. ControlWorks will not
provide support to any person or entity using the Software in an unauthorized manner, which shall be
determined in ControlWorks’ sole discretion. The license granted under this agreement is granted solely to the
Crestron dealer or partner who purchased the Module and does not extend to and may not be transferred to any
other Crestron dealers, even if such dealers are servicing a System that contains a Module that was purchased
by a prior dealer.
You or any third party may not: (a) sell, lease, lend, rent or distribute (including through the Internet) the
Software (or any portion thereof) to any third party; (b) use the Software for any purpose other than for
developing Systems; or (c) remove, alter, or obscure any product identification, copyright, trademark, or other
intellectual property notices embedded within the Software or included in any related explanatory files and
written materials provided by ControlWorks.
The use of this software indicates acceptance of the terms
of this agreement.
042373, 000001, 103790294, ControlWorks - Module License
urc_psx-2_v3
Telephone: (+1)440-449-1100
ControlWorks Consulting, LLC
support@controlworks.com
http://www.controlworks.com
Download PDF