Linea HS Multifield Camera
•
75
CLHS File Transfer Protocol
If you are not using CamExpert to perform file transfers, pseudo-code for the CLHS File Transfer
Protocol is as follows.
Download File from Camera
•
Select the file by setting the FileSelector feature
•
Set the FileOpenMode to Read
•
Set the FileOperationSelector to Open
•
Open the file by setting FileOperationExecute to 1
This is a read-write feature - poll it every 100 ms until it returns 0 to indicate it has completed
•
Read FileOperationStatus to confirm that the file opened correctly
o
A return value of 0 is success. Error codes are listed in the XML.
•
Read FileSize to get the number of bytes in the file
•
From FileAccessBuffer.Length you will know that maximum number of bytes that can be read
through FileAccessBuffer is 988.
•
For Offset = 0 While ((Offset < FileSize) and (Status = 0)) Do
o
Set FileAccessOffset to Offset
o
Set FileAccessLength to min(FileSize - Offset, FileAccessBuffer.Length), the number of bytes
to read
o
Set the FileOperationSelector to Read
o
Read the file by setting FileOperationExecute to 1 and poll until 0 and complete
o
Read FileOperationStatus to confirm the read worked
o
Read FileOperationResult to confirm the number of bytes read
o
Read the bytes from FileAccessBuffer
o
Write bytes read to host file.
•
Next Offset = number of bytes read
•
Set the FileOperationSelector to Close
•
Close the file by setting FileOperationExecute to 1 and poll until 0 and complete
•
Read FileOperationStatus to confirm the close worked
Upload File to Camera
•
Select the file by setting the FileSelector feature
•
Set the FileOpenMode to Write
•
Set the FileOperationSelector to Open
•
Open the file by setting FileOperationExecute to 1
This is a read-write feature - poll it every 100 ms until it returns 0 to indicate it has completed
•
Read FileOperationStatus to confirm that the file opened correctly
A return value of 0 is success. Error codes are listed in the XML.
•
Read FileSize to get the maximum number of bytes allowed in the file
o
Abort and jump to Close if this is less the file size on the host
•
From FileAccessBuffer.Length you will know that maximum number of bytes that can be written
through FileAccessBuffer is 988.