Velodyne Acoustics HDL-64E S2 Home Security System User Manual


 
Matlab sample code to read calibration data from HDL-64E output.
fileFilter = '*.pcap';
[File_name,Directory]=uigetfile(fileFilter,'Open a .pcap file') ;
Filename=[Directory File_name];
tic;
fid=fopen(Filename);
ttc=fread(fid,40);
ttc=fread(fid,42);
ttc=fread(fid,inf,'1206*uint8=>uint8',58);
%ttch=dec2hex(ttc);
% Determine how many data packets.
Packet=size(ttc)/1206;
% Convert data to single precision.
S1=single(ttc(2,:))*256+single(ttc(1,:));
S2=single(ttc(102,:))*256+single(ttc(101,:));
S3=single(ttc(202,:))*256+single(ttc(201,:));
S4=single(ttc(302,:))*256+single(ttc(301,:));
for i=0:10000 % Packets loop
status(i+1)=(ttc(1205+i*1206));
value(i+1)=(ttc(1206+i*1206));
end
a=[85 78 73 84 35]
fclose(fid);
toc;
Ind=strfind(value,a);
% Loop through 64 lasers.
for i=1:64
temp=single(value(Ind(1)+64*(i-1)+16:Ind(1)+64*(i-1)+16+7));
temp1=single(value(Ind(1)+64*(i-1)+32:Ind(1)+64*(i-1)+32+7));
temp2=single(value(Ind(1)+64*(i-1)+48:Ind(1)+64*(i-1)+48+7));
temp3=single(value(Ind(1)+64*(i-1)+64:Ind(1)+64*(i-1)+64+7));
LaserId(i)=temp(1);
% Add high and low bytes of Vertical Correction Factor together and check if
positive or negative correction factor.
VerticalCorr(i)=temp(3)*256+temp(2);
if VerticalCorr(i)>32768
VerticalCorr(i)=VerticalCorr(i)-65536;
End
% Scale Vertical Correction Factor by Diving by 100.
VerticalCorr(i)=VerticalCorr(i)/100;
[ 20 ]
HDL-64E S2 and S2.1 User’s Manual
