AMX NSS-VOTE Programmer Guide

Programmer’s Guide
NSS-Vote
integration!Solutions
Document ID: 033-004-2635
Last Revised: 6/02/2006
Software License and Warranty Agreement
LICENSE GRANT.
AMX grants to Licensee the non-exclusive right to use the AMX Software in the manner described in this License. The AMX Software is licensed, not sold. This license does not grant Licensee the right to create derivative works of the AMX Software. The AMX Software consists of generally available programming and development software, product documentation, sample applications, tools and utilities, and miscellaneous technical information. Please refer to the README.TXT file on the compact disc or download for further information regarding the components of the AMX Software. The AMX Software is subject to restrictions on distribution described in this License Agreement. LICENSEE MAY NOT SUBLICENSE, RENT, OR LEASE THE AMX SOFTWARE. Licensee may not reverse engineer, decompile, or disassemble the AMX Software.
INTELLECTUAL PROPERTY.
The AMX Software is owned by AMX and is protected by United States copyright laws, patent laws, international treaty provisions, and/or state of Texas trade secret laws. Licensee may make copies of the AMX Software solely for backup or archival purposes. Licensee may not copy the written materials accompanying the AMX Software.
TERMINATION.
AMX RESERVES THE RIGHT, IN ITS SOLE DISCRETION, TO TERMINATE THIS LICENSE FOR ANY REASON AND UPON WRITTEN NOTICE TO LICENSEE. In the event that AMX terminates this License, the Licensee shall return or destroy all originals and copies of the AMX Software to AMX and certify in writing that all originals and copies have been returned or destroyed.
PRE-RELEASE CODE.
Portions of the AMX Software may, from time to time, as identified in the AMX Software, include PRE-RELEASE CODE and such code may not be at the level of performance, compatibility and functionality of the final code. The PRE-RELEASE CODE may not operate correctly and may be substantially modified prior to final release or certain features may not be generally released. AMX is not obligated to make or support any PRE-RELEASE CODE. ALL PRE-RELEASE CODE IS PROVIDED "AS IS" WITH NO WARRANTIES.
LIMITED WARRANTY.
AMX warrants that the AMX Software will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt. AMX DISCLAIMS ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH REGARD TO THE AMX SOFTWARE. THIS LIMITED WARRANTY GIVES LICENSEE SPECIFIC LEGAL RIGHTS. Any supplements or updates to the AMX SOFTWARE, including without limitation, any (if any) service packs or hot fixes provided to Licensee after the expiration of the ninety (90) day Limited Warranty period are not covered by any warranty or condition, express, implied or statutory.
LICENSEE REMEDIES.
AMX's entire liability and Licensee's exclusive remedy shall be repair or replacement of the AMX Software that does not meet AMX's Limited Warranty and which is returned to AMX. This Limited Warranty is void if failure of the AMX Software has resulted from accident, abuse, or misapplication. Any replacement AMX Software will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. Outside the United States, these remedies may not available.
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. IN NO EVENT SHALL AMX BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THIS AMX SOFTWARE, EVEN IF AMX HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO LICENSEE.
U.S. GOVERNMENT RESTRICTED RIGHTS.
The AMX Software is provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph ©(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227­7013 or subparagraphs ©(1) and (2) of the Commercial Computer Software Restricted Rights at 48 CFR 52.227-19, as applicable.
SOFTWARE AND OTHER MATERIALS FROM AMX.COM MAY BE SUBJECT TO EXPORT CONTROL.
The United States Export Control laws prohibit the export of certain technical data and software to certain territories. No software from this Site may be downloaded or exported (i) into (or to a national or resident of) Cuba, Iraq, Libya, North Korea, Iran, Syria, or any other country to which the United States has embargoed goods; or (ii) anyone on the United States Treasury Department's list of Specially Designated Nation­als or the U.S. Commerce Department's Table of Deny Orders. AMX does not authorize the downloading or exporting of any software or tech­nical data from this site to any jurisdiction prohibited by the United States Export Laws.
This Agreement replaces and supersedes all previous AMX Software License Agreements and is governed by the laws of the State of Texas, and all disputes will be resolved in the courts in Collin County, Texas, USA. For any questions concerning this Agreement, or to contact AMX for any reason, please write: AMX, 3000 Research Drive, Richardson, TX 75082.
Table of Contents
Table of Contents
Introduction ........................................................................................................1
Supported Operating Systems .......................................................................................... 1
Minimum PC Requirements .............................................................................................. 1
Installing NSS-Vote ........................................................................................................... 1
Hardware Options .............................................................................................. 3
Operator’s Consoles.......................................................................................................... 3
Voting Stations .................................................................................................................. 4
Public Speaking Podium ................................................................................................... 5
Voting Display ................................................................................................................... 5
PC-Based Voting Display .................................................................................................. 6
Typical Configurations....................................................................................................... 6
Configuration 1 (High-end) ....................................................................................................... 6
Configuration 2 (Medium-sized) ............................................................................................... 6
Configuration 3 (Low-end)........................................................................................................ 6
Programming ......................................................................................................7
Initial Programming ........................................................................................................... 7
Adding Operators' Consoles .................................................................................................... 7
Adding Graphical Voting Stations ............................................................................................ 7
Adding Non-Graphical Voting Stations..................................................................................... 8
Adding a Public Podium Speaking Station ............................................................................... 8
Adding Voting Displays ............................................................................................................ 9
Voting Results Display Programming................................................................................ 9
Request to Speak Programming ....................................................................................... 9
Modifying Graphical Room View ..................................................................................... 10
Custom Programming ..................................................................................................... 10
Adding Custom NSS-Vote Options ........................................................................................ 10
Customizing HTML Pages ..................................................................................................... 10
Downloading Files ........................................................................................................... 11
The Main AXS Code .............................................................................................................. 11
The TPD Files ........................................................................................................................ 11
Support for HTML Based Voting Results ............................................................................... 11
Software Key ................................................................................................................... 12
Obtaining a Software Key ...................................................................................................... 12
Entering a Software Key ........................................................................................................ 12
Running NSS-Vote .......................................................................................................... 12
Modules........................................................................................................................... 13
NSS-Vote Programmer’s Guide
i
Table of Contents
NSS-VoteEngineMod Module ................................................................................................ 13
NSS-VoteTouchPanelStationMod Module ............................................................................. 20
NSS-VoteMSPStationMod Module ........................................................................................ 21
NSS-VoteDisplayOnlyMod Module ........................................................................................ 22
NSS-VotePublicSpeakingStation Module .............................................................................. 24
NSS-VoteEngineMod API ............................................................................................... 25
Channels ................................................................................................................................ 25
Levels..................................................................................................................................... 27
Strings .................................................................................................................................... 27
ii
NSS-Vote Programmer’s Guide

Introduction

NSS-Vote™ is designed to manage voting and microphone control for small to medium city council style meetings. NSS-Vote supports two voting/microphone management consoles, up to 21 voting/ microphone stations and one public podium microphone.

Supported Operating Systems

Windows 95
Windows NT 4.0
64 MB of installed memory)
Windows 2000
requirement); 300 MHz or faster recommended, with 96 MB of installed memory.)

Minimum PC Requirements

