Slerj SSR-1 User manual

SSR-1 User’s Manual
Revision E
27 Feb 2018

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 2 www.slerj.com
CONTENTS
1Introduction ............................................................................................................................. 4
1.1 Description....................................................................................................................... 4
1.2 Features ............................................................................................................................ 4
2Getting Started......................................................................................................................... 4
2.1 Package Contents ............................................................................................................. 4
2.2 The SSR-1 Hardware ....................................................................................................... 5
2.3 Connecting the SSR-1...................................................................................................... 6
2.4 Using the SSR-1............................................................................................................... 9
3Functional Overview ............................................................................................................. 10
3.1 Serial Channels............................................................................................................... 10
3.2 Record Function............................................................................................................. 10
3.3 User Interface Module.................................................................................................... 14
3.4 Real-Time Clock............................................................................................................ 14
3.5 Digital I/O ...................................................................................................................... 14
4Interactive Shell..................................................................................................................... 15
4.1 System Commands......................................................................................................... 16
4.2 File Commands .............................................................................................................. 16
4.3 Device Configuration..................................................................................................... 17
4.4 Capturing the Shell......................................................................................................... 18
5Control Protocol .................................................................................................................... 20
5.1 Message Format ............................................................................................................. 20
5.2 General Messages........................................................................................................... 21
5.3 Configuration Messages................................................................................................. 31
5.4 Error Codes .................................................................................................................... 53
6Time Tagged Archives .......................................................................................................... 54
6.1 Data Packet..................................................................................................................... 54
6.2 Time Correlation Packet................................................................................................. 55
6.3 The STTP Utility............................................................................................................ 56
7Specifications......................................................................................................................... 58
7.1 Electrical......................................................................................................................... 58
7.2 Mechanical..................................................................................................................... 59
8Revision History.................................................................................................................... 60

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 3 www.slerj.com
© 2018 Slerj, LLC. All rights reserved
Reproduction in whole or in part is prohibited without the prior written consent of the copyright
owner. The information presented in this document does not form part of any quotation or
contract, is believed to be accurate and reliable and may be changed without notice. No liability
will be accepted by the publisher for any consequence of its use. Publication thereof does not
convey nor imply any license under patent or other industrial or intellectual property rights. Slerj
assumes no responsibility or liability whatsoever for any failure or unexpected operation
resulting from misuse, neglect, improper installation, repair, improper handling, or unusual
physical or electrical stress including, but not limited to, exposure to parameters beyond the
specified maximum ratings or operation outside the specified range.
All brands and product names in this publication are registered trademarks or trademarks of their
respective holders.
SlerjTM is a trademark of Slerj, LLC.
Warranty
The SSR-1 Serial Data Recorder is warranted against defects in materials and manufacturing for
a period of one year from the date of purchase. In the event of a product failure due to materials
or workmanship, Slerj will, at its discretion, repair or replace the product. For warranty service,
return the defective produce to Slerj, shipping prepaid, for prompt repair or replacement. Slerj,
its suppliers, and its licensors shall in no event be liable for any damages arising from the use of
or inability to use this product. This includes business interruption, loss of business information,
or other loss which may arise from the use of this product.
SLERJ PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED OR WARRANTED
TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR
SYSTEMS OR OTHER CRITICAL APPLICATIONS. INCLUSION OF SLERJ PRODUCTS
IN SUCH APPLICATIONS IS UNDERSTOOD TO BE UNDERTAKEN SOLELY AT THE
CUSTOMER’S OWN RISK. Should a customer purchase or use Slerj products for any such
unauthorized application, the customer shall indemnify and hold Slerj and its officers,
employees, subsidiaries, affiliates, and distributors harmless against all claims, costs damages
and attorney fees which could arise.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 4 www.slerj.com
1Introduction
1.1 Description
The SSR-1 is a flexible and robust serial data recording device that takes care of the details of
storing data so that you can focus on your application. Up to three streams of serial data can be
recorded simultaneously, and each channel is configurable with a variety of serial and storage
options. Streams can be recorded automatically at power up, on command through a digital or
PWM input, or using software commands.
1.2 Features
Simultaneously records three asynchronous serial channels
Two RS-232 channels and one 5V TTL compatible channel
(Version available with 3.3V CMOS channels instead of RS-232. Contact us for details.)
Up to 230.4k baud recording on all channels
(A high-speed version is available supporting 921.6k baud recording on all channels)
Wide supply voltage (4.5 to 32VDC)
Small size: 1.65 x 1.23 x 0.45 inches (42 x 32 x 12 mm)
Supports MicroSD and MicroSDHC cards
FAT12, FAT16, and FAT32 file system support
Long File Name support
Support for raw and time-tagged recording
Battery backed real time clock powered by an onboard button cell battery
Flexible record control: digital input, PWM input, software controlled, or automatic
User shell for configuration and file system operations
Binary control protocol for machine automation
Flexible recording modes (overwrite/append, user defined path and file names, etc.)
2Getting Started
2.1 Package Contents
The Serial Recorder is packaged with:
The SSR-1 Serial Recorder
Mating connector (Molex 87568-2093) with 9 inch ribbon cable
Lithium button cell battery (U.S. shipments only)
A FAT32 formatted MicroSD card with
oSSR-1 Users Guide,
oputtytel terminal emulator,
osttp time tagged archive parser with source code, and
oan example Windows® control protocol utility with source code.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 5 www.slerj.com
2.2 The SSR-1 Hardware
Figure 1. Top View
Figure 2. Bottom View
Main Connector
MicroSD Card Slot
(push-push type connector)
Channel Status
LEDs
Coin Battery Holder
Insert battery
as shown.
This is the negative side of
the battery. It must make
contact with the printed
circuit board.
Insert card as
shown in slot
beneath board.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 6 www.slerj.com
WARNING: Improper removal of the backup battery can damage the SSR-1. To
remove the battery, use a blunt stick to push the battery out of the holder.
DO NOT PRY OR PULL THE BATTERY.
CAUTION: Like most electronic components, the SSR-1 can be damaged by
electrostatic discharge. Observe typical precautions for handling electrostatic
discharge sensitive devices.
2.3 Part Numbers
SSR-1 part numbers follow the following form:
SR1__T_
The standard configuration is SR122T.
H –high-speed variant support 921.6k baud recording
22 –channels 1 and 2 are RS-232
CC –channels 1 and 2 are 3.3V CMOS (not 5V tolerant)
(Unless otherwise noted, all specifications and notes in this document apply
to the 22 version. Contact us for questions on the CC version.)

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 7 www.slerj.com
2.4 Connecting the SSR-1
The pins of the main connector are shown in Figure 3 and described in Table 1. The default
configuration of the SSR-1 provides access to the user shell (see Section 4 Interactive Shell, for
details) on channel 1 and causes channels 2 and 3 to record when the digital input command pin
(DI, pin 15) is pulled to ground. All channels default to 115200 baud, 8 data bits, no parity, and
1 stop bit.
WARNING: Channels 1 and 2 are RS-232 voltage level compatible, and channel 3
is 5 Volt tolerant, TTL compatible, 3.3V CMOS. Do not connect an RS-232 device
to channel 3 of the SSR-1.
Figure 3. Main Connector (View looking into the face of the connector)
Table 1. Main Connector Pins
Pin 1
ID
Description
1
Vsup
Supply voltage (4.5-32 VDC).
2
Vret
Supply return (tied to GND onboard the SSR-1).
3,7 2
T1,T2
Asynchronous serial transmitter output for channels 1 and 2.
4,8 2
R1,R2
Asynchronous serial receiver input for channels 1 and 2.
11 3
T3
Asynchronous serial transmitter output for channel 3.
12 4
R3
Asynchronous serial receiver input for channel 3.
16,18,20 3
Sx
Status indication for channel x. High level indicates that the channel is
recording.
15 4
DI
Digital input record command.
17 4
PI
PWM input record command.
19 4
res
Reserved.
1See Section 7.2 Electrical for detailed electrical specifications.
2RS-232 compatible.
33.3V CMOS output
45V tolerant, TTL compatible, 3.3V CMOS input. Internally pulled up to 3.3 VDC.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 8 www.slerj.com
Wiring for a typical application is shown in Figure 4. The default SSR-1 configuration is
assumed. In the figure, channel 1 is connected to a standard PC serial port for shell access,
allowing configuration and file system operations via a terminal application on the PC. Channel
2 records data from an RS-232 device and channel 3 records data from a TTL compatible device
when the Close to Record switch is closed.
Figure 4. Typical application wiring using the default SSR-1 configuration

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 9 www.slerj.com
2.5 Using the SSR-1
The SSR-1 is shipped in default configuration, which sets all channels to 115200 baud, 8 data
bits, no parity, and 1 stop bit. Channels 2 and 3 are configured to record when DI is pulled low.
Channel 1 is configured to present the user shell.
On power up, the SSR-1 displays a boot loader announcement and device details. If a channel is
attached to the user shell, it will present the user shell prompt. A typical power-on sequence
would produce output similar to:
Details of the shell interface are provided in Section 4 Interactive Shell. As an example of shell
usage, consider changing the command source for channel 3 to +dig so that the device records
when the DI pin is high. In the following sequence, <enter> means pressing the Enter/Return
key to execute the command in the shell. With the SSR-1 shell connected to a terminal program,
type
config <enter>
to show the current SSR-1 configuration.
To change the command source for channel 3 to +dig, type
config 3 src +dig <enter>
Verify that the configuration has been changed using:
config 3 <enter>
To save the modified configuration in on-board non-volatile memory so that it is preserved
across power cycles, type:
config save <enter>
To confirm that the configuration has been saved, reboot the SSR-1 and verify configuration
using:
reset <enter>
config <enter>
Note that ‘cfg’ is an alias for ‘config’ and can be used as a shortcut.
Slerj Boot Loader v1.0.0
MK:Slerj
HW:SSR1
MG:1608747
MD:SSR-1
SN:1
MV:22T
SSR-1 Shell [Firmware 1.2.1]
>

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 10 www.slerj.com
3Functional Overview
The SSR-1 consists of three asynchronous serial channels, a data recording subsystem, a user
interface module, a real-time clock, and digital input/output for status and control.
3.1 Serial Channels
The behavior of each serial channel is independent and is defined by a number of configurable
parameters, which can be changed using the interactive shell or the control protocol, documented
in Sections 4 and 5, respectively. Those parameters are:
Baud rate –600 to 230400 baud, inclusive
Parity –Even, odd, or none
Stop –1, 1.5 or 2 stop bits.
Echo –(Boolean) Echoes received characters out through the transmitter.
Function
odisabled –The channel is not used.
orecord –The channel will record received data when commanded.
oshell –The channel will be tied to the interactive user shell function of the user
interface module.
ocontrol –The channel will be tied to the control protocol function of the user
interface module.
Note that the user interface module can be attached only to a single channel. If one of the
channels is assigned to either the SHELL or CONTROL functions, no other channel may be
assigned to SHELL or CONTROL.
3.2 Record Function
In addition to the basic serial channel parameters above, when a channel is assigned to the
RECORD function, several other configurable parameters apply:
Command Source
Command Source determines how the channel is commanded to record. Options include
a discrete digital signal, a PWM signal, or software controlled through the user interface
module (shell or control protocol). Command Source for a channel can be set to one of
the following:
o-soft –The channel records when the Soft Command parameter (defined in the
next major bullet) is true. With -soft, Soft Command is set to false at startup, and
the DI and PI pins are ignored.
o+soft –The channel records when the Soft Command parameter is true.
With +soft, Soft Command is set to true at startup, and the DI and PI pins are
ignored. This selection for Command Source causes the channel to automatically
record at startup.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 11 www.slerj.com
o-dig –The channel records when the digital input pin (DI) is low.
o+dig –The channel records when the digital input pin (DI) is high.
o-pwm –Recording starts when the pulse width on the pulse input pin (PI) is
1ms ± 250s. Recording stops when the pulse width on PI is 2ms ± 250s.
o+pwm –Recording starts when the pulse width on the pulse input pin (PI) is
2ms ± 250s. Recording stops when the pulse width on PI is 1ms ± 250s.
The PWM input is designed to work with the type of signal used by hobby servos. The signal is
considered valid when high going pulses are present with a pulse width between 750s and
2250s, and a period of 4ms to 65ms. The current record state for a channel using the PWM
input is changed only when a valid PWM signal is present that meets the requirements of the
selected PWM Command Source (+pwm or –pwm, specified above).
Both the DI and PI pins are 5 volt tolerant and internally pulled to 3.3V. See Section 7.2
Electrical for specifications.
Soft Command
Soft Command is a Boolean software parameter that is used when the Command Source
parameter is ±soft. When Command Source is ±soft and Soft Command is true, the
channel records. The Soft Command parameter can be set through the user interface
module (interactive shell or control protocol).
File Type
The SSR-1 supports three archive types: raw, tagged line
1
, and time tagged archives.
oWhen file type is raw, bytes are written to file just as they are received, and no
timestamp information is attached to the data.
oWhen file type is tl (tagged line), text timestamps are inserted into the stream at
the first printable character following a newline or carriage return. This file type
is convenient for line-oriented data, but has a number of limitations as compared
to the time tagged archive. Since received data is modified with timestamp
strings prior to recording, the original data stream is not preserved. The
timestamp format is non-configurable, YYMMDDhhmmss.sss with a trailing
space. Since this mode adds 17 characters to every line received, it can
significantly inflate the volume of data written to the card. A series of 4 byte
lines into the serial channel becomes a series of 21 byte writes to the card, and in
extreme cases (short lines at high speed) could exceed the write bandwidth of the
card. This mode is not appropriate for binary data.
oWhen the file type is tt (time tagged), bytes are encapsulated into an archive file
structure that associates a timestamp with each group of received bytes with a
1
Support for tagged line archives was added in firmware 1.2.1.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 12 www.slerj.com
resolution of 2ms. The time tagged archive format overcomes all of the
limitations of the tagged line format, but requires post processing to retrieve the
data. The archive is not intended to be human readable. A utility to perform the
post processing, STTP, is provided with source code. For details, see Section 6
Time Tagged Archives.
File Mode
Supported file creation modes are retry, overwrite, and append. When file mode is retry,
the SSR-1 will continue to retry the file creation operation until it succeeds. File creation
can fail if a file with the same name already exists. This mode is a useful complement to
user definable file paths (next bullet). Overwrite will cause an existing file to be replaced
by a newly commanded recording. Append will cause new data to be appended to an
existing file. For both overwrite and append modes, if the file specified by File Path does
not exist, it is created.
File Path
The File Path parameter holds a path template that specifies the name and location of the
file to be created when recording is commanded. A path template is a normal path string
that has replaceable fields defined in Table 2 below. A field is identified in the template
by a backslash followed by one of the field identifiers, or several consecutive identifiers
encapsulated in square brackets. For example, the path template /c[chms].dat would be
translated to the path /c1083000.dat for channel 1 if the time is 08:30:00 when a file is
created. Similarly, the path template /gps/nmea\4.txt would be replaced by
/gps/nmeaXXXX.txt where XXXX is a number that is incremented on each attempt to
open the file. Currently, path templates of up to 29 bytes are supported, and the resulting
path (with fields replaced) must be no more than 64 bytes.
Table 2. Path Template Field Codes
Field
Identifier
Replaced With
c*
channel number [1-3]
Y
year [00-99]
M
month [01-12]
D
day [01-31]
h
hour [00-23]
m
minute [00-59]
s*
second [00-59]
t
tenth of second [0-9]
y
year (4 digit) [2001-2099]
X
hex digit month [1-C]
d
day of year [001-366]
2
two digit sequence number [00-99]

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 13 www.slerj.com
3
three digit sequence number [000-999]
4
four digit sequence number [0000-9999]
*This field identifier is lower case.
File Size
Starting with firmware version 1.0.3, the SSR-1 supports automatic file close and reopen
when a size (or time) threshold is reached. Threshold values of 1 MB, 2 MB, 4 MB,
8 MB, 16 MB, 32 MB, 64 MB, 128 MB, 256 MB, 512 MB, and 1024 MB are supported.
Additionally, the File Size parameter can be set to Hour, Day, or Week, causing new files
to be started based on time instead of size. By default, the File Size threshold is off, and
no automatic close/reopen operations are performed.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 14 www.slerj.com
3.3 User Interface Module
The user interface module provides user access to file system operations, device status, and
configuration. The module can be assigned to only one serial channel and can be configured to
present either an interactive shell interface or the control protocol on that channel. More
information on the interactive shell and control protocol can be found in Sections 4 and 5,
respectively.
3.4 Real-Time Clock
The Real-Time Clock (RTC) maintains calendar time for the SSR-1. An on-board backup
battery (CR1220 or CR1216, Lithium 3V) allows the RTC to keep time across power cycles.
RTC time is used file creation and received data timestamps.
3.5 Digital I/O
Digital input and output lines are provided for hardware access to recording control and status.
On the main connector, PI and DI provide record control as discussed in Section 3.2.
Additionally, a status line is provided for each channel (S1, S2, and S3) to indicate when the
channel is recording. A bi-color (red and green) status LED is provided on the SSR-1 for each
channel (Figure 1). The green segment flashes to indicate reception of serial data on the channel.
The red segment illuminates solid red when the corresponding channel is recording. When the
channel is not recording, the following flash codes are presented using the red LEDs.
Table 3. Red LED Flash Patterns When Not Recording
Status
Flash Pattern
Description
READY1
Short flash every 4 seconds
Indicates that a record channel is ready to
record when commanded.
CARD ERROR2
Long flash followed by two short
flashes every 2 seconds
Indicates that the card is missing or an
unrecoverable error has occurred.
CARD FULL2
Two long flashes every 2 seconds
Indicates that the card is full.
1Presented only on channels configured to record.
2Presented on all channel LEDs simultaneously.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 15 www.slerj.com
4Interactive Shell
The interactive shell is designed to provide easy access to the SD card file system, device status,
and configuration options. Entering ‘?’or ‘help’at the command prompt provides
information about using the shell. Each command can be followed by ‘?’ to retrieve help
information. Multiple commands can be separated by a semi-colon. All commands are case
sensitive. For example:
The shell supports line editing and keeps a history of recently used commands. The ANSI
escape sequences shown in Table 4 are supported.
Table 4. Shell Line Editing Sequences
Keyboard Key
Alternate
Sequence1
Function
Up-arrow
^p
Recall the previous command to the command line.
Down-arrow
^n
Recall the next command to the command line. This is only
available when up-arrow has been used to recall a previous
command.
Home
^a
Move the cursor to the start of the command line.
End
^z
Move the cursor to the end of the command line.
Left-arrow
^k
Move the cursor left one character.
Right-arrow
^l
Move the cursor right one character.
Ctrl + Left-arrow
^b
Move the cursor left (backward) one word.
Ctrl + Right-arrow
^f
Move the cursor right (forward) one word.
1The caret (^) indicates use of the Ctrl key with the letter.
In the description of individual commands below, the following conventions are used:
[ ] indicates optional parameters
{ } identifies a set of choices separated by | (choose one)
< > indicates a variable defined in the help text
>cls ?
Usage: cls
Clears the screen.
Aliases: clear
>date;time
20130327
102840
>

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 16 www.slerj.com
4.1 System Commands
System commands provide access to general system functions including the real time clock and
operational status.
Table 5. System Commands
Command
Aliases
Description
cls
clear
Clears the screen.
date [yyyymmdd]
Sets the current date to the year, month, and day specified. If no
date is specified, this command returns the current date.
help
?
Provides help for using the shell.
reset
Performs a device reset.
status
stat
Displays device status (date/time, inputs, record channels).
time [hhmmss][ap]
Sets the current time using the hour, minute, and second specified.
The hour is assumed to be in 24 hour format. However, the time
may be appended with an ‘a’ or ‘p’ to explicitly identify AM or PM
if a 12 hour format is used.
4.2 File Commands
File commands provide access to the SD card file system. FAT12, FAT16 and FAT32 volumes
are supported, and long filenames are supported on FAT32. Many file system commands require
a path. Both relative and absolute paths are supported in the shell. Directories are separated by a
forward slash (/).
Table 6. File Commands
Command
Aliases
Description
chdir <path>
cd
Changes the current working directory.
del <path>
rm
Removes a file or an empty directory.
df
Prints the volume size and free space -.
dir [path]
ls
Lists the contents of a directory. If no path is provided, this
command lists the contents of the current directory.
mkdir <path>
md
Creates a directory.
pwd
Prints the current working directory.
ren <path1> <path2>
mv,rn
Moves or renames a file or directory from path1 to path2.
[NOTE: Do not move open files]
touch <path>
Updates the timestamp on a file or directory.
sz <path>
Send a file to the connected terminal2using the zmodem
protocol.
2
The zmodem file transfer has been tested successfully with several freely available terminal emulators, including
ExtraPutty, Teraterm, SyncTERM, and qodem.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 17 www.slerj.com
4.3 Device Configuration
Device configuration is manipulated through the user interface module. The current working
configuration is held in system memory (RAM) and can be saved to non-volatile memory for
preservation across resets. On startup, if the contents of the non-volatile configuration memory
are valid, the stored configuration is loaded and used by the SSR-1. The shell provides access to
device configuration through the following commands:
Table 7. Configuration Commands
Command
Description
config
Prints the current configuration (including all channels).
config save
Saves the working configuration to non-volatile memory.
config load
Retrieves the stored configuration from non-volatile memory.
config erase
Erases the non-volatile configuration memory, but does not change the
current working configuration. When non-volatile configuration memory
has been erased, configuration defaults are loaded at startup.
config <ch#> [args]
Provides access to channel configuration. The parameter ch# is the channel
number (1 to 3). If no additional arguments are specified, this command
prints the configuration for the specified channel. Specific channel
configuration commands are in Table 8.
In addition to the global configuration commands presented in Table 7, there are several channel
specific configuration commands. The commands in the following table are entered as part of a
command line ‘config <ch#> command’.
Table 8. Channel Configuration Commands
Command
Alias
Description
baud <rate>
Sets baud to rate (600 to 115200).
parity { E | O | N | e | o | n }
Sets parity to even, odd, or none.
stop { 1 | 1.5 | 2 }
Sets the number of stop bits.
echo <bool1>
Enables echoing of received characters on the
channel.
function { record | disabled | shell |
control }
func
Sets the configured function for the channel.
Note that the active function for a channel may
be different from the configured function (see
Section 4.4 Capturing the Shell).
source [{ + | - }]2{ soft | dig | pwm }
src
Sets the channel command source.
soft <bool>
Sets the channel soft command.
file type { raw | tl | tt }
Selects between raw, tagged line, and
time-tagged archives for the channel.
file mode { retry | append | overwrite }
Sets the channel file mode.
file path <path>
Sets the channel file path template to path. See
Section 3.2 Record Function for more
information on path templates.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 18 www.slerj.com
Command
Alias
Description
file size { off | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
128 | 256 | 512 | 1024 | hour |
day | week }
Sets the file size threshold. See Section 3.2
Record Function for more information on file
size thresholds.
1bool denotes a Boolean expression, and may be specified using
{ y | Y | t | T | true | yes | on } for affirmative and { n | N | f | F | false | no | off } for negative.
2The { + | - } prefix is optional. If not specified, + is assumed.
Note that multiple channel configuration commands may be specified together. For example, to
set the baud, parity and stop parameters of channel 2 with a single command, type
config 2 baud 38400 parity N stop 1
Also note that the file option commands are two-word commands (don’t omit the word ‘file’).
For example, to set the file type to raw on channel 2, type
config 2 file type raw
4.4 Capturing the Shell
When all three channels are configured to record, then the shell interface is unavailable. To
overcome this limitation, a special procedure is provided to allow access to the shell on startup
through any channel. When the shell is ‘captured’ in this way, the configured function for the
channel is temporarily suspended. The capture mechanism operates prior to loading stored
configuration data, so all channels operate at 115200 baud, 8 bits, no parity, and 1 stop bit for
capture.
The process for capture involves presentation of the boot loader message at startup, the user
quickly typing the string config, the device replying with an upper case, four character challenge
string, and the user echoing the challenge string back to the device in lower case. Details are as
follows:
On startup, the SSR-1 displays the boot loader message and device information.
An 800ms window begins in which a valid character of the capture sequence must be
received from the user. If an invalid character is received, or 800ms elapses, the capture
sequence is aborted and the device boots normally according to its stored configuration.
Each valid character received resets the capture window to 800ms. Since it is difficult ti
judge the time from power on until the device is ready to begin receiving the capture
sequence, the valid capture sequence includes up to 5 lower case zcharacters prior to the
string config. A typical capture will involve hitting zwhile powering on the device until
the zcharacter is echoed from the device, then typing config.
When the previous step has been completed, the SSR-1 will send a random challenge
string consisting of 4 upper case characters, and a new capture window of 5 seconds is
established. The user must type those same characters in lower case to complete the

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 19 www.slerj.com
capture process. If the challenge string is not answered in 5 seconds, the capture process
is aborted and the SSR-1 starts normally.
In order to support the capture feature, a distinction is made between the active function of a
channel and its configured function. The active function will mirror the configured function
when possible. Once the shell becomes the active function on a channel, the parameters that
affect communication (baud, parity, stop, and active function) are fixed until reset. Any channel
configuration options changed for the captured channel (and saved) will not take effect until the
next reset. If the shell was the configured function on a channel other than the captured channel,
the active function for that channel becomes disabled.

SSR-1 User’s Manual
Rev E, 27 Feb 2018
© 2018 Slerj, LLC 20 www.slerj.com
5Control Protocol
In place of the interactive shell, the user interface module can provide access to control, status,
and configuration through a control protocol. This capability is provided to support robust
communication in machine automation environments. The notation used in this section is
intended to be familiar to C programmers. Values presented in hexadecimal are prepended
with 0x. The &symbol represents the bit-wise AND logical operation.
5.1 Message Format
Messages are exchanged between the SSR-1 and the user in the form of byte-oriented packets.
Each packet has a start sequence, an ID, a payload count, an optional payload, and a checksum.
Table 9. Control Protocol Message Format
Header
Payload
Checksum
Start1
Start2
ID
Count
Payload
Cksum1
Cksum2
0x81
0xA1
0xID
0xNN
0xAA 0xBB …
0xZZ
0xC1
0xC2
The start sequence for every packet is the same (0x81 0xA1), and is followed by a single ID
character. Count identifies the number of payload bytes that are included in the packet, and can
be zero. The checksum bytes represent a Fletcher checksum as defined in internet RFC 1145. It
is computed over the ID, Count, and payload bytes. The basic algorithm for computing the
checksum is:
unsigned char Cksum1=0;
unsigned char Cksum2=0;
unsigned char *p = (address of message ID);
int i=0;
while(i<number_of_payload_bytes+2)
{
Cksum1 = Cksum1 + p[i];
Cksum2 = Cksum2 + Cksum1;
i = i + 1;
}
Ordinarily, have a single byte to represent payload count would suggest that the maximum
possible payload length is 255 bytes. But since many applications may require longer packets,
the most significant bit (MSb) of the Count is given special significance in the control protocol.
When the MSb is set, the lower 7 bits are interpreted as a count of 8 byte blocks. Also, since
counts without the MSb set already provide coverage for payloads between 0 and 127 bytes, this
special function starts at 128 bytes. When the MSb of Count is set, payload length is calculated
as 128 + (Count&0x7F)*8.
Table of contents