Skip to content
Snippets Groups Projects
Commit 7c09ad59 authored by Cristian Galperti's avatar Cristian Galperti
Browse files

cfg1and2 1 thread cfg generator heavily refactored

parent 23e0d544
No related branches found
No related tags found
No related merge requests found
% This script creates a testable
% MARTe2 cfg file for the cfs1 algorithm
% MARTe2 cfg file for the cfs1 + cfs2 algorithms
% with these specifications:
%
% tunable parameters MDSplus link via MDSObjLoader instatiation
% tunable waveforms MDSplus link via MDSObjWavegen instantiation
% single realtime thread, LinuxTimer synched at 1kHz
% 1 rt thread, 2 SimulinkWrapperGAMs in sequence
% tunable parameters MDSplus link via MDSObjLoader instantiations
% tunable waveforms MDSplus link via MDSObjWavegen instantiations
% single realtime thread, LinuxTimer synched at 1kHz, 2 SimulinkWrapGAM in
% sequence
% inter algorithm communication via dedicated proc buses routing
% algorithms output MDSplus link via standard MDSWriter
%% Parameters
......@@ -15,63 +18,55 @@ mdsdstshot=-1;
% verbosity level
verbosity=2;
% MDS writer period
%mdsperiod=1;
mdsperiod=0.001;
%% Paths handling
startpath=pwd;
fcnpath=fileparts(mfilename('fullpath'));
eval(sprintf('cd %s',fcnpath));
%% MDSParameters part generation
system('rm -rf mdsparameters1.cfg');
diary mdsparameters1.cfg
obj1.printMARTe2parconfig(-1);
diary off
system('sed -i ''s/obj1.printMARTe2parconfig(-1);//g'' mdsparameters1.cfg');
system('sed -i ''s/MDSParameters/MDSParamLoader1/g'' mdsparameters1.cfg');
system('rm -rf mdsparameters2.cfg');
diary mdsparameters2.cfg
obj2.printMARTe2parconfig(-1);
diary off
system('sed -i ''s/obj2.printMARTe2parconfig(-1);//g'' mdsparameters2.cfg');
system('sed -i ''s/MDSParameters/MDSParamLoader2/g'' mdsparameters2.cfg');
%% MDSParameters stubs generation
fid=fopen('MDSPARAMS1.cfg','w');
obj1.printMARTe2parconfig(-1,fid);
fclose(fid);
system('sed -i ''s/obj1.printMARTe2parconfig(-1);//g'' MDSPARAMS1.cfg');
system('sed -i ''s/MDSParameters/MDSParamLoader1/g'' MDSPARAMS1.cfg');
fid=fopen('MDSPARAMS2.cfg','w');
obj2.printMARTe2parconfig(-1,fid);
fclose(fid);
system('sed -i ''s/obj2.printMARTe2parconfig(-1);//g'' MDSPARAMS2.cfg');
system('sed -i ''s/MDSParameters/MDSParamLoader2/g'' MDSPARAMS2.cfg');
%% MDSWavegen datasource part generation
system('rm -rf mdswavegen1.cfg');
diary mdswavegen1.cfg
wg1dim=obj1.printMARTe2wgbusconfig(-1,'algo_cfs1_inBus',1000);
diary off
system('sed -i ''s/obj1.printMARTe2wgbusconfig(-1,''algo_cfs1_inBus'',1000);//g'' mdswavegen1.cfg');
system('sed -i ''s/MDSWavegen_algo_cfs1_inBus_1/MDSWavegen_1/g'' mdswavegen1.cfg');
system('sed -i ''s/wavegen_algo_cfs1_inBus_1/wavegen_1/g'' mdswavegen1.cfg');
system('rm -rf mdswavegen2.cfg');
diary mdswavegen2.cfg
wg2dim=obj2.printMARTe2wgbusconfig(-1,'algo_cfs2_inBus',1000);
diary off
system('sed -i ''s/obj2.printMARTe2wgbusconfig(-1,''algo_cfs2_inBus'',1000);//g'' mdswavegen2.cfg');
system('sed -i ''s/MDSWavegen_algo_cfs2_inBus_1/MDSWavegen_2/g'' mdswavegen2.cfg');
system('sed -i ''s/wavegen_algo_cfs2_inBus_1/wavegen_2/g'' mdswavegen2.cfg');
%
%% bus expansions stubs
% ./rtapp-thread1.cfgsrc: >INPUTBUS1DDB1STRUCT<
fid=fopen('MDSWAVEGEN1.cfg','w');
wg1dim=obj1.printMARTe2wgbusconfig(-1,'algo_cfs1_inBus',1000,fid);
fclose(fid);
system('sed -i ''s/obj1.printMARTe2wgbusconfig(-1,''algo_cfs1_inBus'',1000);//g'' MDSWAVEGEN1.cfg');
system('sed -i ''s/MDSWavegen_algo_cfs1_inBus_1/MDSWavegen_1/g'' MDSWAVEGEN1.cfg');
system('sed -i ''s/wavegen_algo_cfs1_inBus_1/wavegen_1/g'' MDSWAVEGEN1.cfg');
fid=fopen('MDSWAVEGEN2.cfg','w');
wg2dim=obj2.printMARTe2wgbusconfig(-1,'algo_cfs2_inBus',1000,fid);
fclose(fid);
system('sed -i ''s/obj2.printMARTe2wgbusconfig(-1,''algo_cfs2_inBus'',1000);//g'' MDSWAVEGEN2.cfg');
system('sed -i ''s/MDSWavegen_algo_cfs2_inBus_1/MDSWavegen_2/g'' MDSWAVEGEN2.cfg');
system('sed -i ''s/wavegen_algo_cfs2_inBus_1/wavegen_2/g'' MDSWAVEGEN2.cfg');
%% structured bus stubs
algo_cfs1_inBus=Simulink.data.evalinGlobal('algo_cfs1','algo_cfs1_inBus');
cfs1inputbusflat=genbusstructstub('INPUTBUS1DDB1STRUCT.cfg',algo_cfs1_inBus,'input','DDB1');
cfs1inputbusflat=genbusstructstub('INPUTBUSSTRUCT1.cfg',algo_cfs1_inBus,'input','DDB1');
% ./rtapp-thread1.cfgsrc: >OUTPUTBUS1DDB1STRUCT<
algo_cfs1_outBus=Simulink.data.evalinGlobal('algo_cfs1','algo_cfs1_outBus');
cfs1outputbusflat=genbusstructstub('OUTPUTBUS1DDB1STRUCT.cfg',algo_cfs1_outBus,'output','DDB1');
cfs1outputbusflat=genbusstructstub('OUTPUTBUSSTRUCT1.cfg',algo_cfs1_outBus,'output','DDB1');
% ./rtapp-thread2.cfgsrc: >INPUTBUS2DDB2STRUCT<
algo_cfs2_inBus=Simulink.data.evalinGlobal('algo_cfs2','algo_cfs2_inBus');
cfs2inputbusflat=genbusstructstub('INPUTBUS2DDB2STRUCT.cfg',algo_cfs2_inBus,'input','DDB2');
cfs2inputbusflat=genbusstructstub('INPUTBUSSTRUCT2.cfg',algo_cfs2_inBus,'input','DDB2');
% ./rtapp-thread2.cfgsrc: >OUTPUTBUS2DDB2STRUCT<
algo_cfs2_outBus=Simulink.data.evalinGlobal('algo_cfs2','algo_cfs2_outBus');
cfs2outputbusflat=genbusstructstub('OUTPUTBUS2DDB2STRUCT.cfg',algo_cfs2_outBus,'output','DDB2');
cfs2outputbusflat=genbusstructstub('OUTPUTBUSSTRUCT2.cfg',algo_cfs2_outBus,'output','DDB2');
%% Data types stubs
......@@ -79,74 +74,74 @@ algo_cfs1_procout=Simulink.data.evalinGlobal('algo_cfs1','algo_cfs1_procout');
algo_cfs2_procout=Simulink.data.evalinGlobal('algo_cfs2','algo_cfs2_procout');
algo_cfs12_procin=Simulink.data.evalinGlobal('algo_cfs1','algo_cfs12_procin');
fid=fopen('types.cfg','w');
fid=fopen('TYPEDEF.cfg','w');
bus2marte2type(algo_cfs1_procout, 'algo_cfs1_procout', fid);
bus2marte2type(algo_cfs2_procout, 'algo_cfs2_procout', fid);
bus2marte2type(algo_cfs12_procin, 'algo_cfs12_procin', fid);
fclose(fid);
%%
%% Clean
clear algo_cfs1_outBus algo_cfs1_outBus algo_cfs1_procout
clear algo_cfs2_outBus algo_cfs2_outBus algo_cfs2_procout
clear algo_cfs12_procin
%%
%% flat bus stubs
genbusflatstub1('input1flatddb1.cfg',cfs1inputbusflat,'DDB1');
genbusflatstub1('input2flatddb2.cfg',cfs2inputbusflat,'DDB2');
genbusflatstub1('INPUTBUS1DDB1FLAT.cfg',cfs1inputbusflat,'DDB1');
genbusflatstub1('INPUTBUS2DDB2FLAT.cfg',cfs2inputbusflat,'DDB2');
genbusflatstub1('output1flatddb1.cfg',cfs1outputbusflat,'DDB1');
genbusflatstub1('output2flatddb2.cfg',cfs2outputbusflat,'DDB2');
genbusflatstub1('OUTPUTBUSFLAT1.cfg',cfs1outputbusflat,'DDB1');
genbusflatstub1('OUTPUTBUSFLAT2.cfg',cfs2outputbusflat,'DDB2');
genbusflatstub1('output1flatmds1.cfg',cfs1outputbusflat,'MDSWriter_1');
genbusflatstub1('output2flatmds1.cfg',cfs2outputbusflat,'MDSWriter_2');
genbusflatstub1('OUTPUTBUSFLATMDS1.cfg',cfs1outputbusflat,'MDSWriter_1');
genbusflatstub1('OUTPUTBUSFLATMDS2.cfg',cfs2outputbusflat,'MDSWriter_2');
genbusflatstub2('output1flatmdswriter1.cfg',cfs1outputbusflat,'cfs1.outputs','MDSW0PERIOD','2000');
genbusflatstub2('output2flatmdswriter2.cfg',cfs1outputbusflat,'cfs2.outputs','MDSW0PERIOD','2000');
genbusflatstub2('OUTPUTBUSMDSWRITER1.cfg',cfs1outputbusflat,'cfs1.outputs','MDSW0PERIOD','2000');
genbusflatstub2('OUTPUTBUSMDSWRITER2.cfg',cfs1outputbusflat,'cfs2.outputs','MDSW0PERIOD','2000');
%% cfg build
system('cp algo_cfs1and2.cfgsrc algo_cfs1and2.cfg');
system('sed -i -e "/>MDSPARAMS1</r mdsparameters1.cfg" -e "/>MDSPARAMS1</d" algo_cfs1and2.cfg');
system('sed -i -e "/>MDSPARAMS2</r mdsparameters2.cfg" -e "/>MDSPARAMS2</d" algo_cfs1and2.cfg');
system('cp algo_cfs1and2_1thread.cfgsrc algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>MDSPARAMS1</r MDSPARAMS1.cfg" -e "/>MDSPARAMS1</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>MDSPARAMS2</r MDSPARAMS2.cfg" -e "/>MDSPARAMS2</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>RTAPPPRESL</r rtapp-presl.cfgsrc" -e "/>RTAPPPRESL</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>RTAPPSL</r rtapp-simulinkwrapper.cfgsrc" -e "/>RTAPPSL</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>RTAPPPOSTSL</r rtapp-postsl.cfgsrc" -e "/>RTAPPPOSTSL</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>DATASTATES</r data_states.cfgsrc" -e "/>DATASTATES</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>RTAPPPRESL</r rtapp-presl.cfgsrc" -e "/>RTAPPPRESL</d" algo_cfs1and2.cfg');
system('sed -i -e "/>RTAPPSL</r rtapp-simulinkwrapper.cfgsrc" -e "/>RTAPPSL</d" algo_cfs1and2.cfg');
system('sed -i -e "/>RTAPPPOSTSL</r rtapp-postsl.cfgsrc" -e "/>RTAPPPOSTSL</d" algo_cfs1and2.cfg');
system('sed -i -e "/>DATASTATES</r data_states.cfgsrc" -e "/>DATASTATES</d" algo_cfs1and2.cfg');
system('sed -i -e "/>INPUTBUS1DDB1FLAT</r INPUTBUS1DDB1FLAT.cfg" -e "/>INPUTBUS1DDB1FLAT</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>INPUTBUS2DDB2FLAT</r INPUTBUS2DDB2FLAT.cfg" -e "/>INPUTBUS2DDB2FLAT</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>INPUTBUS1DDB1FLAT</r input1flatddb1.cfg" -e "/>INPUTBUS1DDB1FLAT</d" algo_cfs1and2.cfg');
system('sed -i -e "/>INPUTBUS2DDB2FLAT</r input2flatddb2.cfg" -e "/>INPUTBUS2DDB2FLAT</d" algo_cfs1and2.cfg');
system('sed -i -e "/>INPUTBUSSTRUCT1</r INPUTBUSSTRUCT1.cfg" -e "/>INPUTBUSSTRUCT1</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>INPUTBUSSTRUCT2</r INPUTBUSSTRUCT2.cfg" -e "/>INPUTBUSSTRUCT2</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>INPUTBUSSTRUCT1</r INPUTBUS1DDB1STRUCT.cfg" -e "/>INPUTBUSSTRUCT1</d" algo_cfs1and2.cfg');
system('sed -i -e "/>INPUTBUSSTRUCT2</r INPUTBUS2DDB2STRUCT.cfg" -e "/>INPUTBUSSTRUCT2</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSSTRUCT1</r OUTPUTBUSSTRUCT1.cfg" -e "/>OUTPUTBUSSTRUCT1</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSSTRUCT2</r OUTPUTBUSSTRUCT2.cfg" -e "/>OUTPUTBUSSTRUCT2</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSSTRUCT1</r OUTPUTBUS1DDB1STRUCT.cfg" -e "/>OUTPUTBUSSTRUCT1</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSSTRUCT2</r OUTPUTBUS2DDB2STRUCT.cfg" -e "/>OUTPUTBUSSTRUCT2</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSFLAT</r storagebroker1.cfg" -e "/>OUTPUTBUSFLAT</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSFLATMDS</r storagebroker2.cfg" -e "/>OUTPUTBUSFLATMDS</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSFLAT</r storagebroker1.cfg" -e "/>OUTPUTBUSFLAT</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSFLATMDS</r storagebroker2.cfg" -e "/>OUTPUTBUSFLATMDS</d" algo_cfs1and2.cfg');
system('sed -i -e "/>MDSWAVEGEN1</r MDSWAVEGEN1.cfg" -e "/>MDSWAVEGEN1</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>MDSWAVEGEN2</r MDSWAVEGEN2.cfg" -e "/>MDSWAVEGEN2</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>MDSWAVEGEN1</r mdswavegen1.cfg" -e "/>MDSWAVEGEN1</d" algo_cfs1and2.cfg');
system('sed -i -e "/>MDSWAVEGEN2</r mdswavegen2.cfg" -e "/>MDSWAVEGEN2</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSFLAT1</r OUTPUTBUSFLAT1.cfg" -e "/>OUTPUTBUSFLAT1</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSFLAT2</r OUTPUTBUSFLAT2.cfg" -e "/>OUTPUTBUSFLAT2</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSFLAT1</r output1flatddb1.cfg" -e "/>OUTPUTBUSFLAT1</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSFLAT2</r output2flatddb2.cfg" -e "/>OUTPUTBUSFLAT2</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSFLATMDS1</r output1flatmds1.cfg" -e "/>OUTPUTBUSFLATMDS1</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSFLATMDS2</r output2flatmds1.cfg" -e "/>OUTPUTBUSFLATMDS2</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSFLATMDS1</r OUTPUTBUSFLATMDS1.cfg" -e "/>OUTPUTBUSFLATMDS1</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSFLATMDS2</r OUTPUTBUSFLATMDS2.cfg" -e "/>OUTPUTBUSFLATMDS2</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSMDSWRITER1</r output1flatmdswriter1.cfg" -e "/>OUTPUTBUSMDSWRITER1</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSMDSWRITER2</r output2flatmdswriter2.cfg" -e "/>OUTPUTBUSMDSWRITER2</d" algo_cfs1and2.cfg');
system('sed -i -e "/>OUTPUTBUSMDSWRITER1</r OUTPUTBUSMDSWRITER1.cfg" -e "/>OUTPUTBUSMDSWRITER1</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>OUTPUTBUSMDSWRITER2</r OUTPUTBUSMDSWRITER2.cfg" -e "/>OUTPUTBUSMDSWRITER2</d" algo_cfs1and2_1thread.cfg');
system('sed -i -e "/>TYPEDEF</r types.cfg" -e "/>TYPEDEF</d" algo_cfs1and2.cfg');
system('sed -i -e "/>TYPEDEF</r TYPEDEF.cfg" -e "/>TYPEDEF</d" algo_cfs1and2_1thread.cfg');
system(sprintf('sed -i "s/>WAVEGEN1_ELEMS</%d/g" algo_cfs1and2.cfg',wg1dim));
system(sprintf('sed -i "s/>WAVEGEN2_ELEMS</%d/g" algo_cfs1and2.cfg',wg2dim));
system(sprintf('sed -i "s/>WAVEGEN1_ELEMS</%d/g" algo_cfs1and2_1thread.cfg',wg1dim));
system(sprintf('sed -i "s/>WAVEGEN2_ELEMS</%d/g" algo_cfs1and2_1thread.cfg',wg2dim));
%% cfg adapt
system(sprintf('sed -i "s/MDSSRCSHOT/%d/g" algo_cfs1and2.cfg',mdssrcshot));
system(sprintf('sed -i "s/MDSDSTSHOT/%d/g" algo_cfs1and2.cfg',mdsdstshot));
system(sprintf('sed -i "s/VERBOSITY/%d/g" algo_cfs1and2.cfg',verbosity));
system(sprintf('sed -i "s/MDSW0PERIOD/%d/g" algo_cfs1and2.cfg',mdsperiod));
system(sprintf('sed -i "s/MDSSRCSHOT/%d/g" algo_cfs1and2_1thread.cfg',mdssrcshot));
system(sprintf('sed -i "s/MDSDSTSHOT/%d/g" algo_cfs1and2_1thread.cfg',mdsdstshot));
system(sprintf('sed -i "s/VERBOSITY/%d/g" algo_cfs1and2_1thread.cfg',verbosity));
system(sprintf('sed -i "s/MDSW0PERIOD/%d/g" algo_cfs1and2_1thread.cfg',mdsperiod));
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment