| 35 | | obj = varargin{1}; |
| 36 | | return; |
| | 36 | tmp = varargin{1}; |
| | 37 | data = tmp.data(); |
| | 38 | else |
| | 39 | port = 0; |
| | 40 | if nargin > 0 |
| | 41 | val = varargin{1}; |
| | 42 | if isscalar(val) && isnumeric(val) && val >= 0 && val <= 2 |
| | 43 | port = val; |
| | 44 | elseif ischar(val) |
| | 45 | switch lower(val) |
| | 46 | case 'a' |
| | 47 | port = 0; |
| | 48 | case 'b' |
| | 49 | port = 1; |
| | 50 | case 'c' |
| | 51 | port = 2; |
| | 52 | otherwise |
| | 53 | error('MotorSettingError:InvalidPort',... |
| | 54 | 'Port may be one of ''A'', ''B'', or ''C''.'); |
| | 55 | end |
| | 56 | else |
| | 57 | error('MotorSettingError:InvalidPort',... |
| | 58 | 'Port may be one of ''A'', ''B'', or ''C''.'); |
| | 59 | end |
| | 60 | end |
| | 61 | |
| | 62 | data.port = port; |
| | 63 | data.power = 0; |
| | 64 | data.mode.motorOn = 1; |
| | 65 | data.mode.brake = 1; |
| | 66 | data.regulationMode = 'IDLE'; |
| | 67 | data.turnRatio = 0; |
| | 68 | data.runState = 'RUNNING'; |
| | 69 | data.tachoLimit = 0; |
| 38 | | |
| 39 | | port = 0; |
| 40 | | if nargin > 0 |
| 41 | | val = varargin{1}; |
| 42 | | if isscalar(val) && isnumeric(val) && val >= 0 && val <= 2 |
| 43 | | port = val; |
| 44 | | elseif ischar(val) |
| 45 | | switch lower(val) |
| 46 | | case 'a' |
| 47 | | port = 0; |
| 48 | | case 'b' |
| 49 | | port = 1; |
| 50 | | case 'c' |
| 51 | | port = 2; |
| 52 | | otherwise |
| 53 | | error('MotorSettingError:InvalidPort',... |
| 54 | | 'Port may be one of ''A'', ''B'', or ''C''.'); |
| 55 | | end |
| 56 | | else |
| 57 | | error('MotorSettingError:InvalidPort',... |
| 58 | | 'Port may be one of ''A'', ''B'', or ''C''.'); |
| 59 | | end |
| 60 | | end |
| 61 | | |
| 62 | | data.port = port; |
| 63 | | data.power = 0; |
| 64 | | data.mode.motorOn = 1; |
| 65 | | data.mode.brake = 1; |
| 66 | | data.regulationMode = 'IDLE'; |
| 67 | | data.turnRatio = 0; |
| 68 | | data.runState = 'RUNNING'; |
| 69 | | data.tachoLimit = 0; |
| 70 | | |