阅读( 244 ) 我要纠错

4.19 表格节目

请求:

SF

CTRL

DES

SRC

TID

CMD

WID

REV

STYLE

FORMAT

2字节

2字节

2字节

2字节

2字节

2字节

2字节

2字节

4字节

4字节

 

FLAG

CNT

sFORMAT

CRC

EF

4字节

2字节

1~1200字节

2字节

2字节

 

CMD:请求命令,0x031E;

WID:分区编号,有效值从0x0001开始,小于或等于字库卡能支持的最大分区数目;

REV:节目标识,用于单分区多节目。

15-8:节目编号,同分区中具有唯一性,值越小播放顺序越靠前,有效范围0~63;

7-0:保留,始终为0;

STYLE:节目样式;

31-4:保留,始终为0;

3:是否按队列加载,仅永久节目有效,为0表示立即,为1表示按队列顺序加载;

2:加载时是否擦除分区,为0表示不擦除,为1表示擦除;

1:节目属性,为0表示临时节目,为1表示永久节目;

0:保留,始终为0;

FORMAT:文本显示格式;

31-20:保留,始终为0;

19- 16:颜色(注:0000表示使用系统当前颜色;1000为黑色)

18:蓝色;

17:绿色;

16:红色;

15- 8:字体ID;有效值为0-254;为0时使用当前字体ID;

7- 6:水平对齐HALIGN

00:左对齐;

01:水平居中对齐;

10:右对齐;

5- 4:

00:上对齐;

01:垂直居中对齐;

10:下对齐;

3:保留,始终为0;

2:wordbreak,自动换行,为0,不自动换行,为1,自动换行;

1:单行文本; 0表示多行文本,1表示单行文本;

0:高级文本,0表示普通文本,1表示高级文本;保留,始终为0;

FLAG:控制信息

31-16:节目停留时间,单位为秒,仅在位1为0时有效;

15-2:保留,始终为0;

1:为0表示节目时间无限长,为1表示有限节目时间;

0:为0表示加载节目时擦除当前分区,为1表示加载节目时不擦除当前分区;

CNT:表示sFORMAT的字节数

sFORMAT:表格显示格式,格式如下所示:

单元格起始标识:

%R:【画单元格】

%

R

Ctrl1

Ctrl2

Param

1字节

1字节

1字节

1字节

可能为0、4、8、12、16个字节

单元格起始标识,表示一个通用单元格的起始。该标识后紧跟有2个字符,第1个字符表示边框,第2个字符表示单元格x、y、width、height是否改变。Ctrl1、 Ctrl2、Param的字符取值范围为0-9、A-F、a-f。

注意此值存储方式为大端存储,即高字节在前,低字节在后。

Ctrl1转为16进制数范围为0x00xf,有4个比特位:

3:1为有左边框,0为无左边框;

2:1为有上边框,0为无上边框;

1:1为有右边框,0为无右边框;

0:1为有下边框,0为无下边框;

Ctrl2转为16进制数范围为0x00xf,有4个比特位:

        3:1为单元格x坐标相对上一单元格发生变化,0为x坐标无变化;

2:1为单元格y坐标相对上一单元格发生变化,0为y坐标无变化;

1:1为单元格宽度相对上一单元格发生变化,0为宽度无变化;

0:1为单元格高度相对上一单元格发生变化,0为高度无变化;

根据Ctrl2转化为16进制数后的相应比特位的值,Param应该按照x,y,width,height的顺序紧跟发生变化的参数,每个参数由4个可转化为16进制数的字符组成,因此Param需要解析的长度可能为0、4、8、12或者16个字节。例如Ctrl2为‘6’,则对应16进制数为0x6,表示y坐标和width参数相对前一单元格发生变化,则Param字段有8个字节,前4个字节为当前单元格y坐标,后4个字节为当前单元格width参数值。若当前单元格x坐标为1024(对应16进制为0x0400),则Param的前4个字符依次为‘0’、‘4’、‘0’、‘0’,当前单元格width参数值为10(对应16进制为0x0a),则Param的后4个字符依次为‘0’、‘0’、‘0’、‘a’,当前单元格的x坐标和height的值与前一单元格相同。

%K:【画单元格】

%

K

1字节

1字节

单元格起始标识,表示一个特殊的单元格的起始。该单元格只画 ‘上右下’三条边框,X坐标值等于前一个单元格的X坐标和宽之和(单元格向右递增,只改变X坐标值,Y坐标、宽、高不变);

