控制卡SCL程序员手册范本.docx

上传人:b****5 文档编号:14529591 上传时间:2023-06-24 格式:DOCX 页数:16 大小:65.14KB
下载 相关 举报
控制卡SCL程序员手册范本.docx_第1页
第1页 / 共16页
控制卡SCL程序员手册范本.docx_第2页
第2页 / 共16页
控制卡SCL程序员手册范本.docx_第3页
第3页 / 共16页
控制卡SCL程序员手册范本.docx_第4页
第4页 / 共16页
控制卡SCL程序员手册范本.docx_第5页
第5页 / 共16页
控制卡SCL程序员手册范本.docx_第6页
第6页 / 共16页
控制卡SCL程序员手册范本.docx_第7页
第7页 / 共16页
控制卡SCL程序员手册范本.docx_第8页
第8页 / 共16页
控制卡SCL程序员手册范本.docx_第9页
第9页 / 共16页
控制卡SCL程序员手册范本.docx_第10页
第10页 / 共16页
控制卡SCL程序员手册范本.docx_第11页
第11页 / 共16页
控制卡SCL程序员手册范本.docx_第12页
第12页 / 共16页
控制卡SCL程序员手册范本.docx_第13页
第13页 / 共16页
控制卡SCL程序员手册范本.docx_第14页
第14页 / 共16页
控制卡SCL程序员手册范本.docx_第15页
第15页 / 共16页
控制卡SCL程序员手册范本.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

控制卡SCL程序员手册范本.docx

《控制卡SCL程序员手册范本.docx》由会员分享,可在线阅读,更多相关《控制卡SCL程序员手册范本.docx(16页珍藏版)》请在冰点文库上搜索。

控制卡SCL程序员手册范本.docx

控制卡SCL程序员手册范本

励研科技SCL程序员手册

第一章概述

在本文的叙述中,一般情况下,针对SuperComm进行解释,圆括号中的“SCL2008:

”则表示SCL2008的区别。

SuperComm控制器播放的图象,每个象素的颜色使用两个字节(byte)来表示,称为16位色图片;SCL2008控制器播放的图象,每个象素仅使用两个位(bit)来表示,称为双色图片。

对于相同大小的图片,SCL2008的数据量仅是SuperComm的八分之一左右。

SuperComm系列/SCL2008系列控制器的存储空间采用FAT16文件管理系统。

SuperComm控制器有SD卡(B盘)和RAM(C盘)两个磁盘,SCL2008有FLASH盘(A盘)和RAM(C盘)两个磁盘。

所有待播放的图片都以文件形式存储在控制器的某个磁盘中。

这些图片的播放方式、停留时间等均由节目表文件来控制。

节目表文件的名字必须是PLAYLIST.LY。

控制器上可以存储多达100套节目,不同的节目及相关的图片文件按照节目的索引存放在不同的目录中。

例如,SD卡上的第0套节目存储在B:

\P00子目录下,RAM盘的第8套节目存储在C:

\P08子目录下。

控制器的节目管理遵循如下结构:

1、一共可以存储100套节目,每套节目按其子目录名进行管理,如P00中存放第0套节目,P09子目录中存放第9套节目。

每次给控制器通电时只能播放一套节目,由Config.Ly中的节目索引来指定播放哪一套节目;

第二章节目表文件PLAYLIST.LY和配置文件Config.ly

§2.1 PLAYLIST.LY概述

节目表文件是一个INI类型的文件。

可以用记事本打开并编辑,也可以用程序自动生成该文件。

节目表文件的基本结构如下:

[Program1]

   <定时信息>

   <主区域索引>

   <区域个数>

   [Program1_Screen1]

      <区域1的位置和大小>

      <区域1播放的项数>

      <第1项的属性>

      <第2项的属性>

      <第n项的属性>

   [Program1_Screen2]

      <区域2的位置和大小>

      <区域2的播放项数>

      <第1项的属性>

      <第2项的属性>

      <第m项的属性>

  [Program2]

[Program3]

[ProgramN]

这里,N最大可到200(即一个节目表最大可容纳200个节目)

§2.2 PLAYLIST.LY中的定时信息

