diff --git a/OOequipment/FunctionGenerator.m b/OOequipment/FunctionGenerator.m index e5c51d8..3d1a2c1 100644 --- a/OOequipment/FunctionGenerator.m +++ b/OOequipment/FunctionGenerator.m @@ -12,7 +12,25 @@ classdef FunctionGenerator < Equipment end methods + function wf = get.waveform(fg) + wf = fg.query('FUNCtion:SHAPe?') + + end end + + methods (Static) + function wf = getWave(inwf) + wf = regexp(inwf, '(?i)(si|sq|[trndu1-7]|s)', 'match', 'once'); + + if isempty(wf) + error('Invalid waveform.'); + end + + wf = regexprep(wf, {'^(1|si|(?-i)s)$', '^(2|sq|(?-i)S)$', '^[3t]$', '^[4r]$', '^[5n]$', '^[6d]$', '^[7u]$'}, ... + {'sinusoid', 'square', 'triangle', 'ramp', 'noise', 'dc', 'user'}, 'ignorecase'); + + end + end end