Skip to content
This repository was archived by the owner on May 18, 2019. It is now read-only.

Commit 991cbcb

Browse files
sjoelundOpenModelica-Hudson
authored andcommitted
Support importFMU for me_cs FMUs
me_cs FMUs will be treated as ME FMUs. Belonging to [master]: - #2110 - OpenModelica/OpenModelica-testsuite#824
1 parent bb2c1ba commit 991cbcb

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

Compiler/runtime/FMIImpl.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,7 @@ void FMIImpl__initializeFMI2Import(fmi2_import_t* fmi, void** fmiInfo, fmi_versi
603603
case fmi2_fmu_kind_me:
604604
case fmi2_fmu_kind_me_and_cs:
605605
modelIdentifier = fmi2_import_get_model_identifier_ME(fmi);
606+
fmiType = fmi2_fmu_kind_me;
606607
break;
607608
case fmi2_fmu_kind_cs:
608609
modelIdentifier = fmi2_import_get_model_identifier_CS(fmi);
@@ -848,7 +849,7 @@ int FMIImpl__initializeFMIImport(const char* file_name, const char* working_dire
848849
}
849850
/* remove the following block once we have support for FMI 2.0 CS. */
850851
fmiType = fmi2_import_get_fmu_kind(fmi);
851-
if (!isModelDescriptionImport && (fmiType == fmi2_fmu_kind_cs || fmiType == fmi2_fmu_kind_me_and_cs)) {
852+
if (!isModelDescriptionImport && (fmiType == fmi2_fmu_kind_cs)) {
852853
const char* tokens[1] = {fmi2_fmu_kind_to_string(fmiType)};
853854
fmi2_import_free(fmi);
854855
fmi_import_free_context(context);
@@ -859,7 +860,7 @@ int FMIImpl__initializeFMIImport(const char* file_name, const char* working_dire
859860
/* Loading the binary (dll/so) can mess up the compiler, and the information is unused in the compiler */
860861
#if 0
861862
jm_status_enu_t status;
862-
status = fmi2_import_create_dllfmu(fmi, fmi2_import_get_fmu_kind(fmi), &fmi2_callback_functions);
863+
status = fmi2_import_create_dllfmu(fmi, fmi2_fmu_kind_me, &fmi2_callback_functions);
863864
if (status == jm_status_error) {
864865
fmi2_import_free(fmi);
865866
fmi_import_free_context(context);

SimulationRuntime/c/fmi/FMI2ModelExchange.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ void* FMI2ModelExchangeConstructor_OMC(int fmi_log_level, char* working_director
6868
FMI2ME->FMICallbackFunctions.freeMemory = free;
6969
FMI2ME->FMICallbackFunctions.componentEnvironment = FMI2ME->FMIImportInstance;
7070
/* Load the binary (dll/so) */
71-
status = fmi2_import_create_dllfmu(FMI2ME->FMIImportInstance, fmi2_import_get_fmu_kind(FMI2ME->FMIImportInstance), &FMI2ME->FMICallbackFunctions);
71+
status = fmi2_import_create_dllfmu(FMI2ME->FMIImportInstance, fmi2_fmu_kind_me, &FMI2ME->FMICallbackFunctions);
7272
if (status == jm_status_error) {
7373
FMI2ME->FMISolvingMode = fmi2_none_mode;
7474
ModelicaFormatError("Loading of FMU dynamic link library failed with status : %s\n", jm_log_level_to_string(status));

0 commit comments

Comments
 (0)