每个节目可以规定它的播放时段。

控制器在处理该节目前,会先将定时信息与控制器自带的日历时钟进行比较,若当前时间处于节目的定时时段,则该节目将会被播出,否则该节目不会播出。

一个定时项由如下的定义构成:

TimerX=YYyyMMmmDDddWWwwHHNNhhnn,这里X等于1-8,即可给出8个时间段。

YY:

本时间段的开始年份;

yy:

本时间段的结束年份,若定时与年份无关,则YY=00,yy=99;

MM:

本时间段的开始月份;

mm:

本时间段的结束月份,若定时与月份无关,则MM=01,mm=12,表示从1月到12月;

DD:

本时间段的开始日期;

dd:

本时间段的结束日期,若定时与日期无关,则DD=01,dd=31,表示从1日到31日;

WW:

本时间段的开始周日;

ww:

本时间段的结束周日,若定时与星期几无关,则WW=01,ww=07,表示从周一到周日;

HHNN:

本时间段开始的时分;

hhnn:

本时间段结束的时分,若定时与时分无关,则HHNN=0000,hhnn=2359,表示从0点0分到23点59分。

例如,定在7月、8月的10日到25日之间的星期六、星期日的上午8点到中午12点播放的节目,定时项写成:

Timer1=8001200

Timer1-Timer8都应该一一列出,不可缺少,否则控制器上的播放器会因为查找某个定时项而浪费时间,导致节目间切换的时间变得很长。

不用的定时项可以全部写成0,但第一个定时项必须明确给出,尽管可能该节目根本不使用任何定时属性。

不使用定时属性的定时项写成:

Timer1=0002359

Timer2=0000000

Timer3=0000000

Timer4=0000000

Timer5=0000000

Timer6=0000000

Timer7=0000000

Timer8=0000000

§2.3 PLAYLIST.LY中的主区域索引

   每个节目都必须有一个区域是主区域,该节目的播放时间以主区域的播放时间为准。

若主区域中的所有节目项都已播放完毕,则该节目结束。

若从区域的节目项都已播放完毕,但主区域尚未完成,则从区域循环从头开始播放。

   主区域的定义格式如下:

   MainScreen=n,这里n表示该节目的某个区域的索引,可从1-4之间(SCL2008:

1-3之间)取数,但不得大于其后定义的区域数。

§2.4 PLAYLIST.LY中的区域数

   一个节目可以分成几个区域来独立播放。

区域数定义了该节目有多少个独立区域。

SuperComm控制器最大支持四个独立区域,SCL2008控制器最大支持三个独立区域。

区域数的定义格式如下:

   Screen=n,这里n可从1-4(SCL2008:

1-3)之间取数。

 

§2.5 PLAYLIST.LY中的区域位置和大小

   每个区域的大小和位置可任意指定。

若这些区域间有重叠,则一般情况下是定义靠后的区域可覆盖定义靠前的区域,除非定义靠后的区域没有数据更新,但定义靠前的区域有新的播放项。

   区域的位置和大小定义如下:

   Position=Left,Top,Width,Height

      Left、Top为该区域的左上角坐标,Width和Height分别为该区域的宽和高。

   控制器最大控制围为960列(SCL2008:

可显示4032列,部按4096列处理),512行。

一般情况下控制器安装在显示屏的右侧(正面看屏),所以,Left坐标需要往右调整。

显示屏的最左边的坐标为最大控制围-显示屏宽度。

假设显示屏宽度为256列,则最左边的坐标为960-256=704(SCL2008:

4096-256=3840)。

§2.6 PLAYLIST.LY中的播放项数

   一个区域可以安排播放多个文件(每个文件称为一个节目项),每个区域最多可安排播放200个节目项。

播放项数的定义为:

   ItemCount=n,这里n就是实际的播放项数,可从0-200。

§2.7 PLAYLIST.LY中的节目项属性

   节目项是可播放的一个文件。

定义节目项的格式如下:

   ItemN=type,Drv:

PathFileName,Entermode,Step,Staytime

   其中:

ItemN:

可为Item1-Item255,后面的数字不可大于前面定义的播放项数,否则该项不会被播出;

