diff --git a/+FMIKit/getBlockDialog.m b/+FMIKit/getBlockDialog.m index f174f69..f99c4c6 100644 --- a/+FMIKit/getBlockDialog.m +++ b/+FMIKit/getBlockDialog.m @@ -5,14 +5,6 @@ block = get_param(block, 'Handle'); end -% check library version -libraryVersion = char(fmikit.ui.FMUBlockDialog.FMI_KIT_VERSION); - -% still using the 2.7 format for userData struct -if ~strcmp(fmikit.ui.FMUBlockDialog.FMI_KIT_VERSION, '2.7') - error(['Wrong fmikit.jar version. Expected 2.7 but was ' libraryVersion '.']) -end - dialog = javaMethod('getDialog', 'fmikit.ui.FMUBlockDialog', block); end diff --git a/+FMIKit/initialize.m b/+FMIKit/initialize.m index 94726ed..7cf4b2e 100644 --- a/+FMIKit/initialize.m +++ b/+FMIKit/initialize.m @@ -56,6 +56,13 @@ function initialize() msg = true; end +% check fmikit.jar version +jarVersion = char(fmikit.ui.FMUBlockDialog.FMI_KIT_VERSION); +if ~strcmp(jarVersion, FMIKit.version) + error(['Wrong fmikit.jar version. Expected ' FMIKit.version ... + ' but was ' jarVersion '.']) +end + % delete re-saved block library close_system('FMIKit_blocks', 0); library_file = fullfile(folder, 'FMIKit_blocks.slx'); @@ -90,8 +97,7 @@ function initialize() end if msg - disp(['Initializing FMI Kit ' [num2str(FMIKit.majorVersion) '.' ... - num2str(FMIKit.minorVersion) '.' num2str(FMIKit.patchVersion)]]) + disp(['Initializing FMI Kit ' FMIKit.version]) % check MATLAB version rel = version('-release'); diff --git a/+FMIKit/majorVersion.m b/+FMIKit/majorVersion.m deleted file mode 100644 index b3e717a..0000000 --- a/+FMIKit/majorVersion.m +++ /dev/null @@ -1,6 +0,0 @@ -function v = majorVersion() -% FMIKit.majorVersion Get the major version of FMI Kit - -v = 2; - -end diff --git a/+FMIKit/minorVersion.m b/+FMIKit/minorVersion.m deleted file mode 100644 index 7df7c10..0000000 --- a/+FMIKit/minorVersion.m +++ /dev/null @@ -1,6 +0,0 @@ -function v = minorVersion() -% FMIKit.minorVersion Get the minor version of FMI Kit - -v = 9; - -end diff --git a/+FMIKit/patchVersion.m b/+FMIKit/patchVersion.m deleted file mode 100644 index 8121280..0000000 --- a/+FMIKit/patchVersion.m +++ /dev/null @@ -1,6 +0,0 @@ -function v = patchVersion() -% FMIKit.patchVersion Get the patch version of FMI Kit - -v = 0; - -end diff --git a/+FMIKit/private/getUserData.m b/+FMIKit/private/getUserData.m index d71212e..53421aa 100644 --- a/+FMIKit/private/getUserData.m +++ b/+FMIKit/private/getUserData.m @@ -15,60 +15,8 @@ userData.startValues(parameter.Prompt) = parameter.Value; end -if any(strcmp(userData.fmiKitVersion, {'2.4', '2.6'})) - - disp(['Updating ' getfullname(block) ' that was imported with an older version of FMI Kit.']) - - userData.fmiKitVersion = '2.7'; - set_param(block, 'UserData', userData); - - % re-import the FMU - dialog = FMIKit.showBlockDialog(block, false); - dialog.loadFMU(false); - applyDialog(dialog); - - model = bdroot(block); - set_param(model, 'Dirty', 'on'); - - disp('Save the model to apply the changes.') - - userData = get_param(block, 'UserData'); - -end - -if ~isfield(userData, 'relativeTolerance') - disp(['Adding userData.relativeTolerance to ' getfullname(block)]) - userData.relativeTolerance = '0'; - set_param(block, 'UserData', userData, 'UserDataPersistent', 'on') - save_system -end - -if ~isfield(userData, 'logFMICalls') - disp(['Adding userData.logFMICalls to ' getfullname(block)]) - userData.logFMICalls = false; - set_param(block, 'UserData', userData, 'UserDataPersistent', 'on') - save_system -end - -if ~isfield(userData, 'logLevel') - disp(['Adding userData.logLevel to ' getfullname(block)]) - userData.logLevel = 0; - set_param(block, 'UserData', userData, 'UserDataPersistent', 'on') - save_system -end - -if ~isfield(userData, 'logFile') - disp(['Adding userData.logFile to ' getfullname(block)]) - userData.logFile = ''; - set_param(block, 'UserData', userData, 'UserDataPersistent', 'on') - save_system -end - -if ~isfield(userData, 'logToFile') - disp(['Adding userData.logToFile to ' getfullname(block)]) - userData.logToFile = false; - set_param(block, 'UserData', userData, 'UserDataPersistent', 'on') - save_system +if ~strcmp(userData.fmiKitVersion, FMIKit.version) + error([getfullname(block) ' was imported with an incompatible version of FMI Kit. Please re-import the FMU.']); end end diff --git a/+FMIKit/version.m b/+FMIKit/version.m index 6b2eaa9..0fcaa5b 100644 --- a/+FMIKit/version.m +++ b/+FMIKit/version.m @@ -1,6 +1,6 @@ function v = version() % FMIKit.version Get the version of FMI Kit -v = [num2str(FMIKit.majorVersion) '.' num2str(FMIKit.minorVersion)]; +v = '3.0-beta.1'; end diff --git a/Java/src/main/java/fmikit/ui/FMUBlockDialog.java b/Java/src/main/java/fmikit/ui/FMUBlockDialog.java index e1bac00..0b0c48b 100644 --- a/Java/src/main/java/fmikit/ui/FMUBlockDialog.java +++ b/Java/src/main/java/fmikit/ui/FMUBlockDialog.java @@ -78,7 +78,7 @@ public class FMUBlockDialog extends JDialog { private JCheckBox resettableCheckBox; public static boolean debugLogging = false; - public static final String FMI_KIT_VERSION = "2.7"; + public static final String FMI_KIT_VERSION = "3.0-beta.1"; public static final int MODEL_EXCHANGE = 0; public static final int CO_SIMULATION = 1; public static HashMap dialogs = new HashMap(); @@ -648,8 +648,8 @@ public void setUserData(UserData userData) { this.userData = userData; // check the format version - if (!userData.fmiKitVersion.startsWith(FMI_KIT_VERSION)) { - throw new RuntimeException("Wrong FMI Kit version. Expected " + FMI_KIT_VERSION + " but was " + userData.fmiKitVersion); + if (!FMI_KIT_VERSION.equals(userData.fmiKitVersion)) { + throw new RuntimeException("UserData has the wrong format version. Expected " + FMI_KIT_VERSION + " but was " + userData.fmiKitVersion); } // Overview tab diff --git a/examples/fmikit_demo_BouncingBall.slx b/examples/fmikit_demo_BouncingBall.slx index e38a0ba..a949468 100644 Binary files a/examples/fmikit_demo_BouncingBall.slx and b/examples/fmikit_demo_BouncingBall.slx differ