Commit 1c8f3a2e authored by Maximilian Schnabel's avatar Maximilian Schnabel
Browse files

added warning to setProperties, if invalid input parameters are given

parent 25040967
......@@ -347,17 +347,15 @@ classdef Motor < MaskedHandle & dynamicprops
% * This is a pretty 'heavy' function, as it tests if both motors are
% connected AND aren't running, wasting four packets, keep that in mind.
%
%::
%
% Example:
% brick = EV3();
% brick.connect('usb');
% motor = brick.motorA;
% slave = brick.motorB;
% motor.power = 50;
% motor.syncedStart(slave);
% % Do stuff
% motor.stop();
% Example:
% b = EV3(); % |br|
% b.connect('usb'); % |br|
% m = b.motorA; % |br|
% slave = b.motorB; % |br|
% m.power = 50; % |br|
% m.syncedStart(slave); % |br|
% % Do stuff |br|
% m.stop(); % |br|
%
% See also MOTOR.STOP, MOTOR.SYNCEDSTOP / :meth:`stop`, :meth:`syncedStop`
......@@ -715,21 +713,20 @@ classdef Motor < MaskedHandle & dynamicprops
% power (numeric in [-100,100]): *[OPTIONAL]*
% batteryMode ('Voltage'|'Percentage'): *[OPTIONAL]*
%
% ::
%
% Example:
% brick = EV3();
% brick.connect('bt', 'serPort', '/dev/rfcomm0');
% brick.motorA.setProperties('debug', 'on', 'power', 50, 'limitValue', 720, 'speedRegulation', 'on');
% % Instead of: brick.motorA.debug = 'on';
% % brick.motorA.power = 50;
% % brick.motorA.limitValue = 720;
% % brick.motorA.speedRegulation = 'on';
% Example:
% b = EV3(); % |br|
% b.connect('bt', 'serPort', '/dev/rfcomm0'); % |br|
% b.motorA.setProperties('debug', 'on', 'power', 50, 'limitValue', 720, 'speedRegulation', 'on'); % |br|
% % Instead of: b.motorA.debug = 'on'; |br|
% % b.motorA.power = 50; |br|
% % b.motorA.limitValue = 720; |br|
% % b.motorA.speedRegulation = 'on'; |br|
%
p = inputParser();
p.KeepUnmatched = 1;
% Set default values
if motor.init
defaultDebug = 0;
......@@ -767,7 +764,17 @@ classdef Motor < MaskedHandle & dynamicprops
% Parse...
p.parse(varargin{:});
if ~isempty(fieldnames(p.Unmatched))
A = fieldnames(p.Unmatched);
warn = 'The following input parameters were invalid: ';
warn = [warn A{1}];
for i = 2:length(A)
warn = [warn ', ' A{i}];
end
warning(warn)
end
% Set properties
if motor.init
motor.port = p.Results.port;
......@@ -1042,10 +1049,9 @@ classdef Motor < MaskedHandle & dynamicprops
end
% If motor is *busily* running, stop it. That avoids suicidal stuff like:
% brick = EV3();
% brick.connect('usb');
% brick.motorA.start();
% brick.disconnect(); -> Motor still running and cannot directly be stopped anymore
% b = EV3(); b.connect('usb');
% b.motorA.start();
% b.disconnect(); -> Motor still running and cannot directly be stopped anymore
if motor.isRunning
motor.stop();
end
......@@ -1067,4 +1073,4 @@ classdef Motor < MaskedHandle & dynamicprops
end
end
end
end
end
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment