-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathstoreDataFromSerial.m
45 lines (42 loc) · 1.63 KB
/
storeDataFromSerial.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
function storeDataFromSerial(obj,event,handles)
global Ardu_serial_input session;
% sound def
sounddur=10000;
s=zeros(sounddur,1);
for freqval=1:sounddur
s(freqval)=sin(-freqval/10);
% s(a)=tan(a)*sin(-a/10);
end
Freq=20000; %increase value to speed up the sound, decrease to slow it down
try
while (get(Ardu_serial_input, 'BytesAvailable')~=0) && session.gameon == true
% read until terminator
sentence = fscanf( Ardu_serial_input, '%s');
%decodes "sentence" seperated (delimted) by commas
% decode(sentence);
if strcmp(sentence,'OpenLeftSolenoid')
session.MouseData.leftcount=session.MouseData.leftcount+1;
session.MouseData.rew=session.MouseData.rew+1;
session.MouseData.lefttime=...
[session.MouseData.lefttime;toc];
elseif strcmp(sentence,'OpenRightSolenoid')
session.MouseData.rightcount=session.MouseData.rightcount+1;
session.MouseData.rew=session.MouseData.rew+1;
session.MouseData.righttime=...
[session.MouseData.righttime;toc];
elseif strcmp(sentence,'Frontpanelexplored') %Front:DoubleReward!
%play sound
soundsc(s,Freq)
session.MouseData.frontcount=session.MouseData.frontcount+1;
% session.MouseData.rew=session.MouseData.rew+2;
session.MouseData.fronttime=...
[session.MouseData.frontime;toc];
end
if session.MouseData.rew > 400 || toc > 3600
session.gameon = false;
disp ('Timeout: Connection ended');
end
end
catch
end
end