%k:【画单元格】

%

k

1字节

1字节

单元格起始标识,表示一个特殊的单元格的起始。该单元格只画 ‘左右下’三条边,Y坐标值等于前一个单元格的Y坐标和高之和(单元格向下递增,只改变Y坐标值,X坐标、宽、高不变);

 

单元格属性标识:

%J:表示当前单元格中画斜线“\,该标识可选。

%

J

1字节

1字节

 

%j:表示当前单元格中画斜线“/,该标识可选。

%

j

1字节

1字节

 

%B:【边框属性】

%

B

Ctrl1

Ctrl2

1字节

1字节

1字节

1字节

表示更新当前单元格的边框属性,该标识可选。若当前单元格中没有该标识,则边框属性为之前最后一次%B的值。该标识后紧跟有2个字符。Ctrl1和Ctrl2的字符取值范围为0-9、A-F、a-f。

Ctrl1转为16进制数范围为0x00xf,有4个比特位:表示边框颜色:

(注:0000表示使用系统当前颜色;1000为黑色)

2:蓝色;

1:绿色;

0:红色;

Ctrl2转为16进制数范围为0x00xf:表示边框样式:

0x0: 1像素宽度直线(默认)

0x1: 2像素宽度直线;

其他值:保留;

%Q:【文本格式】

%

Q

Ctrl

1字节

1字节

8字节

 

表示当前单元格使用新的FORMAT,该标识可选。Ctrl字段有8个字符,字符取值范围为0-9、A-F、a-f。Ctrl字段的每个字符转为16进制后范围为0x0-0xf,8个字符分别转化后可组成32位数,用来表示当前单元格的FORMAT参数值(同命令中的FORMAT参数),第一个字符对应FORMAT值的bit31-bit28,第二个字符对应bit27-bit24,依次类推,第八个字符对应bit3-bit0。若当前单元格中没有该标识和%q,则FORMAT属性为前一个单元格的FORMAT值;

%q:【文本格式】

%

q

1字节

1字节

 

表示恢复到默认FORMAT(命令中的FORMAT字段值)。该标识可选。

回应:

SF

CTRL

DES

SRC

TID

CMD

RES


CRC

EF

2字节

2字节

2字节

2字节

2字节

2字节

2字节


2字节

2字节

CMD:回应命令,0x831E;

RES:操作结果,0表示操作成功,其他表示错误,可查看附件1中错误代码。

 

 

sFORMAT的示例如下所示:

4.19.png

 

 

备注:

1. 使用FLAG控制信息,更新表格部分内容

2. 应用超大表格时,可使用单节目覆盖(主要用于实时显示)或者分区多节目(掉电不易失)或开机批处理事件(掉电不易失),方法是下一个节目开始时恢复上一个节目的上下文(单元格x坐标、y坐标、宽、高,边框属性、文本格式),并且除了第一个节目外其他节目的 FLAG位1置1(不擦除分区节目)

 

2:

请求命令:(表格在分区1中静止显示,FLAG设置为0x0203即加载时不擦除当前分区,有限时间节目,时间为2秒。表格sFORMAT为 %B00%RFF0001000100100010合\n肥%K2\n 3%j%K%J%K%RFF0001001000100010金\n涵%RFF00100010002E0010LED控制卡 。显示3行5列表格 )

备注:1、本例程是在64*32点LED屏上显示故为让表格对称,本例中第一行第一列仅为一个点,并且第3行第3、4、5列为合并单元格。

AA A5 7E 00 FF FF 00 00 B0 A1 1E 03 01 00 00 00 0A 00 00 00 00 00 00 00 02 00 03 00  64 00 25 42 30 30 25 52 46 46 30 30 30 31 30 30 30 31 30 30 31 30 30 30 31 30 ba cf 5c 6e b7 ca 25 4b 32 5c 6e 20 33 25 6a 25 4b 25 4a 25 4b 25 52 46 46 30 30 30 31 30 30 31 30 30 30 31 30 30 30 31 30 bd f0 5c 6e ba ad 25 52 46 46 30 30 31 30 30 30 31 30 30 30 32 45 30 30 31 30 4c 45 44 bf d8 d6 c6 bf a8 00 00 5A 55

回应命令:

AA A5 0A 08 00 00 01 01 B0 A1 1E 83 00 00 D0 67 5A 55


×