------------------------------------------------------------------------------ UNOFFICIAL Beta-Brite Protocol Information From http://www.pobox.com/~alsplace/ledsign.html Compiled by Allen Huffman (alsplace@pobox.com) from various sources. For official specs, visit http://www.ams-i.com ------------------------------------------------------------------------------ Packet Format: 0x00 0x01 "^" = Beta Brite, "Z" ? or ! =all signs "00" = broadcast 0x02 See below *---------------------- 0x03 ASCII hex (on data between STX and ETX, apparently) *---------------------- 0x04 * Checksum is optional. Instead of , you can end with and not use the checksum. It also appears you can chain multiple messages in one packet by doing it by repeating the part after the EOT. (This does not seem to work with reads.) John reports that sometimes 9600 baud is too fast. Adding a delay after the STX a small delay after the command code seems to help (that is apparently what the Windows software does). Cmd Codes: A write text file Follow by the label (1-byte) of which "file" to store the message in. "AA" would write to text file "A". "AZ" would write to text file "Z". B read text file Same as "A", but sign will return a packet "000""A". C ? D ? ------------------------------------------------------------------------ E write/set memory Followed by a byte then a hex string. <0x20>"hhmm" set time <0x21>"00" speaker off, "11" speaker on <0x22> ? <0x23> ? <0x24> set file memory followed by... <0x25> ? <0x26> set day of week "1"=Sunday <0x27> "S" for AM/PM, "M" for military time <0x28> "0" beep, "1" beep beep beep <0x29>{stop>stop>} 0x2a ? 0x2c reset? 0x2d ? 0x2e program the run sequence, follow by... <"T" for runtime, "S" based on sequence><"U" unlocked or "L" locked> 0x2f dim followed by 0x30, 0x31 ? 0x32{} "0"=daily, "1"=Sunday ... "8"=weekdays, "8"=weekends, "A"=always, "B"=never 0x33 ? 0x34 clear error register in sign Memory allocation data - text file <"A"><"L"ocked or "U"nlocked> Time: "FF"=always, "E"=never, "FD"=daytime string file <"B"><"L"ocked or "U"nlocked><"0000"> (set string) <"D"><"L"ocked or "U"nlocked><"x000" where x is # of colors (bitdepth)> size = (((width/5)+1)*height*x)+12 F read memory G write string