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 IdentificationEach 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.
Protocol Structure<IDxx><IDxx>...TEXT/COMMAND.. cr lf
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. Display Text PagesThe sign has the ability to store 26 messages, each partition is called a page. A page is identified by a letter from A to Z (in uppercase). The length of each page is dynamic. A page can contain text, graphics, and European characters in various colors and sizes using different presentation techniques.
<Pn>...MSG...
If no page content is provided, the page is not made empty. It is treated as a NOP (no-operation). To blank a page, use a space (which will scroll a space), or delete the page. European CharactersEuropean characters can be displayed in the board using a syntax that is similar to HTML tags.
Important Notes:
Apparently the following table codes do not work: B, C, M, N, V, X, Z, b, c, m, n, v, x, and z 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.
Note: Colors
There are 26 color modes.
Note: 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
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
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 SchedulingAside 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. <IDxx><Tn>WHHMMPPP....cr lf
B = Timer B ... I = Timer I J = Timer J
0 = Sunday 1 = Monday ... 5 = Friday 6 = Saturday
00 = midnight 01 = 1:AM ... 13 = 1:PM ... 18 = 6:PM ... 23 = 11:PM
00 to 59 = specific minutes to start
Reprogramming a Graphic BlockThere are 26 (A - Z) user alterable graphic blocks available, the basic format is as follow:<Gn>...CCC...cr lf
...CCC... is a bit pattern specifying the color information of the graphic block in a fixed length of 126 bytes.
For each byte it can either be "R" (red), "G" (green), "Y" (yellow) or "B" (black) . Any characters other than "R","G","Y" & "B" are treated as Black.
If any more than 126 bytes are sent, specifying the graphic block, the request will be ignored. CommandsDelete Page(s)<IDxx><DPn>cr lf
<DPA> = Delete page A ... <DPZ> = Delete page Z Delete Timer(s)<IDxx><DTn>cr lf
<DTA> = Delete TIMER A ... <DTJ> = Delete TIMER J Delete Graphic block(s)<IDxx><DGn>cr lf
<DPA> = Delete Graphic block A ... <DPZ> = Delete Graphic block Z Delete ALLThis command will delete all Page(s), Timer(s) and restore all default Graphic blocks.<IDxx><D*>cr lf
Run Page Now<IDXX><RPn>cr lf
<RPA> = Run Page A ... <RPZ> = Run Page Z
Set ClockThis 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:<TYYMMDDWhhmmss>cr lf
MM Month (01 - 12) DD Day (01 - 31) W Day of week (0 - 6) hh Hour (in 24 hour format, 00 - 23) mm Minute (00 - 59) ss Second (00 - 59) Trivia ModeTriva 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.
<IDxx><Q+>cr lf
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. To get the trivia back, either reset the unit, or load a Generic Trivia file or use the software that you can order. Examples
|