Prolite Protocol (ROM 5.24Q)

This page contains advanced protocol information for communicating with the
Pro-Lite PL-M2014R message board over the RS-232 port. (This is very
easy to do with Linux.)

The Basic Pro-Lite ASCII-Series Version 5.25 information is available
in Word format (
bytes)
format from the manufacturer. It is
not be accurate for the PL-M2014R, but it is
pretty.

The sign can only accept commands up to 1,023 bytes in length. This includes
packet headers and trailers, leaving the maximum
command length of 1016 characters for all text and attributes.

With 26 pages, each approximately 1,024 bytes long (accounting for internal overhead),
this leaves 26,624 characters of text that the unit can hold, not counting
trivia usage.

Long messages must be stored in multiple pages, and a timer created (most likely
with a value of "always") to put the pages in a display sequence.

Note that text gets into the sign's memory one of two ways. The first is entering the text
from the remote control. The second is from the RS232 port. Input from the RS232 port is
subject to pre-processing. This means if you want the text "<CA>" in your text, the RS232
is going to interpret that as a color code, while the remote control will not.

While communication is bi-directional, you can only receive acknowledgements
the sign received a command. You can not obtain the message in the sign,
you can not download the graphics or character shapes, you can not ask the
time, you can not read the timers, you can not determine which page is
running, you can not tell when the message scrolling by ends.

Apparently with the 5.24Q rom, if you send a lot of garbage to the sign that
it does not recognize, the sign will stop responding to commands. The only
way to clear it seems to be unplugging the sign, waiting a moment, and
plugging it back in. You'll see a brief "CHECKING..." message.

Unit Identification

Each unit is given an ID number from its setup mode using the remote.
Apparently it is possible to chain 255 units together.

The protocol can talk to an individual unit, or all units, but not a
group of unit IDs. I doubt it is a good idea to give more than one
unit the same ID number, since each unit sends back a reply when it
is sent a unit-specific command.

If the sign has been idle (not received any communication) for over one
minute, it must be sent the protocol header
<IDxx> cr lf
to wake up. The protocol header can be thought of as being similiar to the
AT command for Hayes modems, which wake up the modem putting it into
command mode and prefixing all modem commands.

When a sign accepts a wake up or command, it will respond back with the
same protocol header: <IDxx> cr lf
to signal the sign is awake.

Each packet(s) must consist of a unique ID number,
except SET CLOCK command (see Command section).

An <IDxx> will answer from the sign if sign receives the data
unless they are SET CLOCK command and global call.

In addition undocumented symbols have been presented here, and while these
characters can show up in the character set, it is undetermined why.
For instance <U:> by itself shows nothing, but
as Xxx<U:>Yyy it shows up as a ö;
<U;> by itself shows up as a lowercase Greek alpha, but
as ZZ<U:>ZZ the command won't even get accepted.
The behavior seems very much based on position.

Graphic Blocks
There are 26 reprogramable graphic blocks.

<BA>

Telephone

<BB>

Glasses

<BC>

Tap

<BD>

Rocket

<BE>

Monster

<BF>

Key

<BG>

Shirt

<BH>

Helicopter

<BI>

Car

<BJ>

Tank

<BK>

House

<BL>

Teapot

<BM>

Knife & Fork

<BN>

Duck

<BO>

Motorcycle

<BP>

Bicycle

<BQ>

Crown

<BR>

Sweet Heart

<BS>

Arrow Right

<BT>

Arrow Left

<BU>

Arrow Down-Left

<BV>

Arrow Up-Left

<BW>

Mug of Beer

<BX>

Chair

<BY>

High-heeled Shoes

<BZ>

Wine Glass

Note:
The Monster and Chair are pretty lame. These are good candidates for experimenting with replacement graphics.
If you've blown your board's graphics away, simply disconnecting the power and reconnecting will restore
the graphics or use the delete all command.

Colors
There are 26 color modes.

<CA>

Dim Red

<CB>

Red

<CC>

Bright Red

<CD>

Orange

<CE>

Bright Orange

<CF>

Light Yellow

<CG>

Yellow

<CH>

Bright Yellow

<CI>

Lime

<CJ>

Dim Lime

<CK>

Bright Lime

<CL>

Bright Green

<CM>

Green

<CN>

Dim Green

<CO>

Yellow/Green/Red

<CP>

Rainbow (Default)

<CQ>

Red/Green 3D

<CR>

Red/Yellow 3D

