-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgageAcqMulti.m
70 lines (55 loc) · 1.91 KB
/
gageAcqMulti.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
%New acquisition code, needs to be tested, now it is possible to acquire
%at >10kHz; the bottleneck is the transfer rate
% function [tt, s, tStamp] = gageAcqMulti(DAQ,nAcq)
function [s, tStamp] = gageAcqMulti(DAQ,nAcq,channel)
if nargin < 3
channel = 1;
end
switch channel
case 1 % do nothing
case 2 % do nothing
otherwise
error 'Invalid number of channels to fetch\n';
end
% tStart = tic;
% Start acquiring:
% ret = CsMl_Capture(DAQ);
% CsMl_ErrorHandler(ret, 1, DAQ);
% tt(1) = toc(tStart);
% moved outside
% status = CsMl_QueryStatus(DAQ);
%
% while status ~= 0
% status = CsMl_QueryStatus(handle);
% end
% tt(2) = toc(tStart);
% Transfer channel:
transfer.Channel = 1;
% tt(3) = toc(tStart);
[ret, acqInfo] = CsMl_QueryAcquisition(handle);
% tt(4) = toc(tStart);
% Data:
rawdata = 1; % 1) raw data, 0/nthg) voltages
% transfer.Mode = CsMl_Translate('Default', 'TxMode');
% tt(5) = toc(tStart);
transfer.Length = acqInfo.SegmentSize;
% transfer.Start = -acqInfo.TriggerHoldoff;
transfer.Start = 0;
nPts = transfer.Length-transfer.Start;
transfer.Length = nPts;
transfer.StartSegment = 1;
transfer.SegmentCount = acqInfo.SegmentCount;
transfer.Channel = channel; % 0) get all the channels
% tt(6) = toc(tStart);
[ret, s, out] = CsMl_TransferEx(handle, transfer);
% [ret, s] = CsMl_TransferEx(handle, transfer);
s = reshape(s, nPts, nAcq)';
% tt(7) = toc(tStart);
% transfer.Mode = CsMl_Translate('TimeStamp', 'TxMode');
% transfer.Length = acqInfo.SegmentCount;
% transfer.Segment = 1;
% [ret, tStamp, tickfr] = CsMl_Transfer(handle, transfer);
[ret, tStamp] = CsMl_TransferTimeStampEx(handle, transfer.StartSegment, transfer.SegmentCount);
% CsMl_ErrorHandler(ret, 1, handle);
% tt(8) = toc(tStart);
end