Product Review: Pro-Lite Scrolling Message Signs

 in
A review of the Pro-Lite Tru-Color II PL-M2014R, an affordable multi-color LED scrolling message board that is capable of being controlled by a standard RS-232 serial port.
Timers

In order to display one or more messages at a time, the sign includes ten timers named A to J. Each timer specifies a time and a series of 1 to 32 pages to sequence through. You may repeat pages in a sequence. The time a sequence is displayed consists of a weekday, an hour and a minute, any of which may be wildcarded (*) to match “all”.

When the first timer is defined, the sign is put into “timer” mode and will display that timer's messages immediately. Should two or more timers be defined, the sign seems to wait one minute, then checks each timer to see if one triggered based on the current time. If so, at the end of the displaying message, the new timer's sequence goes into effect. If no rule matches, no change is made.

Note the sign checks the rules for the immediate time. It will not go back to try to find a previous timer. So if you set a timer for 4:15PM and it is now 4:17PM, you've missed the moment when the sign would change.

Should two or more timers both be valid for the current time, the sign unpredictably selects one for display. This means you cannot set one timer to display at 4:15 and another timer to display at 15 minutes past any hour. Both rules would be triggered at 4:15 and it is a toss-up as to which message will be displayed.

The timer command is defined as <Tx>dhhmmABC..., where x is the timer, d is 0 (Sunday) to 6 (Saturday) for the day, hh is a two-digit hour and mm is the minute. “ABC...” is a list of 1 to 32 pages to display in the order specified. Note that Page-A and Timer-A are two different, unrelated entities. A timer set for “*****” will be triggered immediately.

The following sequence will display a series of messages at 8:00AM, noon, 1:00PM and 5:00PM:

$ cat > /dev/prolite
<ID01>
<ID01><PA>Good morning.
<ID01><PB>Have a nice lunch.
<ID01><PC>Get back to work.
<ID01><PD>Have a safe drive home.
<ID01><TA>*0800A
<ID01><TB>*1200B
<ID01><TC>*1300C
<ID01><TD>*1700D
ctrl-D

In order to display a whole sequences of pages, just list more page letters. For instance, it is useful to make a scheme where you assign page letters to different message content. For example, page A could be hourly announcements, page R the runtime status of your machine, page M the message of the day, page T the time and so on. To display several pages right now (including repeats):

$ cat > /dev/prolite
<ID01>
<ID01><TA>*****TAMARA
ctrl-D
Two interesting tidbits of information:
  • For some reason, the specific time of Sunday at midnight (00000 as a timer value) does not seem to work consistently. I suspect it confuses this value with unset timers.

  • If a run-page command (<ID01><RPA>) is issued, the sign is taken out of “timer” mode and displays the requested page. If you then issue the command <ID01><RP*>, the sign will go back into “timer” mode, displaying the last sequence of messages.

To delete a timer, use <DTx>, where x is the timer letter or * for all timers. For example, to delete timer D type:
echo "<ID01><DTx>" > /dev/prolite

Graphics

There are 26 graphic blocks that can be redefined and are commonly used for graphics. Graphics are inserted into the text via the tag <Bx>, where x is a letter from A to Z. For example, this command will display a mug and a wine glass:

echo "<ID01><PA><BW> Party Tonight <BZ>"
>\
   /dev/prolite

Altering the graphics requires the <Gx> command followed by a string of 126 characters made up of R (for red), Y (for yellow), G (for green) and B (for black or unlit). A sequence of seven rows of eighteen LEDs is specified back to back on a single command line. (See Figure 4.)

Figure 4. A Graphics Block Specification

I know at least one user who loads a font into a sequence of graphic blocks, and in this way is able to display more characters than the sign technically allows by default—very clever.

To delete a graphic block, restoring it to the default, use <DGx>, where x is a letter A to Z; * is a wildcard indicating all are to be deleted.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

im looking for pro-lite scrolling message signs

tatan's picture

well i want to know if you guys would like to help me.. im looking for a scrollong message signs exacly as the picture that you have on the top
please help i want to buy one of this

scrolling message pc board

Ray Phillips's picture

We are looking to purchase scrolling message boards in quantities of 100 pieces

Scrolling message boards

Guy Tieman's picture

Hello Ray,
My name is Guy Tieman and I work for a sign and mill company. I just stumbled on this site while reseaching a few things and saw your interest in scrolling message boards. We are an OEM of several different LED displays. We are located in Fort Myers, Florida. Our number is (239) 936-9154. If you are still looking give me a call or e-mail me. I might be able to help.
Thanks for your time,
Guy

Encoded

Leon's picture

I have a led board which has 2 lines and 120x16 leds. The protocol described on this page is simular to the protocol used in my led board only it has some kind of security code in it.

For example:
This wil return a ACK, and the led board will show the message:
<ID01><L1><PA><FE><MA><WC><FE>test62<E>

This wil return a NACK, and the led board does not change:
<ID01><L1><PA><FE><MA><WC><FE>test80<E>

So there is a code right after the text... Another example:
<ID01><L1><PA><FE><MA><WC><FE>Leon ter Linden1B<E> = ACK
<ID01><L2><PA><FE><Ma><WC><FE>Leon ter Linden43<E> = NACK

Does anyone know how to calculate the code that comes after the text?

xor checksum

Are's picture

Here is the code to calculate the checksum.
The checksum is an xor of all the characters sent, without the first ID tag and without the end E tag.


static unsigned char
checksum(const char *str, unsigned char init)
{
unsigned char i = init;

while (*str != '\0') {
i ^= *str;
str++;
}

return (i);
}

int
main(int argc, char *argv[])
{
unsigned char csum = 0x0;

if (argc != 2)
exit(-1);
else
msg = argv[1];

csum = checksum(msg, csum);
printf("%02X\n",csum);
return (csum);
}

encoded

Are Pedersen's picture

I also have this display. It appears that it is a simple signing pattern, but I haven't figured it out just yet. Finding anything on this on the web seems useless.

Prolite PL - 2111

Anonymous's picture

Hi,

any reason why there my loader input terminals 14 and R are soldiered together? Will the above work for model Pl 2111 ?

streaming text

jdgalore's picture

I was wondering if any one knows how i can send streaming text to a prolite say text from a news ticker or scrolling music text from musicmatch
? ? ? ? ? ?

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

is there a way to reset the sign to factory?

The graphics are all jumbled.

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

That's the way a Pro-lite sign works.
All jumbled.

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

if you are using serial interface, send a

message to it to erase everything
--ed

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

Walt,

I am trying hard to communicate with my Tru-ColorII and I've had little support from the company. Your explanation, it seems will help me. I wish "a lot".

Thank you

Marcos Ficarelli - Sao Paulo Brasil

ficareli@terra.com.br

Congratulations!!!

Anonymous's picture

Wanderful!!!

Realy congratulations friend.

Leandro
drinhow@hotmail.com

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

How do I get a new keypad for a Pro-Lite PL4012 or who is a dealer for this product. Thank you..

Re: Strictly On-Line: Product Review: Pro-Lite Scrolling Message

Anonymous's picture

Their Phone # is 1-714-668-9999 or 9998.

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix