/usr/share/psychtoolbox-3/PsychHardware/PR670Toolbox/PR670set.m is in psychtoolbox-3-common 3.0.11.20131230.dfsg1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 72 73 74 75 76 77 78 79 80 | function values = PR670setget(vargin)
% PR670setget - Set and get PR-670 attributes
%
% Syntax:
% configOUT = PR670setget(
% configOUT = PR670config(configIN)
%
% Description:
% Sets various attributes of the PR-670.
%
% Arguments are attribute, value pairs
%
% Supported attributes
% 'GetAperture' -- Get apperture. Values are numeric in degrees
% 'SetAperture' -- Set apperture. Values are numeric in degrees
% Allowable values: 1 , 0.5, 0.25, 0.125
% ordered { Units, Exposure, N Samples, CIE Observer, Sync Mode, Frequency }.
%% Parse the input
p = inputParser;
addOptional(p,'Aperture',[],@isnumeric);
parse(p,varargin{:});
% Display parser results
disp(['Method: ', p.Results.method])
if ~isempty(fieldnames(p.Unmatched))
disp('Extra inputs:')
disp(p.Unmatched)
end
if ~isempty(p.UsingDefaults)
disp('Using defaults: ')
disp(p.UsingDefaults)
end
method = p.Results.method;
% If no inputs, get current state of PR-670 and return string
if nargin == 0
PR670read;
PR670write('D601')
configOUT = PR670read;
return
end
% PR-670 aperture codes
% 0 -> 1 deg
% 1 -> 1/2 deg
% 2 -> 1/4 deg
% 3 -> 1/8 deg
% otherwise, parse string input and configure PR
if ~iscell(configIN)
configIN = textscan(configIN,'%s','delimiter',',');
configIN = configIN{1}([end-7,end-4:end],:);
end
% Setting suffix for PR setting commands
% U = units, E = exposure, N = n samples, O = CIE observer, S = sync mode, K = freq.
sufx = 'UENOSK';
for j = 1:length(configIN)
if ischar(configIN{j})
cmdStr = ['S',sufx(j),configIN{j}];
else
cmdStr = ['S',sufx(j),num2str(configIN{j})];
end
PR670write(cmdStr)
tmp = PR670read;
if str2num(tmp) ~=0
disp(['Error: could not write ',cmdStr,' to PR-670. Config aborted.'])
configOUT = tmp;
return
end
end
PR670write('D601')
configOUT = PR670read;
|