Maker Pro
Maker Pro

LED Update from thread posted in 2007

IceMelting

Oct 15, 2023
2
Joined
Oct 15, 2023
Messages
2
The internet is an amazing place! I recently got hold of an LED display from 1996. I had no idea how to get it working - just tried to send it random strings. I almost gave up but found this thread from 2007!


I got the display working! I just want to post an update, and post my python code. And say thanks!

However I can't post to that thread, says "You have insufficient privileges to reply here."

Is it possible to get permissions to respond to that old thread?

Thanks
Mel
 

Alec_t

Jul 7, 2015
3,677
Joined
Jul 7, 2015
Messages
3,677
Welcome to maker.pro!
Responding to long-dead threads (necro-posting) is generally frowned on. The original participants to the thread may have lost interest, may no longer visit the site, or may even be pushing up the daisies! Providing a link to the old thread, as you have done, is the right thing to do.
 

IceMelting

Oct 15, 2023
2
Joined
Oct 15, 2023
Messages
2
Ok thanks. I will update here then.

I had acquired an old LED device from 1996. The only details I had were

LUA Electronics
11 Redwood Drive
Notting Hill VIC 3168
Ph (61 3) 543 3311

I had almost given up interfacing to it when my friend found that old thread from 2007!

I followed the clear instructions from https://maker.pro/forums/members/cj_elec_tech.10154/ I got it working. Amazing!

The only difference is I had to set the baud rate to 2600. Based on his work I will paste my python code below:

import serial
import time


# constants
ESCAPE_CHAR = '\x1b';
DEVICE_ID_CMD ='@A'
DISPALY_MESSAGE_CMD = '@D_';
FLUSH_CMD = '@F_';

# my device serial number, displayed on startup
DEVICE_SERIAL_NUMBER = '001012';

# the number of characters the display can show
DISPLAY_LENGTH=26;

# pre scoll blank characters
DISPLAY_PRE_SCOLL =' ';

def update_message() :
# the message to display
message = "Welcome to my display. Jess wins GOLD at Karate!"
prepared_message = DISPLAY_PRE_SCOLL + message;
count = 0;

# Create a serial object with the port name and baud rate
ser = serial.Serial('COM3', 2600, parity=serial.PARITY_NONE, bytesize=serial.EIGHTBITS,
stopbits=serial.STOPBITS_ONE)
while count < 100 :
prepared_message = rotate_string(prepared_message)


# construct the string
string_send = ESCAPE_CHAR + DEVICE_ID_CMD + DEVICE_SERIAL_NUMBER + ESCAPE_CHAR + DISPALY_MESSAGE_CMD + prepared_message + ESCAPE_CHAR + FLUSH_CMD;



print(string_send);

# send it to the serial port as binary
ser.write(string_send.encode());

# sleep 500ms for next iteration
time.sleep(0.01)
ser.close()


def rotate_string(string):
"""Rotates the characters of a string by one position.

Args:
string: A string.

Returns:
A new string with the characters rotated by one position.
"""

rotated_string = ""
for i in range(len(string)):
rotated_string += string[(i + 1) % len(string)]
return rotated_string

Hope it helps someone else! Just call the update_message() to get scrolling banner.
 

kellys_eye

Jun 25, 2010
6,514
Joined
Jun 25, 2010
Messages
6,514
The only difference is I had to set the baud rate to 2600
That's a real weird value. Sure it wasn't 2400 baud? Mind you, given the application I think it wouldn't really make much difference. I only make this comment as 2600 is not a 'standard' as far as data transfer is concerned. 2400 baud is.
 

Delta Prime

Jul 29, 2020
2,220
Joined
Jul 29, 2020
Messages
2,220
That's a real weird value. Sure it wasn't 2400 baud? Mind you, given the application I think it wouldn't really make much difference. I only make this comment as 2600 is not a 'standard' as far as data transfer is concerned. 2400 baud is.

Snippet. The Cisco 2600 and 3600 Series Routers have a jumper on the motherboard that resets the console baud rate to 9600. This can be used when the console baud rate is set to a speed that the attached terminal does not support, and you cannot use one of the standard methods to set the console speed.
 
Last edited:
Top