Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SCDDS-core
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SPC
SCDDS
SCDDS-core
Commits
ba94a76b
Commit
ba94a76b
authored
2 years ago
by
Cristian Galperti
Browse files
Options
Downloads
Patches
Plain Diff
multiple configurable base structure for waveform enabled
parent
ae667be3
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
classes/SCDclass_algo.m
+22
-4
22 additions, 4 deletions
classes/SCDclass_algo.m
classes/SCDclass_mdswg.m
+8
-1
8 additions, 1 deletion
classes/SCDclass_mdswg.m
with
30 additions
and
5 deletions
classes/SCDclass_algo.m
+
22
−
4
View file @
ba94a76b
...
@@ -24,6 +24,8 @@ classdef SCDclass_algo
...
@@ -24,6 +24,8 @@ classdef SCDclass_algo
exportedtpspermiss
% tunable parameters loading error permissivity rule
exportedtpspermiss
% tunable parameters loading error permissivity rule
buslist
% list of buses and their sources
buslist
% list of buses and their sources
defaulttunparampermissivity
% default tunparams loading permissivity
defaulttunparampermissivity
% default tunparams loading permissivity
wavegenbasestruct
% base struct name of the next added wavegen
exportedwgstructs
% list of exported waveforms structs
end
end
properties
properties
...
@@ -54,6 +56,8 @@ classdef SCDclass_algo
...
@@ -54,6 +56,8 @@ classdef SCDclass_algo
obj
.
timing
.
dt
=
1e-3
;
obj
.
timing
.
dt
=
1e-3
;
obj
.
buslist
=
[];
obj
.
buslist
=
[];
obj
.
defaulttunparampermissivity
=
true
;
obj
.
defaulttunparampermissivity
=
true
;
obj
.
wavegenbasestruct
=
''
;
obj
.
exportedwgstructs
=
{};
% Buses
% Buses
obj
.
modelslx
=
[
obj
.
modelname
,
'.slx'
];
obj
.
modelslx
=
[
obj
.
modelname
,
'.slx'
];
...
@@ -236,6 +240,11 @@ classdef SCDclass_algo
...
@@ -236,6 +240,11 @@ classdef SCDclass_algo
obj
.
refdatadictionaries
{
end
+
1
}
=
refdd
;
obj
.
refdatadictionaries
{
end
+
1
}
=
refdd
;
end
end
%% Wavegens setter and getters
function
obj
=
addwavegenbasetruct
(
obj
,
basestruct
)
obj
.
exportedwgstructs
{
end
+
1
}
=
basestruct
;
end
%% Data dictionary manipulation manipulations
%% Data dictionary manipulation manipulations
function
addbusestodd
(
obj
)
function
addbusestodd
(
obj
)
% Add buses to data dictionary from .m file descriptions
% Add buses to data dictionary from .m file descriptions
...
@@ -509,8 +518,9 @@ classdef SCDclass_algo
...
@@ -509,8 +518,9 @@ classdef SCDclass_algo
for
wgidx
=
1
:
numwavegens
for
wgidx
=
1
:
numwavegens
wg
=
obj
.
mdscontainer
.
mdswavegens
(
wgidx
);
wg
=
obj
.
mdscontainer
.
mdswavegens
(
wgidx
);
eval
([
'simdata.'
wg
.
gettarget
'=timeseries(wg.castdata([0;0]),[0;1]);'
]);
eval
([
'simdata.'
wg
.
gettarget
'=timeseries(wg.castdata([0;0]),[0;1]);'
]);
assignin
(
'base'
,
wg
.
getbasestruct
,
simdata
);
end
end
assignin
(
'base'
,
[
obj
.
getname
'_simdata'
]
,
simdata
);
%
assignin('base',
wg.getbasestruct
,simdata);
else
else
warning
(
'SCDclass_algo:buildworkspacesimdata'
,
'No wavegens configured for this algo, nothing to do.'
);
warning
(
'SCDclass_algo:buildworkspacesimdata'
,
'No wavegens configured for this algo, nothing to do.'
);
return
;
return
;
...
@@ -566,14 +576,22 @@ classdef SCDclass_algo
...
@@ -566,14 +576,22 @@ classdef SCDclass_algo
end
end
function
obj
=
addwavegen
(
obj
,
wavegen
)
function
obj
=
addwavegen
(
obj
,
wavegen
)
% bind wavegen to modelname, dd and algo timing
if
~
isempty
(
obj
.
exportedwgstructs
),
wgbasename
=
obj
.
exportedwgstructs
{
end
};
else
,
wgbasename
=
''
;
end
% bind wavegen to modelname, dd, algo timing and base struicture
% name
for
ii
=
1
:
numel
(
wavegen
)
for
ii
=
1
:
numel
(
wavegen
)
wavegen
(
ii
)
=
wavegen
(
ii
)
.
bind
(
obj
.
modelname
,
obj
.
datadictionary
,
obj
.
timing
);
wavegen
(
ii
)
=
wavegen
(
ii
)
.
bind
(
obj
.
modelname
,
obj
.
datadictionary
,
obj
.
timing
,
wgbasename
);
end
end
% add to algo's mds object container
% add to algo's mds object container
obj
.
mdscontainer
=
obj
.
mdscontainer
.
addwavegen
(
wavegen
);
obj
.
mdscontainer
=
obj
.
mdscontainer
.
addwavegen
(
wavegen
);
% set default wavegen base structure name
% set default wavegen base structure name
obj
.
mdscontainer
=
obj
.
mdscontainer
.
setwavegenbasestruct
([
obj
.
getname
'_simdata'
]);
% if isempty(obj.wavegenbasestruct)
% obj.mdscontainer=obj.mdscontainer.setwavegenbasestruct([obj.getname '_simdata']);
% else
% obj.mdscontainer=obj.mdscontainer.setwavegenbasestruct([obj.wavegenbasestruct '_simdata']);
% end
end
end
function
obj
=
printwavegens
(
obj
)
function
obj
=
printwavegens
(
obj
)
...
...
This diff is collapsed.
Click to expand it.
classes/SCDclass_mdswg.m
+
8
−
1
View file @
ba94a76b
...
@@ -53,6 +53,7 @@ classdef SCDclass_mdswg < matlab.mixin.Heterogeneous
...
@@ -53,6 +53,7 @@ classdef SCDclass_mdswg < matlab.mixin.Heterogeneous
obj
.
verbose
=
1
;
obj
.
verbose
=
1
;
obj
.
wavegenbasestruct
=
''
;
obj
.
wavegenbasestruct
=
''
;
obj
.
bound
=
false
;
obj
.
bound
=
false
;
end
end
function
obj
=
parseconstructor
(
obj
,
srctdi
,
destwavegen
,
varargin
)
function
obj
=
parseconstructor
(
obj
,
srctdi
,
destwavegen
,
varargin
)
...
@@ -79,11 +80,12 @@ classdef SCDclass_mdswg < matlab.mixin.Heterogeneous
...
@@ -79,11 +80,12 @@ classdef SCDclass_mdswg < matlab.mixin.Heterogeneous
% Sealed methods for heterogeneous arrays
% Sealed methods for heterogeneous arrays
methods
(
Sealed
)
methods
(
Sealed
)
function
obj
=
bind
(
obj
,
modelname
,
datadictionary
,
timingsrc
)
function
obj
=
bind
(
obj
,
modelname
,
datadictionary
,
timingsrc
,
basestruct
)
for
ii
=
1
:
numel
(
obj
)
for
ii
=
1
:
numel
(
obj
)
obj
(
ii
)
=
obj
(
ii
)
.
setmodelname
(
modelname
);
obj
(
ii
)
=
obj
(
ii
)
.
setmodelname
(
modelname
);
obj
(
ii
)
=
obj
(
ii
)
.
setdatadictionary
(
datadictionary
);
obj
(
ii
)
=
obj
(
ii
)
.
setdatadictionary
(
datadictionary
);
obj
(
ii
)
=
obj
(
ii
)
.
settiminginfo
(
timingsrc
);
obj
(
ii
)
=
obj
(
ii
)
.
settiminginfo
(
timingsrc
);
obj
(
ii
)
=
obj
(
ii
)
.
setbasestruct
(
basestruct
);
obj
(
ii
)
.
bound
=
true
;
obj
(
ii
)
.
bound
=
true
;
end
end
end
end
...
@@ -140,6 +142,11 @@ classdef SCDclass_mdswg < matlab.mixin.Heterogeneous
...
@@ -140,6 +142,11 @@ classdef SCDclass_mdswg < matlab.mixin.Heterogeneous
function
obj
=
setbasestruct
(
obj
,
basestruct
)
function
obj
=
setbasestruct
(
obj
,
basestruct
)
obj
.
wavegenbasestruct
=
basestruct
;
obj
.
wavegenbasestruct
=
basestruct
;
end
end
function
out
=
getbasestruct
(
obj
)
out
=
obj
.
wavegenbasestruct
;
end
%function out = gettargetparam(obj)
%function out = gettargetparam(obj)
% out = obj.modelparam;
% out = obj.modelparam;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment