2 Copyright (C) 2012 Modelon AB
\r
4 This program is free software: you can redistribute it and/or modify
\r
5 it under the terms of the BSD style license.
\r
7 This program is distributed in the hope that it will be useful,
\r
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
10 FMILIB_License.txt file for more details.
\r
12 You should have received a copy of the FMILIB_License.txt file
\r
13 along with this program. If not, contact Modelon AB <http://www.modelon.com>.
\r
20 #include <FMI2/fmi2_capi.h>
\r
21 #include <FMI2/fmi2_capi_impl.h>
\r
24 fmi2_status_t fmi2_capi_set_real_input_derivatives(fmi2_capi_t* fmu, const fmi2_value_reference_t vr[], size_t nvr, const fmi2_integer_t order[], const fmi2_real_t value[])
\r
26 return fmu->fmi2SetRealInputDerivatives(fmu->c, vr, nvr, order, value);
\r
29 fmi2_status_t fmi2_capi_get_real_output_derivatives(fmi2_capi_t* fmu, const fmi2_value_reference_t vr[], size_t nvr, const fmi2_integer_t order[], fmi2_real_t value[])
\r
31 return fmu->fmi2GetRealOutputDerivatives(fmu->c, vr, nvr, order, value);
\r
34 fmi2_status_t fmi2_capi_cancel_step(fmi2_capi_t* fmu)
\r
36 return fmu->fmi2CancelStep(fmu->c);
\r
39 fmi2_status_t fmi2_capi_do_step(fmi2_capi_t* fmu, fmi2_real_t currentCommunicationPoint, fmi2_real_t communicationStepSize, fmi2_boolean_t newStep)
\r
41 return fmu->fmi2DoStep(fmu->c, currentCommunicationPoint, communicationStepSize, newStep);
\r
45 #define FMIGETSTATUSX(FNAME1, FNAME2,FSTATUSTYPE) \
\r
46 fmi2_status_t FNAME1(fmi2_capi_t* fmu, const fmi2_status_kind_t s, FSTATUSTYPE* value) \
\r
48 return fmu->FNAME2(fmu->c, s, value); \
\r
51 FMIGETSTATUSX(fmi2_capi_get_status, fmi2GetStatus, fmi2_status_t)
\r
52 FMIGETSTATUSX(fmi2_capi_get_real_status, fmi2GetRealStatus, fmi2_real_t)
\r
53 FMIGETSTATUSX(fmi2_capi_get_integer_status, fmi2GetIntegerStatus, fmi2_integer_t)
\r
54 FMIGETSTATUSX(fmi2_capi_get_boolean_status, fmi2GetBooleanStatus, fmi2_boolean_t)
\r
55 FMIGETSTATUSX(fmi2_capi_get_string_status, fmi2GetStringStatus, fmi2_string_t)
\r