Skip to content
Snippets Groups Projects
Commit 1c8f3a2e authored by Maximilian Schnabel's avatar Maximilian Schnabel
Browse files

added warning to setProperties, if invalid input parameters are given

parent 25040967
No related branches found
No related tags found
2 merge requests!7Keep going if mountpoint exists (persistent),!6Docs NXT compatibility
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment