-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSeqManager.m
More file actions
71 lines (69 loc) · 2.12 KB
/
SeqManager.m
File metadata and controls
71 lines (69 loc) · 2.12 KB
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
71
% FileName:SeqManager.m
% Author:GuoCheng
% E-mail:fortune@mail.ustc.edu.cn
% All right reserved @ GuoCheng.
% Modified: 2017.8.31
% Description:The class of SeqManger
classdef SeqManager
properties
function_ctrl = 0;
trigger_ctrl = 0;
counter_ctrl = 0;
length_wave = 0;
address_wave = 0;
end
methods
function obj = SeqManager(length_wave,address_wave,delay_count)
obj.counter_ctrl = delay_count;
obj.length_wave = length_wave;
obj.address_wave = address_wave;
end
function seq = GetTrigSeq(obj,stopflag)
seq = zeros(1,4);
if(stopflag)
seq(1) = (64+128)*256 + obj.trigger_ctrl;
else
seq(1) = 64*256 + obj.trigger_ctrl;
end
seq(2) = obj.counter_ctrl;
seq(3) = obj.length_wave;
seq(4) = obj.address_wave;
end
function seq = GetContSeq(obj,stopflag)
seq = zeros(1,4);
if(stopflag)
seq(1) = 128*256 + obj.trigger_ctrl;
else
seq(1) = obj.trigger_ctrl;
end
seq(2) = obj.counter_ctrl;
seq(3) = obj.length_wave;
seq(4) = obj.address_wave;
end
function seq = GetDelySeq(obj,stopflag)
if(obj.counter_ctrl == 0)
if(stopflag)
seq(1) = 128*256 + obj.trigger_ctrl;
else
seq(1) = obj.trigger_ctrl;
end
else
if(stopflag)
seq(1) = (128+32)*256 + obj.trigger_ctrl;
else
seq(1) = 32*256 + obj.trigger_ctrl;
end
end
seq(2) = obj.counter_ctrl;
seq(3) = obj.length_wave;
seq(4) = obj.address_wave;
end
function seq = GetTrigDelySeq(obj,stopflag)
seq1 = obj.GetTrigSeq(0);
seq1(3) = 2;
seq1(4) = 0;
seq2 = obj.GetDelySeq(stopflag);
seq = [seq1,seq2];
end
end
end