Windows-compatible mouse (or other pointing device)
At least 5 MB of free disk space (150 MB recommended)
VGA monitor, with a minimum screen resolution of 800 x 600
A Network adapter
Introduction
®
/98® (with at least 48 MB of installed memory)
®
Workstation or Server (service pack 6 B or greater, with at least
®
Professional or Server (running on a Pentium 233 MHz processor (minimum

Installing NSS-Vote

1. In Explorer, double-click NSS-VoteSetup.exe from the directory window where you downloaded
the NSS-Vote install program.
2. After reading the License Agreement, select I Agree and Next to proceed.
3. The Welcome To NSS-Vote Setup dialog appears, reminding you to close all Windows programs
before going any further. Click Next to proceed.
4. In the Select NSS-Vote Install Location dialog, use the Browse button to navigate to a directory
other than the default install directory, if desired. Click Next.
5. In the NSS-Vote Shortcut Creation dialog, select Install Shortcut Icons for the installed
components on your desktop, if desired.
6. Click Next in the Start NSS-Vote Installation dialog to install the selected components.
7. The program prompts you to restart your system to complete the installation.
NSS-Vote Programmer’s Guide
1
Introduction
2
NSS-Vote Programmer’s Guide

Hardware Options

NSS-Vote can support multiple hardware configurations. The following sections describe what support NSS-Vote ships with and a few typical configurations.

Operator’s Consoles

Hardware Options
FIG. 1 Sample View of Console Main Page
NSS-Vote supports two operator consoles. The operator’s consoles control all voting and microphone management functions. Two consoles are supported since many configurations require two operators. The console station, if configured, can also function as one of the 21 voting stations.
NSS-Vote ships with the following touch panel pages for the operator's console.
G4 Voting console pages, 800x600 (CA/V-12 and TPI4)
G4 Voting console pages, 1024x768(CA/V-15 and TPI4)
G4 Voting console pages, 1280x768 (CV17)
G3 Voting console pages, 640x480 (CA/V/G-10, TPI3)
Due to the large number of controls per page; resolutions below 640 x 480 are not recommended for the operator's console.
NSS-Vote Programmer’s Guide
3
Hardware Options

Voting Stations

FIG. 2 Sample View of Graphical Voting Station
NSS-Vote supports both graphical and non-graphical voting stations.
Graphical user interfaces include all AMX touch panels. NSS-Vote ships with several touch
panel designs and a station module for touch panel based voting stations. These may be used in any current and future AMX touch panels. Graphical voting stations can display voting topics, results and speaker management information directly on the voting station. The following touch panel pages are included:
G4 Voting station pages, 800x480 (CV-7)
G4 Voting station pages, 800x600 (CA/V-12 and TPI4)
G4 Voting station pages, 1024x768(CA/V-15 and TPI4)
G4 Voting station pages, 1280x768 (CV17)
G3 Voting station pages, 640x480 (CA/V/G-10, TPI3)
G3 Voting station pages, 320x240 (CV6,CP4)
Non-Graphical user interfaces include many of the push-button products in the AMX product
line. NSS-Vote ships with a TXL design and station module for an AXD-MSP8 voting station. This TXL and station module can easily be modified for use with an AXD-MSP16 or AXD­MSP32. Non-graphical voting stations cannot display voting topics, results and speaker management information directly on the voting station.
Additionally, this voting station module can be used with an NXP-CPI16 or AXP-CPI16 allowing you to design a custom voting station. Additional programming may be required when using a custom design.
4
NSS-Vote Programmer’s Guide
Hardware Options

Public Speaking Podium

NSS-Vote supports a single public speaking podium’s request to speak functions though a simple AXD­MSP8 design. Only two buttons are required for public speaking: Request to Speak and Cancel Request. Optionally, a bargraph, if available, is used to display the speaking timer.
As with the non-graphical voting station, you may easily substitute an AXD-MSP16, AXD-MSP32, AXP-CPI16 or NXP-CPI16 for this station.

Voting Display

FIG. 3 Sample View of Voting Display
NSS-Vote can support one or more voting display stations. Additionally, any graphical voting station compatible product can be used as a voting display.
The most common voting display station hardware is the AXB-TPI/3 or NXP-TPI/4. Since the AXB­TPI/3 or NXP-TPI/4 have video outputs, these devices can be used to display voting results to video displays. These products also supply video feeds for use in broadcasting. The following touch panel pages are included:
G4 Public display pages, 1024x768 (TPI4)
G3 Public display pages, 1024x768 (TPI3)
Additionally, video hardware may be required for some applications. Make sure to see the specifications for AXB-TPI/3 or NXP-TPI/4 for details on what video connections are available from these units.
NSS-Vote Programmer’s Guide
5
Hardware Options

PC-Based Voting Display

NSS-Vote can support voting results in a standard Internet browser window. This browser display can be used to post voting results to a projector, if desired. More detailed voting results are available when using a graphical voting display, but this option can provide a low-cost method for displaying voting results.
Additionally, video hardware may be required to make the PC’s video appear on the video projector. Make sure to account for this in your design.

Typical Configurations

While NSS-Vote is extremely flexible, a few typical configurations are included below. The configuration that is right for you is dependant on your budget and requirements. Please use these configurations as a guideline.

Configuration 1 (High-end)

A typical high-end configuration would include:
Two AXT-CA10’s – One Operator’s console for the Mayor and one operator’s console for the
City Clerk.
Up to 21 AXT-CA10’s – One panel per voting station.
One AXD-MSP8 – One public speaking station.
One AXB-TPI/3 – One voting display station to display voting results on a projector.

Configuration 2 (Medium-sized)

A typical medium-sized configuration would include:
Two AXT-CA10’s – One Operator’s console for the Mayor and one operator’s console for the
City Clerk.
Up to 21 AXT-CP4’s or AXD-CV6’s – One panel per voting station.
One AXD-MSP8 – One public speaking station.
One AXB-TPI/3 – One voting display station to display voting results on a projector.

Configuration 3 (Low-end)

A typical low-end configuration would include:
Two AXT-CA10’s – One Operator’s console for the Mayor and one operator’s console for the
City Clerk.
Up to 21 AXD-MSP8’s – One panel per voting station.
One AXD-MSP8 – One public speaking station.
One AXB-TPI/3 – One voting display station to display voting results on a projector. This
option is recommended in this configuration to provide each member with a graphical view of the voting results.
6
NSS-Vote Programmer’s Guide

Programming

Initial Programming

Once you have decided on the hardware configuration you intend to use, you need to customize the main NSS-Vote program to accommodate your design. Two sample programs are provided with NSS-Vote:
NSS-VoteTest-TP Stations is a program that implements voting with touch panel based
station.
NSS-VoteTest-MSP Stations is a program that implements MSP based voting stations.
Start by choosing one of these files to start from and saving it as 'NSS-VoteTest'. NSS-Vote is modular so you can add and remove a module for each option you would like to support.
At the heart of the NSS-Vote system is the NSS-VoteEngineMod module. This module includes all the functionality for voting and microphone management. This module must be included in every NSS-Vote system.
See NSS-VoteEngineMod Module section on page 13 for a detailed description of the parameters used by this module.
Programming

Adding Operators' Consoles

Operators’ consoles are support directly by the NSS-VoteEngineMod module. To add an operator’s console:
1. Define the device number for the operator’s console device.
2. Include this device in the dvVotingConsole device array parameter for the
NSS-VoteEngineMod module.
Many of the remaining parameters of the NSS-VoteEngineMod module specify the channel and variable text numbers used by the operator’s console touch panel. These parameters are pre-defined in NSS-Vote Console Station Channels.axi to simplify programming. If you have not changed any of the channels or variable text channel in the supplied touch panel file, then no modification of NSS-Vote Console Station Channels.axi is required.
See NSS-VoteEngineMod Module section on page 13 for a detailed description of the parameters used by this module.

Adding Graphical Voting Stations

All touch panel-based voting stations are supported by the NSS-VoteTouchPanelStationMod module. To add a touch panel voting station:
1. Define the device number for the voting station device.
2. Include this device in the dvTouchPanelStations device array parameter for the
NSS-VoteTouchPanelStationMod module.
The location of the device appears in the array determining the device’s station ID. For instance, if the device is added as the third element of the device array, it will be the third station.
To skip a station ID: Add the is defined as 0:0:0.
dvNull device to the array at the position you would like to skip. dvNull
NSS-Vote Programmer’s Guide
7
Programming
The remaining parameters of the NSS-VoteTouchPanelStationMod module specify the channel and variable text resources used by the voting station. These parameters are pre-defined in NSS-Vote TP Station Channels.axi to simplify programming. If you have not changed any of the channels of variable text channel in the supplied touch panel files, then no modification of NSS-Vote TP Station Channels.axi is required.
See NSS-VoteTouchPanelStationMod Module section on page 20 Module for a detailed description of the parameters used by this module.
The NSS-VoteTouchPanelStationMod Module is provided as an open source code module in the event that custom programming is necessary.

Adding Non-Graphical Voting Stations

All non-graphical based voting stations are support by the NSS-VoteMSPStationMod module. To add a non-graphical voting station:
1. Define the device number for the voting station device.
2. Include this device in the dvMSPStations device array parameter for the
NSS-VoteMSPStationMod module.
The location of the device appears in the array determining the device’s station ID. For instance, if the device is added as the third element of the device array, it will be the third station.
To skip a station ID: Add the
dvNull device to the array at the position you would like to skip. dvNull
is defined as 0:0:0.
The remaining parameters of the NSS-VoteMSPStationMod module specify the channel numbers used by the voting station. These parameters are designed for the AXD-MSP8 configuration and are pre­defined in NSS-Vote MSP Station Channels.axi to simplify programming. If you have not altered the non-graphical station design, then no modification of NSS-Vote MSP Station Channels.axi is required. If you have altered the design of the AXD-MSP or are using a custom panel configuration, make sure to modify the channel numbers in this file.
See NSS-VoteMSPStationMod Module section on page 21 for a detailed description of the parameters used by this module.
The NSS-VoteMSPStationMod Module is provided as an open source code module in the event custom programming is necessary.

Adding a Public Podium Speaking Station

A non-graphical based speaking station for the public podium is supported by the NSS-VotePublicSpeakingStation module. To add a public podium speaking station:
1. Define the device number for the station device.
2. Pass this device as the second parameter to NSS-VotePublicSpeakingStation module.
The remaining parameters of the NSS-VotePublicSpeakingStation module specify the channel numbers used by the station. These parameters are designed for the AXD-MSP8 configuration and defined directly in NSS-Vote Text.axs. If you have not altered the station design, then no modification of these parameters is required.
8
NSS-Vote Programmer’s Guide
Programming
See NSS-VotePublicSpeakingStation Module section on page 24 for a detailed description of the parameters used by this module.
The NSS-VotePublicSpeakingStation Module is provided as an open source code module in the event that custom programming is necessary.

Adding Voting Displays

All voting displays are supported by NSS-VoteDisplayOnlyMod module. To add a voting display:
1. Define the device number for the voting display device.
2. Pass this device as the third parameter to NSS-VoteDisplayOnlyMod module.
The remaining parameters of the NSS-VoteDisplayOnlyMod module specify the channel and variable text numbers used by the voting display. These parameters are pre-defined in NSS-Vote Display Station Channels.axi to simplify programming. If you have not altered the voting display design, then no modification of NSS-Vote Display Station Channels.axi is required.
See NSS-VoteDisplayOnlyMod Module section on page 22 for a detailed description of the parameters used by this module.
The NSS-VoteDisplayOnlyMod Module is provided as an open source code module in the event that custom programming is needed.

Voting Results Display Programming

While the NSS-Vote software offers an option to display the voting results to the public, no code is provided for switching a video source to a projector. NSS-Vote provides a channel on the
vdvVotingGlobal virtual device that notifies your program when the results need to be displayed.
To support a public voting display, you must add additional programming.
In the program, look for the send strings containing code, you need to add code to switch the public voting display device to the projector.
[POST VOTING RESULTS]. At this point in the

Request to Speak Programming

While the NSS-Vote software manages the Request to Speak list, it does not directly control microphones. The NSS-Vote software controls channels on the to control microphones.
If you intend to include request to speak functionality, make sure the to the NSS-VoteEngineMod module is set to 1. This tells the NSS-VoteEngineMod module that request to speak is implemented and makes the RTS options available to the operator.
The NSS-Vote Test.axs sample code provides the virtual device that is used to detect microphone state changes. Each microphone has two channels to determine its status. One channel reflects the state of the microphone. The other channel provides an indication when the microphone is in queue.
To implement microphone control, you must add additional programming.
In the program, look for the send strings containing
[MICROPHONE OFF] STATION
on and off. Additionally, you can use this signal to turn any indicators on and off, such as a green microphone LED, if it is available.
. At this point in the code, you need to add code to turn microphones
CHANNEL_EVENT for the vdvVotingGlobal
>==> [MICROPHONE ON] STATION and <==<
vdvVotingGlobal virtual device used
nRTSSystemEnabled parameter
NSS-Vote Programmer’s Guide
9
Programming
Additionally, you can provide an "in queue" indicator. In the program, look for the send strings containing
QUEUE] STATION
>==> [MICROPHONE IN QUEUE] STATION and <==< [MICROPHONE NOT IN
. At this point in the code, you can use this signal to turn any indicators on and off,
such as a red microphone LED ring, if it is available.
Implementing microphone control and indicators for the public speaking podium is very similar. These events are implemented in a different section of the program. Look for the send strings containing:
>==> [MICROPHONE ON] STATION: PUBLIC SPEAKING STATION,
<==< [MICROPHONE OFF] STATION: PUBLIC SPEAKING STATION,
>==> [MICROPHONE IN QUEUE] STATION: PUBLIC SPEAKING STATION,
<==< [MICROPHONE NOT IN QUEUE] STATION: PUBLIC SPEAKING STATION
and implement microphone control and indicators for the public podium at these points.

Modifying Graphical Room View

The NSS-VoteConsole (640x480).tpd file contains three graphical displays of the room on pages
vRollCall, vVotingProgress and the popup page vBodyEditMemberGraphicalPP. It is
recommended that you modify each of these pages to represent the layout of the room in which you install NSS-Vote.
Each of these pages has a series of buttons for each seat. There is a field for name and title for each seat, and there is a button to represent each seat. These three sets of buttons must be grouped together for each seat in order for the page to properly display information.
To modify these pages for your room layout:
1. Delete the unused seats starting from the lower right and working your way around the arc counter-
clockwise.
2. Move the remaining seats to the appropriate location but make sure to keep all three buttons for each
seat grouped together in the new design.
Optionally, you can change the graphic of the room by importing your own bitmap, or you may choose to simply delete the stock bitmap.

Custom Programming

Adding Custom NSS-Vote Options

As you have seen from the previous sections, NSS-Vote events can be detected using CHANNEL_EVENTs in your main program. All major NSS-Vote system events are posted to the
vdvVotingStations virtual devices and can be captured using CHANNEL_EVENTs, LEVEL_EVENTs
DATA_EVENTs.
and
For instance, if you want to add a sign that lights up when voting is in progress, you can capture this event from a channel on the virtual device and implement any custom programming required to light the sign.
The source code for all the station modules is supplied with NSS-Vote. This provides you with sample code to take advantage of any of the information that the NSS-Vote engine has to offer. For a full list of virtual device channels, levels and strings, see the NSS-VoteEngineMod API section on page 25.

Customizing HTML Pages

NSS-Vote uses XML files formatted with XSL style sheets for creating HTML pages. The XSL files for NSS-Vote can be customized to change the HTML formatting of agenda and voting results. Customization of the XSL file should be done by a web developer with knowledge of XML and XSL technologies.
For more information, visit the W3C’s site on XSL at http://www.w3.org/Style/XSL/.
vdvVotingGlobal and
10
NSS-Vote Programmer’s Guide
Programming
AMX does not offer support for modifying XSL files.

Downloading Files

The Main AXS Code

Once you have configured the NSS-VoteTest.axs file for your particular NSS-Vote configuration and have added any additional program as your system requires, compile and download this AXS file using the NetLinx Studio
All of the pre-compiled modules that ship with NSS-Vote are .TKO files. The source code for the station modules is also supplied, and you can customize and compile your own station module, if necessary. The source code for the NSS-VoteEngineMod is not supplied and is only available in .TKO format.
One you have downloaded the NSS-Vote code to the NetLinx Master, make sure to reboot the NetLinx Master to begin running the NSS-Vote code.

The TPD Files

Once you have connected all the NSS-Vote touch panels to the NetLinx Master and have addressed them correctly, you can download the NSS-Vote TPD file to each of the touch panels on the system. You can use NetLinx Studio to do batch downloads through the NetLinx Master or you can use TPDesign download these file directly to each panel.
software program.
to

Support for HTML Based Voting Results

NSS-Vote supports viewing the voting body list, voting agenda results and last voting results via a standard Internet browser on a PC. A few support files are needed to support this option.
These support files are located in the Voting File For Netlinx Master sub-directory of the NSS-Vote install directory. These files can be FTP’ed to the NetLinx Master manually using any standard FTP client. Make sure to FTP these files to the NSS-Vote directory.
Additionally, the NSS-Vote install program includes an FTP Download utility that downloads all the necessary files to your NetLinx Master. To download these files:
1. Choose Download NSS-Vote HTML Files from the NSS-Vote program folder.
2. Enter the IP Address of your NetLinx Master.
Without these files, the voting results are not available via HTML pages.
NSS-Vote Programmer’s Guide
11
Programming

Software Key

To run NSS-Vote, you must obtain a software key from AMX. NSS-Vote functions normally without a software key; however, the voting topic text appears as "Please obtain a Software Key from AMX to use NSS-Vote" on all voting stations and in the voting results.

Obtaining a Software Key

Thank you for purchasing NSS-Vote. To activate this application please contact AMX at 800-932-6993 option 3, and ask for Platinum Software Solutions Support. Be sure to have the following information available when you call:
The Serial Number of the NetLinx Master Controller in the system.
The Sales Order or Purchase Order number of the NSS-Vote application you purchased.

Entering a Software Key

To enter the software key: Press Enter Software Key on the logo page. If this button is not visible, a valid software key has already been entered.
The software key is comprised of four sets of 8 characters. Type this software key into the boxes provided on the touch panel and press OK. If the key is not accepted, the panel beeps and the status shows LOCKED. If the key is accepted, the logo page appears and the Enter Software Key button disappears.
Once a software key has been entered, you do not need to re-enter it after the program downloads or the system reboots.

Running NSS-Vote

One you have connected all the NSS-Vote system devices, downloaded the code for NSS-Vote and rebooted the NetLinx Master, your NSS-Vote system should be ready to use. Please refer to the NSS-Vote User Guide for NSS-Vote system operation.
If you will be using the HTML based voting results pages, it would be a good idea to set up a bookmark to the NSS-Vote system. See the Initial Bookmark section of the NSS-Vote User Guide for more information.
12
NSS-Vote Programmer’s Guide
Programming

Modules

NSS-VoteEngineMod Module

To assist you in your programming the NSS-VoteEngineMod Module definition code is displayed below:
DEFINE_MODULE 'NSS-VoteEngineMod' mdlVEngine (vdvVotingGlobal,
vdvVotingStations,
dvVotingConsoles,
dvVotingManager,
nRTSSystemEnabled,
CONSOLE_MAIN_MENU,
CONSOLE_BODY_LIST,
CONSOLE_LIST_CONTROL,
CONSOLE_MEMBER_LIST,
CONSOLE_MEMBER_LIST_ID,
CONSOLE_MEMBER_LIST_CONTROL,
CONSOLE_AGENDA_LIST,
CONSOLE_AGENDA_LIST_CONTROL,
CONSOLE_TOPIC_LIST,
CONSOLE_TOPIC_LIST_RESULTS,
CONSOLE_TOPIC_LIST_CHECK,
CONSOLE_TOPIC_LIST_CONTROL,
CONSOLE_TOPIC_LIST_SELECTED,
CONSOLE_LIST_INFO,
CONSOLE_BODY_MANAGEMENT,
CONSOLE_CONFIRMATION_DIALOG,
CONSOLE_ERROR_DIALOG,
CONSOLE_MESSAGE_DIALOG,
CONSOLE_KEYBOARD,
CONSOLE_KEYBOARD_CMD,
CONSOLE_TOPIC_OPTIONS,
CONSOLE_TOPIC_OPTIONS_EDIT,
CONSOLE_DISPLAY_FIELDS,
CONSOLE_VOTE_SYSTEM,
CONSOLE_TOPIC_FIELDS,
CONSOLE_MAIN_CONTROLS,
CONSOLE_PROGRAM_INFO,
CONSOLE_VOTE_INFO,
CONSOLE_LEVEL_VOTING_RESULTS,
CONSOLE_STATION_SELECT,
CONSOLE_STATION_NAME,
CONSOLE_STATION_TITLE,
CONSOLE_STATION_ATTENDANCE,
CONSOLE_STATION_VOTE_STATUS,
CONSOLE_STATION_RTS_STATUS,
CONSOLE_STATION_SET_ATTENDANCE,
CONSOLE_RTS_OPTIONS,
CONSOLE_RTS_OPTION_FIELDS,
CONSOLE_RTS_OPTION_BUTTONS,
CONSOLE_RTS_OPTION_DEFAULT_BUTTONS,
CONSOLE_RTS_CONSOLE_BUTTONS,
CONSOLE_RTS_QUEUE_LIST,
CONSOLE_RTS_QUEUE_LIST_CONTROL,
CONSOLE_RTS_FIELDS)
Where:
mdlVEngine is a unique module name.
NSS-Vote Programmer’s Guide
13
Programming
NSS-VoteEngineMod Module Parameter Definitions
vdvVotingGlobal
vdvVotingStations
dvVotingConsoles
dvVotingManager
nRTSSystemEnabled
CONSOLE_MAIN_MENU
CONSOLE_BODY_LIST
CONSOLE_LIST_CONTROL
CONSOLE_MEMBER_LIST
CONSOLE_MEMBER_LIST_ID
CONSOLE_MEMBER_LIST_CONTROL
CONSOLE_AGENDA_LIST
A virtual device number for programming NetLinx events and global NSS-Vote internal communications.
An array of virtual device numbers for programming Station NSS-Vote internal communications.
An array of operator console device numbers.
A PCLink device programmed to communicate with NSS-VoteMan­ager.
An integer enabling/disabling the RTS system of NSS-Vote.
An INTEGER array with the following buttons:
•Main
• Select Agenda
• Select Topic
An INTEGER array with the following buttons and variable text codes:
• Body/Results List Field 1
• Body/Results List Field 2
• Body/Results List Field 3
• Body/Results List Field 4
Note: These channels are shared for Voting Body list and Voting Results list.
An INTEGER array with the following buttons:
• Body/Results List Page Up
• Body/Results List Page Down
• Body/Results List Top of List
Note: These channels are shared for Voting Body list and Voting Results list.
An INTEGER array with the following buttons and variable text codes:
• Member List Field 1
• Member List Field 2
• Member List Field 3
• Member List Field 4
An INTEGER array with the following variable text codes:
• Member List ID Field 1
• Member List ID Field 2
• Member List ID Field 3
• Member List ID Field 4
An INTEGER array with the following buttons:
• Member List Page Up
• Member List Page Down
• Member List Top of List
An INTEGER array with the following buttons and variable text codes:
• Agenda List Field 1
• Agenda List Field 2
• Agenda List Field 3
• Agenda List Field 4
• Request to Speak
• Voting Timer
• Add 30 seconds to Voting Timer
• Body/Results List Field 5
• Body/Results List Field 6
• Body/Results List Field 7
• Body/Results List Bottom of List
• Body/Results List Select List Item
• Body List Select List Item/Results List Delete file
• Member List Field 5
• Member List Field 6
• Member List Field 7
• Member List ID Field 5
• Member List ID Field 6
• Member List ID Field 7
• Member List Bottom of List
• Member List Select List Item
• Agenda List Field 5
• Agenda List Field 6
• Agenda List Field 7
Continued
14
NSS-Vote Programmer’s Guide
NSS-VoteEngineMod Module Parameter Definitions (Cont.)
CONSOLE_AGENDA_LIST_CONTROL
CONSOLE_TOPIC_LIST
CONSOLE_TOPIC_LIST_RESULTS
CONSOLE_TOPIC_LIST_CHECK
CONSOLE_TOPIC_LIST_CONTROL
CONSOLE_TOPIC_LIST_SELECTED
CONSOLE_LIST_INFO
CONSOLE_BODY_MANAGEMENT
CONSOLE_CONFIRMATION_DIALOG
CONSOLE_ERROR_DIALOG
CONSOLE_MESSAGE_DIALOG
An INTEGER array with the following buttons:
• Agenda List Page Up
• Agenda List Page Down
• Agenda List Top of List
An INTEGER array with the following buttons and variable text codes:
• Topic List Field 1
• Topic List Field 2
• Topic List Field 3
• Topic List Field 4
An INTEGER array with the following variable text codes:
• Topic List Results Field 1
• Topic List Results Field 2
• Topic List Results Field 3
• Topic List Results Field 4
An INTEGER array with the following buttons:
• Topic List Check Field 1
• Topic List Check Field 2
• Topic List Check Field 3
• Topic List Check Field 4
An INTEGER array with the following buttons:
• Topic List Page Up
• Topic List Page Down
• Topic List Top of List
An INTEGER array with the following variable text codes:
• Selected Topic Text Line 1
• Selected Topic Text Line 2
An INTEGER array with the following variable text codes:
• List Displaying ## of ## Info Field: Voting Body List
• List Displaying ## of ## Info Field: Voting Member List
• List Displaying ## of ## Info Field: Voting Agenda List
• List Displaying ## of ## Info Field: Voting Topic List
• List Displaying ## of ## Info Field: RTS Queue List
An INTEGER array with the following buttons:
• New Body Item
• Edit Body Item
• Delete Body Item
An INTEGER array with the following buttons:
•Yes
•No
An INTEGER array with the following variable text codes:
• Error Title
• Error Code
• Error Message
An INTEGER array with the following variable text codes:
• Message Box Title
• Message Text
Programming
• Agenda List Bottom of List
• Agenda List Select List Item
• Agenda List Delete Agenda File
• Topic List Field 5
• Topic List Field 6
• Topic List Field 7
• Topic List Results Field 5
• Topic List Results Field 6
• Topic List Results Field 7
• Topic List Check Field 5
• Topic List Check Field 6
• Topic List Check Field 7
• Topic List Bottom of List
• Topic List Select List Item
• Save Body Voting Option Settings
• Change Body Password
NSS-Vote Programmer’s Guide
Continued
15
Programming
NSS-VoteEngineMod Module Parameter Definitions (Cont.)
CONSOLE_KEYBOARD
CONSOLE_KEYBOARD_CMD
CONSOLE_TOPIC_OPTIONS
CONSOLE_TOPIC_OPTIONS_EDIT
CONSOLE_DISPLAY_FIELDS
CONSOLE_VOTE_SYSTEM
CONSOLE_TOPIC_FIELDS
An INTEGER array with the following buttons:
• Keyboard/Keypad Field 1 (Primary)
• Keypad/Keypad Field 2
• Keypad/Keypad Field 3
An INTEGER array with the following buttons and variable text codes:
• Completed
•Cancel
• Auto Shift
An INTEGER array with the following buttons:
• Require Greater Than Half to Pass
• Require 2/3 Majority to Pass
• Require Unanimous Vote to Pass
• Require Quorum
• Require Roll Call prior to each vote
• Manually Close the Vote
• Automatically Close Vote after last vote
• Close Vote when timer expires
• Allow Abstain
• Allow Excuse
An INTEGER array with the following buttons:
• Edit Welcome Message (from Body Options)
• Edit Quorum (from Body Options)
• Edit Vote Timer (from Body Options)
An INTEGER array with the following variable text codes:
• Current Voting Body
• Current Voting Agenda
• Current Voting Topic Line 1
An INTEGER array with the following buttons:
• Enter System
• Exit System
An INTEGER array with the following variable text codes:
• Topic Welcome Message
• Topic Vote Timer
• Keypad/Keypad Field 4
• Checkbox 1
• Checkbox 2
• Spare 1 (Unused)
• Include Totals on Results
• Include % on Results
• Include Member Names on Results
• Default Vote: YES
• Default Vote: NO
• Default Vote: ABSTAIN
• Default Vote: NONE
• Voting Timer Enabled
• Voting Warn Timer Enabled
• Display Voting Results in progress
• Current Member/Station Vote Enabled
• Edit Welcome Message (from Topic Options)
• Edit Quorum (from Topic Options)
• Edit Vote Timer (from Topic Options)
• Current Voting Topic Line 2
• Current Results File
• Current Voting Topic Line Truncated
• Enter Software Key
•Topic Warn Timer
• Total Voting Seats in Body
Continued
16
NSS-Vote Programmer’s Guide
NSS-VoteEngineMod Module Parameter Definitions (Cont.)
CONSOLE_MAIN_CONTROLS
CONSOLE_PROGRAM_INFO
CONSOLE_VOTE_INFO
CONSOLE_LEVEL_VOTING_RESULTS
CONSOLE_STATION_SELECT
An INTEGER array with the following buttons:
• Start Vote
• Stop Vote
• Intermission Mode
• Roll Call
• Display Results on Projector
• Load Next Topic in Agenda
An INTEGER array with the following variable text codes:
• Program Name
• Program Version
An INTEGER array with the following variable text codes:
• Default Vote
• Approval Tally
• Quorum
• Vote Roll Call Required
• Vote Close Method
• Display Results in Progress
•Allow Abstain
•Allow Excuse
• Voting Timer Enabled
• Pending Votes
An INTEGER array with the following levels:
•Yes
•No
An INTEGER array with the following buttons:
• Station Select 1
• Station Select 2
• Station Select 3
• Station Select 4
• Station Select 5
• Station Select 6
• Station Select 7
• Station Select 8
• Station Select 9
• Station Select 10
• Station Select 11
Programming
•Ad Hoc Topic
• Display Topic Options
• View Voting Progress
• Vote in Session
• Return from Intermission (Password Protected)
• NetLinx Master Serial Number
• Vote Outcome
• Voting Results YES #
• Voting Results NO #
• Voting Results ABSTAIN #
• Voting Results EXCUSE #
• Voting Results YES %
• Voting Results NO %
• Voting Results ABSTAIN %
• Voting Results EXCUSE %
• Voting In Progress
•Abstain
•Excuse
• Station Select 12
• Station Select 13
• Station Select 14
• Station Select 15
• Station Select 16
• Station Select 17
• Station Select 18
• Station Select 19
• Station Select 20
• Station Select 21
• Select Public Speaking Station
NSS-Vote Programmer’s Guide
Continued
17
Programming
NSS-VoteEngineMod Module Parameter Definitions (Cont.)
CONSOLE_STATION_NAME
CONSOLE_STATION_TITLE
CONSOLE_STATION_ATTENDANCE
An INTEGER array with the following variable text codes:
• Station Name 1
• Station Name 2
• Station Name 3
• Station Name 4
• Station Name 5
• Station Name 6
• Station Name 7
• Station Name 8
• Station Name 9
• Station Name 10
• Station Name 11
An INTEGER array with the following buttons and variable text codes:
• Station Title 1
• Station Title 2
• Station Title 3
• Station Title 4
• Station Title 5
• Station Title 6
• Station Title 7
• Station Title 8
• Station Title 9
• Station Title 10
• Station Title 11
An INTEGER array with the following buttons and variable text codes:
• Station Attendance 1
• Station Attendance 2
• Station Attendance 3
• Station Attendance 4
• Station Attendance 5
• Station Attendance 6
• Station Attendance 7
• Station Attendance 8
• Station Attendance 9
• Station Attendance 10
• Station Attendance 11
• Station Name 12
• Station Name 13
• Station Name 14
• Station Name 15
• Station Name 16
• Station Name 17
• Station Name 18
• Station Name 19
• Station Name 20
• Station Name 21
• Public Speaking Station Name
• Station Title 12
• Station Title 13
• Station Title 14
• Station Title 15
• Station Title 16
• Station Title 17
• Station Title 18
• Station Title 19
• Station Title 20
• Station Title 21
• Station Attendance 12
• Station Attendance 13
• Station Attendance 14
• Station Attendance 15
• Station Attendance 16
• Station Attendance 17
• Station Attendance 18
• Station Attendance 19
• Station Attendance 20
• Station Attendance 21
Continued
18
NSS-Vote Programmer’s Guide
NSS-VoteEngineMod Module Parameter Definitions (Cont.)
CONSOLE_STATION_VOTE_STATUS
CONSOLE_STATION_RTS_STATUS
CONSOLE_STATION_SET_ ATTENDANCE
CONSOLE_RTS_OPTIONS
CONSOLE_RTS_OPTION_FIELDS
An INTEGER array with the following variable text codes:
• Station Vote Status 1
• Station Vote Status 2
• Station Vote Status 3
• Station Vote Status 4
• Station Vote Status 5
• Station Vote Status 6
• Station Vote Status 7
• Station Vote Status 8
• Station Vote Status 9
• Station Vote Status 10
• Station Vote Status 11
An INTEGER array with the following buttons:
• Station RTS Status 1
• Station RTS Status 2
• Station RTS Status 3
• Station RTS Status 4
• Station RTS Status 5
• Station RTS Status 6
• Station RTS Status 7
• Station RTS Status 8
• Station RTS Status 9
• Station RTS Status 10
• Station RTS Status 11
An INTEGER array with the following buttons:
• Mark Station/Member as ABSENT
• Mark Station/Member as PRESENT
• Record Attendance to Voting Results File
• Disable Absent Stations
An INTEGER array with the following buttons:
• RTS Mode: Automatic
• RTS Mode: Operator
• RTS Mode: Open
• RTS Mode: Disabled
• RTS: Priority Hold
• RTS: Close Mic on Timer Expire
• RTS: Allow Station to Cancel Request to Speak
An INTEGER array with the following variable text codes:
• RTS: System Enabled
• RTS: System Enabled (inverse channel)
• RTS: Public Speaking Station Enabled?
Programming
• Station Vote Status 12
• Station Vote Status 13
• Station Vote Status 14
• Station Vote Status 15
• Station Vote Status 16
• Station Vote Status 17
• Station Vote Status 18
• Station Vote Status 19
• Station Vote Status 20
• Station Vote Status 21
• Station RTS Status 12
• Station RTS Status 13
• Station RTS Status 14
• Station RTS Status 15
• Station RTS Status 16
• Station RTS Status 17
• Station RTS Status 18
• Station RTS Status 19
• Station RTS Status 20
• Station RTS Status 21
• Public Speaking Station RTS Status
• RTS: Enabled Public Speaking Statio n
• RTS: Enable Speaker Timer
• RTS: Enable Public Speaker Timer
• Current Member/Station RTS Enabled
• Current Member/Station Speak Priority
• Current Member/Station Priority High
•RTS: RTS Timer
• RTS: Public Speaker Timer
NSS-Vote Programmer’s Guide
Continued
19
Programming
NSS-VoteEngineMod Module Parameter Definitions (Cont.)
CONSOLE_RTS_OPTION_BUTTONS
CONSOLE_RTS_OPTION_DEFAULT_ BUTTONS
CONSOLE_RTS_CONSOLE_BUTTONS
CONSOLE_RTS_QUEUE_LIST
CONSOLE_RTS_QUEUE_LIST_ CONTROL
CONSOLE_RTS_FIELDS
An INTEGER array with the following buttons:
•Edit RTS Timer (from Body Default)
• Edit Public Speaker Timer (from Body Default)
An INTEGER array with the following buttons:
• RTS: Save Current Settings to Body Defaults
• RTS: Restore RTS Settings from Body Defaults
An INTEGER array with the following buttons:
• RTS: Cancel Current Member\Station
• RTS: Promote Next Member\Station in RTS Queue
• RTS: Promote Selected Member\Station in RTS Queue
• RTS: Remove Selected Member\Station from RTS Queue
• RTS: Remove all Members\Stations from RTS Queue (clear queue)
An INTEGER array with the following buttons and variable text codes:
• RTS Queue List Item 1
• RTS Queue List Item 2
• RTS Queue List Item 3
• RTS Queue List Item 4
An INTEGER array with the following buttons:
• RTS Queue List Top
• RTS Queue List Bottom
An INTEGER array with the following variable text codes:
• RTS: Current Speaker Member Name
• RTS: Current Speaker Member Title
• RTS: RTS Timer (Channel Code and Var text Code)
•Edit RTS Timer (from RTS Options)
• Edit Public Speaker Timer (from RTS Options)
• RTS: Enable Selected Station Microphone
• RTS: Disable Selected Station Microphone
• RTS: Add Selected Station to RTS Queue
• RTS Add 30 Seconds
• RTS Queue List Item 5
• RTS Queue List Item 6
• RTS Queue List Item 7
• RTS Queue List Up
• RTS Queue List Down
20

NSS-VoteTouchPanelStationMod Module

To assist you in your programming the NSS-VoteTouchPanelStationMod Module definition code is displayed below:
DEFINE_MODULE 'NSS-VoteTouchPanelStationMod' mdlVTPStations(vdvVotingGlobal,
vdvVotingStation,
dvTouchPanelStations,
STATION_BUTTON_VAR_TEXT,
STATION_BUTTON_CHANNEL,
STATION_PROGRAM_INFO,
STATION_LEVEL)
Where:
mdlVTPStations is a unique module name.
NSS-Vote Programmer’s Guide
NSS-VoteTouchPanelStationMod Module Parameter Definitions
vdvVotingGlobal
vdvVotingStation
dvTouchPanelStations
STATION_BUTTON_VAR_TEXT
STATION_BUTTON_CHANNEL
STATION_PROGRAM_INFO
STATION_LEVEL
A virtual device number for programming NetLinx events and Global NSS-Vote internal communications.
A virtual device number for programming Station NSS-Vote internal communications.
An array of TP station device numbers.
An INTEGER array with the following buttons and variable text codes:
• Welcome Message
• Voting Body
• Voting Agenda
• Station Member Name
• Station Member Title
• Topic Line 1
• Topic Line 2
• RTS Member Name
• RTS Member Title
• Voting Timer
• Vote Outcome
• Vote Result YES count
• Vote Result NO count
An INTEGER array with the following buttons:
• Lock-Submit Vote
• Vote: YES
• Vote: NO
• Vote: ABSTAIN
• Vote: EXCUSED
• Attendance: Present
• Vote Session Active
An INTEGER array with the following variable text codes:
• Program Name
• Program Version
• Station ID
An INTEGER array with the following buttons:
• YES
•NO
Programming
• Vote Result ABSTAIN count
• Vote Result EXCUSE count
• Vote Result YES Percentage
• Vote Result NO Percentage
• Vote Result ABSTAIN Percentage
• Vote result EXCUSE Percentage
• RTS System Enabled (Cover Button)
• RTS System Enabled
• RTS Cancel Request
• RTS Priority Request
• RTS Station Queue Position
•RTS Timer
• RTS: Microphone Active
• RTS: Request to Speak
• RTS:Cancel Request
• RTS: Priority Request
• RTS: Station in RTS Queue
• Vote: Timer in Warning State
• RTS: Timer in Warning State
•ABSTAIN
•EXCUSE

NSS-VoteMSPStationMod Module

To assist you in your programming the NSS-VoteMSPStationMod Module definition code is displayed below:
DEFINE_MODULE 'NSS-VoteMSPStationMod' mdlVSMPStations(vdvVotingGlobal,
Where:
NSS-Vote Programmer’s Guide
mdlVSMPStations is a unique module name.
vdvVotingStation,
dvMSPStations,
MSP_STATION_BUTTON_CHANNEL,
MSP_STATION_LEVEL)
21
Programming
NSS-VoteTouchPanelStationMod Module Parameter Definitions
vdvVotingGlobal
vdvVotingStation
dvMSPStations
MSP_STATION_BUTTON_CHANNEL
MSP_STATION_LEVEL
A virtual device number for programming NetLinx events and Global NSS-Vote internal communications.
A virtual device number for programming Station NSS-Vote internal communications.
An array of MSP station device numbers.
An INTEGER array with the following buttons:
• Vote: YES
• Vote: NO
• Vote: ABSTAIN
• Vote: EXCUSED
An INTEGER array with the following levels:
• Voting/RTS Timer
• Attendance: Present
• RTS: Request to Speak
• RTS: Priority Request
• RTS: Cancel Request

NSS-VoteDisplayOnlyMod Module

To assist you in your programming the NSS-VoteDisplayOnlyMod Module definition code is displayed below:
DEFINE_MODULE 'NSS-VoteDisplayOnlyMod' mdlVDisplay(vdvVotingGlobal,
Where:
mdlVDisplay is a unique module name.
NSS-VoteDisplayOnlyMod Module Parameter Definitions
vdvVotingGlobal
vdvVotingStations
dvTPDisplay
A virtual device number for programming NetLinx events and Global NSS-Vote internal communications.
An array of virtual device number for programming Station NSS-Vote internal communications.
A device number for this station.
vdvVotingStations,
dvTPDisplay,
STATION_BUTTON_VAR_TEXT,
STATION_BUTTON_CHANNEL,
STATION_PROGRAM_INFO,
STATION_LEVEL,
DISPLAY_STATION_ID,
DISPLAY_STATION_NAME,
DISPLAY_STATION_TITLE,
DISPLAY_STATION_VOTE)
Continued
22
NSS-Vote Programmer’s Guide
NSS-VoteDisplayOnlyMod Module Parameter Definitions (Cont.)
STATION_BUTTON_VAR_TEXT
STATION_BUTTON_CHANNEL
STATION_PROGRAM_INFO
STATION_LEVEL
DISPLAY_STATION_ID
An INTEGER array with the following buttons and variable text codes:
• Welcome Message
• Voting Body
• Voting Agenda
• Station Member Name
• Station Member Title
• Topic Line 1
• Topic Line 2
• Vote Result ABSTAIN count
• Vote Result EXCUSE count
• Vote Result YES Percentage
• Vote Result NO Percentage
• Vote Result ABSTAIN Percentage
• Vote result EXCUSE Percentage
• RTS System Enabled
• RTS Member Name
• RTS Member Title
• Voting Timer
• Vote Outcome
• Vote Result YES count
• Vote Result NO count
• RTS System Enabled
• RTS Cancel Request
• RTS Priority Request
• RTS Station Queue Position
•RTS Timer
An INTEGER array with the following buttons:
• Lock-Submit Vote
• Vote: YES
• Vote: NO
• Vote: ABSTAIN
• Vote: EXCUSED
• Attendance: Present
• Vote Session Active
• RTS: Microphone Active
• RTS: Request to Speak
• RTS:Cancel Request
• RTS: Priority Request
• RTS: Station in RTS Queue
• Vote: Timer in Warning State
• RTS: Timer in Warning State
An INTEGER array with the following variable text codes:
• Program Name
• Program Version
• Station ID
An INTEGER array with the following buttons:
• YES
•NO
•ABSTAIN
•EXCUSE
An INTEGER array with the following buttons and variable text codes:
• Station ID 1
• Station ID 2
• Station ID 3
• Station ID 4
• Station ID 5
• Station ID 6
• Station ID 7
• Station ID 8
• Station ID 9
• Station ID 10
• Station ID 12
• Station ID 13
• Station ID 14
• Station ID 15
• Station ID 16
• Station ID 17
• Station ID 18
• Station ID 19
• Station ID 20
• Station ID 21
• Station ID 11
Programming
(Cover Button)
NSS-Vote Programmer’s Guide
Continued
23
Programming
NSS-VoteDisplayOnlyMod Module Parameter Definitions (Cont.)
DISPLAY_STATION_NAME
DISPLAY_STATION_TITLE
DISPLAY_STATION_VOTE
An INTEGER array with the following variable text codes:
• Station Name 1
• Station Name 2
• Station Name 3
• Station Name 4
• Station Name 5
• Station Name 6
• Station Name 7
• Station Name 8
• Station Name 9
• Station Name 10
• Station Name 11
An INTEGER array with the following variable text codes:
• Station Title 1
• Station Title 2
• Station Title 3
• Station Title 4
• Station Title 5
• Station Title 6
• Station Title 7
• Station Title 8
• Station Title 9
• Station Title 10
• Station Title 11
An INTEGER array with the following variable text codes:
• Station Vote 1
• Station Vote 2
• Station Vote 3
• Station Vote 4
• Station Vote 5
• Station Vote 6
• Station Vote 7
• Station Vote 8
• Station Vote 9
• Station Vote 10
• Station Vote 11
• Station Name 12
• Station Name 13
• Station Name 14
• Station Name 15
• Station Name 16
• Station Name 17
• Station Name 18
• Station Name 19
• Station Name 20
• Station Name 21
• Station Title 12
• Station Title 13
• Station Title 14
• Station Title 15
• Station Title 16
• Station Title 17
• Station Title 18
• Station Title 19
• Station Title 20
• Station Title 21
• Station Vote 12
• Station Vote 13
• Station Vote 14
• Station Vote 15
• Station Vote 16
• Station Vote 17
• Station Vote 18
• Station Vote 19
• Station Vote 20
• Station Vote 21
24

NSS-VotePublicSpeakingStation Module

To assist you in your programming the NSS-VotePublicSpeakingStation Module definition code is displayed below:
DEFINE_MODULE 'NSS-VotePublicSpeakingStation' mdlVPublicSpeakingStation(vdvVotingGlobal,
dvMSPStationPS,
PUBLIC_STATION_BUTTON_CHANNEL,
PUBLIC_STATION_LEVEL)
Where:
mdlVPublicSpeakingStation is a unique module name.
NSS-Vote Programmer’s Guide
Programming
NSS-VoteTouchPanelStationMod Module Parameter Definitions
vdvVotingGlobal
dvMSPStationPS
PUBLIC_STATION_BUTTON_ CHANNEL
PUBLIC_STATION_LEVEL
A virtual device number for programming NetLinx events and Global NSS-Vote internal communications.
A device number for this station.
An INTEGER array with the following buttons:
• RTS: Request to Speak
• RTS: Cancel Request
An INTEGER array with the following levels:
•RTS Timer

NSS-VoteEngineMod API

NSS-VoteEngineMod virtual device appears on the NetLinx bus as a NetLinx device. This device has one port with channels, levels commands and strings like most other devices.

Channels

There are two channel types:
Global
Station Specific
Global Channels
Channel Function
1
NSS-Vote System Active. If off, system is in idle mode.
2
Intermission Mode
3
Voting In Session
4
Start Vote
5
End Vote
6
Abstain Enable/Disable
7
Excuse Enable/Disable
8
Interim Voting Results Displayed
9
Include Voting Numbers
10
Include Voting %
11
Include Voting Names
12
Post Voting Results/Close Voting Results
13
Voting Timer Enabled
14
Voting Warn Timer Enabled
15
Voting Time Warning in Effect
30
31
32
NSS-Vote Programmer’s Guide
Request Attendance
Require Attendance Prior to Start
Close Attendance Request
Continued
25
Programming
Global Channels (Cont.)
Channel Function
40
RTS System Enabled
41
RTS Public Speaker Enabled
42
RTS Timer Enabled
43
RTS Warn Timer Enabled
44
RTS Public Speaker Timer Enabled
45
RTS Public Speaker Warning Timer Enabled
46
RTS Timer Warning in Effect
47
Allow RTS Cancel
48
Allow Priority Hold
49
Auto Close Microphone on Timer Expire
50
RTS Mode – Disabled
51
RTS Mode – Open
52
RTS Mode – Operator
53
RTS Mode – AutoRTS
54
Public Microphone Active
55
Public Podium Enabled
56
Public Speaking Station Speaking Enabled
57
Public Speaking Station RTS Request
58
Public Speaking Station RTS Cancel Request
59
Public Speaking Station Overriding Priority
60
Public Speaking Station is current speaker in RTS
The CSO is the channel offset for this station. The initial channel offset is 100 and there 40 channels allocated per station. To calculate the CSO for a given station, use this formula:
CSO = (((StationId - 1) * 40) + 100)
The following is a list of station specific channels:
Station Specific Channels
Channel Function Channel Function
(CSO+) 1
(CSO+) 2
(CSO+) 3
(CSO+) 4
(CSO+) 15 Present (Attendance) (CSO+) 28 Station Microphone Active
Ye s
No
Abstain
Excuse
(CSO+) 23
(CSO+) 24
(CSO+) 25
(CSO+) 26
(CSO+) 27 Overriding Priority
RTS Request
Priority RTS Request
Cancel any Requests
Station is current speaker in RTS.
Station Specific Channels 1,2,3 and 4 are not maintained CHANNEL_EVENTs; rather, they behave like momentary PUSHes.
26
NSS-Vote Programmer’s Guide

Levels

There are two level types:
Global
Station Specific
Global Levels
Level Function Level Function
1
Vote Timer Current Time
2
Vote Timer Total Time
3
Vote Warn Time
4
Default Vote
5
Voting Results – Yes
6
Voting Results – No
7
Voting Results – Abstain
8
Voting Results – Excuse
9
Voting Results % - Yes
10
Voting Results % - No
11
Voting Results % - Abstain
12
Voting Results % - Excuse
13
Voting Outcome
20
RTS Timer Current Time
21
RTS Timer Total Time
22
RTS Warn Time
23
RTS Speaker Seat
24
RTS Total Stations in Queue
25
Public Speaking Station Position in RTS Queue
30
Station Channel Offset
31
Station Channel Multiplier
32
Station Level Offset
33
Station Level Multiplier
34
Maximum number of supported stations
35
Maximum number of registered stations
36 Number of station supported on virtual device
(Used for station internal communications.)
Programming
The LSO is the level offset for this station. The initial level offset is 40 and there are 3 levels allocated per station. To calculate the CSO for a given station, use this formula:
LSO = (((StationId - 1) * 3) + 40)
The following is a list of station specific levels:
Station Specific Levels
(LSO+) 1
Position in RTS Queue

Strings

There are two types of strings:
Global
Station Specific
The following is a list of global strings:
Global Strings
String Function
'BODY-BodyName'
'AGENDA-AgendaName'
'TOPIC-TopicText'
'WELCOME-WelcomeMessage'
'RTSNAME-<RTS Speaker Name>;<RTS Speaker TITLE>'
The current voting body name.
The current voting agenda title.
The current voting topic text.
The welcome message.
The name and title of the current speaker.
NSS-Vote Programmer’s Guide
Continued
27
Programming
The following is a list of station specific strings.
Station Specific Strings
String Function
'ID: <SID>-<Station ID>'
'NAME: <SID>-<Member Name>;<Member Title>'
'MESSAGE: <SID>-<Massage Text>'
'SVOTEE-'<Binary encoded Voting Enabled Array>
'SRTSE-'<Binary encoded RTS Enabled Array>
'SRTSPE-'<Binary encoded RTS Priority Request Enabled Array>
'SRTSPO-'<Binary encoded RTS Priority Override Enabled Array>
The station ID for the station SID.
The member name and title for the station SID.
A message for the station SID. If SID is 0, then this is a global message.
Array of voting enabled flags for all stations.
Array of RTS enabled flags for all stations.
Array of RTS Priority Request enabled flags for all stations.
Array of RTS Priority Override enabled flags for all stations.
28
NSS-Vote Programmer’s Guide
Programming
NSS-Vote Programmer’s Guide
29
It’s Your World - Take Control™
3000 RESEARCH DRIVE, RICHARDSON, TX 75082 USA • 800.222.0193 • 469.624.8000 • 469-624-7153 fax • 800.932.6993 technical support • www.amx.com
2006 AMX. All rights reserved. AMX and the AMX logo are registered trademarks of AMX. AMX reserves the right to alter specifications without notice at any time.
©
033-004-2635 6/06
Loading...