BrightLedSigns / LedSign

Perl API to control programmable LED signs
9 stars 3 forks source link

Time Format Gives Error #5

Open cianphillips opened 8 years ago

cianphillips commented 8 years ago

The following script produces an "[INVALID TIME TAG]" error on the Model: m500n-7x80rg2 LED display after successfully uploading. Am I using the time 'markup' correctly? I tried to find the problem and I found the following a little confusing, though I don't know enough to call it a bug.

lib/LedSign/M500.pm at about line 702 looks like it's going to setup the time map but then uses the LedSign::M500::PAUSEMAP()->{$time} instead of what I thought would be LedSign::M500::TDMAP()->{$time}

!/usr/bin/perl

use LedSign::M500;  
my $buffer="";
my $sign="";
my $sign=LedSign::M500->new();
$sign->sendQueue(device => "/dev/tty.usbserial");
$sign->sendCmd(
    device => "/dev/tty.usbserial",
    setting => "settime",
    value => "now"
);
my $buffer=LedSign::M500->new();
$buffer->queueMsg( data =>"`<t:A><c:RED>RED`");
$buffer->sendQueue(
    device => '/dev/tty.usbserial'
)
budgetneon commented 8 years ago

Correct on both counts. It's a bug, and those two references around line 702 should be to TDMAP. I pushed a change out just now.

mik3rgit commented 7 years ago

The time keys are also incorrect the documentation in file: LedSign/LedSign::M500.md

The example shows when it should be . You need to use the following keys: DATE1, DATE2, DATE3, DATE4, TIME1, TIME2, TIME3

budgetneon commented 7 years ago

Okay...you're saying this is a documentation bug, correct, specifically with the M500 piece?

mik3rgit commented 7 years ago

Yes it's a documentation bug on the M500 piece. If you use then the time is correctly displayed on the device.

budgetneon commented 7 years ago

Pushed out a fix. I didn't, though, document what the various date/time tags display. I suspect what was described wasn't entirely correct, so you would have to experiment to see what they actually display.

mik3rgit commented 7 years ago

According to the cheat-sheet here: http://wls.wwco.com/ledsigns/m-500/m-500-protocol.php

You have "DATE4" in the TDMAP, which is invalid. It causes the device to display "[INVALID TIME TAG]". The code "^a" doesn't map to anything on the cheatsheet.

I'm not sure who owns this page, but they incorrectly reference "0x0C" instead of "0x0D" which is the carriage return.

budgetneon commented 7 years ago

I'm the person that made that cheat sheet and sent to that person :)

Again, there's no definitive source of truth for M500 signs, anyone that has anything has it because they hooked up an analyzer and tried things. These signs have been around a while, and they have changed here and there...newer ones do a few things older ones don't.

Based on your other experience, I'm also not 100% convinced you have an M500.

So, in short, I'll hold off on further changes until I have some time to try it on a known good M500.