LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

CrystalFontz CFA635 communication

Solved!
Go to solution

This is a repost since I added it to an old thread no one was watching anymore... 

 

Anyone have any more info on communicating to the CrystalFontz 635 LCD display? I have used their 634 successfully.

 

I have been looking at their 635_WinTest_1.0.exe while I try to replicate the commands using Visa but there seems to be missing information (or I am just not getting it). In their Wintest app they have a packet viewer but it already formats the data so I can not see the raw format that I need to send. I remember on the 634 that "\" were required.

 

http://www.crystalfontz.com/product/CFA635-TMF-KU1.html has the PDF that on p19 says:

 

All packets have the following structure:
<type><data_length><data><CRC>
type is one byte, and identifies the type and function of the packet:
TTcc cccc
|||| ||||--Command, response, error or report code 0-63
||---------Type:
             00 = normal command from host to CFA-635
             01 = normal response from CFA-635 to host
             10 = normal report from CFA-635 to host (not in
                  direct response to a command from the host)
             11 = error response from CFA-635 to host (a packet
                  with valid structure but illegal content
                  was received by the CFA-635)

 

data_length specifies the number of bytes that will follow in the data field. The valid range of data_length is 0 to
22.
data is the payload of the packet. Each type of packet will have a specified data_length and format for data as
well as algorithms for decoding data detailed below.
CRC is a standard 16-bit CRC of all the bytes in the packet except the CRC itself. The CRC is sent LSB first. At the
port, the CRC immediately follows the last used element of data []. See APPENDIX C: CALCULATING THE
CRC(Pg.50) for details.
he following C definition may be useful for understanding the packet structure.
typedef struct
  {
  unsigned char
    command;
  unsigned char
    data_length;
  unsigned char
    data[MAX_DATA_LENGTH];
  unsigned short
    CRC;
  }COMMAND_PACKET;

 

p23 

0 (0x00): Ping Command
The CFA-635 will return the Ping Command to the host.
type = 0x00 = 010
valid data_length is 0 to 16
data[0-(data_length-1)] can be filled with any arbitrary data
The return packet is identical to the packet sent, except the type will be 0x40 (normal response, Ping Command):
type = 0x40 | 0x00 = 0x40 = 6410
data_length = (identical to received packet)
data[0-(data_length-1)] = (identical to received packet)

 

 

Can anyone describe the format to send (1) command that I can start with and build up from there? ie: using LV Visa to a Comm Port.

 

It would be much appreciated.

barry


0 Kudos
Message 1 of 5
(4,446 Views)
Solution
Accepted by topic author BarryGRAEllc
I have found the LabView low level functions written by Joris Robijn and will attempt to post them here. They are Open Source licensed so I do not feel it will be a problem. His web site is down and they were emailed to me directly after doing some extensive Googling.
barry


Message 2 of 5
(4,436 Views)

Hi,

 

I  have labview 8.5 version. could you take few minutes to convert the files from 2009 to 8.5 and post them. I appreciate your help.

 

mudda.

0 Kudos
Message 3 of 5
(4,387 Views)
Here you go, converted to 8.5. I especially like the "LabView" logo/characters that one of them makes.
barry


0 Kudos
Message 4 of 5
(4,374 Views)

Thanks a lot,

 

Mudda

0 Kudos
Message 5 of 5
(4,369 Views)