/* * Wrapper for the FMI function fmiGetBoolean. * parameter flowStatesInput is dummy and is only used to run the equations in sequence. * Returns booleanValues. */ void fmi2GetBoolean_OMC(void* in_fmi2, int numberOfValueReferences, double* booleanValuesReferences, double flowStatesInput, int* booleanValues, int fmiType) { if (fmiType == 1) { FMI2ModelExchange* FMI2ME = (FMI2ModelExchange*)in_fmi2; fmi2_value_reference_t* valuesReferences_int = real_to_fmi2_value_reference(numberOfValueReferences, booleanValuesReferences); fmi2_import_get_boolean(FMI2ME->FMIImportInstance, valuesReferences_int, numberOfValueReferences, (fmi2_boolean_t*)booleanValues); free(valuesReferences_int); } else if (fmiType == 2) { } }
/* * Wrapper for the FMI function fmi2GetBoolean. * parameter flowStatesInput is dummy and is only used to run the equations in sequence. * Returns booleanValues. */ void fmi2GetBoolean_OMC(void* in_fmi2, int numberOfValueReferences, double* booleanValuesReferences, double flowStatesInput, signed char* booleanValues, int fmiType) { if (fmiType == 1) { FMI2ModelExchange* FMI2ME = (FMI2ModelExchange*)in_fmi2; fmi2_value_reference_t* valuesReferences_int = real_to_fmi2_value_reference(numberOfValueReferences, booleanValuesReferences); int* fmiBoolean = malloc(sizeof(int)*numberOfValueReferences); fmi2_status_t status = fmi2_import_get_boolean(FMI2ME->FMIImportInstance, valuesReferences_int, numberOfValueReferences, fmiBoolean); int_to_signedchar(fmiBoolean, booleanValues, numberOfValueReferences); free(fmiBoolean); free(valuesReferences_int); if (status != fmi2_status_ok && status != fmi2_status_warning) { ModelicaFormatError("fmi2GetBoolean failed with status : %s\n", fmi2_status_to_string(status)); } } else if (fmiType == 2) { } }