深圳励研科技LED控制卡 CL3000 Protocol.docx
《深圳励研科技LED控制卡 CL3000 Protocol.docx》由会员分享,可在线阅读,更多相关《深圳励研科技LED控制卡 CL3000 Protocol.docx(10页珍藏版)》请在冰点文库上搜索。
深圳励研科技LED控制卡CL3000Protocol
CL3000asynchronouscontrolsystem
CommunicationProtocolv1.0
Content
======
Chapter1Overview2
§1.1Formatofcommunicationdatapacket2
§1.2CRCalgorithm3
Chapter2Controlcommands4
2.1Resetcontrolcard4
2.2Getrunningstate4
2.3Checkcontrolcardtime5
2.4Readingcontrolcardtime5
2.5Setautomaticsreenon-offtime5
2.6Pause/continuetoplayprogram5
2.7Setscreenpowersupplyon-offmode5
2.8Setbrightness6
2.9Sendtimeperiodbrightnesstable6
Chapter3Programplaycommands6
3.1Picturefilestructure6
3.2Sendpicturefile.7
3.3Programliststructure8
3.4Sendprogramlist8
Chapter4Realtimedisplaycommand10
4.1Realtimedisplaytext10
Chapter1Overview
Inthisprotocol,DWORDisfourbytesdata,WORDisdoublebytesdata,BYTEissinglebytedata.Savingformatislittleendian,whichmeans,fourbytes(32bits)dataisstoredas:
d7-d0,d15-d8,d23-d16,d31-d24;doublebytes(16bits)dataisstoredas:
d7-d0,d15-d8.
Thedisplaypicture,textandfontlibrarysavedintheFLASHofcontrolcard,thestandardconfigurationofcontrolcardis1pc2MBFLASH,wecanincreaseonemore2MBFLASHorchangeinto2pcs4MBFlASH.
Each4096byteinFLASHinonepage,thecontentmustbesavedatpageunit,forexample,one5000bytephotowillbestoredin2FLASHpages,thatis8192bytessavespace.
CL3000seriescontrolcardsupportserialportandEthernetcommunication,networkcommunicationsupportUDP/IP,nonsupportportmultiplex,thatistosaythecontrolcardcanreceivedatafromanyport,butonlycanreceiveonemainhostdataatthesametime.Thecommunicationdatapacketformatofnetworkisthesameasserialport.
§1.1Formatofcommunicationdatapacket
FormatofcommunicationdatapacketforCL3000:
7byteslead+1bytelednumber+1bytereserved+1bytepacketsequencenumber+4bytespassword+2bytesdatalength+data+2bytesCRC
Lead:
ESC+“$LYMIN”(ESC’sASCIIcodeis0x1b).
Lednumber:
Ledcontrolcardaddress,defaultis0.
Reserved:
shouldbe0.
Packetsequencenumber:
Numberstartedfrom0,theresponsepacketforthispacketwillusethesamepacketsequencenumber,sothesendercanknowwhichsendedpackettheresponsepacketcorrespondingtoifthesenderneedtoknow.
Password:
Networkaccesspassword.Serialcommunicationdoesnotusepassword,thisshouldbefilledwith0xFFFFFFFF.
Datalength:
Lengthoffollowingdata,notincludethelastCRC.
Data:
Commandanddatasendtocontrolcard.ThereisdetailedinstructionforeachcommanddataformatBELOW.
CRC:
CRCcheck,refersection1.2foralgorithm.
Responsepackethasthesameformatassendingpacket,exceptthat只theleadchangetoESC+”$lymin”.Thepasswordfieldisreserved.
Thefirst3bytesinresponsepacketis:
command+”OK”or”FL”,representthecommandexcutesucessfullyorfailed.Followingistheresponsedataifany.
§1.2CRCalgorithm
BelowusingClanguagetodescribeCRCcheckalgorithm:
WORDCRC_Table[256]=
{
0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7,
0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef,
0x1231,0x0210,0x3273,0x2252,0x52b5,0x4294,0x72f7,0x62d6,
0x9339,0x8318,0xb37b,0xa35a,0xd3bd,0xc39c,0xf3ff,0xe3de,
0x2462,0x3443,0x0420,0x1401,0x64e6,0x74c7,0x44a4,0x5485,
0xa56a,0xb54b,0x8528,0x9509,0xe5ee,0xf5cf,0xc5ac,0xd58d,
0x3653,0x2672,0x1611,0x0630,0x76d7,0x66f6,0x5695,0x46b4,
0xb75b,0xa77a,0x9719,0x8738,0xf7df,0xe7fe,0xd79d,0xc7bc,
0x48c4,0x58e5,0x6886,0x78a7,0x0840,0x1861,0x2802,0x3823,
0xc9cc,0xd9ed,0xe98e,0xf9af,0x8948,0x9969,0xa90a,0xb92b,
0x5af5,0x4ad4,0x7ab7,0x6a96,0x1a71,0x0a50,0x3a33,0x2a12,
0xdbfd,0xcbdc,0xfbbf,0xeb9e,0x9b79,0x8b58,0xbb3b,0xab1a,
0x6ca6,0x7c87,0x4ce4,0x5cc5,0x2c22,0x3c03,0x0c60,0x1c41,
0xedae,0xfd8f,0xcdec,0xddcd,0xad2a,0xbd0b,0x8d68,0x9d49,
0x7e97,0x6eb6,0x5ed5,0x4ef4,0x3e13,0x2e32,0x1e51,0x0e70,
0xff9f,0xefbe,0xdfdd,0xcffc,0xbf1b,0xaf3a,0x9f59,0x8f78,
0x9188,0x81a9,0xb1ca,0xa1eb,0xd10c,0xc12d,0xf14e,0xe16f,
0x1080,0x00a1,0x30c2,0x20e3,0x5004,0x4025,0x7046,0x6067,
0x83b9,0x9398,0xa3fb,0xb3da,0xc33d,0xd31c,0xe37f,0xf35e,
0x02b1,0x1290,0x22f3,0x32d2,0x4235,0x5214,0x6277,0x7256,
0xb5ea,0xa5cb,0x95a8,0x8589,0xf56e,0xe54f,0xd52c,0xc50d,
0x34e2,0x24c3,0x14a0,0x0481,0x7466,0x6447,0x5424,0x4405,
0xa7db,0xb7fa,0x8799,0x97b8,0xe75f,0xf77e,0xc71d,0xd73c,
0x26d3,0x36f2,0x0691,0x16b0,0x6657,0x7676,0x4615,0x5634,
0xd94c,0xc96d,0xf90e,0xe92f,0x99c8,0x89e9,0xb98a,0xa9ab,
0x5844,0x4865,0x7806,0x6827,0x18c0,0x08e1,0x3882,0x28a3,
0xcb7d,0xdb5c,0xeb3f,0xfb1e,0x8bf9,0x9bd8,0xabbb,0xbb9a,
0x4a75,0x5a54,0x6a37,0x7a16,0x0af1,0x1ad0,0x2ab3,0x3a92,
0xfd2e,0xed0f,0xdd6c,0xcd4d,0xbdaa,0xad8b,0x9de8,0x8dc9,
0x7c26,0x6c07,0x5c64,0x4c45,0x3ca2,0x2c83,0x1ce0,0x0cc1,
0xef1f,0xff3e,0xcf5d,0xdf7c,0xaf9b,0xbfba,0x8fd9,0x9ff8,
0x6e17,0x7e36,0x4e55,0x5e74,0x2e93,0x3eb2,0x0ed1,0x1ef0
};
FunctiontocalculateCRCcheck:
voidCRC(WORD*CRCValue,BYTEch);
{
WORDNewCRC=*CRCValue;
BYTECV;
CV=((NewCRC>>8)^ch)&0xff;
NewCRC=(NewCRC<<8)^CRC_Table[CV];
*CRCValue=NewCRC;
}
AssumetherehasnbytesdatastoredinByteAry,thentheCRCalgorithmisasbelow:
WORDCRCResult=0;
for(intI=0;IChapter2Controlcommands
Controlcommandsincluderesetcontrolcard,getrunningstate,setbrightness,settimeofon-offscreen.
2.1Resetcontrolcard
Commandformat:
'V'+1byteresettype+2byteparameter
resettype:
0:
restartplayflow1:
resetcontrolcard2:
releasenetwork,allowothernetworkmainhosttovisit.
parameter:
reserved,fill0.
2.2Getrunningstate
Commandformat:
'A'+1byte0+2bytedatalength+4bytes0
datalengthisthelengthofstructRunningStateStru,whichdefinedinMiniLED.h.
TheresponsepacketwillcontaindataofRunningStateStrustructure.
2.3Checkcontrolcardtime
Commandformat:
'C'+1bytesecond+1byteminute+1bytehour+1bytedate+1bytemonth+1byteweek+1byteyear+1byte0
Week0-6representSunday,MondaytoSaturday
Year0-99represent2000to2099
2.4Readingcontrolcardtime
Commandformat:
'E'
Thedataareaformatofbacktomessageis1bytesecond+1byteminute+1bytehour+1bytedate+1bytemonth+1byteweek+1byteyear+1byte0
2.5Setautomaticsreenon-offtime
Commandformat:
'B'+1byte0+1bytedatalength4+1byte0+1byteautomaticonminute+1byteautomaticonhour+1byteautomaticoffminute+1byteautomaticoffhour
Remark:
Thetimeshouldbiggerthansignofftimewhichsetting,thenthesigncanclose.
2.6Pause/continuetoplayprogram
Commandformat:
'K'+1bytecontrolmark+2byteparameter
Controlmark:
0pauseplay1recovertocontinuetodisplay
Parameterkeep,fill0
2.7Setscreenpowersupplyon-offmode
Commandformat:
'P'+1bytemode
Mode:
0:
forcetoturnoffscreen1:
forcetoturnonscreen2:
automaticon-offscreen
2.8Setbrightness
Commandformat:
'Y'+1bytesetbrightnessvalue
Brightnessvalue:
0-15meansbrightnessgrade1/16,2/16,...16/16(fulllighting)。
16meansusebrightnesssensortoadjustautomatically,17meansthesettingofusingperiodbrightnesstable.
2.9Sendtimeperiodbrightnesstable
Commandformat:
'B'+1byte1+1bytedatalength+1byte0+2bytetimeperiod1+…
Eachtimeperiodtwobytes,theformatisbit15,keepingfill0,bit14..10hour,bit9..4minute,bit3..0brightness。
Value0meansinvalidtimeperiod,soignorethefollowingtimeperiodsetting。
Atmost6pcsbrightnesstimeperiod,thatisthemax.datalengthis12bytes.
Chapter3Programplaycommands
Programplaycommandsincludetwoaspects,oneisplaycontent,thatispicturefile,theotherisprogramlist,thecontrolcardtodisplaypictureaccordingtoaffectofprogramsetting.
3.1Picturefilestructure
ThepicturefileformatofCL3000isproprietaryformat,whichconsistsof2parts:
Filehead+picturedotmatrixdata
Fileheadis12byte,theformatisPicFileHdrconsistdefinitioninCL3000programmermanual.
Belowisformatdefinitionforpicturedotmatrixdata:
Pixeldotsavedasrow,firstlysavethefirstrowpixel,thensavethesecondpixel,…,ifitisdualcolorpicture,firstlysaveredcolorpixelvalue,thensavegreencolorpixelvalue.Asforeachrowpixel,each8pcspixelssaveintoonebyte,onebitmeansonepixel,0meansblack,1meansredorgreen,
ToppixelstoreintheLSBofbyte.Sometopbitsinthelastbyteperhapsnotbeused,asforasinglecolorpicturewithheightH,widthW,thepixeldotoccupy(H+7)/8*Wbyte,dualcolorpicturewillmultiply2.
Thewidthandheightofpicturefileshouldbethesameasit’ssubareasize.
3.2Sendpicturefile.
Commandformat:
'L'+1byte0+2bytepicturefileindex+4bytesoffsetinpicturefile(512bytesalign)+2bytedownloaddatalength+picturefiledata。
Picturefileindex:
numberedfrom0,butthefront4pcspicture(numbered0-3)saveforrealtimelayoutasbackgroundpicture,sothecommonpicturefileshouldbenumberedfrom4.
Lengthofdownloaddata:
notexceed512byte,cannotstrideSPIFLASHpage.Usuallysendthepicturefiledatawith512byteasoneunit,iflastlynotenough512byte,thesendlengthaccordingtotheleftlength.
ThisfunctiondirectlysendthepicturedatatoFlash,ifthepictureisplayingwhenread-incontrolcard,thescreenwillshowabnormal,sowhenyousendpicture,pleasestopplaying.
Themax.lengthofsinglepicturefileforcontrolcardisrelatedwiththedimensionofleddisplay,single/dualcolor,andeachsubareadimension,cangetPicFileSizeareaofRunningStateStru,thecontrolcardsavepicturefilebythisunit,thetotalsizeofpicturefilesavedareacangetfromStorgePicSizofRunningStateStr