type:

文件类型,可取值为字母‘F’、‘P’、‘T’、‘X’或‘S’。

 

‘F’

FLASH类图片,必须快速直接贴到播放区域中

‘P’

普通的图片

‘T’

时钟项,时钟项文件可显示时间、温度、湿度、串口数据、倒计天数等等

‘X’

文本文件,文本文件要求预先上载字库并在Config.LY中定义安装,文本中可以包含扩展显示码,关于字库和扩展显示码,请参见第七章

‘S’

系统命令,可实现节目表之间的跳转和返回(支持多级跳转,仅支持一级返回)

 

Drv:

 节目项文件所在的驱动器,可取值为A(FLASH盘)、B(SD卡)或C(RAM盘),若文件与节目表文件PLAYLIST.LY在同一驱动器中,则这里的Drv可以省略;

Path:

路径,格式为“\Pxx\”或“\”(这里x为数字字符‘0’-‘9’),前者表示某子目录,后者表示根目录。

若无路径,则表示该文件与节目表位于同一子目录;如果

FileName:

节目项文件名。

SuperComm/SCL2008控制器仅支持8.3格

§2.8 PLAYLIST.LY节目表文件示例

一个包含三个节目的完整的节目表文件示如下:

(节目1包含三个区域,节目2包含2个区域,节目3包含1个区域)

[Program1]

Timer1=0002359

Timer2=0000000

Timer3=0000000

Timer4=0000000

Timer5=0000000

Timer6=0000000

Timer7=0000000

Timer8=0000000

MainScreen=1

Screen=3

[Program1_Screen1]

Position=576,0,263,86

ItemCount=1

Item1=P,SUPERC~1.d01,4,1,5

[Program1_Screen2]

Position=576,90,228,167

ItemCount=2

Item1=P,m71a.j01,0,1,3

Item2=P,zr29a.j01,0,1,3

[Program1_Screen3]

Position=808,90,153,167

ItemCount=1

Item1=T,H8W1C1AQ.tmc,1,1,65535

[Program2]

Timer1=0002359

Timer2=0000000

Timer3=0000000

Timer4=0000000

Timer5=0000000

Timer6=0000000

Timer7=0000000

Timer8=0000000

MainScreen=2

Screen=2

[Program2_Screen1]

Position=576,0,384,29

ItemCount=2

Item1=P,0002a.j01,1,1,5

Item2=P,0003a.j01,1,1,5

[Program2_Screen2]

Position=576,30,384,226

ItemCount=3

Item1=P,34a.x01,0,1,5

Item2=P,ANIMAL~1.j01,0,1,5

Item3=P,auto255c.j01,0,1,5

[Program3]

Timer1=0002359

Timer2=0000000

Timer3=0000000

Timer4=0000000

Timer5=0000000

Timer6=0000000

Timer7=0000000

Timer8=0000000

MainScreen=1

Screen=1

[Program3_Screen1]

Position=576,0,384,256

ItemCount=1

Item1=P,zr29a~00.j01,0,1,5

 

§2.9 Config.LY文件

配置文件也是INI类型的文件。

可以用记事本打开并编辑,某些情况下节目制作程序会自动生成该文件(指定非0的播放索引,或设定温度控制屏体开关或SW2等)。

配置文件的基本格式如下:

[Startup]

Program_Index=n

[Font]

FontCount=x

Font1=FontFileName1,CharCount1,Mode1,width1,height1[,Byte2Start1[,Code1Start1]]

Font2=FontFileName2,CharCount2,Mode2,width2,height2[,Byte2Start2[,Code1Start2]]

……

Fontx=FontFileNamex,CharCountx,Modex,widthx,heightx[,Byte2Startx[,Code1Startx]]

这里,n表示控制器复位或上电时播放的节目索引,可取围是0-99。

它们对应SD卡的P00-P99目录中的节目表。

x表示装载的字库数,不得大于8;FontFileName是可以含路径的字库文件名,允许在除Pxx类的节目表存放路径之外,使用特定的Fon路径存放字库;CharCount是字库中的字符数;Mode表示查表方式,可以指定‘C’或‘A’两种模式之一,‘C’表示双字节编码,‘A’表示直接查表的ASCII字符;width是字符的宽度;height是字符的高度。

对于汉字或其它语言的本地编码,一般都是双字节编码。

且第一个字节的编码大于0x80。

简体汉字的编码的两个字节都从0xA0开始。

Byte2Start给出编码的第二字节的开始代码,例如,简体汉字库为0xA0,此处就直接写A0,繁体汉字库为0x40,此处就写40;Byte1Start给出编码的第一字节的开始码,例如简体汉字为0xA0,则此处直接写A0,繁体汉字库为0x80,此处就写80。

它们的缺省值都是0x80。

Byte2Start和Byte1Start的使用可大大减少字库文件的长度,并且可以更有效的兼容其它语言的编码。

 

第三章文件格式

§3.1 XMP图片格式

一个XMP图片中象素的存储顺序为先行后列,例如,对下面这个图片,取点顺序为:

 

Aa,Ba,Ca,Da,……Sa,

Ab,Bb,Cb,Db,……Sb,

.....

Ah,Bh,Ch,Dh,……Sh

16位色XMP:

在SuperComm控制器中,每2个字节表示1个象素。

对于一个高度为H,宽度为W的图片,使用H*W*2个字节存储一个XMP图片。

双色无灰度XMP:

在SCL2008控制器中,每2个位表示1个象素,每个字节可以表示垂直方向的4个象素,对于一个高度为H,宽度为W的图片,使用(H+3)/4*W个字节存储一个XMP图片(这里的/是整除)。

行数较小的存储在字节中位序较小的位置,d7,d5,d3,d1代表绿色,d6,d4,d2,d0代表红色,相邻两位表示一个点。

对于上面的图片,第A行的颜色存储在d1,d0中,第B行的颜色存储在d3,d2中,第C行的颜色存储在d5,d4中…

单色无灰度XMP:

字库则是1位表示1个象素的XMP图片,每个字节可存储垂直方向的8个点,对于一个高度为H,宽度为W的字体,使用(H+7)/8*W表示一个字(这里的/是整除)。

行数较小的存储在字节中位序较大的位置。

对于上面的字形,第A行存储在d7,第B行存储在d6,第C行存储在d5……

§3.2 XMP文件格式

每个XMP格式文件有6字节的文件头:

  BYTE      XMPType

  BYTE      PictureCount

  WORD      Height

  WORD      Width

其中:

XMPType:

     XMP文件的格式类型

     PictureCount:

该XMP文件中包含的图片数量

     Height:

      XMP文件中最大图片的高度,单位:

象素

     Width:

       XMP文件中最大图片的宽度,单位:

象素

若XMPType=0,表示是16位色XMP图片,在XMP文件头之后,每个XMP图片之前还有4个字节表示该XMP图片的实际高度和宽度;

若XMPType=1,表示是双色无灰度XMP图片,在XMP文件头之后,每个XMP图片之前还有4个字节表示该XMP图片的实际高度和宽度;

若XMPType=2,表示是16位色相同大小的XMP图片,在XMP文件头之后顺序排列各XMP图片。

若XMPType=3,表示是三色无灰度的XMP图片,在XMP文件头之后,每个XMP图片之前还有4个字节表示该XMP图片的实际高度和宽度;

 

§3.3 TMC文件格式

节目表中,标记为‘T’播放项是时钟项,对应的播放文件是时钟类文件,一般使用后缀“TMC”。

该文件由四部分组成:

[文件头][显示项1][显示项2]……[字库1][字库2]……[背景图]

[文件头],12字节:

   [文件版本],2字节

1:

SuperComm的TMC文件,背景图为三色16位色的XMP图片;

2:

SuperComm的TMC文件,背景图为双色16位色的XMP图片;

3:

SCL2008的TMC文件,背景图为双色无灰度XMP图片

4:

保留

5:

SCL2008的TMC文件,背景图为三色无灰度XMP图片

   [背景图的高度],2字节

   [背景图的宽度],2字节

   [文件中的显示项数],2字节

   [本文件中包含的字库数],2字节

   [背景图在本文件中的偏移量],2字节

