@@ -97,7 +97,7 @@ void* FMI2ModelExchangeConstructor_OMC(int fmi_log_level, char* working_director
9797 }
9898 debugLoggingStatus = fmi2_import_set_debug_logging (FMI2ME -> FMIImportInstance , FMI2ME -> FMIDebugLogging , categoriesSize , categories );
9999 if (debugLoggingStatus != fmi2_status_ok && debugLoggingStatus != fmi2_status_warning ) {
100- ModelicaFormatMessage ("fmi2SetDebugLogging failed with status : %s\n" , fmi1_status_to_string (debugLoggingStatus ));
100+ ModelicaFormatMessage ("fmi2SetDebugLogging failed with status : %s\n" , fmi2_status_to_string (debugLoggingStatus ));
101101 }
102102 }
103103 FMI2ME -> FMIToleranceControlled = fmi2_true ;
@@ -120,6 +120,20 @@ void FMI2ModelExchangeDestructor_OMC(void* in_fmi2me)
120120 free (FMI2ME -> FMIEventInfo );
121121}
122122
123+ /*
124+ * Wrapper for the FMI function fmi2SetupExperiment.
125+ */
126+ void fmi2SetupExperiment_OMC (void * in_fmi2me , int toleranceDefined , double tolerance , double startTime , int stopTimeDefined , double stopTime )
127+ {
128+ FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
129+ if (FMI2ME -> FMISolvingMode == fmi2_instantiated_mode ) {
130+ fmi2_status_t status = fmi2_import_setup_experiment (FMI2ME -> FMIImportInstance , toleranceDefined , tolerance , startTime , stopTimeDefined , stopTime );
131+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
132+ ModelicaFormatError ("fmi2SetupExperiment failed with status : %s\n" , fmi2_status_to_string (status ));
133+ }
134+ }
135+ }
136+
123137/*
124138 * Wrapper for the FMI function fmi2EnterInitializationMode.
125139 */
@@ -128,7 +142,7 @@ void fmi2EnterInitializationModel_OMC(void* in_fmi2me)
128142 FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
129143 fmi2_status_t status = fmi2_import_enter_initialization_mode (FMI2ME -> FMIImportInstance );
130144 FMI2ME -> FMISolvingMode = fmi2_initialization_mode ;
131- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
145+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
132146 ModelicaFormatError ("fmi2EnterInitializationMode failed with status : %s\n" , fmi2_status_to_string (status ));
133147 }
134148}
@@ -141,7 +155,7 @@ void fmi2ExitInitializationModel_OMC(void* in_fmi2me)
141155 FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
142156 fmi2_status_t status = fmi2_import_exit_initialization_mode (FMI2ME -> FMIImportInstance );
143157 FMI2ME -> FMISolvingMode = fmi2_event_mode ;
144- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
158+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
145159 ModelicaFormatError ("fmi2ExitInitializationMode failed with status : %s\n" , fmi2_status_to_string (status ));
146160 }
147161}
@@ -155,7 +169,7 @@ void fmi2SetTime_OMC(void* in_fmi2me, double time)
155169 FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
156170 if (FMI2ME -> FMISolvingMode == fmi2_instantiated_mode || FMI2ME -> FMISolvingMode == fmi2_event_mode || FMI2ME -> FMISolvingMode == fmi2_continuousTime_mode ) {
157171 fmi2_status_t status = fmi2_import_set_time (FMI2ME -> FMIImportInstance , time );
158- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
172+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
159173 ModelicaFormatError ("fmi2SetTime failed with status : %s\n" , fmi2_status_to_string (status ));
160174 }
161175 }
@@ -170,7 +184,7 @@ void fmi2GetContinuousStates_OMC(void* in_fmi2me, int numberOfContinuousStates,
170184{
171185 FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
172186 fmi2_status_t status = fmi2_import_get_continuous_states (FMI2ME -> FMIImportInstance , (fmi2_real_t * )states , numberOfContinuousStates );
173- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
187+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
174188 ModelicaFormatError ("fmi2GetContinuousStates failed with status : %s\n" , fmi2_status_to_string (status ));
175189 }
176190}
@@ -185,7 +199,7 @@ double fmi2SetContinuousStates_OMC(void* in_fmi2me, int numberOfContinuousStates
185199 FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
186200 if (numberOfContinuousStates > 0 ) {
187201 fmi2_status_t status = fmi2_import_set_continuous_states (FMI2ME -> FMIImportInstance , (fmi2_real_t * )states , numberOfContinuousStates );
188- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
202+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
189203 ModelicaFormatError ("fmi2SetContinuousStates failed with status : %s\n" , fmi2_status_to_string (status ));
190204 }
191205 }
@@ -201,7 +215,7 @@ void fmi2GetEventIndicators_OMC(void* in_fmi2me, int numberOfEventIndicators, do
201215{
202216 FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
203217 fmi2_status_t status = fmi2_import_get_event_indicators (FMI2ME -> FMIImportInstance , (fmi2_real_t * )events , numberOfEventIndicators );
204- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
218+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
205219 ModelicaFormatError ("fmi2GetEventIndicators failed with status : %s\n" , fmi2_status_to_string (status ));
206220 }
207221}
@@ -216,7 +230,7 @@ void fmi2GetDerivatives_OMC(void* in_fmi2me, int numberOfContinuousStates, doubl
216230 FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
217231 if (FMI2ME -> FMISolvingMode == fmi2_continuousTime_mode ){
218232 fmi2_status_t status = fmi2_import_get_derivatives (FMI2ME -> FMIImportInstance , (fmi2_real_t * )states , numberOfContinuousStates );
219- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
233+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
220234 ModelicaFormatError ("fmi2GetDerivatives failed with status : %s\n" , fmi2_status_to_string (status ));
221235 }
222236 }
@@ -231,20 +245,20 @@ int fmi2EventUpdate_OMC(void* in_fmi2me)
231245 FMI2ModelExchange * FMI2ME = (FMI2ModelExchange * )in_fmi2me ;
232246 fmi2_event_info_t * eventInfo = FMI2ME -> FMIEventInfo ;
233247 fmi2_status_t status = fmi2_import_enter_event_mode (FMI2ME -> FMIImportInstance );
234- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
248+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
235249 ModelicaFormatError ("fmi2EnterEventMode failed with status : %s\n" , fmi2_status_to_string (status ));
236250 }
237251 FMI2ME -> FMISolvingMode = fmi2_event_mode ;
238252
239253 eventInfo -> newDiscreteStatesNeeded = fmi2_true ;
240254 eventInfo -> terminateSimulation = fmi2_false ;
241255 status = fmi2_import_new_discrete_states (FMI2ME -> FMIImportInstance , eventInfo );
242- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
256+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
243257 ModelicaFormatError ("fmi2NewDiscreteStates failed with status : %s\n" , fmi2_status_to_string (status ));
244258 }
245259
246260 status = fmi2_import_enter_continuous_time_mode (FMI2ME -> FMIImportInstance );
247- if (status != fmi1_status_ok && status != fmi1_status_warning ) {
261+ if (status != fmi2_status_ok && status != fmi2_status_warning ) {
248262 ModelicaFormatError ("fmi2EnterContinuousTimeMode failed with status : %s\n" , fmi2_status_to_string (status ));
249263 }
250264 FMI2ME -> FMISolvingMode = fmi2_continuousTime_mode ;
0 commit comments