<CS>

Green/Red 3D

<CT>

Green/Yellow 3D

<CU>

Green on Red

<CV>

Red on Green

<CW>

Orange on Green 3D

<CX>

Lime on Red 3D

<CY>

Green on Red 3D

<CZ>

Red on Green 3D

Note:
Some of these color combinations look so bad that they should require a permit.

To define a color, the attribute code must be placed before the text. There is no "I'm done with the
color" code, just switch to a different one.

Character Sizes

<SA>

Normal (Default)

<SE>

Flashing Normal

<SB>

Bold (Wide)

<SF>

Flashing Bold (Wide)

<SC>

Italic

<SG>

Flashing Italic

<SD>

Bold Italic (Wide)

<SH>

Flashing Bold Italic (Wide)

To define a size, the attribute code must be placed before the text. There is no "I'm done with the
size" code, just switch to a different one.

Display Functions

<FA>

AUTORandom color & presentation

<FB>

OPEN<-- Open from Center -->

<FC>

COVER<-- Covers Text -->

<FD>

APPEARInstantly replaces text

<FE>

CYCLINGRolling Colors

<FF>

CLOSE <--Blank screen right to left

<FG>

CLOSE -->Blank screen left to right

<FH>

CLOSE --><--Blank screen outter to center

<FI>

SCROLL UPScroll up from bottom

<FJ>

SCROLL DOWNScroll down from top

<FK>

OVERLAPTwo layers slide together to form text

<FL>

STACKINGFalling dots form text

<FM>

COMIC 1PacMan

<FN>

COMIC 2Random creature walking

<FO>

BEEPSign beeps

<FP>

PAUSEShort delay of motion

<FQ>

SLEEPBlank screen until the next timer activates

<FR>

RANDOMRandom dots appear forming text

<FS>

SHIFT <--Roll message right to left (Default)

<FT>

TIME/DATEShow time and date, no choice of formatting

<FU>

MAGICChange text color each time

<FV>

THANK YOUCursive "Thank you"

<FW>

WELCOMECursive "Welcome"

<FX>

SPEED 1Jittery

<FY>

SPEED 2

<FZ>

SPEED 3

Note:
AUTO, OPEN <-- -->, COVER <-- -->, APPEAR, CYCLING, SCROLL UP, SCROLL DOWN, RANDOM, and MAGIC
terminate their behavior by either another function or when the screen is full of text.

For best effect, CLOSE operations should happen after text has been displayed, not as the start of a presentation.

Timer Scheduling

Aside from being able to play a specific page, the message board has 10 timers.
Each timer has an ordered sequence from 1 to 32 pages to display associated with it, there may be duplicates.

A timer may be thought of a request such as: "when the time of day matches my timer settings,
display this sequence of message pages. For example, at 1:PM display pages A, B, and C; while at 5:PM display page A twice,
then page D, then page A again, then page E.

Note that if there are two timers that would both be active, the page sequence appears to be randomly
selected, and the timers are not checked again until after the whole sequence has been displayed at
least once.

Once a timer is set, it can be replaced or deleted. To use the timers,
it is important to set the clock in the message board.

Run Page Now

Note:
Running a page (A-Z) stops the timer check from happening.
This is useful for interrupting a timer sequence to display an important
piece of information.

Set Clock

This is a special command to sync. or set the relative/real time clock of the display unit(s)
and it is the only GLOBAL command in this set of protocol. You do not prefix this
command with an <IDxx> header. The format as shown below:

Trivia Mode

Triva mode divides the 32K into two 16K banks, and it operates by displaying a
trivia question, your message, a trivia answer, your message, another trivia
question, your message, another trivia answer, your message, and so on.

By deleting the trivia from the message board, the full memory may be used.

There is no reason your trivia messages can't be complex with color codes and presentations.
While you are loading trivia text, no trivia will display.
Additionally, you do not need to limit yourself to trivia or to pairs
of lines. The sign will display the first line, the message, then the
next line, then the message, and so on.

Not specifying any trivia questions/answers will delete the trivia from the
sign, thus making the 32K available for your messages.

If you do not have PC or cable to delete the Trivia you can open the sign from the left
and remove the RAM chip for 3 seconds. This deletes all the memory in the sign.

There are three chips in sockets: two small and one large.
The small with label is the EPROM. The other small without a label is the RAM
(this is the one you want to remove). The arge without label is the CPU; removing it
is a bad idea.