From e1ddb4fd88384860bc2d743b22d835d53f69d90f Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Mon, 5 Oct 2015 09:58:19 +0200 Subject: [PATCH] Don't modify original blocks in rpp_update_blocks_for_target Instead, copy the original block to the rpp_lib and modify it there. --- rpp/blocks/rpp_generate_lib.m | 8 ++++++- rpp/blocks/rpp_gio_in.slx | Bin 10185 -> 14515 bytes rpp/blocks/rpp_gio_out.slx | Bin 10112 -> 14771 bytes rpp/blocks/rpp_update_blocks_for_target.m | 26 +++++++++++----------- rpp/rpp/rpp_setup.m | 1 - 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/rpp/blocks/rpp_generate_lib.m b/rpp/blocks/rpp_generate_lib.m index 1925024..8f07db4 100644 --- a/rpp/blocks/rpp_generate_lib.m +++ b/rpp/blocks/rpp_generate_lib.m @@ -45,7 +45,11 @@ function rpp_generate_lib() [tok, blockName] = strtok(newBlocks{k}, '/'); blockName = ['rpp_lib', blockName]; disp([' ', newBlocks{k}, ' as ', blockName]); - add_block(newBlocks{k}, blockName); + + % Copy rather than link blocks to rpp_lib. This is + % because we don't want rpp_update_blocks_for_target + % below to modify the original blocks. + add_block(newBlocks{k}, blockName, 'LinkStatus', 'none'); end close_system(blockFilePath, 0); end @@ -62,6 +66,8 @@ function rpp_generate_lib() }; set_param('rpp_lib', 'ForwardingTable', ft); + rpp_update_blocks_for_target() + disp(['Closing and saving file ', 'rpp_lib.slx']); set_param('rpp_lib', 'Lock', 'on'); save_system('rpp_lib'); diff --git a/rpp/blocks/rpp_gio_in.slx b/rpp/blocks/rpp_gio_in.slx index 21677e39b4e2a7bb416f906aba9c0c67303395a0..63d64fe37780f431496f7b3acaebc8da7759e1a0 100644 GIT binary patch delta 14134 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 delta 9707 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 diff --git a/rpp/blocks/rpp_update_blocks_for_target.m b/rpp/blocks/rpp_update_blocks_for_target.m index e7a154d..1f0ca8d 100644 --- a/rpp/blocks/rpp_update_blocks_for_target.m +++ b/rpp/blocks/rpp_update_blocks_for_target.m @@ -1,23 +1,23 @@ function rpp_update_blocks_for_target %RPP_UPDATE_BLOCKS_FOR_TARGET Update blocks for use with the particular target hardware -% Update GIO pin names - update_gio_names('rpp_gio_in') - update_gio_names('rpp_gio_out') + block_lib = load_system('rpp_lib'); + lock = get_param(block_lib, 'Lock'); + set_param(block_lib, 'Lock', 'off'); + + % Update GIO pin names + update_gio_names('rpp_lib/General Purpose Digital Input') + update_gio_names('rpp_lib/General Purpose Digital Output') + + set_param(block_lib, 'Lock', lock); + save_system(block_lib); end -function update_gio_names(lib) - block_lib = load_system(lib); - set_param(block_lib, 'Lock', 'off'); - block = find_system(block_lib, 'Type', 'block'); - params = get_param(block, 'ObjectParameters'); - p = Simulink.Mask.get(block); - param = p.getParameter('pin'); +function update_gio_names(block) + mask = Simulink.Mask.get(block); + param = mask.getParameter('pin'); gio_names_txt = fullfile(getpref('rpp', 'RppLibRoot'), 'build', 'gio_names.txt'); [names,conf]=textread(gio_names_txt, '%s %s'); gio_names = names(cellfun(@(x) ~isempty(x), strfind(conf, 'FNC_GPIO'))); param.TypeOptions = [{'---'}; gio_names]; - set_param(block_lib, 'Lock', 'on'); - save_system(block_lib); - close_system(block_lib); end diff --git a/rpp/rpp/rpp_setup.m b/rpp/rpp/rpp_setup.m index e402b48..2271c53 100644 --- a/rpp/rpp/rpp_setup.m +++ b/rpp/rpp/rpp_setup.m @@ -94,7 +94,6 @@ function rpp_setup(varargin) % Generate blocks and library cd('../blocks'); compile_blocks(); - rpp_update_blocks_for_target() rpp_generate_lib(); cd(currentPath); -- 2.39.2