Hi guys,
I'm currently having a hard time sending a bmp image from MATLAB to the LCr. I can load the internal patterns without a problem, but I haven't had success in sending a custom image, yet. Any hints are welcome!
This is my code:
tcpObject = tcpip('192.168.1.100',21845)
fopen(tcpObject)
fwrite(tcpObject,uint8(hex2dec(['02';'01';'01';'00';'01';'00';'00';'05'])));%switch display mode to static
%create simple image
im = zeros( 30,30);
im (3:8, 3:8) = 1;
imwrite( im, 'im.bmp' );
imFile = fopen( 'im.bmp' );
imData = fread( imFile, inf, 'uchar' );
fclose( imFile );
lenData = length( imData );
lenDataMSB = floor( lenData / 256 )
lenDataLSB = mod( lenData, 256 )
%send header
header = uint8(hex2dec(['02';'01';'05';'00'; dec2hex( lenDataLSB, 2 ); dec2hex( lenDataMSB, 2 )]));%static image
fwrite(tcpObject,header);
%send data
data = uint8(imData);
%limit packet size
MAX_SIZE = 512;
buffer = data;
while (~isnan(buffer))
if( length(buffer) > MAX_SIZE )
currentPacket = buffer( 1 : MAX_SIZE);
buffer = buffer( MAX_SIZE + 1 : end );
else
currentPacket = buffer( 1 : end);
buffer = NaN;
end
fwrite(tcpObject,currentPacket);
disp('wrote some data')
end
%send checksum
checksum = mod( sum(header) + sum(data), 256 );
fwrite(tcpObject,checksum);
fclose( tcpObject );