[显示项],24字节:

   [显示项类型],1字节。

类型代码如下:

1:

年,2:

月,3:

日,4:

星期,5:

时,6:

分,7:

秒,8:

温度,9:

湿度,10:

倒计时,11:

串口数据

   [显示颜色],3字节,第一字节为红色,第二字节为绿色,第三字节为蓝色

   [使用的字库在本文件中的偏移量],2字节

   [显示位数],1字节

[显示项特征],1字节,对倒计时项为计数方向,正计(0)倒计

(1);对串口数据为参数序号(1-8);对‘小时’数据为有符号数,用做显示小时数据的时区偏移值(例如,假设控制器时钟的小时值为‘3’,本字段为-2,则显示为‘1’),对温度数据为摄氏(0)华氏

(1)选择

[倒计时初始值],4字节,长整数

[串口数据的串口编号],1字节,0:

串口1,1:

串口2,2:

串口3

[数字首0不显示标记],1字节,0:

显示首0,1:

不显示首0

[修改本项的年],1字节,对1000取模

[修改本项的月],1字节

[修改本项的日],1字节。

上述三项与初始值配合,用于控制器自动计算倒计时

[未用],1字节

[显示项输出的垂直坐标],2字节

[显示项输出的水平坐标],2字节

[未用],2字节

[字库]:

    [字型高度],2字节

    [字型宽度],2字节

    [每个字使用的字节数],2字节

    [字符点阵],按照“先行后列,每个字节表示垂直方向的8点”的格式依序存放字符‘0’-‘9’、‘+’、‘-’、空格、小数点的显示点阵(每个字的点阵是单色XMP图片)

[背景图]:

   为一个XMP图片,遵循[文件头]中的图片[高度]和[宽度]。

若[文件版本]=2,则是16位色XMP图片;若[文件版本]=3,则是双色XMP图片。

   TMC文件中各类结构的C语言格式如下:

   #define      WORDunsignedshort;

    #define      BYTEunsignedchar;

struct Tmc_Head

{

        WORD        Flag;

        WORD        AreaHeight;

        WORD        AreaWidth;

        WORD        ItemCount;

        WORD        FontCount;

        WORD        BkGroundOffset;

};

struct  Item_Struct

{

    BYTE        AType;

    BYTE        Color_Red;

    BYTE        Color_Green;

    BYTE        Color_Blue;

    WORD        FontOffset;

    BYTE        BitCount;

    Signedchar  CountDir;//当AType=5为’时’,此字段为时区偏移

    long        Value;

    BYTE        ComPort;

    BYTE        HideZero;

    BYTE        Year;

    BYTE        Month;

    BYTE        Day;

    BYTE         NC0;

    short       YPosi;

    short       XPosi;

    WORD         NC1;

};

structFont_Struct

{

    WORD        CharHeight;

    WORD        CharWidth;

    WORD        ByteCount;

    BYTE        Font[];

};

   TMC文件中各类结构的Delphi语言格式如下:

   Tmc_Head=PackedRecord

        Flag             :

WORD;

        AreaHeight        :

WORD;

        AreaWidth        :

WORD;

        ItemCount        :

WORD;

        FontCount        :

WORD;

        BkGroundOffset    :

WORD;

End;

Item_Struct=PackedRecord

    Atype             :

BYTE;

    Color_Red        :

BYTE;

    Color_Green     :

BYTE;

    Color_Blue        :

BYTE;

    FontOffset        :

WORD;

    BitCount         :

BYTE;

    CountDir        :

shortint; //当AType=5为’时’,为时区偏移,

    Value             :

Integer;

    ComPort           :

BYTE;

    HideZero         :

BYTE;

    Year             :

BYTE;

    Month             :

BYTE;

    Day              :

BYTE;

    NC0               :

BYTE;

    Yposi             :

Smallint;

    Xposi             :

Smallint;

    NC1               :

WORD;

End;

Font_Struct=PackedRecord

    CharHeight        :

WORD;

    CharWidth        :

WORD;

    ByteCount        :

WORD;

    Font             :

ArrayOfBYTE;

End;

§3.4 字库文件格式

所有字的单色无灰度

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2