The Gamewell Serial Driver allows the FieldServer to accept messages generated by a
Gamewell 600 Series Panel as well as ‘Smartnet Data Stream’ messages generated by a
Gamewell Smartnet terminal.
All Gamewell 600 Series Fire Alarm panels are equipped with a serial port, which produces
panel, circuit or device status messages. This driver is designed to process these messages
and store this status information in numeric form. The numeric value will indicate the type of
event being reported and the storage location in the FieldServer’s data arrays is (configurable
&) dependent on the origin of the message (panel / circuit / device). Additional information such
as event date and time and descriptions are ignored.
The driver is capable of supporting a panel configured to supervise the port by responding to the
panel’s supervision queries.
This is a passive client driver. The driver listens passively for unsolicited messages produced by
the Gamewell panel. This definition is not strictly true because the driver is capable of sending
the panel three messages: Ack, Silence and Reset.
Design Basis: Gamewell serial port protocol specification “IF 600r7 Message Stream” (not
dated) and “SmartNet Data stream information” (not dated).
The driver is capable of exposing communication statistics in a FieldServer Data Array so that a
remote device can monitor them.
2. Driver Scope of Supply
2.1 Supplied by FieldServer Technologies for this driver
FieldServer
Technologies
PART #
FS-8917-16
RS-485/RS-232 Pigtail for RJ45 port
Driver Manual.
DESCRIPTION
2.2 Provided by user
PART # DESCRIPTION
Gamewell Panel with SIM232 interface
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
4. Configuring the FieldServer as a Gamewell Serial Driver Client
For a detailed discussion on FieldServer configuration, please refer to the FieldServer
Configuration Manual. The information that follows describes how to expand upon the factory
defaults provided in the configuration files included with the FieldServer (See “.csv” files on the
driver diskette).
This section documents and describes the parameters necessary for configuring the FieldServer
to communicate with a Gamewell Serial Driver Server
The configuration file tells the FieldServer about its interfaces, and the routing of data required.
In order to enable the FieldServer for Gamewell Serial Driver communications, the driver
independent FieldServer buffers need to be declared in the “Data Arrays” section, the
destination device addresses need to be declared in the “Client Side Nodes” section, and the
data required from the servers needs to be mapped in the “Client Side Map Descriptors”
section. Details on how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the
default.
4.1 Data Arrays
Section Title
Data_Arrays
Column Title Function Legal Values
Data_Array_Name Provide name for Data Array Up to 15 alphanumeric
characters
Data_Format Provide data format. Each data array can
only take on one format.
Data_Array_Length Number of Data Objects. Must be larger
than the data storage area required for
the data being placed in this array.
Node_Name Provide name for node Up to 32 alphanumeric
characters
Node_ID Gamewell panel node address.
The Node Id has no meaning
when the FieldServer is
connected directly to Gamewell
panel. When connecting to a
Gamewell panel directly always
set the Node_ID to zero. When
connecting to a Gamewell
SmartNet terminal. The
Node_ID is important and
should correspond to the
Node_ID’s of the panel’s
connected to the SmartNet
terminal.
Protocol Specify protocol used Gamewell
Port Specify which port the device is
connected to the FieldServer.
The use of R1 and R2 is only
appropriate when a 232/485
converter is used. The
Gamewell panels only have a
232 port available for
connection.
Map_Descriptor_Name Name of this Map Descriptor Up to 32 alphanumeric
characters
Data_Array_Name Name of Data Array where data
is to be stored in the Bridge
Data_Array_Location Starting location in Data Array 0 to maximum specified in
Function Function of Client Map
Descriptor.
Reads (rdbc / rdb ) are not
allowed. The use of WRBX is
recommended for the ack /
silence / reset functions. A
message will be generated
each time the value in the
associated array is updated
(even if the value stays the
same.)
One of the Data Array names
from “Data Array” section above
“Data Array” section above
Passive, WRBC, WRBX
Driver Related Map Descriptor Parameters
Column Title Function Legal Values
Node_Name Name of Node to fetch data
from
Data_Type Data type
This parameter is only required
for passive / server map
descriptors.
The Data Type determines the
type of data that gets stored
when a message get received.
The Data Type corresponds to
the ‘Status’ field in a Gamewell
message.
Additional information is
provided in section 6.2
One of the node names
specified in “Client Node
Descriptor” above
Any
Alarms
Faults
Events
Bus
Comm
Control
Ack
Signal Silence
Troubles
Supervisories
Action_Numbers
Action_Bits
Dump
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Controls how many elements of the data
array are controlled by the map
descriptor.
Address This commonly used parameter has no
meaning for this driver. If specified it is
best set to zero.
Ckt Specify the circuit number whose
message will get stored using this map
descriptor.
Use the keyword ‘Panel’ if the you wish
to store data from a panel. All messages
which do not contain the keyword ‘Ckt’ in
the action field are deemed to be panel
messages.
Valid panel numbers are 1-131
Dev The starting device number for the map
descriptor. The length determines how
many devices can have their data stored
using this map descriptor.
Valid circuit numbers are 1-126 but this
driver allows a device number of zero to
allow for the storage of messages which
don’t specify a device number.
Ty
Clear_On_Reset Yes, No
Store_As* Only relevant when the
Data_Type=’Dump’
This tells the driver to store ignored
messages in ASCII format or to dump
them in ASCII format in the error log.
Gamewell_Func* Only relevant when the function is write.
This parameter tell the driver what type
of command to send to the panel.
You should always Ack before you
silence the panel.
1 – 1000
0
Panel , 1 ,2 , 3 …. 131
0 , 1 , 2 … 126
AsciiLog
ASCII
Value
Reset
Ack
Silence
Timing Parameters
Column Title Function Legal Values
Scan_Interval Rate at which data is polled >0.1s
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Map Descriptor Example 1 – Store data from incoming messages.
This example illustrates typical map descriptor uses to store data from panel generated messaged.
As all these map descriptors have their Clear_On_Reset field set to yes, when a panel reset message is received all the data in the controlled
arrays will be set to zero When a point reports its own state as normal the driver will set the appropriate element of the appropriate array to zero
to indicate the normal state..
Data is stored, first by finding a map descriptor with the correct circuit number. If the message doesn’t contain a circuit number then it is assumed
to be from the panel itself. If a message contain a CKT number and no DEV number then the driver assumes the device number is zero. The
storage location is based on the device number – it is used as an offset into the array.
The length determines
the number of devices
that can be processed
using the map
In this example all the
data for all these
circuits is stored in one
array.
The offset is used to
control the location in
the array.
These map descriptors
are all passive. We
cannot poll the panel
but we can wait
passively for the panel
to send us messages.
You need one map
descriptor for each
circuit / panel.
descriptor.
Say a message for
Ckt:2 Dev:20 is
received. The driver
looks at the device
number and the length
to see if the range of
devices covers the
incoming message. I
this case the data
would be stored at
offset 20 in the map
descriptor.
Because the Data Type
is ‘Any’ the driver will
set an array element
non-zero if any
messages indicate that
the point in not in a
normal condition.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Map Descriptor Example 2 – Send a Reset / Ack / Silence Command.
This example illustrates three map descriptors used to send commands to the panel. These are the only active map descriptors that can be used
with the Gamewell Serial Driver.
These map descriptors use the WRBX function. When the 1
doesn’t change, then the driver will send the command to the panel.
Note that you are required to send an Ack before you can send a silence command. The driver does not clear the trigger by setting the array
element back to zero. The panel does not send a message acknowledging receipt of the command, thus the driver cannot provide positive
confirmation.
5. Configuring the FieldServer as a Gamewell Serial Driver Server
The Gamewell Serial Driver provides limited server functionality. This has been developed to allows for
automated testing and Quality Assurance. It is not supported or documented however, at a client’s
request it can be extended & documented (typically at an additional cost.)
6. Advanced Topics
6.1 Driver Limitations & Exclusions
The driver does not support scaling when data is stored in a data array. The keywords
have no meaning for this driver. The reason for this is that the values stored by the driver have
specific meanings based on parsing the message. Scaling is only applicable in drivers which read
and write values from the remote device.
6.2 Data Types
Messages contain Status and Action information. The status information indicated the state of a
device / circuit / panel. The action information describe the event that generated the message.
By specifying one of the following Data_Types you can filter the incoming messages so that on
certain types of messages update certain data arrays. For example, if you are only interested in
storing data from messages that report an alarm then set the Data_Tupe of that map descriptor to
‘Alarms’. If you don’t care about the particular state then use the Data_Type of ‘Any’. The driver
will set the values of the array elements non-zero if any not-normal states are reported.
Data_Type Status Note #
Any 1
Alarms Status:ALARM 2
Faults Status:FAULT 2
Events Status:EVENT 2
Bus Status:BUS 2
Comm Status:COMM 2
Control Status:CONTROL 2
Ack Status:ACK 2
Signal Silence Status:SIG SIL 2
Troubles Status:FAULT 2
Supervisories Status:EVENT and Action contains "Supv. Event in" 2
Action_Numbers 3
Action_Bits 4
Dump 5
Notes:
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
1. If the Data Type is ‘Any’ then the map descriptor will be used to store data from message with
any status.
2. The state reported is filtered and must match the Data_Type for the associated array to be
updated. For example, if the Data_Type of a MapDesc is ‘Alarms’ and a message is received that
reports a Fault then the map descriptor will not be used to store the data from the message.
3. Normally, user’s are interested in the Status of a device / circuit / panel but they may also be
interested in the cause (or the ‘action’ in Gamewell terminology) of the message. When you
specify the Data_Type as ‘Action Numbers’ then the driver will store a value which can be used to
look up the action that produced the message. The most recent action number is stored over any
older value. (The driver does not provide an event log.)
4. Instead of storing a value to indicate the action, the driver can set a bit whose offset indicates
the action. For example, action 30 will cause the 30
th
bit to be set. Action bits are stored
retentively. This means that when a new action is reported the previous bits are left set and a new
bit is set too.
5. What happens if a message arrives that reports an alarm and you don’t have a map descriptor
with a Data_Type capable of storing an alarm. You can make a catch all map descriptor and use
the ‘Dump’ Data_Type to tell the driver to store the whole message in ASCII format in a data
array so that you can inspect it. You can also use this map descriptor to tell the driver to dump the
ignored message to the error log.
6.3 Status Types and Values
Generally, the driver stores non-zero values to indicate the state of a device / circuit / panel based
on the ‘status’ field of the incoming message. The specific non-zero value can be found in the
following table. The value have been chosen so that they correspond to different bits.
Status Value Stored
Alarm 1
Fault 2
Event 4
Bus 8
Comm 16
Control 32
Ack 64
Sig Sil 128
Supv 512
Genr 1024
Thus if a map descriptor has its Data_Type = ‘Any’ and two messages are received , one an
alarm and one an event, then the value of the array element will be set to 1 + 4 = 5. Thus the
value is non-zero to report the not-normal state but inspection of the value allows you to
determine the specific stat.
The value’s can be changed by using the method below to add, but when you add, use the
existing name and a new value.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
When comparing these keywords to the data in the Status field of the message the driver only
compares the first three characters. The comparison is case insensitive.
Adding a New Status Type
The fragment of a CSV file displayed below illustrates how to change the value associated with
‘BUS’ to 9 and adds two new Status types, Fred and Ginger.
There is a limitation in the use of new status types. They can only be stored using map
descriptors with the Data_Type set to ‘Any’.
The driver can store a maximum of 100 status types. The maximum length of the string is 9
characters.
Driver_Table
Gamewell_Status_String, Gamewell_Status_Value, Protocol
BUS , 9 , Gamewell
FRED , 100 , Gamewell
GINGER , 101 , Gamewell
6.4 When do Data Arrays get cleared (Reset)
When the Gamewell Panel is reset then the driver is able to clear the arrays. The way that the
panel works is that when a reset is performed send the following message
Status:NORMAL 08/31/95 16:23
System Idle
After this message the panel then sends messages for all points that are not in a normal state.
The driver uses the parameter ‘Clear_On_Reset’ to determine what gets cleared. If a map
descriptor has this parameter set to ‘Yes’ then the arrays elements controlled by the
Data_Array_Offset and the Length are set to zero.
This provides a good technique of synchronizing the panel and the FieldServer. When you
restart the FieldServer you should push the reset button on the panel so that the panel sends
messages for all points that are not in a normal state. If you don’t do this, and some points are in
a not-normal state then the FieldServer will not know about them until their state changes This is
potentially dangerous.
6.5 Action Types
Typically messages from the panel are contain not only the status of a point but also describe the
action that caused the state to change.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Based on the table below if a message contains the string ‘Fire Alarm in’ then the action number
will be stored as 11.
Value Action Description
255 Driver did not recognize action type
System Setup
1 Skip System I/O Assignments System power up
2 Begin System I/O Assignments System programming itself
Ignore any data from this point until "Exit Program
3 Programming Mode Entered
Mode" is received
4 Exit Program Mode See Programming Mode Entered
Control
5 Commencing System Reset System reset button has been depressed
6 System Idle System reset completed system is normal
7 System Acknowledged System Acknowledge button depressed
System Signal Silence button depressed Audibles
8 Signals Deactivated
Silencing
System Signal Silence button depressed Audibles
9 Signals Activated
reactivating
10 Signals Silenced Automatically System automatically silenced the audible signals
Fire Alarm
11 Fire Alarm in
Supervisory
12 Supv. Event in
Generic
13 Genr. Event in
Security Alarm
14 Security Alarm in
Pre Alarm
15 Ver. Seq. in Verification sequence started
16 Pos Al. Seq. in Positive Alarm Sequence started
17 Pre-Alarm in Pre alarm present
Fault
18 Alarm Tested in Message during walk test
19 AtoD Malfunction System Problem
20 LCD Malfunction System Problem
22 System In Walk Test Start partial or Full system walk test mode
23 System Out Of Walk Test Finished system walk test mode
24 System l/Os By Passed Bypass system circuits or devices
25 All By Passed I/Os Cleared System not bypassed
26 I/0 Bypassed, Starts ID of Circuit or point bypassed
27 Remote Annunciators Not Responding System Problem
28 Remote Annunciators OK System Problem Restored
29 Key Stuck in System Problem
30 Display Missing for System Problem
31 Bad Card @ System Problem
32 Card Missing @ System Problem
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
33 New Card Detected @ System Problem
34 Out of Memory Assigning System Problem
Supervisory or trouble in circuit that automatically
35 I/O Restored
restore themselves
36 Trouble Tested in System Problem
37 Trouble in System Problem
38 Output Shorted in System Problem
39 Dup. Dev. in System Problem
40 Dev. Missing in System Problem
41 Type Mismatch System Problem
42 Dev. Dirty in System Problem
43 No Response from Analog CKT System Problem
44 Open/Short in CKT System Problem
45 I/O Not Detected System Problem
46 Password Accepted System Valid password entered
47 +5V OK On System Problem
48 +5V Bad On System Problem
49 Aux. Supply OK For System Problem
50 Aux. AC Bad For System Problem
51 Aux. Batt. Bad For System Problem
52 Aux. Bad For System Problem
53 Unknown Event System Problem
54 Communication Failure Master lost communications with Node
55 Communication Restored Master restored communications with Node X
54 Communications Failure Master lost communications with Node
55 Communications Restored Master restored communications with Node X
56 Primary Bus Error Break or short in the primary class A cable
57 Secondary Bus Error Break or short in the secondary class A cable
58 Printer fault Master printer error
59 Batt. Charging OK
60 Batt. Charging
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
The following fragment from a CSV file shows how you can add two new action types. If a
message is received and its action field contains the text ‘FRED’ then the action number will be
stored as 100.
You can direct the driver to filter the incoming messages so that data arrays are only updated for particular states. For example an incoming
messge which reports a device in Ckt 1 to be in a FAULT state (Status:FAULT) will use the map descriptor ‘Ckt1_data03’ to store the data and the
array DA_FAULTS1 will be updated. If however, the message reported an ALARM state (Status:ALARM) then the array DA_ALRMS1 would have
been updated.
In fact, because the examples below provide a map descriptor where the data type is ‘Any’, each incoming message would update two data
arrays. The DA_Status1 array would be updated by every single message and the other arrays would be updated depending on the state being
reported in the message.
You can have the driver store a value corresponding to the contents of the action field reported in the incoming messages. Actions are brief
descriptions of the event that caused the message to be generated. A table of values vs. descriptions is provided in section 6.5. The driver stores
the most recent action number, overwriting the previously stored action numbers. The driver does not keep an event log. The action number’s are
set to zero, if the clear_on_reset is set to ‘yes’ and a system reset message is received.
For example, if the string ‘Fire Alarm in’
This map descriptor can be used as well as the any of the map descriptors shown in previous examples. Thus you can have one (or more) map
descrriptor storing the state and one storing the action number.
Instead of having the driver store a value to indicate the action, the driver can set a bit, whose offset indicates the underlying action. For example,
if the string ‘Fire Alarm in’ is contained in the action field of the message the driver would set the array element at offset 11 (use table 6.5 to get
the value vs. string) to 1.
Important to note is that the driver does not clear a previously set bit when a new action is reported. Thus if two messages were received and the
first reported ‘Fire Alarm in’
at offset 12 would be set. The element at offset 11 would remain set. Both would then remain set until a system reset is performed, the state of the
point returns to normal (status:NORMAL) or you clear the bits by writing to the array from the remote device.
As the driver may use up to 100 consecutive array locations for each Ckt/Device pair, if you use this method of storing data you will need one map
descriptor for each Ckt/Device pair. In this example the map descriptor will store data for Ckt 128 device 10 only. This is indicated by the Ckt
number being set to 128, the device number being set to 10 and the length being set to 1.
If the driver doesn’t recognize the action type then it will set the array element at offset zero.
When messages are received that the driver cannot find a map descriptor to use to store the data from the message (say a message from a
device on circuit 127 is received but there are no map descriptors for circuit 127) then the driver produces a MSG_IGNORED stat. You can have
the driver dump these messages to the error log or store the message in a data array by using the DATA_Type=’Dump’. If the data is stored in a
data array then use a data array with a ‘Byte’ format and display the array using the ruinet utility and view the array in ‘String’ format. If youhave
the ignored messages dumped to the error log then use the RuiDebug utility to capture the error log
In addition to the standard FieldServer communication statistics described in the FieldServer
User’s Manual, the Gamewell Serial Driver can also expose some driver statistics by writing data
to a data array. A special map descriptor is required. The driver recognizes the map descriptor
by its name which must be "Gamewell-stats" .
The following example shows how this special map descriptor can be configured. You can copy
this section of text directly into your CSV file.
When the driver sees this map descriptor it uses the data array DA_GAMEWELL_STATS (in this
example) to store driver specific statistics. Only one of these map descriptors may be specified
per FieldServer.
The offset into the array is based on the port number. 30 arrays locations are used per port.
The offset is obtained by multiplying the port number by 30.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
0 30 6090 240 Available for future use
1 31 6191 241 Available for future use
2 32 6292 242 Available for future use
3 33 6393 243 Available for future use
4 34 6494 244 Number of bytes sent by client driver
5 35 6595 245 Number of messages sent by client
6 36 6696 246 Number of reponse messages received by client
7 37 6797 247 Number of response bytes received by client
8 38 68 98 248
9 39 69 99 249
10 40 70 100 250 Number of Supervision Messages Sent
11 41 71 101 251 Number of Supervision Messages Received
12 42 72 102 252 Number of Supervision Messages Responses Sent
13 43 73 103 253 Number of Supervision Messages Responses Received
14 44 74 104 254
15 45 75 105 255
16 46 76 106 256
17 47 77 107 257
18 48 78 108 258
19 49 79 109 259
20 50 80 110 260 Number of times that parsing completed
21 51 81 111 261
22 52 82 112 262
23 53 83 113 263 Number of times that a reset command was received.
24 54 84 114 264 Number of times that a Ack command was received.
25 55 85 115 265 Number of times that a Silence command was received.
26 56 86 116 266
27 57 87 117 267
28 58 88 118 268 Number of times that the slave received a message
.
Number of times client has timeout out waiting for (response)
prompt
Number of times client has timeout out waiting for (response)
prompt
Number of Supervision Messages Received with a protocol
error
Number of times that message containing status information
was found
Number of times that message parsing failed because an
unrecognized status type was found.
Number of time that a message containing node information
was found
Number of times that oarsing failed because 2 CR's were not
found.
Number of times that message parsing failed because an
unrecognized status type was found.
Number of times that the client timed out waiting for a
message to be sent
Number of times that the client timed out waiting for a
response to a supervision query
Number of times that the slave received na unregonized
command
Number of times that the slave received a command
message
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Initial Release. Issued for review, formatting.
Connection diagrams required.
No Changes
Releasing
Added Status:SUPV support. Message that
begin this way are stored as Supervisories
(see section 6.3).
Changes to 6.2 Reference to Supervisory
Data Type
Changes to 6.3 Reference to the value of a
SUPV message.
Changes to 6.3 Refrence to value of A GENR
message
Changes to 6.4 “Commencing System Reset”
clears arrays too.
Changes to 6.5 Variations for action types
13/16
Releasing
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com